{"version":3,"file":"static/js/main.725e75d1.js","mappings":"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AS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,EAAG,OAAS,OAAS,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG,QAClC,MAAS,CAAC,OAAS,OAAS,EAAG,EAAG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M,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,MAC/B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,MAC/B,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,MAC/B,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,MAC/B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,OAAS,EAAG,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,MACzB,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,MAChC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,EAAG,EAAG,EAAG,MACpB,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,EAAG,EAAG,EAAG,MAC1B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,MAC1B,IAAO,CAAC,OAAS,OAAS,EAAG,EA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,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,OAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,OAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,OAAK,UACL,OAAK,UACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,gBACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,OAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,UACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,qBACL,SAAK,qBACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,qBACL,SAAK,qBACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,eACL,SAAK,gBAgCHC,GAAsB,WACxB,SAASA,EAAOx6C,EAAO4zB,GACrB33B,KAAKikB,UAAO,EACZjkB,KAAKygC,YAAS,EACdzgC,KAAK23B,cAAW,EAChB33B,KAAKmnC,oBAAiB,EACtBnnC,KAAKwrC,eAAY,EAEjBxrC,KAAKikB,KAAO,OAGZjkB,KAAKygC,OAAS,IAAI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tsC,CAAsCwsC,GAChD,OAAQA,GACJ,IAAK,2BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeC,MACf,EACA,IACA,IACA,EACA,EACAF,EACAA,GACA,GACR,IAAK,+BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeE,MACf,EACA,KACA,IACA,GACA,EACAH,EACA,iCACA,GACR,IAAK,gCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeE,MACf,EACA,KACA,IACA,GACA,EACAH,EACAA,GACA,GACR,IAAK,kCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,KACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,mCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,MACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,kCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,KACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,kCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,KACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,kCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,MACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,mCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,MACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,gCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeI,UACf,EACA,KACA,KACA,EACA,GACAL,EACAA,GACA,GAER,IAAK,2BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,IACA,KACA,EACA,GACAN,EACA,2BACA,GACR,IAAK,4BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,KACA,KACA,EACA,GACAN,EACA,4BACA,GACR,IAAK,4BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeC,MACf,EACA,IACA,IACA,EACA,EACAF,EACA,4BACA,GACR,IAAK,2BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,KACA,KACA,EACA,GACAN,EACA,4BACA,GACR,IAAK,2BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,KACA,KACA,EACA,GACAN,EACA,4BACA,GACR,IAAK,0BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,IACA,KACA,EACA,GACAN,EACA,2BACA,GACR,IAAK,4BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeM,SACf,EACA,KACA,KACA,EACA,GACAP,EACAA,GACA,GACR,IAAK,4BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeM,SACf,EACA,KACA,KACA,EACA,GACAP,EACAA,GACA,GACR,IAAK,2BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,KACA,KACA,EACA,GACAN,EACA,4BACA,GACR,IAAK,4BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,KACA,KACA,EACA,GACAN,EACA,4BACA,GACR,IAAK,kCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,MACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,mCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeG,IACf,EACA,KACA,MACA,EACA,GACAJ,EACAA,GACA,GACR,IAAK,4BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeM,SACf,EACA,KACA,KACA,EACA,GACAP,EACAA,GACA,GACR,IAAK,6BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeO,UACf,EACA,KACA,IACA,EACA,GACAR,EACAA,GACA,GACR,IAAK,6BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeO,UACf,EACA,KACA,IACA,EACA,GACAR,EACAA,GACA,GACR,IAAK,oCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeO,UACf,EACA,KACA,IACA,EACA,GACAR,EACAA,GACA,GACR,IAAK,qCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeQ,KACf,EACA,KACA,IACA,EACA,GACAT,EACAA,GACA,GACR,IAAK,qCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeQ,KACf,EACA,KACA,IACA,EACA,GACAT,EACAA,GACA,GACR,IAAK,qCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeQ,KACf,EACA,KACA,IACA,EACA,GACAT,EACAA,GACA,GACR,IAAK,8BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeS,KACf,EACA,KACA,KACA,EACA,GACAV,EACAA,GACA,GACR,IAAK,8BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeS,KACf,EACA,KACA,IACA,EACA,GACAV,EACAA,GACA,GACR,IAAK,gCACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeI,UACf,EACA,KACA,KACA,EACA,GACAL,EACAA,GACA,GACR,IAAK,0BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeU,KACf,EACA,IACA,IACA,EACA,EACAX,EACAA,GACA,GACR,IAAK,2BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeU,KACf,EACA,IACA,IACA,EACA,EACAX,EACA,2BACA,GACR,IAAK,6BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,MACA,MACA,EACA,GACAN,EACAA,GACA,GACR,IAAK,8BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,MACA,MACA,EACA,GACAN,EACA,8BACA,GACR,IAAK,6BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,MACA,MACA,EACA,GACAN,EACAA,GACA,GACR,IAAK,8BACD,OAAO,IAAIzsC,EACPltB,EAAA45D,eAAeK,IACf,EACA,MACA,MACA,EACA,GACAN,EACA,8BACA,GAER,QACI,OAAO,IAAIzsC,EACPltB,EAAA45D,eA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EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,MAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,KAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,OAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,QAC3B8yM,EAAUV,SAASpyM,EAAQ,MAC3B8yM,EAAUV,SA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AAmB,SAAUlzM,GAC/B,OAAO,IAAIhE,OAAO,aAAegE,EAAIjB,IAAI2N,GAAQzN,KAAK,KAAO,aAC/D,EACImvC,EAAW,CACb,iBAAkB,CAChB,KACA,QACA,QACA,OACA,UACA,MACA,WACA,kBACA,MACA,OACA,YACA,aACA,OACA,WACA,OACA,OACA,QACA,WACA,OACA,QACA,OACA,MACA,IACA,IACA,QACA,QACA,QACA,OACA,kBACA,MACA,SACA,MACA,QACA,OACA,QACA,SACA,OACA,UACA,UACA,OACA,UACA,MACA,gBACA,WACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,QACA,UACA,YACA,OACA,QACA,OACA,SACA,gBACA,SACA,QACA,YACA,WACA,oBACA,kBACA,OACA,YACA,MACA,QACA,MACA,QACA,MACA,iBACA,WAEF,uBAAwB,CAEtB,UACA,YACA,YACA,KACA,SACA,MACA,IACA,WACA,KACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,UACA,gBACA,oBACA,YACA,UACA,mBACA,KACA,WACA,IACA,KACA,MAEF,oBAAqB,CACnB,aACA,WACA,SACA,mBACA,SACA,aACA,aACA,YACA,mBACA,kBACA,WACA,aACA,OACA,WACA,UACA,aACA,YACA,WACA,OACA,OACA,MACA,WACA,UACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,oBACA,aACA,cACA,OACA,SACA,gBACA,oBACA,gCACA,iCACA,YACA,UACA,WACA,SACA,aACA,aACA,UACA,SACA,OACA,eACA,eACA,QACA,OACA,SACA,YACA,UACA,QACA,WACA,cACA,WACA,QACA,YACA,aACA,aACA,qBACA,SACA,SACA,WACA,eACA,UACA,aACA,OACA,UACA,QACA,SACA,SACA,OACA,aACA,WACA,YACA,MACA,aACA,UACA,aACA,SACA,cACA,YACA,OACA,YACA,SACA,YACA,iBACA,UACA,eACA,UACA,gBACA,eACA,YACA,mBACA,UACA,SACA,WACA,OACA,aACA,oBACA,YACA,UACA,UACA,YACA,WACA,WACA,aACA,OACA,cACA,iBACA,QACA,UACA,YACA,gBACA,cACA,oBACA,MACA,UACA,OACA,SACA,OACA,sBACA,aACA,aACA,mBACA,UACA,cACA,SACA,aACA,WACA,kBACA,OACA,OACA,QACA,QACA,QACA,YACA,SACA,eACA,eACA,WACA,WACA,MACA,aACA,YACA,WACA,QACA,oBACA,eACA,OACA,cACA,QACA,UACA,UACA,OACA,cACA,SACA,OACA,gBACA,YACA,eAEF,eAAgB,CACd,UACA,kBACA,MACA,cACA,iBACA,aACA,UACA,eACA,UACA,WACA,cACA,MACA,IACA,IACA,cACA,IACA,MACA,IACA,KACA,SACA,cACA,wBACA,OACA,IACA,OACA,IACA,WACA,SACA,cACA,KACA,QACA,aACA,SACA,QACA,SACA,QACA,QACA,QACA,UACA,SACA,UACA,WACA,KACA,iBACA,KACA,MACA,UACA,aACA,KACA,KACA,MACA,QACA,WACA,SACA,KACA,UACA,UACA,MACA,SACA,KACA,SACA,QACA,OACA,WACA,aACA,UACA,WACA,OACA,YACA,cACA,QACA,MACA,iBACA,YACA,yBACA,aACA,QACA,aACA,QACA,UACA,MACA,SACA,wBACA,MACA,OACA,KACA,OACA,WACA,QACA,YACA,cAGJh6C,OAAOmL,KAAK6uC,GAAUt3C,SAAQ,SAAUuP,GACtCysM,EAAOzsM,GAAG4yJ,QAAUi6C,EAAiB9kK,EAAS/nC,GAChD,IAyNAysM,EAAOG,YAAYh6C,QAAUi6C,EAxNX,CAEhB,MACA,QACA,OACA,MACA,OACA,QACA,QACA,OACA,QACA,UACA,MACA,MACA,OACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,SACA,KACA,UACA,YACA,MACA,OACA,YACA,QACA,OACA,QACA,OACA,QACA,UACA,KACA,QACA,OACA,SACA,aACA,aACA,WACA,QACA,UACA,OACA,KACA,OACA,SACA,QACA,OACA,SACA,MACA,OACA,SACA,MACA,WACA,YACA,iBACA,kBACA,SACA,YACA,QACA,YACA,YACA,WACA,cACA,UACA,YACA,gBACA,mBACA,SACA,MACA,UACA,cACA,aACA,SACA,cACA,OACA,eACA,YACA,UACA,eACA,eACA,aACA,kBACA,QACA,aACA,SACA,eACA,YACA,eACA,WACA,SACA,WACA,aACA,OACA,YACA,gBACA,eACA,OACA,UACA,UACA,YACA,gBACA,iBACA,kBACA,gBACA,UACA,OACA,YACA,cACA,UACA,cACA,aACA,OACA,aACA,iBACA,aACA,OACA,eACA,cACA,WACA,gBACA,YACA,UACA,QACA,aACA,QACA,OACA,aACA,UACA,aACA,aACA,QACA,OACA,YACA,iBACA,YACA,UACA,eACA,cACA,iBACA,YACA,oBACA,kBACA,QACA,iBACA,eACA,gBACA,kBACA,cACA,gBACA,gBACA,kBACA,cACA,OACA,UACA,YACA,YACA,UACA,eACA,iBACA,aACA,OACA,SACA,cACA,qBACA,SACA,mBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,gBACA,cACA,iBACA,cACA,eACA,aACA,cACA,WACA,iBACA,oBACA,cACA,qBACA,WACA,eACA,mBACA,oBACA,iBACA,UACA,iBACA,iBACA,cACA,SACA,gBACA,eACA,eACA,aACA,aACA,UACA,oBACA,eACA,YACA,cACA,wBACA,oBAGF1O,EAAM72G,UAAUmlH,OAASA,CAC1B,CAr5BA,CAq5BEtO,EACL,CA15BA5vM,EAAOC,QAAUi+M,EACjBA,EAAOpvM,YAAc,SACrBovM,EAAOhN,QAAU,2BCCjB,SAASqN,EAAO3O,IACb,SAAWA,GAMVA,EAAM72G,UAAiB,MAAI,CACzBtjF,QAAS,CACP4uJ,QAAS,aAEX1xH,OAAQ,CACN0xH,QAAS,UACTgtC,QAAQ,GAEV,iBAAkB,CAChBhtC,QAAS,mBACTksC,MAAO,UAET,iBAAkB,CAChBlsC,QAAS,OACTksC,MAAO,aAEThiM,OAAQ,MACRomC,SAAU,sCACVs8J,YAAa,QACbU,SAAU,QACV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,YAAY,EACZK,QAAQ,IAGZ/nD,OAAQ,cACR30G,SAAU,CACR0vH,QAAS,gCACT2sC,YAAY,GAEdC,YAAa,UAEjB,CApHAjxM,EAAOC,QAAUkuN,EACjBA,EAAQr/M,YAAc,UACtBq/M,EAAQjd,QAAU,2BCClB,SAASkd,EAAMxe,GACbA,EAAM72G,UAAUq1H,MAAQ,CACtB34M,QAAS,OACTotE,QACE,s0BACF0yH,UAAW,CACTlxC,QAAS,cACTksC,MAAO,YAEToB,SAAU,aACVpjM,OAAQ,gBACRomC,SAAU,mBACVs8J,YAAa,wBAEjB,CAjBAjxM,EAAOC,QAAUmuN,EACjBA,EAAMt/M,YAAc,QACpBs/M,EAAMld,QAAU,2BCChB,SAASmd,EAAQze,IACd,SAAWA,GACV,IAAI0e,EAAY,CAEd,MACA,MACA,OACA,MACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,UACA,QACA,QACA,cACA,OACA,SACA,QACA,SACA,iBACA,aACA,QACA,cACA,OACA,aACA,QACA,gBACA,cACA,gBACA,cACA,WACA,aACA,QACA,SACA,eACA,OACA,OACA,OACA,OACA,UACA,OACA,eACA,SACA,YACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,OACA,aACA,UACA,cACA,aACA,SACA,aACA,SACA,WACA,eACA,SACA,cACA,SACA,qBACA,gBACA,UACA,SACA,SACA,OACA,kBACA,WACA,UACA,eACA,eACA,UACA,OACA,QACA,QACA,eACA,aACA,SACA,UACA,mBACA,OACA,eACA,QACA,SACA,OACA,YACA,mBACA,OACA,kBACA,eACA,iBACA,QACA,SACA,QACA,SACA,SACA,OACA,cACA,YACA,QACA,OACA,UACA,gBACA,QACA,WACA,OACA,iBACA,eACA,kBACA,gBACA,cACA,aACA,aACA,oBACA,UACA,MACA,OACA,UACA,SACA,SACA,YACA,MACA,OACA,QACA,UACA,MACA,gBACA,gBACA,aACA,WACA,YACA,gBACA,WACA,eACA,QACA,QACA,OACA,WACA,MACA,OACA,SACA,MACA,OACA,SACA,OACA,OACA,gBACA,QACA,OACA,eACA,UACA,OACA,SACA,YACA,MACA,OACA,iBACA,MACA,OACA,QACA,oBACA,SACA,UACA,aACA,gBACA,cACA,cACA,cACA,gBACA,SACA,SACA,UACA,iBACA,aACA,mBACA,eACA,YACA,QACA,OACA,SACA,SACA,QACA,aACA,cACA,cACA,eACA,YACA,UACA,eACA,YACA,YACA,OACA,UACA,OACA,UACA,UACA,aACA,YACA,SACA,UACA,cACA,YACA,WACA,WACA,QACA,SACA,QACA,QACA,QACA,OACA,SACA,WACA,YACA,gBACA,aACA,YACA,QACA,cACA,YACA,cACA,WACA,WACA,QACA,OACA,aACA,OACA,WACA,SACA,aACA,eACA,YAmBEC,EAAkB,OAHtBD,EAAYA,EAAUnkN,KAAI,SAAUwqC,GAClC,OAAOA,EAAShvC,QAAQ,IAAK,MAC/B,KACwC0E,KAAK,KAAO,OACpDulM,EAAM72G,UAAUs1H,QAAUze,EAAM72G,UAAU3vF,OAAO,aAAc,CAAC,GAChEwmM,EAAM72G,UAAUm2D,aAAa,UAAW,SAAU,CAChD1hJ,SAAU,CACR62J,QACE,oHACFgtC,QAAQ,EACRC,OAAQ,CACNzuH,QAASz7E,OAAO,YAAcmnN,EAAkB,iBAItD3e,EAAM72G,UAAUs1H,QAAQ17K,OAAO2+J,OAAS,CACtCn5L,IAAK,CAEHksJ,QACE,yEACFgtC,QAAQ,GAEV/nD,OAAQ,CAEN+a,QACE,8EACFgtC,QAAQ,IAGZzB,EAAM72G,UAAUm2D,aAAa,UAAW,WAAY,CAClD6jD,QAAS,CACP1uC,QAASj9J,OAAO,SA7CG,CACrB,WACA,OACA,UACA,QACA,YACA,aACA,gBACA,SACA,SACA,SACA,UACA,QAiC8CiD,KAAK,KAAO,QACxDkmM,MAAO,YAGZ,CAlSA,CAkSEX,EACL,CAvSA5vM,EAAOC,QAAUouN,EACjBA,EAAQv/M,YAAc,UACtBu/M,EAAQnd,QAAU,2BCClB,SAASsd,EAAO5e,GACdA,EAAM72G,UAAUy1H,OAAS,CACvB/4M,QAAS,CACP4uJ,Q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Q,CACN,aAAc,CACZjtC,QAAS,kBACTksC,MAAO,YAETU,YAAa,QACbt8J,SAAU,CACR0vH,QAAS,IACTksC,MAAO,yBAMjBlvM,OAAQ,CACNgjK,QAAS,iDACTksC,MAAO,WACPS,YAAY,GAEdnuH,QACE,sEACF,mBAAoB,CAClBwhF,QACE,kIACFitC,OAAQ,CACN,wBAAyB,CACvBjtC,QAAS,mBACTksC,MAAO,WAETqf,WAAY,CACVvrD,QAAS,mCACTksC,MAAO,UAET,wBAAyB,CACvBlsC,QAAS,kBACTksC,MAAO,WAETU,YAAa,UAGjB2e,WAAY,CACVvrD,QAAS,mCACTksC,MAAO,UAET57J,SAAU,CACR,CACE0vH,QAAS,IACTksC,MAAO,eAET,CACElsC,QAAS,IACTksC,MAAO,eAET,CACElsC,QAAS,IACTksC,MAAO,aAET,CACElsC,QAAS,KACTksC,MAAO,eAET,CACElsC,QAAS,QACTksC,MAAO,cAET,CACElsC,QAAS,OACTksC,MAAO,aAET,CACElsC,QAAS,OACTksC,MAAO,YAET,CACElsC,QAAS,UACTksC,MAAO,SAGX,gBAAiB,CACf,CACElsC,QACE,2HACF2sC,YAAY,EACZM,OAAQ,CACN,aAAc,CACZjtC,QAAS,kBACTksC,MAAO,YAETsf,MAAO,MAGX,CACExrD,QAAS,sBACTitC,OAAQ,CACN,aAAc,CACZjtC,QAAS,kBACTksC,MAAO,YAETsf,MAAO,OAIb5e,YAAa,UACblyM,KAAM,kBAEV,CArIAiB,EAAOC,QAAUyvN,EACjBA,EAAM5gN,YAAc,QACpB4gN,EAAMxe,QAAU,2BCChB,SAAS4e,EAAMlgB,IACZ,SAAWA,GACV,IAAI+B,EACF,gEACF/B,EAAM72G,UAAU+2H,MAAQ,CACtBr6M,QAAS,CACP4uJ,QAAS,iBACT2sC,YAAY,EACZK,QAAQ,GAEVyC,UAAW,CACTzvC,QACE,0GACF2sC,YAAY,EACZK,QAAQ,EACRC,OAAQ,CACN3+J,OAAQ,CACN0xH,QACE,gEACF2sC,YAAY,EACZK,QAAQ,EACRC,OAAQ,CACNx5L,OAAQ,CACNusJ,QAAS,cACTksC,MAAO,U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CA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAMaG,GAAwBH,GAAY,CACjD,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAMaI,GAAsBJ,GAAY,CAC/C,SACA,WACA,UACA,YACA,aAMaK,GAAwBL,GAAYG,GAAuBD,GAAmBE,IAK9EE,GAAkBN,GAAYK,GAAuB,CAClE,SAMaE,GAAkBP,GAAYK,GAAuB,CAClE,SACA,OACA,QACA,UACA,MACA,UAMaG,GAAkBR,GAAYO,GAAiB,CAC5D,WAMaE,GAAeT,GAAYK,GAAuB,CAC/D,UAMaK,GAAeV,GAAYK,GAAuB,CAC/D,UAMaM,GAAmBX,GAAYK,GAAuB,CACnE,WACA,OACA,WACA,QACA,MACA,SACA,SAMaO,GAAiBZ,GAAYK,GAAuB,CACjE,aAMaQ,GAAmBb,GAAYK,GAAuB,CACnE,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UClNJ,MAAMS,GAAmB,CACrBv6R,MAAO+5R,GACPzxP,MAAO0xP,GACPzxP,MAAO0xP,GACPzoH,GAAI0oH,GACJ11H,GAAI21H,GACJ1hT,EAAG2hT,GACHjsI,OAAQmsI,GACRhxT,MDgN+BmwT,GAAYa,GAAkB,CAC7D,SACA,MACA,iBACA,eACA,UACA,UACA,OACA,SACA,YACA,OACA,MACA,YACA,MACA,WACA,UACA,cACA,WACA,WACA,MACA,OACA,OACA,OACA,QACA,UCvOAE,SD6OkCf,GAAYa,GAAkB,CAChE,iBACA,OACA,UACA,OACA,YACA,cACA,WACA,WACA,OACA,SCtPA/qM,OD4PgCkqM,GAAYa,GAAkB,CAC9D,OACA,WACA,aC9PAhqK,ODgQ4BmpK,GAAYK,GAAuB,CA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,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,IAAK,GAAG9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J,EAAI,GAAI,KAAK9J,OAAO8J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","sources":["../node_modules/bent/src/browser.js","../node_modules/bent/src/core.js","../node_modules/comma-separated-tokens/index.js","../node_modules/debug/node_modules/ms/index.js","../node_modules/debug/src/browser.js","../node_modules/debug/src/common.js","../node_modules/extend/index.js","../node_modules/hast-util-parse-selector/index.js","../node_modules/hastscript/factory.js","../node_modules/hastscript/html.js","../node_modules/hastscript/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/inline-style-parser/index.js","../node_modules/is-alphabetical/index.js","../node_modules/is-alphanumerical/index.js","../node_modules/is-decimal/index.js","../node_modules/is-hexadecimal/index.js","../node_modules/katex/dist/katex.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayEach.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_assignMergeValue.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseDifference.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseExtremum.js","../node_modules/lodash/_baseFilter.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseInvoke.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_baseLt.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseMerge.js","../node_modules/lodash/_baseMergeDeep.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_basePick.js","../node_modules/lodash/_basePickBy.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSet.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_baseSum.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castFunction.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_charsEndIndex.js","../node_modules/lodash/_charsStartIndex.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createAssigner.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_flatRest.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_parent.js","../node_modules/lodash/_root.js","../node_modules/lodash/_safeGet.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/compact.js","../node_modules/lodash/constant.js","../node_modules/lodash/difference.js","../node_modules/lodash/eq.js","../node_modules/lodash/filter.js","../node_modules/lodash/first.js","../node_modules/lodash/flatten.js","../node_modules/lodash/forEach.js","../node_modules/lodash/get.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/head.js","../node_modules/lodash/identity.js","../node_modules/lodash/invoke.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isArrayLikeObject.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isEmpty.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/last.js","../node_modules/lodash/map.js","../node_modules/lodash/memoize.js","../node_modules/lodash/merge.js","../node_modules/lodash/min.js","../node_modules/lodash/noop.js","../node_modules/lodash/pick.js","../node_modules/lodash/property.js","../node_modules/lodash/sortBy.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/sum.js","../node_modules/lodash/take.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/toPlainObject.js","../node_modules/lodash/toString.js","../node_modules/lodash/trim.js","../node_modules/lodash/union.js","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/microsoft.cognitiveservices.speech.sdk.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/ConsoleLoggingListener.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/FileAudioSource.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/MicAudioSource.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/PCMRecorder.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/ProxyInfo.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/ReplayableAudioNode.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/RestConfigBase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/RestMessageAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/WebsocketConnection.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/src/common.browser/WebsocketMessageAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/AddedLmIntent.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/AgentConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/AvatarSynthesisAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/CognitiveSubscriptionKeyAuthentication.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/CognitiveTokenAuthentication.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/ConnectionFactoryBase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/ConversationServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/ConversationTranscriberConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/ConversationTranscriptionServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/DialogConnectorFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/DialogServiceAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/DialogServiceTurnState.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/DialogServiceTurnStateManager.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/DynamicGrammarBuilder.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/EnumTranslation.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/HeaderNames.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/IAuthentication.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/IntentConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/IntentServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/QueryParameterNames.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/RecognitionEvents.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/RecognizerConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/RequestSession.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/ActivityResponsePayload.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/DetailedSpeechPhrase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/Enums.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/IntentResponse.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/SimpleSpeechPhrase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/SpeechDetected.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/SpeechHypothesis.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/SpeechKeyword.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/SynthesisAudioMetadata.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/TranslationHypothesis.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/TranslationPhrase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/TranslationSynthesisEnd.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/src/common.speech/ServiceMessages/TurnStatusPayload.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/ServiceRecognizerBase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/ServiceTelemetryListener.Internal.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeakerRecognitionConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeakerRecognitionConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeakerServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechConnectionMessage.Internal.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechContext.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechServiceConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechSynthesisAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SpeechSynthesisConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SynthesisAdapterBase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SynthesisContext.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SynthesisEvents.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SynthesisRestAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SynthesisTurn.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/SynthesizerConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/TranscriberConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/TranscriptionServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationConnectionConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationConnectionMessage.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationManager.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationRequestSession.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationServiceAdapter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationTranslatorConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationTranslatorEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationTranslatorInterfaces.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationTranslatorRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/ConversationWebsocketMessageFormatter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/src/common.speech/Transcription/ServiceMessages/CommandResponsePayload.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/src/common.speech/Transcription/ServiceMessages/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/src/common.speech/Transcription/ServiceMessages/ParticipantResponsePayload.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/src/common.speech/Transcription/ServiceMessages/TranslationResponsePayload.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/src/common.speech/Transcription/TranscriberRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/TranslationConnectionFactory.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/TranslationServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/TranslationStatus.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/VoiceServiceRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/src/common.speech/WebsocketMessageFormatter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/AudioSourceEvents.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/BackgroundError.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/ChunkedArrayBufferStream.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/ConnectionEvents.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/ConnectionMessage.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/ConnectionOpenResponse.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/DeferralMap.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/DialogEvents.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Error.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/EventSource.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Events.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Guid.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/IConnection.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/List.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/OCSPEvents.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/PlatformEvent.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Promise.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Queue.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/RawWebsocketMessage.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/RiffPcmEncoder.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Stream.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/StringUtils.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/src/common/Timeout.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ActivityReceivedEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/AudioConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/AudioFileWriter.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/AudioInputStream.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/AudioOutputFormat.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/AudioOutputStream.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/AudioStreamFormat.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/BaseAudioPlayer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/PullAudioInputStreamCallback.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/PushAudioOutputStreamCallback.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/src/sdk/Audio/SpeakerAudioDestination.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AutoDetectSourceLanguageConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AutoDetectSourceLanguageResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AvatarConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AvatarEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AvatarSynthesizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AvatarVideoFormat.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/AvatarWebRTCConnectionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/BotFrameworkConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/CancellationDetails.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/CancellationDetailsBase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/CancellationErrorCodes.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/CancellationEventArgsBase.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/CancellationReason.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Connection.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ConnectionEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ConnectionMessage.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ConnectionMessageEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Contracts.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ConversationTranscriptionCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/CustomCommandsConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Diagnostics.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/DialogServiceConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/DialogServiceConnector.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/IntentRecognitionCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/IntentRecognitionEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/IntentRecognitionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/IntentRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/KeywordRecognitionModel.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/LanguageIdMode.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/LanguageUnderstandingModel.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/LogLevel.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/MeetingTranscriptionCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/NoMatchDetails.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/NoMatchReason.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/OutputFormat.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PhraseListGrammar.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ProfanityOption.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PronunciationAssessmentConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PronunciationAssessmentGradingSystem.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PronunciationAssessmentGranularity.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PronunciationAssessmentResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PropertyCollection.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/PropertyId.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/RecognitionEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/RecognitionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Recognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ResultReason.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ServiceEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/ServicePropertyChannel.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SessionEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SourceLanguageConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeakerIdentificationModel.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeakerRecognitionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeakerRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeakerVerificationModel.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechRecognitionCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechRecognitionEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechRecognitionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisBookmarkEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisBoundaryType.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisOutputFormat.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisVisemeEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesisWordBoundaryEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechSynthesizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SpeechTranslationConfig.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SynthesisResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/SynthesisVoicesResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Synthesizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/Conversation.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationCommon.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationExpirationEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationParticipantsChangedEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationTranscriber.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationTranscriptionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationTranslationCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationTranslationEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationTranslationResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ConversationTranslator.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/Exports.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/IParticipant.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/Meeting.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/MeetingTranscriber.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/MeetingTranscriptionCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/src/sdk/Transcription/ParticipantChangedReason.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TranslationRecognitionCanceledEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TranslationRecognitionEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TranslationRecognitionResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TranslationRecognizer.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TranslationSynthesisEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TranslationSynthesisResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/Translations.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/TurnStatusReceivedEventArgs.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceInfo.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceProfile.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceProfileClient.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceProfileEnrollmentResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceProfilePhraseResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceProfileResult.ts","../node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/src/sdk/VoiceProfileType.ts","../node_modules/parse-entities/decode-entity.browser.js","../node_modules/parse-entities/index.js","../printJS/webpack/universalModuleDefinition","../printJS/webpack/bootstrap","../printJS/src/index.js","../printJS/src/js/browser.js","../printJS/src/js/functions.js","../printJS/src/js/html.js","../printJS/src/js/image.js","../printJS/src/js/init.js","../printJS/src/js/json.js","../printJS/src/js/modal.js","../printJS/src/js/pdf.js","../printJS/src/js/print.js","../printJS/src/js/raw-html.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/property-information/find.js","../node_modules/property-information/html.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/xlink.js","../node_modules/property-information/lib/xml.js","../node_modules/property-information/lib/xmlns.js","../node_modules/property-information/normalize.js","../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-dom/server.browser.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/refractor/core.js","../node_modules/refractor/index.js","../node_modules/refractor/lang/abap.js","../node_modules/refractor/lang/abnf.js","../node_modules/refractor/lang/actionscript.js","../node_modules/refractor/lang/ada.js","../node_modules/refractor/lang/agda.js","../node_modules/refractor/lang/al.js","../node_modules/refractor/lang/antlr4.js","../node_modules/refractor/lang/apacheconf.js","../node_modules/refractor/lang/apex.js","../node_modules/refractor/lang/apl.js","../node_modules/refractor/lang/applescript.js","../node_modules/refractor/lang/aql.js","../node_modules/refractor/lang/arduino.js","../node_modules/refractor/lang/arff.js","../node_modules/refractor/lang/asciidoc.js","../node_modules/refractor/lang/asm6502.js","../node_modules/refractor/lang/asmatmel.js","../node_modules/refractor/lang/aspnet.js","../node_modules/refractor/lang/autohotkey.js","../node_modules/refractor/lang/autoit.js","../node_modules/refractor/lang/avisynth.js","../node_modules/refractor/lang/avro-idl.js","../node_modules/refractor/lang/bash.js","../node_modules/refractor/lang/basic.js","../node_modules/refractor/lang/batch.js","../node_modules/refractor/lang/bbcode.js","../node_modules/refractor/lang/bicep.js","../node_modules/refractor/lang/birb.js","../node_modules/refractor/lang/bison.js","../node_modules/refractor/lang/bnf.js","../node_modules/refractor/lang/brainfuck.js","../node_modules/refractor/lang/brightscript.js","../node_modules/refractor/lang/bro.js","../node_modules/refractor/lang/bsl.js","../node_modules/refractor/lang/c.js","../node_modules/refractor/lang/cfscript.js","../node_modules/refractor/lang/chaiscript.js","../node_modules/refractor/lang/cil.js","../node_modules/refractor/lang/clike.js","../node_modules/refractor/lang/clojure.js","../node_modules/refractor/lang/cmake.js","../node_modules/refractor/lang/cobol.js","../node_modules/refractor/lang/coffeescript.js","../node_modules/refractor/lang/concurnas.js","../node_modules/refractor/lang/coq.js","../node_modules/refractor/lang/cpp.js","../node_modules/refractor/lang/crystal.js","../node_modules/refractor/lang/csharp.js","../node_modules/refractor/lang/cshtml.js","../node_modules/refractor/lang/csp.js","../node_modules/refractor/lang/css-extras.js","../node_modules/refractor/lang/css.js","../node_modules/refractor/lang/csv.js","../node_modules/refractor/lang/cypher.js","../node_modules/refractor/lang/d.js","../node_modules/refractor/lang/dart.js","../node_modules/refractor/lang/dataweave.js","../node_modules/refractor/lang/dax.js","../node_modules/refractor/lang/dhall.js","../node_modules/refractor/lang/diff.js","../node_modules/refractor/lang/django.js","../node_modules/refractor/lang/dns-zone-file.js","../node_modules/refractor/lang/docker.js","../node_modules/refractor/lang/dot.js","../node_modules/refractor/lang/ebnf.js","../node_modules/refractor/lang/editorconfig.js","../node_modules/refractor/lang/eiffel.js","../node_modules/refractor/lang/ejs.js","../node_modules/refractor/lang/elixir.js","../node_modules/refractor/lang/elm.js","../node_modules/refractor/lang/erb.js","../node_modules/refractor/lang/erlang.js","../node_modules/refractor/lang/etlua.js","../node_modules/refractor/lang/excel-formula.js","../node_modules/refractor/lang/factor.js","../node_modules/refractor/lang/false.js","../node_modules/refractor/lang/firestore-security-rules.js","../node_modules/refractor/lang/flow.js","../node_modules/refractor/lang/fortran.js","../node_modules/refractor/lang/fsharp.js","../node_modules/refractor/lang/ftl.js","../node_modules/refractor/lang/gap.js","../node_modules/refractor/lang/gcode.js","../node_modules/refractor/lang/gdscript.js","../node_modules/refractor/lang/gedcom.js","../node_modules/refractor/lang/gherkin.js","../node_modules/refractor/lang/git.js","../node_modules/refractor/lang/glsl.js","../node_modules/refractor/lang/gml.js","../node_modules/refractor/lang/gn.js","../node_modules/refractor/lang/go-module.js","../node_modules/refractor/lang/go.js","../node_modules/refractor/lang/graphql.js","../node_modules/refractor/lang/groovy.js","../node_modules/refractor/lang/haml.js","../node_modules/refractor/lang/handlebars.js","../node_modules/refractor/lang/haskell.js","../node_modules/refractor/lang/haxe.js","../node_modules/refractor/lang/hcl.js","../node_modules/refractor/lang/hlsl.js","../node_modules/refractor/lang/hoon.js","../node_modules/refractor/lang/hpkp.js","../node_modules/refractor/lang/hsts.js","../node_modules/refractor/lang/http.js","../node_modules/refractor/lang/ichigojam.js","../node_modules/refractor/lang/icon.js","../node_modules/refractor/lang/icu-message-format.js","../node_modules/refractor/lang/idris.js","../node_modules/refractor/lang/iecst.js","../node_modules/refractor/lang/ignore.js","../node_modules/refractor/lang/inform7.js","../node_modules/refractor/lang/ini.js","../node_modules/refractor/lang/io.js","../node_modules/refractor/lang/j.js","../node_modules/refractor/lang/java.js","../node_modules/refractor/lang/javadoc.js","../node_modules/refractor/lang/javadoclike.js","../node_modules/refractor/lang/javascript.js","../node_modules/refractor/lang/javastacktrace.js","../node_modules/refractor/lang/jexl.js","../node_modules/refractor/lang/jolie.js","../node_modules/refractor/lang/jq.js","../node_modules/refractor/lang/js-extras.js","../node_modules/refractor/lang/js-templates.js","../node_modules/refractor/lang/jsdoc.js","../node_modules/refractor/lang/json.js","../node_modules/refractor/lang/json5.js","../node_modules/refractor/lang/jsonp.js","../node_modules/refractor/lang/jsstacktrace.js","../node_modules/refractor/lang/jsx.js","../node_modules/refractor/lang/julia.js","../node_modules/refractor/lang/keepalived.js","../node_modules/refractor/lang/keyman.js","../node_modules/refractor/lang/kotlin.js","../node_modules/refractor/lang/kumir.js","../node_modules/refractor/lang/kusto.js","../node_modules/refractor/lang/latex.js","../node_modules/refractor/lang/latte.js","../node_modules/refractor/lang/less.js","../node_modules/refractor/lang/lilypond.js","../node_modules/refractor/lang/liquid.js","../node_modules/refractor/lang/lisp.js","../node_modules/refractor/lang/livescript.js","../node_modules/refractor/lang/llvm.js","../node_modules/refractor/lang/log.js","../node_modules/refractor/lang/lolcode.js","../node_modules/refractor/lang/lua.js","../node_modules/refractor/lang/magma.js","../node_modules/refractor/lang/makefile.js","../node_modules/refractor/lang/markdown.js","../node_modules/refractor/lang/markup-templating.js","../node_modules/refractor/lang/markup.js","../node_modules/refractor/lang/matlab.js","../node_modules/refractor/lang/maxscript.js","../node_modules/refractor/lang/mel.js","../node_modules/refractor/lang/mermaid.js","../node_modules/refractor/lang/mizar.js","../node_modules/refractor/lang/mongodb.js","../node_modules/refractor/lang/monkey.js","../node_modules/refractor/lang/moonscript.js","../node_modules/refractor/lang/n1ql.js","../node_modules/refractor/lang/n4js.js","../node_modules/refractor/lang/nand2tetris-hdl.js","../node_modules/refractor/lang/naniscript.js","../node_modules/refractor/lang/nasm.js","../node_modules/refractor/lang/neon.js","../node_modules/refractor/lang/nevod.js","../node_modules/refractor/lang/nginx.js","../node_modules/refractor/lang/nim.js","../node_modules/refractor/lang/nix.js","../node_modules/refractor/lang/nsis.js","../node_modules/refractor/lang/objectivec.js","../node_modules/refractor/lang/ocaml.js","../node_modules/refractor/lang/opencl.js","../node_modules/refractor/lang/openqasm.js","../node_modules/refractor/lang/oz.js","../node_modules/refractor/lang/parigp.js","../node_modules/refractor/lang/parser.js","../node_modules/refractor/lang/pascal.js","../node_modules/refractor/lang/pascaligo.js","../node_modules/refractor/lang/pcaxis.js","../node_modules/refractor/lang/peoplecode.js","../node_modules/refractor/lang/perl.js","../node_modules/refractor/lang/php-extras.js","../node_modules/refractor/lang/php.js","../node_modules/refractor/lang/phpdoc.js","../node_modules/refractor/lang/plsql.js","../node_modules/refractor/lang/powerquery.js","../node_modules/refractor/lang/powershell.js","../node_modules/refractor/lang/processing.js","../node_modules/refractor/lang/prolog.js","../node_modules/refractor/lang/promql.js","../node_modules/refractor/lang/properties.js","../node_modules/refractor/lang/protobuf.js","../node_modules/refractor/lang/psl.js","../node_modules/refractor/lang/pug.js","../node_modules/refractor/lang/puppet.js","../node_modules/refractor/lang/pure.js","../node_modules/refractor/lang/purebasic.js","../node_modules/refractor/lang/purescript.js","../node_modules/refractor/lang/python.js","../node_modules/refractor/lang/q.js","../node_modules/refractor/lang/qml.js","../node_modules/refractor/lang/qore.js","../node_modules/refractor/lang/qsharp.js","../node_modules/refractor/lang/r.js","../node_modules/refractor/lang/racket.js","../node_modules/refractor/lang/reason.js","../node_modules/refractor/lang/regex.js","../node_modules/refractor/lang/rego.js","../node_modules/refractor/lang/renpy.js","../node_modules/refractor/lang/rest.js","../node_modules/refractor/lang/rip.js","../node_modules/refractor/lang/roboconf.js","../node_modules/refractor/lang/robotframework.js","../node_modules/refractor/lang/ruby.js","../node_modules/refractor/lang/rust.js","../node_modules/refractor/lang/sas.js","../node_modules/refractor/lang/sass.js","../node_modules/refractor/lang/scala.js","../node_modules/refractor/lang/scheme.js","../node_modules/refractor/lang/scss.js","../node_modules/refractor/lang/shell-session.js","../node_modules/refractor/lang/smali.js","../node_modules/refractor/lang/smalltalk.js","../node_modules/refractor/lang/smarty.js","../node_modules/refractor/lang/sml.js","../node_modules/refractor/lang/solidity.js","../node_modules/refractor/lang/solution-file.js","../node_modules/refractor/lang/soy.js","../node_modules/refractor/lang/sparql.js","../node_modules/refractor/lang/splunk-spl.js","../node_modules/refractor/lang/sqf.js","../node_modules/refractor/lang/sql.js","../node_modules/refractor/lang/squirrel.js","../node_modules/refractor/lang/stan.js","../node_modules/refractor/lang/stylus.js","../node_modules/refractor/lang/swift.js","../node_modules/refractor/lang/systemd.js","../node_modules/refractor/lang/t4-cs.js","../node_modules/refractor/lang/t4-templating.js","../node_modules/refractor/lang/t4-vb.js","../node_modules/refractor/lang/tap.js","../node_modules/refractor/lang/tcl.js","../node_modules/refractor/lang/textile.js","../node_modules/refractor/lang/toml.js","../node_modules/refractor/lang/tremor.js","../node_modules/refractor/lang/tsx.js","../node_modules/refractor/lang/tt2.js","../node_modules/refractor/lang/turtle.js","../node_modules/refractor/lang/twig.js","../node_modules/refractor/lang/typescript.js","../node_modules/refractor/lang/typoscript.js","../node_modules/refractor/lang/unrealscript.js","../node_modules/refractor/lang/uorazor.js","../node_modules/refractor/lang/uri.js","../node_modules/refractor/lang/v.js","../node_modules/refractor/lang/vala.js","../node_modules/refractor/lang/vbnet.js","../node_modules/refractor/lang/velocity.js","../node_modules/refractor/lang/verilog.js","../node_modules/refractor/lang/vhdl.js","../node_modules/refractor/lang/vim.js","../node_modules/refractor/lang/visual-basic.js","../node_modules/refractor/lang/warpscript.js","../node_modules/refractor/lang/wasm.js","../node_modules/refractor/lang/web-idl.js","../node_modules/refractor/lang/wiki.js","../node_modules/refractor/lang/wolfram.js","../node_modules/refractor/lang/wren.js","../node_modules/refractor/lang/xeora.js","../node_modules/refractor/lang/xml-doc.js","../node_modules/refractor/lang/xojo.js","../node_modules/refractor/lang/xquery.js","../node_modules/refractor/lang/yaml.js","../node_modules/refractor/lang/yang.js","../node_modules/refractor/lang/zig.js","../node_modules/refractor/node_modules/prismjs/components/prism-core.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/space-separated-tokens/index.js","../node_modules/style-to-object/src/index.ts","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/uuid/dist/commonjs-browser/index.js","../node_modules/uuid/dist/commonjs-browser/md5.js","../node_modules/uuid/dist/commonjs-browser/native.js","../node_modules/uuid/dist/commonjs-browser/nil.js","../node_modules/uuid/dist/commonjs-browser/parse.js","../node_modules/uuid/dist/commonjs-browser/regex.js","../node_modules/uuid/dist/commonjs-browser/rng.js","../node_modules/uuid/dist/commonjs-browser/sha1.js","../node_modules/uuid/dist/commonjs-browser/stringify.js","../node_modules/uuid/dist/commonjs-browser/v1.js","../node_modules/uuid/dist/commonjs-browser/v3.js","../node_modules/uuid/dist/commonjs-browser/v35.js","../node_modules/uuid/dist/commonjs-browser/v4.js","../node_modules/uuid/dist/commonjs-browser/v5.js","../node_modules/uuid/dist/commonjs-browser/validate.js","../node_modules/uuid/dist/commonjs-browser/version.js","../node_modules/xtend/immutable.js","../node_modules/classnames/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../node_modules/@azure/msal-common/src/telemetry/performance/PerformanceEvent.ts","../node_modules/@azure/msal-common/src/utils/Constants.ts","../node_modules/@azure/msal-browser/src/utils/BrowserConstants.ts","../node_modules/@azure/msal-common/src/error/AuthError.ts","../node_modules/@azure/msal-common/src/error/ServerError.ts","../node_modules/@azure/msal-common/src/error/InteractionRequiredAuthError.ts","../node_modules/@azure/msal-common/src/error/JoseHeaderError.ts","../node_modules/@azure/msal-browser/src/cache/CryptoKeyStore.ts","../node_modules/@azure/msal-common/src/crypto/JoseHeader.ts","../node_modules/@azure/msal-browser/src/utils/MathUtils.ts","../node_modules/@azure/msal-browser/src/crypto/GuidGenerator.ts","../node_modules/@azure/msal-browser/src/utils/BrowserStringUtils.ts","../node_modules/@azure/msal-browser/src/encode/Base64Encode.ts","../node_modules/@azure/msal-browser/src/encode/Base64Decode.ts","../node_modules/@azure/msal-common/src/error/ClientAuthError.ts","../node_modules/@azure/msal-common/src/utils/StringUtils.ts","../node_modules/@azure/msal-browser/src/error/BrowserAuthError.ts","../node_modules/@azure/msal-browser/src/crypto/PkceGenerator.ts","../node_modules/@azure/msal-browser/src/crypto/ModernBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/MsrBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/MsBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/error/BrowserConfigurationAuthError.ts","../node_modules/@azure/msal-browser/src/crypto/BrowserCrypto.ts","../node_modules/@azure/msal-browser/src/cache/DatabaseStorage.ts","../node_modules/@azure/msal-browser/src/cache/MemoryStorage.ts","../node_modules/@azure/msal-browser/src/cache/AsyncMemoryStorage.ts","../node_modules/@azure/msal-common/src/logger/Logger.ts","../node_modules/@azure/msal-browser/src/crypto/CryptoOps.ts","../node_modules/@azure/msal-common/src/authority/AuthorityType.ts","../node_modules/@azure/msal-common/src/telemetry/performance/PerformanceClient.ts","../node_modules/@azure/msal-common/src/telemetry/performance/StubPerformanceClient.ts","../node_modules/@azure/msal-common/src/crypto/ICrypto.ts","../node_modules/@azure/msal-common/src/cache/entities/CredentialEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/IdTokenEntity.ts","../node_modules/@azure/msal-common/src/error/ClientConfigurationError.ts","../node_modules/@azure/msal-common/src/request/ScopeSet.ts","../node_modules/@azure/msal-common/src/account/ClientInfo.ts","../node_modules/@azure/msal-common/src/cache/entities/AccountEntity.ts","../node_modules/@azure/msal-common/src/account/CcsCredential.ts","../node_modules/@azure/msal-common/src/account/AuthToken.ts","../node_modules/@azure/msal-common/src/packageMetadata.ts","../node_modules/@azure/msal-common/src/cache/CacheManager.ts","../node_modules/@azure/msal-common/src/utils/TimeUtils.ts","../node_modules/@azure/msal-common/src/cache/entities/AccessTokenEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/RefreshTokenEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/AppMetadataEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/ServerTelemetryEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/AuthorityMetadataEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/ThrottlingEntity.ts","../node_modules/@azure/msal-common/src/utils/ProtocolUtils.ts","../node_modules/@azure/msal-common/src/authority/ProtocolMode.ts","../node_modules/@azure/msal-common/src/authority/AuthorityOptions.ts","../node_modules/@azure/msal-browser/src/cache/BrowserStorage.ts","../node_modules/@azure/msal-common/src/url/UrlString.ts","../node_modules/@azure/msal-browser/src/utils/BrowserProtocolUtils.ts","../node_modules/@azure/msal-browser/src/cache/BrowserCacheManager.ts","../node_modules/@azure/msal-common/src/config/ClientConfiguration.ts","../node_modules/@azure/msal-common/src/network/INetworkModule.ts","../node_modules/@azure/msal-browser/src/network/FetchClient.ts","../node_modules/@azure/msal-browser/src/network/XhrClient.ts","../node_modules/@azure/msal-browser/src/utils/BrowserUtils.ts","../node_modules/@azure/msal-browser/src/navigation/NavigationClient.ts","../node_modules/@azure/msal-browser/src/config/Configuration.ts","../node_modules/@azure/msal-browser/src/event/EventType.ts","../node_modules/@azure/msal-browser/src/packageMetadata.ts","../node_modules/@azure/msal-common/src/crypto/PopTokenGenerator.ts","../node_modules/@azure/msal-browser/src/event/EventHandler.ts","../node_modules/@azure/msal-common/src/network/ThrottlingUtils.ts","../node_modules/@azure/msal-common/src/network/NetworkManager.ts","../node_modules/@azure/msal-common/src/request/RequestValidator.ts","../node_modules/@azure/msal-common/src/request/RequestParameterBuilder.ts","../node_modules/@azure/msal-common/src/client/BaseClient.ts","../node_modules/@azure/msal-common/src/cache/entities/CacheRecord.ts","../node_modules/@azure/msal-common/src/cache/persistence/TokenCacheContext.ts","../node_modules/@azure/msal-common/src/response/ResponseHandler.ts","../node_modules/@azure/msal-common/src/client/AuthorizationCodeClient.ts","../node_modules/@azure/msal-common/src/authority/OpenIdConfigResponse.ts","../node_modules/@azure/msal-common/src/authority/AuthorityMetadata.ts","../node_modules/@azure/msal-common/src/authority/RegionDiscovery.ts","../node_modules/@azure/msal-browser/src/error/NativeAuthError.ts","../node_modules/@azure/msal-common/src/authority/Authority.ts","../node_modules/@azure/msal-common/src/authority/CloudInstanceDiscoveryResponse.ts","../node_modules/@azure/msal-common/src/authority/CloudInstanceDiscoveryErrorResponse.ts","../node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts","../node_modules/@azure/msal-common/src/telemetry/server/ServerTelemetryManager.ts","../node_modules/@azure/msal-browser/src/interaction_client/BaseInteractionClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/StandardInteractionClient.ts","../node_modules/@azure/msal-common/src/client/RefreshTokenClient.ts","../node_modules/@azure/msal-common/src/client/SilentFlowClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentCacheClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/NativeInteractionClient.ts","../node_modules/@azure/msal-browser/src/broker/nativeBroker/NativeMessageHandler.ts","../node_modules/@azure/msal-browser/src/interaction_handler/InteractionHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/PopupClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/RedirectHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/RedirectClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/SilentHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentIframeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentRefreshClient.ts","../node_modules/@azure/msal-browser/src/cache/TokenCache.ts","../node_modules/@azure/msal-browser/src/interaction_client/HybridSpaAuthorizationCodeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentAuthCodeClient.ts","../node_modules/@azure/msal-browser/src/telemetry/BrowserPerformanceMeasurement.ts","../node_modules/@azure/msal-browser/src/telemetry/BrowserPerformanceClient.ts","../node_modules/@azure/msal-browser/src/app/ClientApplication.ts","../node_modules/@azure/msal-browser/src/app/PublicClientApplication.ts","../node_modules/@azure/msal-browser/src/app/IPublicClientApplication.ts","../node_modules/@azure/msal-browser/src/event/EventMessage.ts","../node_modules/@azure/msal-react/src/MsalContext.ts","../node_modules/@azure/msal-react/src/utils/utilities.ts","../node_modules/@azure/msal-react/src/packageMetadata.ts","../node_modules/@azure/msal-react/src/MsalProvider.tsx","../node_modules/@azure/msal-react/src/hooks/useMsal.ts","../node_modules/@azure/msal-react/src/hooks/useIsAuthenticated.ts","../node_modules/@azure/msal-react/src/components/AuthenticatedTemplate.tsx","../node_modules/@azure/msal-react/src/components/UnauthenticatedTemplate.tsx","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/index.js","../packages/core/src/insertionFactory.ts","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/rtl-css-js/dist/esm/convert-9768a965.js","../packages/core/src/constants.ts","../packages/core/src/runtime/utils/hyphenateProperty.ts","../packages/core/src/runtime/utils/normalizeNestedProperty.ts","../node_modules/@griffel/core/node_modules/stylis/src/Enum.js","../node_modules/@griffel/core/node_modules/stylis/src/Utility.js","../node_modules/@griffel/core/node_modules/stylis/src/Serializer.js","../node_modules/@griffel/core/node_modules/stylis/src/Tokenizer.js","../node_modules/@griffel/core/node_modules/stylis/src/Parser.js","../node_modules/@griffel/core/node_modules/stylis/src/Middleware.js","../packages/core/src/runtime/stylis/globalPlugin.ts","../packages/core/src/runtime/stylis/prefixerPlugin.ts","../packages/core/src/runtime/stylis/sortClassesInAtRulesPlugin.ts","../packages/core/src/runtime/stylis/isAtRuleElement.ts","../packages/core/src/runtime/compileCSSRules.ts","../packages/core/src/runtime/compileAtomicCSSRule.ts","../packages/core/src/runtime/utils/cssifyObject.ts","../packages/core/src/runtime/compileKeyframeCSS.ts","../packages/core/src/runtime/utils/generateCombinedMediaQuery.ts","../packages/core/src/runtime/utils/isMediaQuerySelector.ts","../packages/core/src/runtime/utils/isLayerSelector.ts","../packages/core/src/runtime/utils/isNestedSelector.ts","../packages/core/src/runtime/utils/isSupportQuerySelector.ts","../packages/core/src/runtime/utils/isContainerQuerySelector.ts","../packages/core/src/runtime/getStyleBucketName.ts","../packages/core/src/runtime/utils/hashClassName.ts","../packages/core/src/runtime/utils/hashPropertyKey.ts","../packages/core/src/runtime/utils/trimSelector.ts","../packages/core/src/runtime/warnings/logError.ts","../packages/core/src/runtime/warnings/warnAboutUnresolvedRule.ts","../packages/core/src/runtime/warnings/warnAboutUnsupportedProperties.ts","../packages/core/src/runtime/resolveStyleRules.ts","../packages/core/src/runtime/utils/isObject.ts","../packages/core/src/runtime/utils/hashSequence.ts","../packages/core/src/runtime/reduceToClassNameForSlots.ts","../packages/core/src/makeStyles.ts","../packages/core/src/resolveStyleRulesForSlots.ts","../packages/react/src/useInsertionEffect.ts","../packages/react/src/insertionFactory.ts","../packages/react/src/utils/canUseDOM.ts","../packages/core/src/renderer/createIsomorphicStyleSheet.ts","../packages/core/src/renderer/getStyleSheetForBucket.ts","../packages/core/src/renderer/safeInsertRule.ts","../packages/core/src/renderer/createDOMRenderer.ts","../packages/core/src/runtime/utils/normalizeCSSBucketEntry.ts","../packages/react/src/RendererContext.tsx","../packages/react/src/TextDirectionContext.tsx","../packages/react/src/makeStyles.ts","../packages/core/src/shorthands/generateStyles.ts","../packages/core/src/shorthands/borderWidth.ts","../packages/core/src/shorthands/borderStyle.ts","../packages/core/src/shorthands/borderColor.ts","../packages/core/src/shorthands/utils.ts","../packages/core/src/shorthands/flex.ts","../packages/core/src/shorthands/gridArea.ts","../packages/core/src/shorthands/transition.ts","../packages/core/src/shorthands/textDecoration.ts","../packages/core/src/index.ts","../packages/core/src/shorthands/border.ts","../packages/core/src/shorthands/borderLeft.ts","../packages/core/src/shorthands/borderBottom.ts","../packages/core/src/shorthands/borderRight.ts","../packages/core/src/shorthands/borderTop.ts","../packages/core/src/shorthands/borderRadius.ts","../packages/core/src/shorthands/gap.ts","../packages/core/src/shorthands/margin.ts","../packages/core/src/shorthands/marginBlock.ts","../packages/core/src/shorthands/marginInline.ts","../packages/core/src/shorthands/padding.ts","../packages/core/src/shorthands/paddingBlock.ts","../packages/core/src/shorthands/paddingInline.ts","../packages/core/src/shorthands/overflow.ts","../packages/core/src/shorthands/inset.ts","../packages/core/src/shorthands/outline.ts","../node_modules/@fluentui/tokens/lib/tokens.js","../node_modules/@fluentui/react-utilities/lib/compose/constants.js","../node_modules/@fluentui/react-utilities/lib/compose/isSlot.js","../node_modules/@fluentui/react-jsx-runtime/lib/jsx/createJSX.js","../node_modules/@fluentui/react-jsx-runtime/lib/utils/createCompatSlotComponent.js","../node_modules/@fluentui/react-jsx-runtime/lib/utils/getMetadataFromSlotComponent.js","../node_modules/@fluentui/react-jsx-runtime/lib/utils/Runtime.js","../node_modules/@fluentui/react-jsx-runtime/lib/jsx-runtime.js","../node_modules/@fluentui/react-jsx-runtime/lib/jsx/jsxSlot.js","../node_modules/@fluentui/react-jsx-runtime/lib/jsx/jsxsSlot.js","../node_modules/@fluentui/react-utilities/lib/compose/assertSlots.js","../node_modules/@fluentui/react-utilities/lib/ssr/canUseDOM.js","../node_modules/@fluentui/react-shared-contexts/lib/ProviderContext/ProviderContext.js","../node_modules/@fluentui/react-shared-contexts/lib/ThemeContext/ThemeContext.js","../node_modules/@fluentui/react-shared-contexts/lib/ThemeClassNameContext/ThemeClassNameContext.js","../node_modules/@fluentui/react-shared-contexts/lib/CustomStyleHooksContext/CustomStyleHooksContext.js","../node_modules/@fluentui/react-shared-contexts/lib/TooltipVisibilityContext/TooltipContext.js","../node_modules/@fluentui/react-shared-contexts/lib/OverridesContext/OverridesContext.js","../node_modules/@fluentui/react-icons/lib/contexts/IconDirectionContext.js","../node_modules/@fluentui/react-utilities/lib/utils/isHTMLElement.js","../node_modules/keyborg/src/WeakRefInstance.ts","../node_modules/keyborg/src/FocusEvent.ts","../node_modules/keyborg/src/Keyborg.ts","../node_modules/@fluentui/react-tabster/lib/focus/constants.js","../node_modules/@fluentui/react-tabster/lib/focus/focusVisiblePolyfill.js","../node_modules/@fluentui/react-tabster/lib/hooks/useFocusVisible.js","../node_modules/@fluentui/react-utilities/lib/compose/slot.js","../node_modules/@fluentui/react-utilities/lib/utils/properties.js","../node_modules/@fluentui/react-utilities/lib/utils/getNativeElementProps.js","../node_modules/@fluentui/react-utilities/lib/compose/getIntrinsicElementProps.js","../node_modules/@fluentui/react-utilities/lib/hooks/useMergedRefs.js","../node_modules/@fluentui/react-utilities/lib/hooks/useIsomorphicLayoutEffect.js","../node_modules/@fluentui/react-utilities/lib/ssr/SSRContext.js","../node_modules/@fluentui/react-utilities/lib/hooks/useId.js","../packages/core/src/__styles.ts","../packages/core/src/mergeClasses.ts","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderStyles.styles.js","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderThemeStyleTag.js","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/createCSSRuleFromTheme.js","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProvider.js","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/FluentProvider.js","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderContextValues.js","../node_modules/@fluentui/react-provider/lib/components/FluentProvider/renderFluentProvider.js","../node_modules/@fluentui/react-text/lib/components/Text/useText.js","../packages/react/src/__styles.ts","../node_modules/@fluentui/react-text/lib/components/Text/useTextStyles.styles.js","../node_modules/@fluentui/react-text/lib/components/Text/renderText.js","../node_modules/@fluentui/react-text/lib/components/presets/createPreset.js","../node_modules/@fluentui/react-text/lib/components/presets/Subtitle1/useSubtitle1Styles.styles.js","../node_modules/@fluentui/react-text/lib/components/presets/Subtitle1/Subtitle1.js","AppContext.tsx","../node_modules/@fluentui/react-positioning/lib/usePositioningMouseTarget.js","../node_modules/@fluentui/react-positioning/lib/createVirtualElementFromClick.js","../node_modules/@fluentui/react-positioning/lib/utils/resolvePositioningShorthand.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/@fluentui/react-utilities/lib/hooks/useEventCallback.js","../node_modules/@fluentui/react-positioning/lib/utils/useCallbackRef.js","../node_modules/@fluentui/react-positioning/lib/utils/normalizeAutoSize.js","../node_modules/@fluentui/react-positioning/lib/utils/getScrollParent.js","../node_modules/@fluentui/react-positioning/lib/utils/toFloatingUIPlacement.js","../node_modules/@fluentui/react-positioning/lib/utils/getBoundary.js","../node_modules/@fluentui/react-positioning/lib/middleware/maxSize.js","../node_modules/@fluentui/react-positioning/lib/middleware/matchTargetSize.js","../node_modules/@fluentui/react-positioning/lib/utils/parseFloatingUIPlacement.js","../node_modules/@fluentui/react-positioning/lib/utils/fromFloatingUIPlacement.js","../node_modules/@fluentui/react-positioning/lib/middleware/offset.js","../node_modules/@fluentui/react-positioning/lib/utils/getFloatingUIOffset.js","../node_modules/@fluentui/react-positioning/lib/middleware/coverTarget.js","../node_modules/@fluentui/react-positioning/lib/middleware/flip.js","../node_modules/@fluentui/react-positioning/lib/utils/toFloatingUIPadding.js","../node_modules/@fluentui/react-positioning/lib/middleware/shift.js","../node_modules/@fluentui/react-positioning/lib/middleware/intersecting.js","../node_modules/@fluentui/react-positioning/lib/constants.js","../node_modules/@fluentui/react-positioning/lib/utils/listScrollParents.js","../node_modules/@fluentui/react-positioning/lib/createPositionManager.js","../node_modules/@fluentui/react-positioning/lib/utils/createResizeObserver.js","../node_modules/@fluentui/react-positioning/lib/utils/writeArrowUpdates.js","../node_modules/@fluentui/react-positioning/lib/utils/writeContainerupdates.js","../node_modules/@fluentui/react-positioning/lib/utils/debounce.js","../node_modules/@fluentui/react-positioning/lib/usePositioning.js","../node_modules/@fluentui/react-utilities/lib/hooks/useControllableState.js","../node_modules/@fluentui/react-utilities/lib/hooks/useOnClickOutside.js","../node_modules/@fluentui/react-utilities/lib/virtualParent/getParent.js","../node_modules/@fluentui/react-utilities/lib/virtualParent/isVirtualElement.js","../node_modules/@fluentui/react-utilities/lib/virtualParent/elementContains.js","../node_modules/@fluentui/react-utilities/lib/hooks/useOnScrollOutside.js","../node_modules/tabster/src/Types.ts","../node_modules/tabster/src/Instance.ts","../node_modules/tabster/src/DOMAPI.ts","../node_modules/tabster/src/Utils.ts","../node_modules/tabster/src/AttributeHelpers.ts","../node_modules/tabster/src/Root.ts","../node_modules/tabster/src/EventTarget.ts","../node_modules/tabster/src/State/Subscribable.ts","../node_modules/tabster/src/Focusable.ts","../node_modules/tabster/src/Keys.ts","../node_modules/tabster/src/State/FocusedElement.ts","../node_modules/tabster/src/Groupper.ts","../node_modules/tabster/src/State/KeyboardNavigation.ts","../node_modules/tabster/src/Modalizer.ts","../node_modules/tabster/src/Mover.ts","../node_modules/tabster/src/Uncontrolled.ts","../node_modules/tabster/src/Restorer.ts","../node_modules/tabster/src/Shadowdomize/DOMFunctions.ts","../node_modules/tabster/src/Shadowdomize/ShadowMutationObserver.ts","../node_modules/tabster/src/Tabster.ts","../node_modules/tabster/src/MutationEvent.ts","../node_modules/@fluentui/react-tabster/lib/hooks/useTabster.js","../node_modules/@fluentui/react-tabster/lib/hooks/useFocusFinders.js","../node_modules/@fluentui/react-context-selector/lib/createContext.js","../node_modules/@fluentui/react-context-selector/lib/useContextSelector.js","../node_modules/@fluentui/react-menu/lib/contexts/menuContext.js","../node_modules/@fluentui/react-menu/lib/utils/useOnMenuEnter.js","../node_modules/@fluentui/react-context-selector/lib/useHasParentContext.js","../node_modules/@fluentui/react-menu/lib/contexts/menuListContext.js","../node_modules/@fluentui/react-menu/lib/utils/useIsSubmenu.js","../node_modules/@fluentui/react-menu/lib/components/Menu/useMenu.js","../node_modules/@fluentui/react-menu/lib/components/Menu/renderMenu.js","../node_modules/@fluentui/react-menu/lib/components/Menu/Menu.js","../node_modules/@fluentui/react-menu/lib/components/Menu/useMenuContextValues.js","../node_modules/@fluentui/keyboard-keys/lib/keys.js","../node_modules/@fluentui/react-utilities/lib/trigger/isFluentTrigger.js","../node_modules/@fluentui/react-utilities/lib/trigger/getTriggerChild.js","../node_modules/@fluentui/react-utilities/lib/utils/mergeCallbacks.js","../node_modules/@fluentui/react-utilities/lib/trigger/applyTriggerPropsToChildren.js","../node_modules/@fluentui/react-aria/lib/button/useARIAButtonProps.js","../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/useMenuTrigger.js","../node_modules/@fluentui/react-tabster/lib/hooks/useRestoreFocus.js","../node_modules/@fluentui/react-menu/lib/contexts/menuTriggerContext.js","../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/MenuTrigger.js","../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/renderMenuTrigger.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/renderAvatar.js","../node_modules/@fluentui/react-avatar/lib/utils/getInitials.js","../node_modules/@fluentui/react-icons/lib/utils/useIconState.js","../node_modules/@fluentui/react-icons/lib/utils/createFluentIcon.js","../node_modules/@fluentui/react-icons/lib/icons/chunk-3.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/presenceIcons.js","../node_modules/@fluentui/react-badge/lib/components/Badge/useBadge.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/usePresenceBadge.js","../packages/react/src/__resetStyles.ts","../packages/core/src/__resetStyles.ts","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/usePresenceBadgeStyles.styles.js","../node_modules/@fluentui/react-badge/lib/components/Badge/renderBadge.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/PresenceBadge.js","../node_modules/@fluentui/react-avatar/lib/contexts/AvatarContext.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/useAvatar.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/useAvatarStyles.styles.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/Avatar.js","../node_modules/@fluentui/react-menu/lib/components/MenuPopover/useMenuPopover.js","../node_modules/@fluentui/react-menu/lib/components/MenuPopover/useMenuPopoverStyles.styles.js","../node_modules/@fluentui/react-utilities/lib/virtualParent/setVirtualParent.js","../node_modules/@fluentui/react-shared-contexts/lib/PortalMountNodeContext.js","../node_modules/@fluentui/react-portal/lib/components/Portal/usePortalMountNodeStyles.styles.js","../node_modules/@fluentui/react-portal/lib/components/Portal/usePortalMountNode.js","../node_modules/use-disposable/src/useDisposable.ts","../node_modules/@fluentui/react-portal/lib/components/Portal/usePortal.js","../node_modules/@fluentui/react-portal/lib/utils/toMountNodeProps.js","../node_modules/@fluentui/react-portal/lib/components/Portal/Portal.js","../node_modules/@fluentui/react-portal/lib/components/Portal/renderPortal.js","../node_modules/@fluentui/react-menu/lib/components/MenuPopover/renderMenuPopover.js","../node_modules/@fluentui/react-menu/lib/components/MenuPopover/MenuPopover.js","../node_modules/@fluentui/react-tabster/lib/hooks/useTabsterAttributes.js","../node_modules/@fluentui/react-tabster/lib/hooks/useArrowNavigationGroup.js","../node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuList.js","../node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuListStyles.styles.js","../node_modules/@fluentui/react-menu/lib/components/MenuList/MenuList.js","../node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuListContextValues.js","../node_modules/@fluentui/react-menu/lib/components/MenuList/renderMenuList.js","../node_modules/@fluentui/react-persona/lib/components/Persona/renderPersona.js","../node_modules/@fluentui/react-persona/lib/components/Persona/usePersona.js","../node_modules/@fluentui/react-persona/lib/components/Persona/usePersonaStyles.styles.js","../node_modules/@fluentui/react-persona/lib/components/Persona/Persona.js","../node_modules/@fluentui/react-menu/lib/components/MenuDivider/useMenuDivider.js","../node_modules/@fluentui/react-menu/lib/components/MenuDivider/useMenuDividerStyles.styles.js","../node_modules/@fluentui/react-menu/lib/components/MenuDivider/MenuDivider.js","../node_modules/@fluentui/react-menu/lib/components/MenuDivider/renderMenuDivider.js","../node_modules/@fluentui/react-menu/lib/components/MenuItem/useCharacterSearch.js","../node_modules/@fluentui/react-icons/lib/utils/bundleIcon.js","../node_modules/@fluentui/react-icons/lib/utils/constants.js","../node_modules/@fluentui/react-icons/lib/icons/chunk-1.js","../node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItem.js","../node_modules/@fluentui/react-menu/lib/selectable/useCheckmarkStyles.styles.js","../node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItemStyles.styles.js","../node_modules/@fluentui/react-menu/lib/components/MenuItem/MenuItem.js","../node_modules/@fluentui/react-menu/lib/components/MenuItem/renderMenuItem.js","../node_modules/@fluentui/react-button/lib/components/Button/renderButton.js","../node_modules/@fluentui/react-button/lib/contexts/ButtonContext.js","../node_modules/@fluentui/react-button/lib/components/Button/useButton.js","../node_modules/@fluentui/react-button/lib/components/Button/useButtonStyles.styles.js","../node_modules/@fluentui/react-button/lib/components/Button/Button.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-11.js","Constants.ts","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/immer/src/utils/env.ts","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/immer.ts","../node_modules/reselect/src/utils.ts","../node_modules/reselect/src/autotrackMemoize/proxy.ts","../node_modules/reselect/src/weakMapMemoize.ts","../node_modules/reselect/src/createSelectorCreator.ts","../node_modules/reselect/src/createStructuredSelector.ts","../node_modules/redux/src/utils/formatProdErrorMessage.ts","../node_modules/redux/src/utils/symbol-observable.ts","../node_modules/redux/src/utils/actionTypes.ts","../node_modules/redux/src/utils/isPlainObject.ts","../node_modules/redux/src/createStore.ts","../node_modules/redux/src/combineReducers.ts","../node_modules/redux/src/compose.ts","../node_modules/redux-thunk/dist/redux-thunk.mjs","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/createDraftSafeSelector.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/redux/src/utils/isAction.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/getDefaultEnhancers.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/exceptions.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/utils.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/combineSlices.ts","../node_modules/@reduxjs/toolkit/src/formatProdErrorMessage.ts","libs/models/AlertType.ts","libs/models/TokenUsage.ts","redux/features/app/AppState.ts","redux/features/app/appSlice.ts","../node_modules/@microsoft/signalr/src/ITransport.ts","../node_modules/@microsoft/signalr/src/ILogger.ts","../node_modules/@microsoft/signalr/src/DefaultReconnectPolicy.ts","../node_modules/@microsoft/signalr/src/HeaderNames.ts","../node_modules/@microsoft/signalr/src/HttpClient.ts","../node_modules/@microsoft/signalr/src/AccessTokenHttpClient.ts","../node_modules/@microsoft/signalr/src/Errors.ts","../node_modules/@microsoft/signalr/src/Loggers.ts","../node_modules/@microsoft/signalr/src/Utils.ts","../node_modules/@microsoft/signalr/src/FetchHttpClient.ts","../node_modules/@microsoft/signalr/src/DynamicImports.ts","../node_modules/@microsoft/signalr/src/XhrHttpClient.ts","../node_modules/@microsoft/signalr/src/DefaultHttpClient.ts","../node_modules/@microsoft/signalr/src/AbortController.ts","../node_modules/@microsoft/signalr/src/LongPollingTransport.ts","../node_modules/@microsoft/signalr/src/ServerSentEventsTransport.ts","../node_modules/@microsoft/signalr/src/WebSocketTransport.ts","../node_modules/@microsoft/signalr/src/HttpConnection.ts","../node_modules/@microsoft/signalr/src/TextMessageFormat.ts","../node_modules/@microsoft/signalr/src/HandshakeProtocol.ts","../node_modules/@microsoft/signalr/src/IHubProtocol.ts","../node_modules/@microsoft/signalr/src/Subject.ts","../node_modules/@microsoft/signalr/src/MessageBuffer.ts","../node_modules/@microsoft/signalr/src/HubConnection.ts","../node_modules/@microsoft/signalr/src/JsonHubProtocol.ts","../node_modules/@microsoft/signalr/src/HubConnectionBuilder.ts","assets/strings.ts","redux/app/hooks.ts","libs/models/ChatMessage.ts","redux/features/conversations/ConversationsState.ts","redux/features/conversations/conversationsSlice.ts","libs/services/BaseService.ts","libs/services/ChatArchiveService.ts","libs/services/ChatService.ts","libs/services/DocumentImportService.ts","components/utils/TextUtils.tsx","libs/models/Plan.ts","libs/hooks/useChat.ts","redux/features/message-relay/signalRHubConnection.ts","redux/features/message-relay/signalRMiddleware.ts","redux/features/plugins/PluginsState.ts","redux/features/plugins/pluginsSlice.ts","redux/features/users/usersSlice.ts","redux/features/users/UsersState.ts","redux/app/rootReducer.ts","redux/app/store.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","../node_modules/redux/src/applyMiddleware.ts","libs/auth/TokenHelper.ts","libs/auth/AuthHelper.ts","components/header/UserSettingsMenu.tsx","../node_modules/@fluentui/react-text/lib/components/presets/Title3/Title3.js","../node_modules/@fluentui/react-text/lib/components/presets/Title3/useTitle3Styles.styles.js","../node_modules/@fluentui/react-utilities/lib/hooks/useTimeout.js","../node_modules/@fluentui/react-utilities/lib/hooks/useBrowserTimer.js","../node_modules/@fluentui/react-label/lib/components/Label/useLabel.js","../node_modules/@fluentui/react-label/lib/components/Label/useLabelStyles.styles.js","../node_modules/@fluentui/react-label/lib/components/Label/Label.js","../node_modules/@fluentui/react-label/lib/components/Label/renderLabel.js","../node_modules/@fluentui/react-spinner/lib/components/Spinner/DefaultSvg.js","../node_modules/@fluentui/react-spinner/lib/contexts/SpinnerContext.js","../node_modules/@fluentui/react-spinner/lib/components/Spinner/useSpinner.js","../node_modules/@fluentui/react-spinner/lib/components/Spinner/useSpinnerStyles.styles.js","../node_modules/@fluentui/react-spinner/lib/components/Spinner/Spinner.js","../node_modules/@fluentui/react-spinner/lib/components/Spinner/renderSpinner.js","../node_modules/@fluentui/react-text/lib/components/presets/Body1/useBody1Styles.styles.js","../node_modules/@fluentui/react-text/lib/components/presets/Body1/Body1.js","libs/services/MaintenanceService.ts","../node_modules/@fluentui/tokens/lib/global/colors.js","../node_modules/@fluentui/tokens/lib/global/colorPalette.js","../node_modules/@fluentui/tokens/lib/sharedColorNames.js","../node_modules/@fluentui/tokens/lib/statusColorMapping.js","../node_modules/@fluentui/tokens/lib/alias/lightColorPalette.js","../node_modules/@fluentui/tokens/lib/alias/lightColor.js","../node_modules/@fluentui/tokens/lib/global/borderRadius.js","../node_modules/@fluentui/tokens/lib/global/fonts.js","../node_modules/@fluentui/tokens/lib/global/strokeWidths.js","../node_modules/@fluentui/tokens/lib/utils/shadows.js","../node_modules/@fluentui/tokens/lib/global/durations.js","../node_modules/@fluentui/tokens/lib/global/curves.js","../node_modules/@fluentui/tokens/lib/global/spacings.js","../node_modules/@fluentui/tokens/lib/alias/darkColorPalette.js","styles.tsx","../node_modules/@fluentui/tokens/lib/utils/createLightTheme.js","../node_modules/@fluentui/tokens/lib/utils/createDarkTheme.js","../node_modules/@fluentui/tokens/lib/alias/darkColor.js","../node_modules/@fluentui/tokens/lib/themeToTokensObject.js","components/views/BackendProbe.tsx","../node_modules/@fluentui/react-positioning/lib/utils/mergeArrowOffset.js","../node_modules/@fluentui/react-popover/lib/components/PopoverSurface/usePopoverSurfaceStyles.styles.js","../node_modules/@fluentui/react-popover/lib/components/Popover/usePopover.js","../node_modules/@fluentui/react-popover/lib/popoverContext.js","../node_modules/@fluentui/react-popover/lib/components/Popover/Popover.js","../node_modules/@fluentui/react-popover/lib/components/Popover/renderPopover.js","../node_modules/@fluentui/react-tabster/lib/hooks/useModalAttributes.js","../node_modules/@fluentui/react-popover/lib/components/PopoverTrigger/PopoverTrigger.js","../node_modules/@fluentui/react-popover/lib/components/PopoverTrigger/usePopoverTrigger.js","../node_modules/@fluentui/react-popover/lib/components/PopoverTrigger/renderPopoverTrigger.js","../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/private/constants.js","../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltip.js","../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltipStyles.styles.js","../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/Tooltip.js","../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/renderTooltip.js","../node_modules/@fluentui/react-popover/lib/components/PopoverSurface/usePopoverSurface.js","../node_modules/@fluentui/react-popover/lib/components/PopoverSurface/PopoverSurface.js","../node_modules/@fluentui/react-popover/lib/components/PopoverSurface/renderPopoverSurface.js","../node_modules/@fluentui/react-tabs/lib/components/TabList/useTabList.js","../node_modules/@fluentui/react-tabs/lib/components/TabList/TabListContext.js","../node_modules/@fluentui/react-tabs/lib/components/TabList/useTabListStyles.styles.js","../node_modules/@fluentui/react-tabs/lib/components/TabList/TabList.js","../node_modules/@fluentui/react-tabs/lib/components/TabList/useTabListContextValues.js","../node_modules/@fluentui/react-tabs/lib/components/TabList/renderTabList.js","../node_modules/@fluentui/react-tabs/lib/components/Tab/useTab.js","../node_modules/@fluentui/react-tabs/lib/components/Tab/useTabAnimatedIndicator.styles.js","../node_modules/@fluentui/react-tabs/lib/components/Tab/useTabStyles.styles.js","../node_modules/@fluentui/react-tabs/lib/components/Tab/Tab.js","../node_modules/@fluentui/react-tabs/lib/components/Tab/renderTab.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-5.js","../node_modules/@fluentui/react-icons/lib/icons/chunk-0.js","../node_modules/@fluentui/react-icons/lib/icons/chunk-4.js","../node_modules/@fluentui/react-icons/lib/icons/chunk-2.js","../node_modules/@fluentui/react-alert/lib/components/Alert/useAlertStyles.styles.js","../node_modules/@fluentui/react-alert/lib/components/Alert/Alert.js","../node_modules/@fluentui/react-alert/lib/components/Alert/useAlert.js","../node_modules/@fluentui/react-alert/lib/components/Alert/renderAlert.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-0.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-4.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-6.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-14.js","components/shared/BundledIcons.tsx","components/shared/Alerts.tsx","../node_modules/@fluentui/react-field/lib/contexts/FieldContext.js","../node_modules/@fluentui/react-field/lib/contexts/useFieldControlProps.js","../node_modules/@fluentui/react-utilities/lib/utils/clamp.js","../node_modules/@fluentui/react-slider/lib/components/Slider/useSliderStyles.styles.js","../node_modules/@fluentui/react-slider/lib/components/Slider/useSliderState.js","../node_modules/@fluentui/react-tabster/lib/focus/focusWithinPolyfill.js","../node_modules/@fluentui/react-tabster/lib/hooks/useFocusWithin.js","../node_modules/@fluentui/react-slider/lib/components/Slider/useSlider.js","../node_modules/@fluentui/react-slider/lib/components/Slider/Slider.js","../node_modules/@fluentui/react-slider/lib/components/Slider/renderSlider.js","libs/hooks/useFile.ts","libs/services/GraphService.ts","libs/hooks/usePlugins.ts","components/chat/persona/MemoryBiasSlider.tsx","components/chat/persona/PromptEditor.tsx","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","libs/services/SpeechService.ts","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@fluentui/react-northstar-styles-renderer/dist/es/noopRenderer.ts","../node_modules/@fluentui/styles/dist/es/deepmerge.ts","../node_modules/@fluentui/styles/dist/es/mergeThemes.ts","../node_modules/@fluentui/react-bindings/dist/es/context.ts","../node_modules/@fluentui/react-bindings/dist/es/telemetry/telemetry/useTelemetry.ts","../node_modules/@fluentui/react-bindings/dist/es/styles/styles/convertCssTimeToNumber.ts","../node_modules/@fluentui/react-bindings/dist/es/hooks/hooks/useUnhandledProps.ts","../node_modules/@fluentui/react-bindings/dist/es/utils/utils/getUnhandledProps.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@fluentui/react-component-ref/dist/es/utils.ts","../node_modules/@fluentui/react-component-ref/dist/es/Ref.tsx","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@fluentui/react-bindings/dist/es/utils/utils/childrenExist.ts","../node_modules/@fluentui/react-proptypes/dist/es/index.ts","../node_modules/@fluentui/react-northstar/dist/es/utils/utils/commonPropTypes.ts","../node_modules/@fluentui/styles/dist/es/callable.ts","../node_modules/@fluentui/styles/dist/es/withDebugId.ts","../node_modules/@fluentui/react-bindings/dist/es/styles/styles/resolveVariables.ts","../node_modules/@fluentui/react-bindings/dist/es/styles/styles/resolveStyles.ts","../node_modules/@fluentui/react-bindings/dist/es/styles/styles/getStyles.ts","../node_modules/@fluentui/react-bindings/dist/es/styles/styles/createAnimationStyles.tsx","../node_modules/@fluentui/react-northstar/dist/es/components/Animation/components/Animation/useAnimationStyles.ts","../node_modules/@fluentui/react-northstar/dist/es/components/Animation/components/Animation/Animation.tsx","../node_modules/@fluentui/react-bindings/dist/es/styles/styles/calculateAnimationTimeout.ts","../node_modules/@fluentui/react-bindings/dist/es/hooks/hooks/useMergedRefs.ts","../node_modules/@fluentui/react-image/lib/components/Image/renderImage.js","../node_modules/@fluentui/react-image/lib/components/Image/useImageStyles.styles.js","../node_modules/@fluentui/react-image/lib/components/Image/Image.js","../node_modules/@fluentui/react-image/lib/components/Image/useImage.js","assets/typing-balls-light.svg","components/chat/typing-indicator/TypingIndicator.tsx","components/chat/ChatStatus.tsx","components/chat/ChatInput.tsx","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-9.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/react-syntax-highlighter/dist/esm/create-element.js","../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js","../node_modules/react-syntax-highlighter/dist/esm/highlight.js","../node_modules/react-syntax-highlighter/dist/esm/prism.js","../node_modules/react-syntax-highlighter/dist/esm/styles/prism/prism.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-syntax-highlighter/dist/esm/languages/prism/supported-languages.js","../node_modules/@fluentui/react-text/lib/components/Text/Text.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-12.js","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-2.js","../node_modules/estree-util-is-identifier-name/lib/index.js","../node_modules/hast-util-whitespace/lib/index.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/schema.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/merge.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/normalize.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/info.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/types.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/defined-info.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/create.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/xlink.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/xml.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/xmlns.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/aria.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/html.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/svg.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/index.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/find.js","../node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/hast-to-react.js","../node_modules/style-to-object/esm/index.mjs","../node_modules/unist-util-position/lib/index.js","../node_modules/unist-util-stringify-position/lib/index.js","../node_modules/vfile-message/lib/index.js","../node_modules/hast-util-to-jsx-runtime/lib/index.js","../node_modules/hast-util-to-jsx-runtime/node_modules/comma-separated-tokens/index.js","../node_modules/hast-util-to-jsx-runtime/node_modules/space-separated-tokens/index.js","../node_modules/html-url-attributes/lib/index.js","../node_modules/mdast-util-to-string/lib/index.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-subtokenize/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-core-commonmark/lib/content.js","../node_modules/micromark/lib/initialize/flow.js","../node_modules/micromark/lib/initialize/text.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/micromark-core-commonmark/lib/thematic-break.js","../node_modules/micromark-core-commonmark/lib/list.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-factory-destination/index.js","../node_modules/micromark-factory-label/index.js","../node_modules/micromark-factory-title/index.js","../node_modules/micromark-factory-whitespace/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-core-commonmark/lib/definition.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/heading-atx.js","../node_modules/micromark-core-commonmark/lib/setext-underline.js","../node_modules/micromark-util-html-tag-name/index.js","../node_modules/micromark-core-commonmark/lib/html-flow.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/line-ending.js","../node_modules/micromark-core-commonmark/lib/label-end.js","../node_modules/micromark-core-commonmark/lib/label-start-image.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/html-text.js","../node_modules/micromark-core-commonmark/lib/label-start-link.js","../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark/lib/constructs.js","../node_modules/micromark/lib/preprocess.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-decode-string/index.js","../node_modules/mdast-util-from-markdown/lib/index.js","../node_modules/micromark/lib/postprocess.js","../node_modules/micromark/lib/parse.js","../node_modules/remark-parse/lib/index.js","../node_modules/@ungap/structured-clone/esm/types.js","../node_modules/@ungap/structured-clone/esm/deserialize.js","../node_modules/@ungap/structured-clone/esm/serialize.js","../node_modules/@ungap/structured-clone/esm/index.js","../node_modules/micromark-util-sanitize-uri/index.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/unist-util-is/lib/index.js","../node_modules/unist-util-visit-parents/lib/index.js","../node_modules/unist-util-visit/lib/index.js","../node_modules/mdast-util-to-hast/lib/revert.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/trim-lines/index.js","../node_modules/mdast-util-to-hast/lib/handlers/index.js","../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../node_modules/mdast-util-to-hast/lib/handlers/html.js","../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/image.js","../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/link.js","../node_modules/mdast-util-to-hast/lib/handlers/list.js","../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../node_modules/mdast-util-to-hast/lib/handlers/root.js","../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../node_modules/mdast-util-to-hast/lib/handlers/table.js","../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","../node_modules/mdast-util-to-hast/lib/handlers/table-row.js","../node_modules/mdast-util-to-hast/lib/handlers/text.js","../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/bail/index.js","../node_modules/is-plain-obj/index.js","../node_modules/trough/lib/index.js","../node_modules/vfile/lib/minpath.browser.js","../node_modules/vfile/lib/minproc.browser.js","../node_modules/vfile/lib/minurl.shared.js","../node_modules/vfile/lib/minurl.browser.js","../node_modules/vfile/lib/index.js","../node_modules/unified/lib/callable-instance.js","../node_modules/unified/lib/index.js","../node_modules/react-markdown/lib/index.js","../node_modules/ccount/index.js","../node_modules/mdast-util-find-and-replace/lib/index.js","../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../node_modules/mdast-util-gfm-autolink-literal/lib/index.js","../node_modules/mdast-util-gfm-footnote/lib/index.js","../node_modules/mdast-util-gfm-strikethrough/lib/index.js","../node_modules/markdown-table/index.js","../node_modules/mdast-util-to-markdown/lib/handle/blockquote.js","../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js","../node_modules/mdast-util-to-markdown/lib/handle/break.js","../node_modules/mdast-util-to-markdown/lib/handle/code.js","../node_modules/mdast-util-to-markdown/lib/util/check-quote.js","../node_modules/mdast-util-to-markdown/lib/handle/emphasis.js","../node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js","../node_modules/mdast-util-to-markdown/lib/handle/html.js","../node_modules/mdast-util-to-markdown/lib/handle/image.js","../node_modules/mdast-util-to-markdown/lib/handle/image-reference.js","../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","../node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js","../node_modules/mdast-util-to-markdown/lib/handle/link.js","../node_modules/mdast-util-to-markdown/lib/handle/link-reference.js","../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","../node_modules/mdast-util-to-markdown/lib/util/check-rule.js","../node_modules/mdast-util-phrasing/lib/index.js","../node_modules/mdast-util-to-markdown/lib/handle/strong.js","../node_modules/mdast-util-to-markdown/lib/util/check-strong.js","../node_modules/mdast-util-to-markdown/lib/handle/index.js","../node_modules/mdast-util-to-markdown/lib/util/check-fence.js","../node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js","../node_modules/longest-streak/index.js","../node_modules/mdast-util-to-markdown/lib/handle/definition.js","../node_modules/mdast-util-to-markdown/lib/handle/heading.js","../node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js","../node_modules/mdast-util-to-markdown/lib/handle/list.js","../node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js","../node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js","../node_modules/mdast-util-to-markdown/lib/handle/list-item.js","../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","../node_modules/mdast-util-to-markdown/lib/handle/paragraph.js","../node_modules/mdast-util-to-markdown/lib/handle/root.js","../node_modules/mdast-util-to-markdown/lib/handle/text.js","../node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js","../node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js","../node_modules/mdast-util-gfm-table/lib/index.js","../node_modules/mdast-util-gfm-task-list-item/lib/index.js","../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js","../node_modules/micromark-extension-gfm-footnote/lib/syntax.js","../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js","../node_modules/micromark-extension-gfm-table/lib/edit-map.js","../node_modules/micromark-extension-gfm-table/lib/infer.js","../node_modules/micromark-extension-gfm-table/lib/syntax.js","../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js","../node_modules/remark-gfm/lib/index.js","../node_modules/micromark-extension-gfm/index.js","../node_modules/mdast-util-gfm/lib/index.js","components/chat/plan-viewer/PlanViewer.tsx","../node_modules/@fluentui/react-tabster/lib/hooks/useFocusableGroup.js","../node_modules/@fluentui/react-card/lib/components/Card/CardContext.js","../node_modules/@fluentui/react-card/lib/components/Card/useCard.js","../node_modules/@fluentui/react-card/lib/components/Card/useCardSelectable.js","../node_modules/@fluentui/react-card/lib/components/Card/useCardStyles.styles.js","../node_modules/@fluentui/react-card/lib/components/Card/Card.js","../node_modules/@fluentui/react-card/lib/components/Card/useCardContextValue.js","../node_modules/@fluentui/react-card/lib/components/Card/renderCard.js","../node_modules/@fluentui/react-card/lib/components/CardHeader/useCardHeaderStyles.styles.js","../node_modules/@fluentui/react-card/lib/components/CardHeader/useCardHeader.js","../node_modules/@fluentui/react-card/lib/components/CardHeader/CardHeader.js","../node_modules/@fluentui/react-card/lib/components/CardHeader/renderCardHeader.js","../node_modules/@fluentui/react-text/lib/components/presets/Caption1/useCaption1Styles.styles.js","../node_modules/@fluentui/react-text/lib/components/presets/Caption1/Caption1.js","../node_modules/@fluentui/react-progress/lib/components/ProgressBar/useProgressBarStyles.styles.js","../node_modules/@fluentui/react-progress/lib/components/ProgressBar/ProgressBar.js","../node_modules/@fluentui/react-progress/lib/components/ProgressBar/useProgressBar.js","../node_modules/@fluentui/react-progress/lib/utils/clampMax.js","../node_modules/@fluentui/react-progress/lib/utils/clampValue.js","../node_modules/@fluentui/react-progress/lib/components/ProgressBar/renderProgressBar.js","../node_modules/@fluentui/react-radio/lib/contexts/RadioGroupContext.js","../node_modules/@fluentui/react-radio/lib/components/RadioGroup/useRadioGroupStyles.styles.js","../node_modules/@fluentui/react-radio/lib/components/RadioGroup/RadioGroup.js","../node_modules/@fluentui/react-radio/lib/components/RadioGroup/useRadioGroup.js","../node_modules/@fluentui/react-radio/lib/contexts/useRadioGroupContextValues.js","../node_modules/@fluentui/react-radio/lib/components/RadioGroup/renderRadioGroup.js","../node_modules/@fluentui/react-radio/lib/components/Radio/renderRadio.js","../node_modules/@fluentui/react-radio/lib/components/Radio/useRadioStyles.styles.js","../node_modules/@fluentui/react-radio/lib/components/Radio/Radio.js","../node_modules/@fluentui/react-radio/lib/components/Radio/useRadio.js","../node_modules/@fluentui/react-table/lib/components/Table/useTable.js","../node_modules/@fluentui/react-table/lib/contexts/tableContext.js","../node_modules/@fluentui/react-table/lib/components/Table/useTableStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/Table/Table.js","../node_modules/@fluentui/react-table/lib/components/Table/renderTable.js","../node_modules/@fluentui/react-table/lib/components/Table/useTableContextValues.js","../node_modules/@fluentui/react-table/lib/components/TableHeader/useTableHeader.js","../node_modules/@fluentui/react-table/lib/contexts/tableHeaderContext.js","../node_modules/@fluentui/react-table/lib/components/TableHeader/useTableHeaderStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/TableHeader/TableHeader.js","../node_modules/@fluentui/react-table/lib/components/TableHeader/renderTableHeader.js","../node_modules/@fluentui/react-table/lib/components/TableRow/useTableRow.js","../node_modules/@fluentui/react-table/lib/components/TableRow/useTableRowStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/TableRow/TableRow.js","../node_modules/@fluentui/react-table/lib/components/TableRow/renderTableRow.js","../node_modules/@fluentui/react-table/lib/components/TableBody/useTableBody.js","../node_modules/@fluentui/react-table/lib/components/TableBody/useTableBodyStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/TableBody/TableBody.js","../node_modules/@fluentui/react-table/lib/components/TableBody/renderTableBody.js","../node_modules/@fluentui/react-table/lib/hooks/createColumn.js","../node_modules/@fluentui/react-table/lib/components/TableHeaderCell/useTableHeaderCell.js","../node_modules/@fluentui/react-table/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/TableHeaderCell/TableHeaderCell.js","../node_modules/@fluentui/react-table/lib/components/TableHeaderCell/renderTableHeaderCell.js","../node_modules/@fluentui/react-table/lib/components/TableCell/useTableCell.js","../node_modules/@fluentui/react-table/lib/components/TableCell/useTableCellStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/TableCell/TableCell.js","../node_modules/@fluentui/react-table/lib/components/TableCell/renderTableCell.js","../node_modules/@fluentui/react-table/lib/components/TableCellLayout/useTableCellLayout.js","../node_modules/@fluentui/react-table/lib/components/TableCellLayout/useTableCellLayoutStyles.styles.js","../node_modules/@fluentui/react-table/lib/components/TableCellLayout/TableCellLayout.js","../node_modules/@fluentui/react-table/lib/components/TableCellLayout/renderTableCellLayout.js","../node_modules/@fluentui/react-table/lib/components/TableCellLayout/useTableCellLayoutContextValues.js","../node_modules/@fluentui/react-table/lib/hooks/useTableSelection.js","../node_modules/@fluentui/react-table/lib/hooks/useTableSort.js","../node_modules/@fluentui/react-table/lib/hooks/useTableColumnSizing.js","../node_modules/@fluentui/react-table/lib/hooks/useTableFeatures.js","../node_modules/@fluentui/react-shared-contexts/lib/BackgroundAppearanceContext/BackgroundAppearanceContext.js","../node_modules/@fluentui/react-link/lib/components/Link/useLinkState.js","../node_modules/@fluentui/react-link/lib/components/Link/useLink.js","../node_modules/@fluentui/react-link/lib/components/Link/useLinkStyles.styles.js","../node_modules/@fluentui/react-link/lib/components/Link/Link.js","../node_modules/@fluentui/react-link/lib/components/Link/renderLink.js","components/chat/tabs/TabView.tsx","components/chat/tabs/DocumentsTab.tsx","components/chat/chat-history/ChatHistoryDocumentContent.tsx","components/chat/chat-history/UserFeedbackActions.tsx","components/chat/chat-history/ChatHistoryItem.tsx","components/chat/chat-history/ChatHistory.tsx","components/chat/ChatRoom.tsx","../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-8.js","components/chat/controls/UserStatus.tsx","components/chat/controls/ParticipantsList.tsx","libs/hooks/useGraph.ts","components/chat/invitation-dialog/InvitationCreateDialog.tsx","../node_modules/@fluentui/react-input/lib/components/Input/useInputStyles.styles.js","../node_modules/@fluentui/react-input/lib/components/Input/Input.js","../node_modules/@fluentui/react-input/lib/components/Input/useInput.js","../node_modules/@fluentui/react-input/lib/components/Input/renderInput.js","../node_modules/@fluentui/react-divider/lib/components/Divider/renderDivider.js","../node_modules/@fluentui/react-divider/lib/components/Divider/useDividerStyles.styles.js","../node_modules/@fluentui/react-divider/lib/components/Divider/Divider.js","../node_modules/@fluentui/react-divider/lib/components/Divider/useDivider.js","components/chat/invitation-dialog/InvitationJoinDialog.tsx","components/chat/controls/ShareBotMenu.tsx","components/chat/shared/EditChatName.tsx","components/chat/tabs/GuideTab.tsx","../node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.js","../node_modules/@fluentui/react-dialog/lib/contexts/dialogContext.js","../node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialog.js","../node_modules/@fluentui/react-dialog/lib/utils/useFocusFirstElement.js","../node_modules/@fluentui/react-dialog/lib/contexts/dialogSurfaceContext.js","../node_modules/@fluentui/react-dialog/lib/contexts/dialogTransitionContext.js","../node_modules/@fluentui/react-dialog/lib/components/Dialog/Dialog.js","../node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialogContextValues.js","../node_modules/@fluentui/react-dialog/lib/components/Dialog/renderDialog.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/useDialogTrigger.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/DialogTrigger.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/renderDialogTrigger.js","../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurface.js","../node_modules/@fluentui/react-utilities/lib/compose/isResolvedShorthand.js","../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceStyles.styles.js","../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/DialogSurface.js","../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceContextValues.js","../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/renderDialogSurface.js","../node_modules/@fluentui/react-dialog/lib/components/DialogBody/useDialogBody.js","../node_modules/@fluentui/react-dialog/lib/components/DialogBody/useDialogBodyStyles.styles.js","../node_modules/@fluentui/react-dialog/lib/components/DialogBody/DialogBody.js","../node_modules/@fluentui/react-dialog/lib/components/DialogBody/renderDialogBody.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitleStyles.styles.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTitle/DialogTitle.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitle.js","../node_modules/@fluentui/react-dialog/lib/components/DialogTitle/renderDialogTitle.js","../node_modules/@fluentui/react-dialog/lib/components/DialogContent/useDialogContent.js","../node_modules/@fluentui/react-dialog/lib/components/DialogContent/useDialogContentStyles.styles.js","../node_modules/@fluentui/react-dialog/lib/components/DialogContent/DialogContent.js","../node_modules/@fluentui/react-dialog/lib/components/DialogContent/renderDialogContent.js","../node_modules/@fluentui/react-dialog/lib/components/DialogActions/useDialogActions.js","../node_modules/@fluentui/react-dialog/lib/components/DialogActions/useDialogActionsStyles.styles.js","../node_modules/@fluentui/react-dialog/lib/components/DialogActions/DialogActions.js","../node_modules/@fluentui/react-dialog/lib/components/DialogActions/renderDialogActions.js","libs/utils/PlanUtils.ts","../node_modules/@fluentui/react-badge/lib/components/Badge/useBadgeStyles.styles.js","../node_modules/@fluentui/react-badge/lib/components/Badge/Badge.js","components/chat/plan-viewer/PlanStepInput.tsx","components/chat/plan-viewer/PlanStepCard.tsx","components/chat/plan-viewer/PlanBody.tsx","components/chat/plan-viewer/PlanDialogView.tsx","components/chat/tabs/PlansTab.tsx","components/chat/tabs/TranslationHistory.tsx","components/chat/tabs/TranslatorTab.tsx","components/chat/ChatWindow.tsx","components/chat/chat-list/bot-menu/SimplifiedNewBotMenu.tsx","components/chat/chat-list/dialogs/DeleteChatDialog.tsx","components/chat/chat-list/ListItemActions.tsx","components/chat/chat-list/ChatListItem.tsx","components/chat/chat-list/ChatListSection.tsx","components/chat/chat-list/ChatList.tsx","components/views/ChatView.tsx","../node_modules/@fluentui/react-text/lib/components/presets/Subtitle2/Subtitle2.js","../node_modules/@fluentui/react-text/lib/components/presets/Subtitle2/useSubtitle2Styles.styles.js","components/views/Error.tsx","components/views/Loading.tsx","components/views/Login.tsx","App.tsx","index.tsx"],"sourcesContent":["'use strict'\n/* global fetch, btoa, Headers */\nconst core = require('./core')\n\nclass StatusError extends Error {\n constructor (res, ...params) {\n super(...params)\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, StatusError)\n }\n\n this.name = 'StatusError'\n this.message = res.statusMessage\n this.statusCode = res.status\n this.res = res\n this.json = res.json.bind(res)\n this.text = res.text.bind(res)\n this.arrayBuffer = res.arrayBuffer.bind(res)\n let buffer\n const get = () => {\n if (!buffer) buffer = this.arrayBuffer()\n return buffer\n }\n Object.defineProperty(this, 'responseBody', { get })\n // match Node.js headers object\n this.headers = {}\n for (const [key, value] of res.headers.entries()) {\n this.headers[key.toLowerCase()] = value\n }\n }\n}\n\nconst mkrequest = (statusCodes, method, encoding, headers, baseurl) => async (_url, body, _headers = {}) => {\n _url = baseurl + (_url || '')\n let parsed = new URL(_url)\n\n if (!headers) headers = {}\n if (parsed.username) {\n headers.Authorization = 'Basic ' + btoa(parsed.username + ':' + parsed.password)\n parsed = new URL(parsed.protocol + '//' + parsed.host + parsed.pathname + parsed.search)\n }\n if (parsed.protocol !== 'https:' && parsed.protocol !== 'http:') {\n throw new Error(`Unknown protocol, ${parsed.protocol}`)\n }\n\n if (body) {\n if (body instanceof ArrayBuffer ||\n ArrayBuffer.isView(body) ||\n typeof body === 'string'\n ) {\n // noop\n } else if (typeof body === 'object') {\n body = JSON.stringify(body)\n headers['Content-Type'] = 'application/json'\n } else {\n throw new Error('Unknown body type.')\n }\n }\n\n _headers = new Headers({ ...(headers || {}), ..._headers })\n\n const resp = await fetch(parsed, { method, headers: _headers, body })\n resp.statusCode = resp.status\n\n if (!statusCodes.has(resp.status)) {\n throw new StatusError(resp)\n }\n\n if (encoding === 'json') return resp.json()\n else if (encoding === 'buffer') return resp.arrayBuffer()\n else if (encoding === 'string') return resp.text()\n else return resp\n}\n\nmodule.exports = core(mkrequest)\n","'use strict'\nconst encodings = new Set(['json', 'buffer', 'string'])\n\nmodule.exports = mkrequest => (...args) => {\n const statusCodes = new Set()\n let method\n let encoding\n let headers\n let baseurl = ''\n\n args.forEach(arg => {\n if (typeof arg === 'string') {\n if (arg.toUpperCase() === arg) {\n if (method) {\n const msg = `Can't set method to ${arg}, already set to ${method}.`\n throw new Error(msg)\n } else {\n method = arg\n }\n } else if (arg.startsWith('http:') || arg.startsWith('https:')) {\n baseurl = arg\n } else {\n if (encodings.has(arg)) {\n encoding = arg\n } else {\n throw new Error(`Unknown encoding, ${arg}`)\n }\n }\n } else if (typeof arg === 'number') {\n statusCodes.add(arg)\n } else if (typeof arg === 'object') {\n if (Array.isArray(arg) || arg instanceof Set) {\n arg.forEach(code => statusCodes.add(code))\n } else {\n if (headers) {\n throw new Error('Cannot set headers twice.')\n }\n headers = arg\n }\n } else {\n throw new Error(`Unknown type: ${typeof arg}`)\n }\n })\n\n if (!method) method = 'GET'\n if (statusCodes.size === 0) {\n statusCodes.add(200)\n }\n\n return mkrequest(statusCodes, method, encoding, headers, baseurl)\n}\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict'\n\nmodule.exports = parse\n\nvar search = /[#.]/g\n\n// Create a hast element from a simple CSS selector.\nfunction parse(selector, defaultTagName) {\n var value = selector || ''\n var name = defaultTagName || 'div'\n var props = {}\n var start = 0\n var subvalue\n var previous\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n name = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (props.className) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {type: 'element', tagName: name, properties: props, children: []}\n}\n","'use strict'\n\nvar find = require('property-information/find')\nvar normalize = require('property-information/normalize')\nvar parseSelector = require('hast-util-parse-selector')\nvar spaces = require('space-separated-tokens').parse\nvar commas = require('comma-separated-tokens').parse\n\nmodule.exports = factory\n\nvar own = {}.hasOwnProperty\n\nfunction factory(schema, defaultTagName, caseSensitive) {\n var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null\n\n return h\n\n // Hyperscript compatible DSL for creating virtual hast trees.\n function h(selector, properties) {\n var node = parseSelector(selector, defaultTagName)\n var children = Array.prototype.slice.call(arguments, 2)\n var name = node.tagName.toLowerCase()\n var property\n\n node.tagName = adjust && own.call(adjust, name) ? adjust[name] : name\n\n if (properties && isChildren(properties, node)) {\n children.unshift(properties)\n properties = null\n }\n\n if (properties) {\n for (property in properties) {\n addProperty(node.properties, property, properties[property])\n }\n }\n\n addChild(node.children, children)\n\n if (node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n function addProperty(properties, key, value) {\n var info\n var property\n var result\n\n // Ignore nullish and NaN values.\n if (value === null || value === undefined || value !== value) {\n return\n }\n\n info = find(schema, key)\n property = info.property\n result = value\n\n // Handle list values.\n if (typeof result === 'string') {\n if (info.spaceSeparated) {\n result = spaces(result)\n } else if (info.commaSeparated) {\n result = commas(result)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(result).join(' '))\n }\n }\n\n // Accept `object` on style.\n if (property === 'style' && typeof value !== 'string') {\n result = style(result)\n }\n\n // Class-names (which can be added both on the `selector` and here).\n if (property === 'className' && properties.className) {\n result = properties.className.concat(result)\n }\n\n properties[property] = parsePrimitives(info, property, result)\n }\n}\n\nfunction isChildren(value, node) {\n return (\n typeof value === 'string' ||\n 'length' in value ||\n isNode(node.tagName, value)\n )\n}\n\nfunction isNode(tagName, value) {\n var type = value.type\n\n if (tagName === 'input' || !type || typeof type !== 'string') {\n return false\n }\n\n if (typeof value.children === 'object' && 'length' in value.children) {\n return true\n }\n\n type = type.toLowerCase()\n\n if (tagName === 'button') {\n return (\n type !== 'menu' &&\n type !== 'submit' &&\n type !== 'reset' &&\n type !== 'button'\n )\n }\n\n return 'value' in value\n}\n\nfunction addChild(nodes, value) {\n var index\n var length\n\n if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n return\n }\n\n if (typeof value === 'object' && 'length' in value) {\n index = -1\n length = value.length\n\n while (++index < length) {\n addChild(nodes, value[index])\n }\n\n return\n }\n\n if (typeof value !== 'object' || !('type' in value)) {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n\n nodes.push(value)\n}\n\n// Parse a (list of) primitives.\nfunction parsePrimitives(info, name, value) {\n var index\n var length\n var result\n\n if (typeof value !== 'object' || !('length' in value)) {\n return parsePrimitive(info, name, value)\n }\n\n length = value.length\n index = -1\n result = []\n\n while (++index < length) {\n result[index] = parsePrimitive(info, name, value[index])\n }\n\n return result\n}\n\n// Parse a single primitives.\nfunction parsePrimitive(info, name, value) {\n var result = value\n\n if (info.number || info.positiveNumber) {\n if (!isNaN(result) && result !== '') {\n result = Number(result)\n }\n } else if (info.boolean || info.overloadedBoolean) {\n // Accept `boolean` and `string`.\n if (\n typeof result === 'string' &&\n (result === '' || normalize(value) === normalize(name))\n ) {\n result = true\n }\n }\n\n return result\n}\n\nfunction style(value) {\n var result = []\n var key\n\n for (key in value) {\n result.push([key, value[key]].join(': '))\n }\n\n return result.join('; ')\n}\n\nfunction createAdjustMap(values) {\n var length = values.length\n var index = -1\n var result = {}\n var value\n\n while (++index < length) {\n value = values[index]\n result[value.toLowerCase()] = value\n }\n\n return result\n}\n","'use strict'\n\nvar schema = require('property-information/html')\nvar factory = require('./factory')\n\nvar html = factory(schema, 'div')\nhtml.displayName = 'html'\n\nmodule.exports = html\n","'use strict'\n\nmodule.exports = require('./html')\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.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'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","'use strict'\n\nmodule.exports = alphabetical\n\n// Check if the given character code, or the character code at the first\n// character, is alphabetical.\nfunction alphabetical(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 && code <= 122) /* a-z */ ||\n (code >= 65 && code <= 90) /* A-Z */\n )\n}\n","'use strict'\n\nvar alphabetical = require('is-alphabetical')\nvar decimal = require('is-decimal')\n\nmodule.exports = alphanumerical\n\n// Check if the given character code, or the character code at the first\n// character, is alphanumerical.\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n","'use strict'\n\nmodule.exports = decimal\n\n// Check if the given character code, or the character code at the first\n// character, is decimal.\nfunction decimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n","'use strict'\n\nmodule.exports = hexadecimal\n\n// Check if the given character code, or the character code at the first\n// character, is hexadecimal.\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"katex\"] = factory();\n\telse\n\t\troot[\"katex\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \t// The require scope\n/******/ \tvar __webpack_require__ = {};\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ katex_webpack; }\n});\n\n;// CONCATENATED MODULE: ./src/ParseError.js\n\n\n/**\n * This is the ParseError class, which is the main error thrown by KaTeX\n * functions when something has gone wrong. This is used to distinguish internal\n * errors from errors in the expression that the user provided.\n *\n * If possible, a caller should provide a Token or ParseNode with information\n * about where in the source string the problem occurred.\n */\nvar ParseError = // Error start position based on passed-in Token or ParseNode.\n// Length of affected text based on passed-in Token or ParseNode.\n// The underlying error message without any context added.\nfunction ParseError(message, // The error message\ntoken // An object providing position information\n) {\n this.name = void 0;\n this.position = void 0;\n this.length = void 0;\n this.rawMessage = void 0;\n var error = \"KaTeX parse error: \" + message;\n var start;\n var end;\n var loc = token && token.loc;\n\n if (loc && loc.start <= loc.end) {\n // If we have the input and a position, make the error a bit fancier\n // Get the input\n var input = loc.lexer.input; // Prepend some information\n\n start = loc.start;\n end = loc.end;\n\n if (start === input.length) {\n error += \" at end of input: \";\n } else {\n error += \" at position \" + (start + 1) + \": \";\n } // Underline token in question using combining underscores\n\n\n var underlined = input.slice(start, end).replace(/[^]/g, \"$&\\u0332\"); // Extract some context from the input and add it to the error\n\n var left;\n\n if (start > 15) {\n left = \"…\" + input.slice(start - 15, start);\n } else {\n left = input.slice(0, start);\n }\n\n var right;\n\n if (end + 15 < input.length) {\n right = input.slice(end, end + 15) + \"…\";\n } else {\n right = input.slice(end);\n }\n\n error += left + underlined + right;\n } // Some hackery to make ParseError a prototype of Error\n // See http://stackoverflow.com/a/8460753\n // $FlowFixMe\n\n\n var self = new Error(error);\n self.name = \"ParseError\"; // $FlowFixMe\n\n self.__proto__ = ParseError.prototype;\n self.position = start;\n\n if (start != null && end != null) {\n self.length = end - start;\n }\n\n self.rawMessage = message;\n return self;\n}; // $FlowFixMe More hackery\n\n\nParseError.prototype.__proto__ = Error.prototype;\n/* harmony default export */ var src_ParseError = (ParseError);\n;// CONCATENATED MODULE: ./src/utils.js\n/**\n * This file contains a list of utility functions which are useful in other\n * files.\n */\n\n/**\n * Return whether an element is contained in a list\n */\nvar contains = function contains(list, elem) {\n return list.indexOf(elem) !== -1;\n};\n/**\n * Provide a default value if a setting is undefined\n * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022.\n */\n\n\nvar deflt = function deflt(setting, defaultIfUndefined) {\n return setting === undefined ? defaultIfUndefined : setting;\n}; // hyphenate and escape adapted from Facebook's React under Apache 2 license\n\n\nvar uppercase = /([A-Z])/g;\n\nvar hyphenate = function hyphenate(str) {\n return str.replace(uppercase, \"-$1\").toLowerCase();\n};\n\nvar ESCAPE_LOOKUP = {\n \"&\": \"&\",\n \">\": \">\",\n \"<\": \"<\",\n \"\\\"\": \""\",\n \"'\": \"'\"\n};\nvar ESCAPE_REGEX = /[&><\"']/g;\n/**\n * Escapes text to prevent scripting attacks.\n */\n\nfunction utils_escape(text) {\n return String(text).replace(ESCAPE_REGEX, function (match) {\n return ESCAPE_LOOKUP[match];\n });\n}\n/**\n * Sometimes we want to pull out the innermost element of a group. In most\n * cases, this will just be the group itself, but when ordgroups and colors have\n * a single element, we want to pull that out.\n */\n\n\nvar getBaseElem = function getBaseElem(group) {\n if (group.type === \"ordgroup\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"color\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"font\") {\n return getBaseElem(group.body);\n } else {\n return group;\n }\n};\n/**\n * TeXbook algorithms often reference \"character boxes\", which are simply groups\n * with a single character in them. To decide if something is a character box,\n * we find its innermost group, and see if it is a single character.\n */\n\n\nvar isCharacterBox = function isCharacterBox(group) {\n var baseElem = getBaseElem(group); // These are all they types of groups which hold single characters\n\n return baseElem.type === \"mathord\" || baseElem.type === \"textord\" || baseElem.type === \"atom\";\n};\n\nvar assert = function assert(value) {\n if (!value) {\n throw new Error('Expected non-null, but got ' + String(value));\n }\n\n return value;\n};\n/**\n * Return the protocol of a URL, or \"_relative\" if the URL does not specify a\n * protocol (and thus is relative).\n */\n\nvar protocolFromUrl = function protocolFromUrl(url) {\n var protocol = /^\\s*([^\\\\/#]*?)(?::|�*58|�*3a)/i.exec(url);\n return protocol != null ? protocol[1] : \"_relative\";\n};\n/* harmony default export */ var utils = ({\n contains: contains,\n deflt: deflt,\n escape: utils_escape,\n hyphenate: hyphenate,\n getBaseElem: getBaseElem,\n isCharacterBox: isCharacterBox,\n protocolFromUrl: protocolFromUrl\n});\n;// CONCATENATED MODULE: ./src/Settings.js\n/* eslint no-console:0 */\n\n/**\n * This is a module for storing settings passed into KaTeX. It correctly handles\n * default settings.\n */\n\n\n\n// TODO: automatically generate documentation\n// TODO: check all properties on Settings exist\n// TODO: check the type of a property on Settings matches\nvar SETTINGS_SCHEMA = {\n displayMode: {\n type: \"boolean\",\n description: \"Render math in display mode, which puts the math in \" + \"display style (so \\\\int and \\\\sum are large, for example), and \" + \"centers the math on the page on its own line.\",\n cli: \"-d, --display-mode\"\n },\n output: {\n type: {\n enum: [\"htmlAndMathml\", \"html\", \"mathml\"]\n },\n description: \"Determines the markup language of the output.\",\n cli: \"-F, --format \"\n },\n leqno: {\n type: \"boolean\",\n description: \"Render display math in leqno style (left-justified tags).\"\n },\n fleqn: {\n type: \"boolean\",\n description: \"Render display math flush left.\"\n },\n throwOnError: {\n type: \"boolean\",\n default: true,\n cli: \"-t, --no-throw-on-error\",\n cliDescription: \"Render errors (in the color given by --error-color) ins\" + \"tead of throwing a ParseError exception when encountering an error.\"\n },\n errorColor: {\n type: \"string\",\n default: \"#cc0000\",\n cli: \"-c, --error-color \",\n cliDescription: \"A color string given in the format 'rgb' or 'rrggbb' \" + \"(no #). This option determines the color of errors rendered by the \" + \"-t option.\",\n cliProcessor: function cliProcessor(color) {\n return \"#\" + color;\n }\n },\n macros: {\n type: \"object\",\n cli: \"-m, --macro \",\n cliDescription: \"Define custom macro of the form '\\\\foo:expansion' (use \" + \"multiple -m arguments for multiple macros).\",\n cliDefault: [],\n cliProcessor: function cliProcessor(def, defs) {\n defs.push(def);\n return defs;\n }\n },\n minRuleThickness: {\n type: \"number\",\n description: \"Specifies a minimum thickness, in ems, for fraction lines,\" + \" `\\\\sqrt` top lines, `{array}` vertical lines, `\\\\hline`, \" + \"`\\\\hdashline`, `\\\\underline`, `\\\\overline`, and the borders of \" + \"`\\\\fbox`, `\\\\boxed`, and `\\\\fcolorbox`.\",\n processor: function processor(t) {\n return Math.max(0, t);\n },\n cli: \"--min-rule-thickness \",\n cliProcessor: parseFloat\n },\n colorIsTextColor: {\n type: \"boolean\",\n description: \"Makes \\\\color behave like LaTeX's 2-argument \\\\textcolor, \" + \"instead of LaTeX's one-argument \\\\color mode change.\",\n cli: \"-b, --color-is-text-color\"\n },\n strict: {\n type: [{\n enum: [\"warn\", \"ignore\", \"error\"]\n }, \"boolean\", \"function\"],\n description: \"Turn on strict / LaTeX faithfulness mode, which throws an \" + \"error if the input uses features that are not supported by LaTeX.\",\n cli: \"-S, --strict\",\n cliDefault: false\n },\n trust: {\n type: [\"boolean\", \"function\"],\n description: \"Trust the input, enabling all HTML features such as \\\\url.\",\n cli: \"-T, --trust\"\n },\n maxSize: {\n type: \"number\",\n default: Infinity,\n description: \"If non-zero, all user-specified sizes, e.g. in \" + \"\\\\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, \" + \"elements and spaces can be arbitrarily large\",\n processor: function processor(s) {\n return Math.max(0, s);\n },\n cli: \"-s, --max-size \",\n cliProcessor: parseInt\n },\n maxExpand: {\n type: \"number\",\n default: 1000,\n description: \"Limit the number of macro expansions to the specified \" + \"number, to prevent e.g. infinite macro loops. If set to Infinity, \" + \"the macro expander will try to fully expand as in LaTeX.\",\n processor: function processor(n) {\n return Math.max(0, n);\n },\n cli: \"-e, --max-expand \",\n cliProcessor: function cliProcessor(n) {\n return n === \"Infinity\" ? Infinity : parseInt(n);\n }\n },\n globalGroup: {\n type: \"boolean\",\n cli: false\n }\n};\n\nfunction getDefaultValue(schema) {\n if (schema.default) {\n return schema.default;\n }\n\n var type = schema.type;\n var defaultType = Array.isArray(type) ? type[0] : type;\n\n if (typeof defaultType !== 'string') {\n return defaultType.enum[0];\n }\n\n switch (defaultType) {\n case 'boolean':\n return false;\n\n case 'string':\n return '';\n\n case 'number':\n return 0;\n\n case 'object':\n return {};\n }\n}\n/**\n * The main Settings object\n *\n * The current options stored are:\n * - displayMode: Whether the expression should be typeset as inline math\n * (false, the default), meaning that the math starts in\n * \\textstyle and is placed in an inline-block); or as display\n * math (true), meaning that the math starts in \\displaystyle\n * and is placed in a block with vertical margin.\n */\n\n\nvar Settings = /*#__PURE__*/function () {\n function Settings(options) {\n this.displayMode = void 0;\n this.output = void 0;\n this.leqno = void 0;\n this.fleqn = void 0;\n this.throwOnError = void 0;\n this.errorColor = void 0;\n this.macros = void 0;\n this.minRuleThickness = void 0;\n this.colorIsTextColor = void 0;\n this.strict = void 0;\n this.trust = void 0;\n this.maxSize = void 0;\n this.maxExpand = void 0;\n this.globalGroup = void 0;\n // allow null options\n options = options || {};\n\n for (var prop in SETTINGS_SCHEMA) {\n if (SETTINGS_SCHEMA.hasOwnProperty(prop)) {\n // $FlowFixMe\n var schema = SETTINGS_SCHEMA[prop]; // TODO: validate options\n // $FlowFixMe\n\n this[prop] = options[prop] !== undefined ? schema.processor ? schema.processor(options[prop]) : options[prop] : getDefaultValue(schema);\n }\n }\n }\n /**\n * Report nonstrict (non-LaTeX-compatible) input.\n * Can safely not be called if `this.strict` is false in JavaScript.\n */\n\n\n var _proto = Settings.prototype;\n\n _proto.reportNonstrict = function reportNonstrict(errorCode, errorMsg, token) {\n var strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n strict = strict(errorCode, errorMsg, token);\n }\n\n if (!strict || strict === \"ignore\") {\n return;\n } else if (strict === true || strict === \"error\") {\n throw new src_ParseError(\"LaTeX-incompatible input and strict mode is set to 'error': \" + (errorMsg + \" [\" + errorCode + \"]\"), token);\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n }\n }\n /**\n * Check whether to apply strict (LaTeX-adhering) behavior for unusual\n * input (like `\\\\`). Unlike `nonstrict`, will not throw an error;\n * instead, \"error\" translates to a return value of `true`, while \"ignore\"\n * translates to a return value of `false`. May still print a warning:\n * \"warn\" prints a warning and returns `false`.\n * This is for the second category of `errorCode`s listed in the README.\n */\n ;\n\n _proto.useStrictBehavior = function useStrictBehavior(errorCode, errorMsg, token) {\n var strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n // But catch any exceptions thrown by function, treating them\n // like \"error\".\n try {\n strict = strict(errorCode, errorMsg, token);\n } catch (error) {\n strict = \"error\";\n }\n }\n\n if (!strict || strict === \"ignore\") {\n return false;\n } else if (strict === true || strict === \"error\") {\n return true;\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n }\n }\n /**\n * Check whether to test potentially dangerous input, and return\n * `true` (trusted) or `false` (untrusted). The sole argument `context`\n * should be an object with `command` field specifying the relevant LaTeX\n * command (as a string starting with `\\`), and any other arguments, etc.\n * If `context` has a `url` field, a `protocol` field will automatically\n * get added by this function (changing the specified object).\n */\n ;\n\n _proto.isTrusted = function isTrusted(context) {\n if (context.url && !context.protocol) {\n context.protocol = utils.protocolFromUrl(context.url);\n }\n\n var trust = typeof this.trust === \"function\" ? this.trust(context) : this.trust;\n return Boolean(trust);\n };\n\n return Settings;\n}();\n\n\n;// CONCATENATED MODULE: ./src/Style.js\n/**\n * This file contains information and classes for the various kinds of styles\n * used in TeX. It provides a generic `Style` class, which holds information\n * about a specific style. It then provides instances of all the different kinds\n * of styles possible, and provides functions to move between them and get\n * information about them.\n */\n\n/**\n * The main style class. Contains a unique id for the style, a size (which is\n * the same for cramped and uncramped version of a style), and a cramped flag.\n */\nvar Style = /*#__PURE__*/function () {\n function Style(id, size, cramped) {\n this.id = void 0;\n this.size = void 0;\n this.cramped = void 0;\n this.id = id;\n this.size = size;\n this.cramped = cramped;\n }\n /**\n * Get the style of a superscript given a base in the current style.\n */\n\n\n var _proto = Style.prototype;\n\n _proto.sup = function sup() {\n return styles[_sup[this.id]];\n }\n /**\n * Get the style of a subscript given a base in the current style.\n */\n ;\n\n _proto.sub = function sub() {\n return styles[_sub[this.id]];\n }\n /**\n * Get the style of a fraction numerator given the fraction in the current\n * style.\n */\n ;\n\n _proto.fracNum = function fracNum() {\n return styles[_fracNum[this.id]];\n }\n /**\n * Get the style of a fraction denominator given the fraction in the current\n * style.\n */\n ;\n\n _proto.fracDen = function fracDen() {\n return styles[_fracDen[this.id]];\n }\n /**\n * Get the cramped version of a style (in particular, cramping a cramped style\n * doesn't change the style).\n */\n ;\n\n _proto.cramp = function cramp() {\n return styles[_cramp[this.id]];\n }\n /**\n * Get a text or display version of this style.\n */\n ;\n\n _proto.text = function text() {\n return styles[_text[this.id]];\n }\n /**\n * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle)\n */\n ;\n\n _proto.isTight = function isTight() {\n return this.size >= 2;\n };\n\n return Style;\n}(); // Export an interface for type checking, but don't expose the implementation.\n// This way, no more styles can be generated.\n\n\n// IDs of the different styles\nvar D = 0;\nvar Dc = 1;\nvar T = 2;\nvar Tc = 3;\nvar S = 4;\nvar Sc = 5;\nvar SS = 6;\nvar SSc = 7; // Instances of the different styles\n\nvar styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another\n\nvar _sup = [S, Sc, S, Sc, SS, SSc, SS, SSc];\nvar _sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar _fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc];\nvar _fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar _cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc];\nvar _text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles.\n\n/* harmony default export */ var src_Style = ({\n DISPLAY: styles[D],\n TEXT: styles[T],\n SCRIPT: styles[S],\n SCRIPTSCRIPT: styles[SS]\n});\n;// CONCATENATED MODULE: ./src/unicodeScripts.js\n/*\n * This file defines the Unicode scripts and script families that we\n * support. To add new scripts or families, just add a new entry to the\n * scriptData array below. Adding scripts to the scriptData array allows\n * characters from that script to appear in \\text{} environments.\n */\n\n/**\n * Each script or script family has a name and an array of blocks.\n * Each block is an array of two numbers which specify the start and\n * end points (inclusive) of a block of Unicode codepoints.\n */\n\n/**\n * Unicode block data for the families of scripts we support in \\text{}.\n * Scripts only need to appear here if they do not have font metrics.\n */\nvar scriptData = [{\n // Latin characters beyond the Latin-1 characters we have metrics for.\n // Needed for Czech, Hungarian and Turkish text, for example.\n name: 'latin',\n blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B\n [0x0300, 0x036f] // Combining Diacritical marks\n ]\n}, {\n // The Cyrillic script used by Russian and related languages.\n // A Cyrillic subset used to be supported as explicitly defined\n // symbols in symbols.js\n name: 'cyrillic',\n blocks: [[0x0400, 0x04ff]]\n}, {\n // Armenian\n name: 'armenian',\n blocks: [[0x0530, 0x058F]]\n}, {\n // The Brahmic scripts of South and Southeast Asia\n // Devanagari (0900–097F)\n // Bengali (0980–09FF)\n // Gurmukhi (0A00–0A7F)\n // Gujarati (0A80–0AFF)\n // Oriya (0B00–0B7F)\n // Tamil (0B80–0BFF)\n // Telugu (0C00–0C7F)\n // Kannada (0C80–0CFF)\n // Malayalam (0D00–0D7F)\n // Sinhala (0D80–0DFF)\n // Thai (0E00–0E7F)\n // Lao (0E80–0EFF)\n // Tibetan (0F00–0FFF)\n // Myanmar (1000–109F)\n name: 'brahmic',\n blocks: [[0x0900, 0x109F]]\n}, {\n name: 'georgian',\n blocks: [[0x10A0, 0x10ff]]\n}, {\n // Chinese and Japanese.\n // The \"k\" in cjk is for Korean, but we've separated Korean out\n name: \"cjk\",\n blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana\n [0x4E00, 0x9FAF], // CJK ideograms\n [0xFF00, 0xFF60] // Fullwidth punctuation\n // TODO: add halfwidth Katakana and Romanji glyphs\n ]\n}, {\n // Korean\n name: 'hangul',\n blocks: [[0xAC00, 0xD7AF]]\n}];\n/**\n * Given a codepoint, return the name of the script or script family\n * it is from, or null if it is not part of a known block\n */\n\nfunction scriptFromCodepoint(codepoint) {\n for (var i = 0; i < scriptData.length; i++) {\n var script = scriptData[i];\n\n for (var _i = 0; _i < script.blocks.length; _i++) {\n var block = script.blocks[_i];\n\n if (codepoint >= block[0] && codepoint <= block[1]) {\n return script.name;\n }\n }\n }\n\n return null;\n}\n/**\n * A flattened version of all the supported blocks in a single array.\n * This is an optimization to make supportedCodepoint() fast.\n */\n\nvar allBlocks = [];\nscriptData.forEach(function (s) {\n return s.blocks.forEach(function (b) {\n return allBlocks.push.apply(allBlocks, b);\n });\n});\n/**\n * Given a codepoint, return true if it falls within one of the\n * scripts or script families defined above and false otherwise.\n *\n * Micro benchmarks shows that this is faster than\n * /[\\u3000-\\u30FF\\u4E00-\\u9FAF\\uFF00-\\uFF60\\uAC00-\\uD7AF\\u0900-\\u109F]/.test()\n * in Firefox, Chrome and Node.\n */\n\nfunction supportedCodepoint(codepoint) {\n for (var i = 0; i < allBlocks.length; i += 2) {\n if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) {\n return true;\n }\n }\n\n return false;\n}\n;// CONCATENATED MODULE: ./src/svgGeometry.js\n/**\n * This file provides support to domTree.js and delimiter.js.\n * It's a storehouse of path geometry for SVG images.\n */\n// In all paths below, the viewBox-to-em scale is 1000:1.\nvar hLinePad = 80; // padding above a sqrt vinculum. Prevents image cropping.\n// The vinculum of a \\sqrt can be made thicker by a KaTeX rendering option.\n// Think of variable extraVinculum as two detours in the SVG path.\n// The detour begins at the lower left of the area labeled extraVinculum below.\n// The detour proceeds one extraVinculum distance up and slightly to the right,\n// displacing the radiused corner between surd and vinculum. The radius is\n// traversed as usual, then the detour resumes. It goes right, to the end of\n// the very long vinculum, then down one extraVinculum distance,\n// after which it resumes regular path geometry for the radical.\n\n/* vinculum\n /\n /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraVinculum\n / █████████████████████←0.04em (40 unit) std vinculum thickness\n / /\n / /\n / /\\\n / / surd\n*/\n\nvar sqrtMain = function sqrtMain(extraVinculum, hLinePad) {\n // sqrtMain path geometry is from glyph U221A in the font KaTeX Main\n return \"M95,\" + (622 + extraVinculum + hLinePad) + \"\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl\" + extraVinculum / 2.075 + \" -\" + extraVinculum + \"\\nc5.3,-9.3,12,-14,20,-14\\nH400000v\" + (40 + extraVinculum) + \"H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM\" + (834 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize1 = function sqrtSize1(extraVinculum, hLinePad) {\n // size1 is from glyph U221A in the font KaTeX_Size1-Regular\n return \"M263,\" + (601 + extraVinculum + hLinePad) + \"c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl\" + extraVinculum / 2.084 + \" -\" + extraVinculum + \"\\nc4.7,-7.3,11,-11,19,-11\\nH40000v\" + (40 + extraVinculum) + \"H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize2 = function sqrtSize2(extraVinculum, hLinePad) {\n // size2 is from glyph U221A in the font KaTeX_Size2-Regular\n return \"M983 \" + (10 + extraVinculum + hLinePad) + \"\\nl\" + extraVinculum / 3.13 + \" -\" + extraVinculum + \"\\nc4,-6.7,10,-10,18,-10 H400000v\" + (40 + extraVinculum) + \"\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize3 = function sqrtSize3(extraVinculum, hLinePad) {\n // size3 is from glyph U221A in the font KaTeX_Size3-Regular\n return \"M424,\" + (2398 + extraVinculum + hLinePad) + \"\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl\" + extraVinculum / 4.223 + \" -\" + extraVinculum + \"c4,-6.7,10,-10,18,-10 H400000\\nv\" + (40 + extraVinculum) + \"H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M\" + (1001 + extraVinculum) + \" \" + hLinePad + \"\\nh400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize4 = function sqrtSize4(extraVinculum, hLinePad) {\n // size4 is from glyph U221A in the font KaTeX_Size4-Regular\n return \"M473,\" + (2713 + extraVinculum + hLinePad) + \"\\nc339.3,-1799.3,509.3,-2700,510,-2702 l\" + extraVinculum / 5.298 + \" -\" + extraVinculum + \"\\nc3.3,-7.3,9.3,-11,18,-11 H400000v\" + (40 + extraVinculum) + \"H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"H1017.7z\";\n};\n\nvar phasePath = function phasePath(y) {\n var x = y / 2; // x coordinate at top of angle\n\n return \"M400000 \" + y + \" H0 L\" + x + \" 0 l65 45 L145 \" + (y - 80) + \" H400000z\";\n};\n\nvar sqrtTall = function sqrtTall(extraVinculum, hLinePad, viewBoxHeight) {\n // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular\n // One path edge has a variable length. It runs vertically from the vinculum\n // to a point near (14 units) the bottom of the surd. The vinculum\n // is normally 40 units thick. So the length of the line in question is:\n var vertSegment = viewBoxHeight - 54 - hLinePad - extraVinculum;\n return \"M702 \" + (extraVinculum + hLinePad) + \"H400000\" + (40 + extraVinculum) + \"\\nH742v\" + vertSegment + \"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 \" + hLinePad + \"H400000v\" + (40 + extraVinculum) + \"H742z\";\n};\n\nvar sqrtPath = function sqrtPath(size, extraVinculum, viewBoxHeight) {\n extraVinculum = 1000 * extraVinculum; // Convert from document ems to viewBox.\n\n var path = \"\";\n\n switch (size) {\n case \"sqrtMain\":\n path = sqrtMain(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize1\":\n path = sqrtSize1(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize2\":\n path = sqrtSize2(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize3\":\n path = sqrtSize3(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize4\":\n path = sqrtSize4(extraVinculum, hLinePad);\n break;\n\n case \"sqrtTall\":\n path = sqrtTall(extraVinculum, hLinePad, viewBoxHeight);\n }\n\n return path;\n};\nvar innerPath = function innerPath(name, height) {\n // The inner part of stretchy tall delimiters\n switch (name) {\n case \"\\u239C\":\n return \"M291 0 H417 V\" + height + \" H291z M291 0 H417 V\" + height + \" H291z\";\n\n case \"\\u2223\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\";\n\n case \"\\u2225\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\" + (\"M367 0 H410 V\" + height + \" H367z M367 0 H410 V\" + height + \" H367z\");\n\n case \"\\u239F\":\n return \"M457 0 H583 V\" + height + \" H457z M457 0 H583 V\" + height + \" H457z\";\n\n case \"\\u23A2\":\n return \"M319 0 H403 V\" + height + \" H319z M319 0 H403 V\" + height + \" H319z\";\n\n case \"\\u23A5\":\n return \"M263 0 H347 V\" + height + \" H263z M263 0 H347 V\" + height + \" H263z\";\n\n case \"\\u23AA\":\n return \"M384 0 H504 V\" + height + \" H384z M384 0 H504 V\" + height + \" H384z\";\n\n case \"\\u23D0\":\n return \"M312 0 H355 V\" + height + \" H312z M312 0 H355 V\" + height + \" H312z\";\n\n case \"\\u2016\":\n return \"M257 0 H300 V\" + height + \" H257z M257 0 H300 V\" + height + \" H257z\" + (\"M478 0 H521 V\" + height + \" H478z M478 0 H521 V\" + height + \" H478z\");\n\n default:\n return \"\";\n }\n};\nvar path = {\n // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main\n doubleleftarrow: \"M262 157\\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\\nm8 0v40h399730v-40zm0 194v40h399730v-40z\",\n // doublerightarrow is from glyph U+21D2 in font KaTeX Main\n doublerightarrow: \"M399738 392l\\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z\",\n // leftarrow is from glyph U+2190 in font KaTeX Main\n leftarrow: \"M400000 241H110l3-3c68.7-52.7 113.7-120\\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\\n l-3-3h399890zM100 241v40h399900v-40z\",\n // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular\n leftbrace: \"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z\",\n leftbraceunder: \"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z\",\n // overgroup is from the MnSymbol package (public domain)\n leftgroup: \"M400000 80\\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\\n 435 0h399565z\",\n leftgroupunder: \"M400000 262\\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\\n 435 219h399565z\",\n // Harpoons are from glyph U+21BD in font KaTeX Main\n leftharpoon: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z\",\n leftharpoonplus: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\\nm0 0v40h400000v-40z\",\n leftharpoondown: \"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z\",\n leftharpoondownplus: \"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z\",\n // hook is from glyph U+21A9 in font KaTeX Main\n lefthook: \"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\\n 71.5 23h399859zM103 281v-40h399897v40z\",\n leftlinesegment: \"M40 281 V428 H0 V94 H40 V241 H400000 v40z\\nM40 281 V428 H0 V94 H40 V241 H400000 v40z\",\n leftmapsto: \"M40 281 V448H0V74H40V241H400000v40z\\nM40 281 V448H0V74H40V241H400000v40z\",\n // tofrom is from glyph U+21C4 in font KaTeX AMS Regular\n leftToFrom: \"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z\",\n longequal: \"M0 50 h400000 v40H0z m0 194h40000v40H0z\\nM0 50 h400000 v40H0z m0 194h40000v40H0z\",\n midbrace: \"M200428 334\\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z\",\n midbraceunder: \"M199572 214\\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z\",\n oiintSize1: \"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z\",\n oiintSize2: \"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\\nc0 110 84 276 504 276s502.4-166 502.4-276z\",\n oiiintSize1: \"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z\",\n oiiintSize2: \"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z\",\n rightarrow: \"M0 241v40h399891c-47.3 35.3-84 78-110 128\\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n 151.7 139 205zm0 0v40h399900v-40z\",\n rightbrace: \"M400000 542l\\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z\",\n rightbraceunder: \"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z\",\n rightgroup: \"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\\n 3-1 3-3v-38c-76-158-257-219-435-219H0z\",\n rightgroupunder: \"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z\",\n rightharpoon: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\\n 69.2 92 94.5zm0 0v40h399900v-40z\",\n rightharpoonplus: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z\",\n rightharpoondown: \"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z\",\n rightharpoondownplus: \"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\\nm0-194v40h400000v-40zm0 0v40h400000v-40z\",\n righthook: \"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z\",\n rightlinesegment: \"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z\",\n rightToFrom: \"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z\",\n // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular\n twoheadleftarrow: \"M0 167c68 40\\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z\",\n twoheadrightarrow: \"M400000 167\\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z\",\n // tilde1 is a modified version of a glyph from the MnSymbol package\n tilde1: \"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\\n-68.267.847-113-73.952-191-73.952z\",\n // ditto tilde2, tilde3, & tilde4\n tilde2: \"M344 55.266c-142 0-300.638 81.316-311.5 86.418\\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z\",\n tilde3: \"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\\n -338 0-409-156.573-744-156.573z\",\n tilde4: \"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\\n -175.236-744-175.236z\",\n // vec is from glyph U+20D7 in font KaTeX Main\n vec: \"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\\nc-16-25.333-24-45-24-59z\",\n // widehat1 is a modified version of a glyph from the MnSymbol package\n widehat1: \"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z\",\n // ditto widehat2, widehat3, & widehat4\n widehat2: \"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat3: \"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat4: \"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n // widecheck paths are all inverted versions of widehat\n widecheck1: \"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z\",\n widecheck2: \"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck3: \"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck4: \"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n // The next ten paths support reaction arrows from the mhchem package.\n // Arrows for \\ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX\n // baraboveleftarrow is mostly from glyph U+2190 in font KaTeX Main\n baraboveleftarrow: \"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z\",\n // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main\n rightarrowabovebar: \"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z\",\n // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end.\n // Ref from mhchem.sty: \\rlap{\\raisebox{-.22ex}{$\\kern0.5em\n baraboveshortleftharpoon: \"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z\",\n rightharpoonaboveshortbar: \"M0,241 l0,40c399126,0,399993,0,399993,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z\",\n shortbaraboveleftharpoon: \"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z\",\n shortrightharpoonabovebar: \"M53,241l0,40c398570,0,399437,0,399437,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z\"\n};\nvar tallDelim = function tallDelim(label, midHeight) {\n switch (label) {\n case \"lbrack\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v1759 h347 v-84\\nH403z M403 1759 V0 H319 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"rbrack\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v1759 H0 v84 H347z\\nM347 1759 V0 H263 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"vert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"doublevert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\\nM367 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"lfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1715 h263 v84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"rfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1799 H0 v-84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"lceil\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v602 h84z\\nM403 1759 V0 H319 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"rceil\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v602 h84z\\nM347 1759 V0 h-84 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"lparen\":\n return \"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\\n-36,557 l0,\" + (midHeight + 84) + \"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\\nl0,-\" + (midHeight + 92) + \"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z\";\n\n case \"rparen\":\n return \"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,\" + (midHeight + 9) + \"\\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\\nl0,-\" + (midHeight + 144) + \"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z\";\n\n default:\n // We should not ever get here.\n throw new Error(\"Unknown stretchy delimiter.\");\n }\n};\n;// CONCATENATED MODULE: ./src/tree.js\n\n\n/**\n * This node represents a document fragment, which contains elements, but when\n * placed into the DOM doesn't have any representation itself. It only contains\n * children and doesn't have any DOM node properties.\n */\nvar DocumentFragment = /*#__PURE__*/function () {\n // HtmlDomNode\n // Never used; needed for satisfying interface.\n function DocumentFragment(children) {\n this.children = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.children = children;\n this.classes = [];\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = {};\n }\n\n var _proto = DocumentFragment.prototype;\n\n _proto.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /** Convert the fragment into a node. */\n ;\n\n _proto.toNode = function toNode() {\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < this.children.length; i++) {\n frag.appendChild(this.children[i].toNode());\n }\n\n return frag;\n }\n /** Convert the fragment into HTML markup. */\n ;\n\n _proto.toMarkup = function toMarkup() {\n var markup = \"\"; // Simply concatenate the markup for the children together.\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText. Applies to\n * MathDomNode's only.\n */\n ;\n\n _proto.toText = function toText() {\n // To avoid this, we would subclass documentFragment separately for\n // MathML, but polyfills for subclassing is expensive per PR 1469.\n // $FlowFixMe: Only works for ChildType = MathDomNode.\n var toText = function toText(child) {\n return child.toText();\n };\n\n return this.children.map(toText).join(\"\");\n };\n\n return DocumentFragment;\n}();\n;// CONCATENATED MODULE: ./src/fontMetricsData.js\n// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY.\n/* harmony default export */ var fontMetricsData = ({\n \"AMS-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68889, 0, 0, 0.72222],\n \"66\": [0, 0.68889, 0, 0, 0.66667],\n \"67\": [0, 0.68889, 0, 0, 0.72222],\n \"68\": [0, 0.68889, 0, 0, 0.72222],\n \"69\": [0, 0.68889, 0, 0, 0.66667],\n \"70\": [0, 0.68889, 0, 0, 0.61111],\n \"71\": [0, 0.68889, 0, 0, 0.77778],\n \"72\": [0, 0.68889, 0, 0, 0.77778],\n \"73\": [0, 0.68889, 0, 0, 0.38889],\n \"74\": [0.16667, 0.68889, 0, 0, 0.5],\n \"75\": [0, 0.68889, 0, 0, 0.77778],\n \"76\": [0, 0.68889, 0, 0, 0.66667],\n \"77\": [0, 0.68889, 0, 0, 0.94445],\n \"78\": [0, 0.68889, 0, 0, 0.72222],\n \"79\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"80\": [0, 0.68889, 0, 0, 0.61111],\n \"81\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"82\": [0, 0.68889, 0, 0, 0.72222],\n \"83\": [0, 0.68889, 0, 0, 0.55556],\n \"84\": [0, 0.68889, 0, 0, 0.66667],\n \"85\": [0, 0.68889, 0, 0, 0.72222],\n \"86\": [0, 0.68889, 0, 0, 0.72222],\n \"87\": [0, 0.68889, 0, 0, 1.0],\n \"88\": [0, 0.68889, 0, 0, 0.72222],\n \"89\": [0, 0.68889, 0, 0, 0.72222],\n \"90\": [0, 0.68889, 0, 0, 0.66667],\n \"107\": [0, 0.68889, 0, 0, 0.55556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"165\": [0, 0.675, 0.025, 0, 0.75],\n \"174\": [0.15559, 0.69224, 0, 0, 0.94666],\n \"240\": [0, 0.68889, 0, 0, 0.55556],\n \"295\": [0, 0.68889, 0, 0, 0.54028],\n \"710\": [0, 0.825, 0, 0, 2.33334],\n \"732\": [0, 0.9, 0, 0, 2.33334],\n \"770\": [0, 0.825, 0, 0, 2.33334],\n \"771\": [0, 0.9, 0, 0, 2.33334],\n \"989\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"1008\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"8245\": [0, 0.54986, 0, 0, 0.275],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8487\": [0, 0.68889, 0, 0, 0.72222],\n \"8498\": [0, 0.68889, 0, 0, 0.55556],\n \"8502\": [0, 0.68889, 0, 0, 0.66667],\n \"8503\": [0, 0.68889, 0, 0, 0.44445],\n \"8504\": [0, 0.68889, 0, 0, 0.66667],\n \"8513\": [0, 0.68889, 0, 0, 0.63889],\n \"8592\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8594\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8602\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8603\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8606\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8608\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8610\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8611\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8619\": [0, 0.54986, 0, 0, 1.0],\n \"8620\": [0, 0.54986, 0, 0, 1.0],\n \"8621\": [-0.13313, 0.37788, 0, 0, 1.38889],\n \"8622\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8624\": [0, 0.69224, 0, 0, 0.5],\n \"8625\": [0, 0.69224, 0, 0, 0.5],\n \"8630\": [0, 0.43056, 0, 0, 1.0],\n \"8631\": [0, 0.43056, 0, 0, 1.0],\n \"8634\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8635\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8638\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8639\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8642\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8643\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8644\": [0.1808, 0.675, 0, 0, 1.0],\n \"8646\": [0.1808, 0.675, 0, 0, 1.0],\n \"8647\": [0.1808, 0.675, 0, 0, 1.0],\n \"8648\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8649\": [0.1808, 0.675, 0, 0, 1.0],\n \"8650\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8651\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8652\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8653\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8654\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8655\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8666\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8667\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8669\": [-0.13313, 0.37788, 0, 0, 1.0],\n \"8672\": [-0.064, 0.437, 0, 0, 1.334],\n \"8674\": [-0.064, 0.437, 0, 0, 1.334],\n \"8705\": [0, 0.825, 0, 0, 0.5],\n \"8708\": [0, 0.68889, 0, 0, 0.55556],\n \"8709\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8717\": [0, 0.43056, 0, 0, 0.42917],\n \"8722\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8724\": [0.08198, 0.69224, 0, 0, 0.77778],\n \"8726\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8733\": [0, 0.69224, 0, 0, 0.77778],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8737\": [0, 0.69224, 0, 0, 0.72222],\n \"8738\": [0.03517, 0.52239, 0, 0, 0.72222],\n \"8739\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"8740\": [0.25142, 0.74111, 0, 0, 0.27778],\n \"8741\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"8742\": [0.25142, 0.74111, 0, 0, 0.5],\n \"8756\": [0, 0.69224, 0, 0, 0.66667],\n \"8757\": [0, 0.69224, 0, 0, 0.66667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8765\": [-0.13313, 0.37788, 0, 0, 0.77778],\n \"8769\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8770\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8774\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8778\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8782\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8783\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8785\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8786\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8787\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8790\": [0, 0.69224, 0, 0, 0.77778],\n \"8791\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8796\": [0.08198, 0.91667, 0, 0, 0.77778],\n \"8806\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8807\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8808\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8809\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8812\": [0.25583, 0.75583, 0, 0, 0.5],\n \"8814\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8815\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8816\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8817\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8818\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8819\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8822\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8823\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8828\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8829\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8830\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8831\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8832\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8833\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8840\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8841\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8842\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8843\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8847\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8848\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8858\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8859\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8861\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8862\": [0, 0.675, 0, 0, 0.77778],\n \"8863\": [0, 0.675, 0, 0, 0.77778],\n \"8864\": [0, 0.675, 0, 0, 0.77778],\n \"8865\": [0, 0.675, 0, 0, 0.77778],\n \"8872\": [0, 0.69224, 0, 0, 0.61111],\n \"8873\": [0, 0.69224, 0, 0, 0.72222],\n \"8874\": [0, 0.69224, 0, 0, 0.88889],\n \"8876\": [0, 0.68889, 0, 0, 0.61111],\n \"8877\": [0, 0.68889, 0, 0, 0.61111],\n \"8878\": [0, 0.68889, 0, 0, 0.72222],\n \"8879\": [0, 0.68889, 0, 0, 0.72222],\n \"8882\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8883\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8884\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8885\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8888\": [0, 0.54986, 0, 0, 1.11111],\n \"8890\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"8891\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8892\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8901\": [0, 0.54986, 0, 0, 0.27778],\n \"8903\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8905\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8906\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8907\": [0, 0.69224, 0, 0, 0.77778],\n \"8908\": [0, 0.69224, 0, 0, 0.77778],\n \"8909\": [-0.03598, 0.46402, 0, 0, 0.77778],\n \"8910\": [0, 0.54986, 0, 0, 0.76042],\n \"8911\": [0, 0.54986, 0, 0, 0.76042],\n \"8912\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8913\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8914\": [0, 0.54986, 0, 0, 0.66667],\n \"8915\": [0, 0.54986, 0, 0, 0.66667],\n \"8916\": [0, 0.69224, 0, 0, 0.66667],\n \"8918\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8919\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8920\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8921\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8922\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8923\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8926\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8927\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8928\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8929\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8934\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8935\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8936\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8937\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8938\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8939\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8940\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8941\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8994\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"8995\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"9416\": [0.15559, 0.69224, 0, 0, 0.90222],\n \"9484\": [0, 0.69224, 0, 0, 0.5],\n \"9488\": [0, 0.69224, 0, 0, 0.5],\n \"9492\": [0, 0.37788, 0, 0, 0.5],\n \"9496\": [0, 0.37788, 0, 0, 0.5],\n \"9585\": [0.19444, 0.68889, 0, 0, 0.88889],\n \"9586\": [0.19444, 0.74111, 0, 0, 0.88889],\n \"9632\": [0, 0.675, 0, 0, 0.77778],\n \"9633\": [0, 0.675, 0, 0, 0.77778],\n \"9650\": [0, 0.54986, 0, 0, 0.72222],\n \"9651\": [0, 0.54986, 0, 0, 0.72222],\n \"9654\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9660\": [0, 0.54986, 0, 0, 0.72222],\n \"9661\": [0, 0.54986, 0, 0, 0.72222],\n \"9664\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9674\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"9733\": [0.19444, 0.69224, 0, 0, 0.94445],\n \"10003\": [0, 0.69224, 0, 0, 0.83334],\n \"10016\": [0, 0.69224, 0, 0, 0.83334],\n \"10731\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"10846\": [0.19444, 0.75583, 0, 0, 0.61111],\n \"10877\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10878\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10885\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10886\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10887\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10888\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10889\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10890\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10891\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10892\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10901\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10902\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10933\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10934\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10935\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10936\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10937\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10938\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10949\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10950\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10955\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"10956\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"57350\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"57351\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"57352\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"57353\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"57356\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57357\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57358\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57359\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57360\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57361\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57366\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57367\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57368\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57369\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57370\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57371\": [0.13597, 0.63597, 0, 0, 0.77778]\n },\n \"Caligraphic-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68333, 0, 0.19445, 0.79847],\n \"66\": [0, 0.68333, 0.03041, 0.13889, 0.65681],\n \"67\": [0, 0.68333, 0.05834, 0.13889, 0.52653],\n \"68\": [0, 0.68333, 0.02778, 0.08334, 0.77139],\n \"69\": [0, 0.68333, 0.08944, 0.11111, 0.52778],\n \"70\": [0, 0.68333, 0.09931, 0.11111, 0.71875],\n \"71\": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],\n \"72\": [0, 0.68333, 0.00965, 0.11111, 0.84452],\n \"73\": [0, 0.68333, 0.07382, 0, 0.54452],\n \"74\": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],\n \"75\": [0, 0.68333, 0.01445, 0.05556, 0.76195],\n \"76\": [0, 0.68333, 0, 0.13889, 0.68972],\n \"77\": [0, 0.68333, 0, 0.13889, 1.2009],\n \"78\": [0, 0.68333, 0.14736, 0.08334, 0.82049],\n \"79\": [0, 0.68333, 0.02778, 0.11111, 0.79611],\n \"80\": [0, 0.68333, 0.08222, 0.08334, 0.69556],\n \"81\": [0.09722, 0.68333, 0, 0.11111, 0.81667],\n \"82\": [0, 0.68333, 0, 0.08334, 0.8475],\n \"83\": [0, 0.68333, 0.075, 0.13889, 0.60556],\n \"84\": [0, 0.68333, 0.25417, 0, 0.54464],\n \"85\": [0, 0.68333, 0.09931, 0.08334, 0.62583],\n \"86\": [0, 0.68333, 0.08222, 0, 0.61278],\n \"87\": [0, 0.68333, 0.08222, 0.08334, 0.98778],\n \"88\": [0, 0.68333, 0.14643, 0.13889, 0.7133],\n \"89\": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],\n \"90\": [0, 0.68333, 0.07944, 0.13889, 0.72473],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Fraktur-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69141, 0, 0, 0.29574],\n \"34\": [0, 0.69141, 0, 0, 0.21471],\n \"38\": [0, 0.69141, 0, 0, 0.73786],\n \"39\": [0, 0.69141, 0, 0, 0.21201],\n \"40\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"41\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"42\": [0, 0.62119, 0, 0, 0.27764],\n \"43\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"44\": [0, 0.10803, 0, 0, 0.27764],\n \"45\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"46\": [0, 0.10803, 0, 0, 0.27764],\n \"47\": [0.24982, 0.74947, 0, 0, 0.50181],\n \"48\": [0, 0.47534, 0, 0, 0.50181],\n \"49\": [0, 0.47534, 0, 0, 0.50181],\n \"50\": [0, 0.47534, 0, 0, 0.50181],\n \"51\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"52\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"53\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"54\": [0, 0.69141, 0, 0, 0.50181],\n \"55\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"56\": [0, 0.69141, 0, 0, 0.50181],\n \"57\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"58\": [0, 0.47534, 0, 0, 0.21606],\n \"59\": [0.12604, 0.47534, 0, 0, 0.21606],\n \"61\": [-0.13099, 0.36866, 0, 0, 0.75623],\n \"63\": [0, 0.69141, 0, 0, 0.36245],\n \"65\": [0, 0.69141, 0, 0, 0.7176],\n \"66\": [0, 0.69141, 0, 0, 0.88397],\n \"67\": [0, 0.69141, 0, 0, 0.61254],\n \"68\": [0, 0.69141, 0, 0, 0.83158],\n \"69\": [0, 0.69141, 0, 0, 0.66278],\n \"70\": [0.12604, 0.69141, 0, 0, 0.61119],\n \"71\": [0, 0.69141, 0, 0, 0.78539],\n \"72\": [0.06302, 0.69141, 0, 0, 0.7203],\n \"73\": [0, 0.69141, 0, 0, 0.55448],\n \"74\": [0.12604, 0.69141, 0, 0, 0.55231],\n \"75\": [0, 0.69141, 0, 0, 0.66845],\n \"76\": [0, 0.69141, 0, 0, 0.66602],\n \"77\": [0, 0.69141, 0, 0, 1.04953],\n \"78\": [0, 0.69141, 0, 0, 0.83212],\n \"79\": [0, 0.69141, 0, 0, 0.82699],\n \"80\": [0.18906, 0.69141, 0, 0, 0.82753],\n \"81\": [0.03781, 0.69141, 0, 0, 0.82699],\n \"82\": [0, 0.69141, 0, 0, 0.82807],\n \"83\": [0, 0.69141, 0, 0, 0.82861],\n \"84\": [0, 0.69141, 0, 0, 0.66899],\n \"85\": [0, 0.69141, 0, 0, 0.64576],\n \"86\": [0, 0.69141, 0, 0, 0.83131],\n \"87\": [0, 0.69141, 0, 0, 1.04602],\n \"88\": [0, 0.69141, 0, 0, 0.71922],\n \"89\": [0.18906, 0.69141, 0, 0, 0.83293],\n \"90\": [0.12604, 0.69141, 0, 0, 0.60201],\n \"91\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"93\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"94\": [0, 0.69141, 0, 0, 0.49965],\n \"97\": [0, 0.47534, 0, 0, 0.50046],\n \"98\": [0, 0.69141, 0, 0, 0.51315],\n \"99\": [0, 0.47534, 0, 0, 0.38946],\n \"100\": [0, 0.62119, 0, 0, 0.49857],\n \"101\": [0, 0.47534, 0, 0, 0.40053],\n \"102\": [0.18906, 0.69141, 0, 0, 0.32626],\n \"103\": [0.18906, 0.47534, 0, 0, 0.5037],\n \"104\": [0.18906, 0.69141, 0, 0, 0.52126],\n \"105\": [0, 0.69141, 0, 0, 0.27899],\n \"106\": [0, 0.69141, 0, 0, 0.28088],\n \"107\": [0, 0.69141, 0, 0, 0.38946],\n \"108\": [0, 0.69141, 0, 0, 0.27953],\n \"109\": [0, 0.47534, 0, 0, 0.76676],\n \"110\": [0, 0.47534, 0, 0, 0.52666],\n \"111\": [0, 0.47534, 0, 0, 0.48885],\n \"112\": [0.18906, 0.52396, 0, 0, 0.50046],\n \"113\": [0.18906, 0.47534, 0, 0, 0.48912],\n \"114\": [0, 0.47534, 0, 0, 0.38919],\n \"115\": [0, 0.47534, 0, 0, 0.44266],\n \"116\": [0, 0.62119, 0, 0, 0.33301],\n \"117\": [0, 0.47534, 0, 0, 0.5172],\n \"118\": [0, 0.52396, 0, 0, 0.5118],\n \"119\": [0, 0.52396, 0, 0, 0.77351],\n \"120\": [0.18906, 0.47534, 0, 0, 0.38865],\n \"121\": [0.18906, 0.47534, 0, 0, 0.49884],\n \"122\": [0.18906, 0.47534, 0, 0, 0.39054],\n \"160\": [0, 0, 0, 0, 0.25],\n \"8216\": [0, 0.69141, 0, 0, 0.21471],\n \"8217\": [0, 0.69141, 0, 0, 0.21471],\n \"58112\": [0, 0.62119, 0, 0, 0.49749],\n \"58113\": [0, 0.62119, 0, 0, 0.4983],\n \"58114\": [0.18906, 0.69141, 0, 0, 0.33328],\n \"58115\": [0.18906, 0.69141, 0, 0, 0.32923],\n \"58116\": [0.18906, 0.47534, 0, 0, 0.50343],\n \"58117\": [0, 0.69141, 0, 0, 0.33301],\n \"58118\": [0, 0.62119, 0, 0, 0.33409],\n \"58119\": [0, 0.47534, 0, 0, 0.50073]\n },\n \"Main-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.35],\n \"34\": [0, 0.69444, 0, 0, 0.60278],\n \"35\": [0.19444, 0.69444, 0, 0, 0.95833],\n \"36\": [0.05556, 0.75, 0, 0, 0.575],\n \"37\": [0.05556, 0.75, 0, 0, 0.95833],\n \"38\": [0, 0.69444, 0, 0, 0.89444],\n \"39\": [0, 0.69444, 0, 0, 0.31944],\n \"40\": [0.25, 0.75, 0, 0, 0.44722],\n \"41\": [0.25, 0.75, 0, 0, 0.44722],\n \"42\": [0, 0.75, 0, 0, 0.575],\n \"43\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"44\": [0.19444, 0.15556, 0, 0, 0.31944],\n \"45\": [0, 0.44444, 0, 0, 0.38333],\n \"46\": [0, 0.15556, 0, 0, 0.31944],\n \"47\": [0.25, 0.75, 0, 0, 0.575],\n \"48\": [0, 0.64444, 0, 0, 0.575],\n \"49\": [0, 0.64444, 0, 0, 0.575],\n \"50\": [0, 0.64444, 0, 0, 0.575],\n \"51\": [0, 0.64444, 0, 0, 0.575],\n \"52\": [0, 0.64444, 0, 0, 0.575],\n \"53\": [0, 0.64444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0, 0.64444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0, 0.64444, 0, 0, 0.575],\n \"58\": [0, 0.44444, 0, 0, 0.31944],\n \"59\": [0.19444, 0.44444, 0, 0, 0.31944],\n \"60\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"61\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"62\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"63\": [0, 0.69444, 0, 0, 0.54305],\n \"64\": [0, 0.69444, 0, 0, 0.89444],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0, 0, 0.81805],\n \"67\": [0, 0.68611, 0, 0, 0.83055],\n \"68\": [0, 0.68611, 0, 0, 0.88194],\n \"69\": [0, 0.68611, 0, 0, 0.75555],\n \"70\": [0, 0.68611, 0, 0, 0.72361],\n \"71\": [0, 0.68611, 0, 0, 0.90416],\n \"72\": [0, 0.68611, 0, 0, 0.9],\n \"73\": [0, 0.68611, 0, 0, 0.43611],\n \"74\": [0, 0.68611, 0, 0, 0.59444],\n \"75\": [0, 0.68611, 0, 0, 0.90138],\n \"76\": [0, 0.68611, 0, 0, 0.69166],\n \"77\": [0, 0.68611, 0, 0, 1.09166],\n \"78\": [0, 0.68611, 0, 0, 0.9],\n \"79\": [0, 0.68611, 0, 0, 0.86388],\n \"80\": [0, 0.68611, 0, 0, 0.78611],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86388],\n \"82\": [0, 0.68611, 0, 0, 0.8625],\n \"83\": [0, 0.68611, 0, 0, 0.63889],\n \"84\": [0, 0.68611, 0, 0, 0.8],\n \"85\": [0, 0.68611, 0, 0, 0.88472],\n \"86\": [0, 0.68611, 0.01597, 0, 0.86944],\n \"87\": [0, 0.68611, 0.01597, 0, 1.18888],\n \"88\": [0, 0.68611, 0, 0, 0.86944],\n \"89\": [0, 0.68611, 0.02875, 0, 0.86944],\n \"90\": [0, 0.68611, 0, 0, 0.70277],\n \"91\": [0.25, 0.75, 0, 0, 0.31944],\n \"92\": [0.25, 0.75, 0, 0, 0.575],\n \"93\": [0.25, 0.75, 0, 0, 0.31944],\n \"94\": [0, 0.69444, 0, 0, 0.575],\n \"95\": [0.31, 0.13444, 0.03194, 0, 0.575],\n \"97\": [0, 0.44444, 0, 0, 0.55902],\n \"98\": [0, 0.69444, 0, 0, 0.63889],\n \"99\": [0, 0.44444, 0, 0, 0.51111],\n \"100\": [0, 0.69444, 0, 0, 0.63889],\n \"101\": [0, 0.44444, 0, 0, 0.52708],\n \"102\": [0, 0.69444, 0.10903, 0, 0.35139],\n \"103\": [0.19444, 0.44444, 0.01597, 0, 0.575],\n \"104\": [0, 0.69444, 0, 0, 0.63889],\n \"105\": [0, 0.69444, 0, 0, 0.31944],\n \"106\": [0.19444, 0.69444, 0, 0, 0.35139],\n \"107\": [0, 0.69444, 0, 0, 0.60694],\n \"108\": [0, 0.69444, 0, 0, 0.31944],\n \"109\": [0, 0.44444, 0, 0, 0.95833],\n \"110\": [0, 0.44444, 0, 0, 0.63889],\n \"111\": [0, 0.44444, 0, 0, 0.575],\n \"112\": [0.19444, 0.44444, 0, 0, 0.63889],\n \"113\": [0.19444, 0.44444, 0, 0, 0.60694],\n \"114\": [0, 0.44444, 0, 0, 0.47361],\n \"115\": [0, 0.44444, 0, 0, 0.45361],\n \"116\": [0, 0.63492, 0, 0, 0.44722],\n \"117\": [0, 0.44444, 0, 0, 0.63889],\n \"118\": [0, 0.44444, 0.01597, 0, 0.60694],\n \"119\": [0, 0.44444, 0.01597, 0, 0.83055],\n \"120\": [0, 0.44444, 0, 0, 0.60694],\n \"121\": [0.19444, 0.44444, 0.01597, 0, 0.60694],\n \"122\": [0, 0.44444, 0, 0, 0.51111],\n \"123\": [0.25, 0.75, 0, 0, 0.575],\n \"124\": [0.25, 0.75, 0, 0, 0.31944],\n \"125\": [0.25, 0.75, 0, 0, 0.575],\n \"126\": [0.35, 0.34444, 0, 0, 0.575],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.86853],\n \"168\": [0, 0.69444, 0, 0, 0.575],\n \"172\": [0, 0.44444, 0, 0, 0.76666],\n \"176\": [0, 0.69444, 0, 0, 0.86944],\n \"177\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"184\": [0.17014, 0, 0, 0, 0.51111],\n \"198\": [0, 0.68611, 0, 0, 1.04166],\n \"215\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"216\": [0.04861, 0.73472, 0, 0, 0.89444],\n \"223\": [0, 0.69444, 0, 0, 0.59722],\n \"230\": [0, 0.44444, 0, 0, 0.83055],\n \"247\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"248\": [0.09722, 0.54167, 0, 0, 0.575],\n \"305\": [0, 0.44444, 0, 0, 0.31944],\n \"338\": [0, 0.68611, 0, 0, 1.16944],\n \"339\": [0, 0.44444, 0, 0, 0.89444],\n \"567\": [0.19444, 0.44444, 0, 0, 0.35139],\n \"710\": [0, 0.69444, 0, 0, 0.575],\n \"711\": [0, 0.63194, 0, 0, 0.575],\n \"713\": [0, 0.59611, 0, 0, 0.575],\n \"714\": [0, 0.69444, 0, 0, 0.575],\n \"715\": [0, 0.69444, 0, 0, 0.575],\n \"728\": [0, 0.69444, 0, 0, 0.575],\n \"729\": [0, 0.69444, 0, 0, 0.31944],\n \"730\": [0, 0.69444, 0, 0, 0.86944],\n \"732\": [0, 0.69444, 0, 0, 0.575],\n \"733\": [0, 0.69444, 0, 0, 0.575],\n \"915\": [0, 0.68611, 0, 0, 0.69166],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0, 0, 0.89444],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0, 0, 0.76666],\n \"928\": [0, 0.68611, 0, 0, 0.9],\n \"931\": [0, 0.68611, 0, 0, 0.83055],\n \"933\": [0, 0.68611, 0, 0, 0.89444],\n \"934\": [0, 0.68611, 0, 0, 0.83055],\n \"936\": [0, 0.68611, 0, 0, 0.89444],\n \"937\": [0, 0.68611, 0, 0, 0.83055],\n \"8211\": [0, 0.44444, 0.03194, 0, 0.575],\n \"8212\": [0, 0.44444, 0.03194, 0, 1.14999],\n \"8216\": [0, 0.69444, 0, 0, 0.31944],\n \"8217\": [0, 0.69444, 0, 0, 0.31944],\n \"8220\": [0, 0.69444, 0, 0, 0.60278],\n \"8221\": [0, 0.69444, 0, 0, 0.60278],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8242\": [0, 0.55556, 0, 0, 0.34444],\n \"8407\": [0, 0.72444, 0.15486, 0, 0.575],\n \"8463\": [0, 0.69444, 0, 0, 0.66759],\n \"8465\": [0, 0.69444, 0, 0, 0.83055],\n \"8467\": [0, 0.69444, 0, 0, 0.47361],\n \"8472\": [0.19444, 0.44444, 0, 0, 0.74027],\n \"8476\": [0, 0.69444, 0, 0, 0.83055],\n \"8501\": [0, 0.69444, 0, 0, 0.70277],\n \"8592\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8594\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8596\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8597\": [0.25, 0.75, 0, 0, 0.575],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8636\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8637\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8640\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8641\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8656\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8658\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8660\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8661\": [0.25, 0.75, 0, 0, 0.70277],\n \"8704\": [0, 0.69444, 0, 0, 0.63889],\n \"8706\": [0, 0.69444, 0.06389, 0, 0.62847],\n \"8707\": [0, 0.69444, 0, 0, 0.63889],\n \"8709\": [0.05556, 0.75, 0, 0, 0.575],\n \"8711\": [0, 0.68611, 0, 0, 0.95833],\n \"8712\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8715\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8722\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8723\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8725\": [0.25, 0.75, 0, 0, 0.575],\n \"8726\": [0.25, 0.75, 0, 0, 0.575],\n \"8727\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8728\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8729\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8730\": [0.18, 0.82, 0, 0, 0.95833],\n \"8733\": [0, 0.44444, 0, 0, 0.89444],\n \"8734\": [0, 0.44444, 0, 0, 1.14999],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.31944],\n \"8741\": [0.25, 0.75, 0, 0, 0.575],\n \"8743\": [0, 0.55556, 0, 0, 0.76666],\n \"8744\": [0, 0.55556, 0, 0, 0.76666],\n \"8745\": [0, 0.55556, 0, 0, 0.76666],\n \"8746\": [0, 0.55556, 0, 0, 0.76666],\n \"8747\": [0.19444, 0.69444, 0.12778, 0, 0.56875],\n \"8764\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.31944],\n \"8771\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8773\": [0.027, 0.638, 0, 0, 0.894],\n \"8776\": [0.02444, 0.52444, 0, 0, 0.89444],\n \"8781\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8801\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8804\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8805\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8810\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8811\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8826\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8827\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8834\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8835\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8838\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8839\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8846\": [0, 0.55556, 0, 0, 0.76666],\n \"8849\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8850\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8851\": [0, 0.55556, 0, 0, 0.76666],\n \"8852\": [0, 0.55556, 0, 0, 0.76666],\n \"8853\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8854\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8855\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8856\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8857\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8866\": [0, 0.69444, 0, 0, 0.70277],\n \"8867\": [0, 0.69444, 0, 0, 0.70277],\n \"8868\": [0, 0.69444, 0, 0, 0.89444],\n \"8869\": [0, 0.69444, 0, 0, 0.89444],\n \"8900\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8901\": [-0.02639, 0.47361, 0, 0, 0.31944],\n \"8902\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8968\": [0.25, 0.75, 0, 0, 0.51111],\n \"8969\": [0.25, 0.75, 0, 0, 0.51111],\n \"8970\": [0.25, 0.75, 0, 0, 0.51111],\n \"8971\": [0.25, 0.75, 0, 0, 0.51111],\n \"8994\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"8995\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"9651\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9657\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9661\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9667\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9837\": [0, 0.75, 0, 0, 0.44722],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"10216\": [0.25, 0.75, 0, 0, 0.44722],\n \"10217\": [0.25, 0.75, 0, 0, 0.44722],\n \"10815\": [0, 0.68611, 0, 0, 0.9],\n \"10927\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"10928\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Main-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.11417, 0, 0.38611],\n \"34\": [0, 0.69444, 0.07939, 0, 0.62055],\n \"35\": [0.19444, 0.69444, 0.06833, 0, 0.94444],\n \"37\": [0.05556, 0.75, 0.12861, 0, 0.94444],\n \"38\": [0, 0.69444, 0.08528, 0, 0.88555],\n \"39\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"40\": [0.25, 0.75, 0.15806, 0, 0.47333],\n \"41\": [0.25, 0.75, 0.03306, 0, 0.47333],\n \"42\": [0, 0.75, 0.14333, 0, 0.59111],\n \"43\": [0.10333, 0.60333, 0.03306, 0, 0.88555],\n \"44\": [0.19444, 0.14722, 0, 0, 0.35555],\n \"45\": [0, 0.44444, 0.02611, 0, 0.41444],\n \"46\": [0, 0.14722, 0, 0, 0.35555],\n \"47\": [0.25, 0.75, 0.15806, 0, 0.59111],\n \"48\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"49\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"50\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"51\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"52\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"53\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"54\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"55\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"56\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"57\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"58\": [0, 0.44444, 0.06695, 0, 0.35555],\n \"59\": [0.19444, 0.44444, 0.06695, 0, 0.35555],\n \"61\": [-0.10889, 0.39111, 0.06833, 0, 0.88555],\n \"63\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"64\": [0, 0.69444, 0.09208, 0, 0.88555],\n \"65\": [0, 0.68611, 0, 0, 0.86555],\n \"66\": [0, 0.68611, 0.0992, 0, 0.81666],\n \"67\": [0, 0.68611, 0.14208, 0, 0.82666],\n \"68\": [0, 0.68611, 0.09062, 0, 0.87555],\n \"69\": [0, 0.68611, 0.11431, 0, 0.75666],\n \"70\": [0, 0.68611, 0.12903, 0, 0.72722],\n \"71\": [0, 0.68611, 0.07347, 0, 0.89527],\n \"72\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"73\": [0, 0.68611, 0.15681, 0, 0.47166],\n \"74\": [0, 0.68611, 0.145, 0, 0.61055],\n \"75\": [0, 0.68611, 0.14208, 0, 0.89499],\n \"76\": [0, 0.68611, 0, 0, 0.69777],\n \"77\": [0, 0.68611, 0.17208, 0, 1.07277],\n \"78\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"79\": [0, 0.68611, 0.09062, 0, 0.85499],\n \"80\": [0, 0.68611, 0.0992, 0, 0.78721],\n \"81\": [0.19444, 0.68611, 0.09062, 0, 0.85499],\n \"82\": [0, 0.68611, 0.02559, 0, 0.85944],\n \"83\": [0, 0.68611, 0.11264, 0, 0.64999],\n \"84\": [0, 0.68611, 0.12903, 0, 0.7961],\n \"85\": [0, 0.68611, 0.17208, 0, 0.88083],\n \"86\": [0, 0.68611, 0.18625, 0, 0.86555],\n \"87\": [0, 0.68611, 0.18625, 0, 1.15999],\n \"88\": [0, 0.68611, 0.15681, 0, 0.86555],\n \"89\": [0, 0.68611, 0.19803, 0, 0.86555],\n \"90\": [0, 0.68611, 0.14208, 0, 0.70888],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.35611],\n \"93\": [0.25, 0.75, 0.09972, 0, 0.35611],\n \"94\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"95\": [0.31, 0.13444, 0.09811, 0, 0.59111],\n \"97\": [0, 0.44444, 0.09426, 0, 0.59111],\n \"98\": [0, 0.69444, 0.07861, 0, 0.53222],\n \"99\": [0, 0.44444, 0.05222, 0, 0.53222],\n \"100\": [0, 0.69444, 0.10861, 0, 0.59111],\n \"101\": [0, 0.44444, 0.085, 0, 0.53222],\n \"102\": [0.19444, 0.69444, 0.21778, 0, 0.4],\n \"103\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"104\": [0, 0.69444, 0.09426, 0, 0.59111],\n \"105\": [0, 0.69326, 0.11387, 0, 0.35555],\n \"106\": [0.19444, 0.69326, 0.1672, 0, 0.35555],\n \"107\": [0, 0.69444, 0.11111, 0, 0.53222],\n \"108\": [0, 0.69444, 0.10861, 0, 0.29666],\n \"109\": [0, 0.44444, 0.09426, 0, 0.94444],\n \"110\": [0, 0.44444, 0.09426, 0, 0.64999],\n \"111\": [0, 0.44444, 0.07861, 0, 0.59111],\n \"112\": [0.19444, 0.44444, 0.07861, 0, 0.59111],\n \"113\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"114\": [0, 0.44444, 0.11111, 0, 0.50167],\n \"115\": [0, 0.44444, 0.08167, 0, 0.48694],\n \"116\": [0, 0.63492, 0.09639, 0, 0.385],\n \"117\": [0, 0.44444, 0.09426, 0, 0.62055],\n \"118\": [0, 0.44444, 0.11111, 0, 0.53222],\n \"119\": [0, 0.44444, 0.11111, 0, 0.76777],\n \"120\": [0, 0.44444, 0.12583, 0, 0.56055],\n \"121\": [0.19444, 0.44444, 0.105, 0, 0.56166],\n \"122\": [0, 0.44444, 0.13889, 0, 0.49055],\n \"126\": [0.35, 0.34444, 0.11472, 0, 0.59111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0.11473, 0, 0.59111],\n \"176\": [0, 0.69444, 0, 0, 0.94888],\n \"184\": [0.17014, 0, 0, 0, 0.53222],\n \"198\": [0, 0.68611, 0.11431, 0, 1.02277],\n \"216\": [0.04861, 0.73472, 0.09062, 0, 0.88555],\n \"223\": [0.19444, 0.69444, 0.09736, 0, 0.665],\n \"230\": [0, 0.44444, 0.085, 0, 0.82666],\n \"248\": [0.09722, 0.54167, 0.09458, 0, 0.59111],\n \"305\": [0, 0.44444, 0.09426, 0, 0.35555],\n \"338\": [0, 0.68611, 0.11431, 0, 1.14054],\n \"339\": [0, 0.44444, 0.085, 0, 0.82666],\n \"567\": [0.19444, 0.44444, 0.04611, 0, 0.385],\n \"710\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"711\": [0, 0.63194, 0.08271, 0, 0.59111],\n \"713\": [0, 0.59444, 0.10444, 0, 0.59111],\n \"714\": [0, 0.69444, 0.08528, 0, 0.59111],\n \"715\": [0, 0.69444, 0, 0, 0.59111],\n \"728\": [0, 0.69444, 0.10333, 0, 0.59111],\n \"729\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"730\": [0, 0.69444, 0, 0, 0.94888],\n \"732\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"733\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"915\": [0, 0.68611, 0.12903, 0, 0.69777],\n \"916\": [0, 0.68611, 0, 0, 0.94444],\n \"920\": [0, 0.68611, 0.09062, 0, 0.88555],\n \"923\": [0, 0.68611, 0, 0, 0.80666],\n \"926\": [0, 0.68611, 0.15092, 0, 0.76777],\n \"928\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"931\": [0, 0.68611, 0.11431, 0, 0.82666],\n \"933\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"934\": [0, 0.68611, 0.05632, 0, 0.82666],\n \"936\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"937\": [0, 0.68611, 0.0992, 0, 0.82666],\n \"8211\": [0, 0.44444, 0.09811, 0, 0.59111],\n \"8212\": [0, 0.44444, 0.09811, 0, 1.18221],\n \"8216\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8217\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8220\": [0, 0.69444, 0.16772, 0, 0.62055],\n \"8221\": [0, 0.69444, 0.07939, 0, 0.62055]\n },\n \"Main-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"34\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"35\": [0.19444, 0.69444, 0.06616, 0, 0.81777],\n \"37\": [0.05556, 0.75, 0.13639, 0, 0.81777],\n \"38\": [0, 0.69444, 0.09694, 0, 0.76666],\n \"39\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"40\": [0.25, 0.75, 0.16194, 0, 0.40889],\n \"41\": [0.25, 0.75, 0.03694, 0, 0.40889],\n \"42\": [0, 0.75, 0.14917, 0, 0.51111],\n \"43\": [0.05667, 0.56167, 0.03694, 0, 0.76666],\n \"44\": [0.19444, 0.10556, 0, 0, 0.30667],\n \"45\": [0, 0.43056, 0.02826, 0, 0.35778],\n \"46\": [0, 0.10556, 0, 0, 0.30667],\n \"47\": [0.25, 0.75, 0.16194, 0, 0.51111],\n \"48\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"49\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"50\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"51\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"52\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"53\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"54\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"55\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"56\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"57\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"58\": [0, 0.43056, 0.0582, 0, 0.30667],\n \"59\": [0.19444, 0.43056, 0.0582, 0, 0.30667],\n \"61\": [-0.13313, 0.36687, 0.06616, 0, 0.76666],\n \"63\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"64\": [0, 0.69444, 0.09597, 0, 0.76666],\n \"65\": [0, 0.68333, 0, 0, 0.74333],\n \"66\": [0, 0.68333, 0.10257, 0, 0.70389],\n \"67\": [0, 0.68333, 0.14528, 0, 0.71555],\n \"68\": [0, 0.68333, 0.09403, 0, 0.755],\n \"69\": [0, 0.68333, 0.12028, 0, 0.67833],\n \"70\": [0, 0.68333, 0.13305, 0, 0.65277],\n \"71\": [0, 0.68333, 0.08722, 0, 0.77361],\n \"72\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"73\": [0, 0.68333, 0.15806, 0, 0.38555],\n \"74\": [0, 0.68333, 0.14028, 0, 0.525],\n \"75\": [0, 0.68333, 0.14528, 0, 0.76888],\n \"76\": [0, 0.68333, 0, 0, 0.62722],\n \"77\": [0, 0.68333, 0.16389, 0, 0.89666],\n \"78\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"79\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"80\": [0, 0.68333, 0.10257, 0, 0.67833],\n \"81\": [0.19444, 0.68333, 0.09403, 0, 0.76666],\n \"82\": [0, 0.68333, 0.03868, 0, 0.72944],\n \"83\": [0, 0.68333, 0.11972, 0, 0.56222],\n \"84\": [0, 0.68333, 0.13305, 0, 0.71555],\n \"85\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"86\": [0, 0.68333, 0.18361, 0, 0.74333],\n \"87\": [0, 0.68333, 0.18361, 0, 0.99888],\n \"88\": [0, 0.68333, 0.15806, 0, 0.74333],\n \"89\": [0, 0.68333, 0.19383, 0, 0.74333],\n \"90\": [0, 0.68333, 0.14528, 0, 0.61333],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.30667],\n \"93\": [0.25, 0.75, 0.10528, 0, 0.30667],\n \"94\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"95\": [0.31, 0.12056, 0.09208, 0, 0.51111],\n \"97\": [0, 0.43056, 0.07671, 0, 0.51111],\n \"98\": [0, 0.69444, 0.06312, 0, 0.46],\n \"99\": [0, 0.43056, 0.05653, 0, 0.46],\n \"100\": [0, 0.69444, 0.10333, 0, 0.51111],\n \"101\": [0, 0.43056, 0.07514, 0, 0.46],\n \"102\": [0.19444, 0.69444, 0.21194, 0, 0.30667],\n \"103\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"104\": [0, 0.69444, 0.07671, 0, 0.51111],\n \"105\": [0, 0.65536, 0.1019, 0, 0.30667],\n \"106\": [0.19444, 0.65536, 0.14467, 0, 0.30667],\n \"107\": [0, 0.69444, 0.10764, 0, 0.46],\n \"108\": [0, 0.69444, 0.10333, 0, 0.25555],\n \"109\": [0, 0.43056, 0.07671, 0, 0.81777],\n \"110\": [0, 0.43056, 0.07671, 0, 0.56222],\n \"111\": [0, 0.43056, 0.06312, 0, 0.51111],\n \"112\": [0.19444, 0.43056, 0.06312, 0, 0.51111],\n \"113\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"114\": [0, 0.43056, 0.10764, 0, 0.42166],\n \"115\": [0, 0.43056, 0.08208, 0, 0.40889],\n \"116\": [0, 0.61508, 0.09486, 0, 0.33222],\n \"117\": [0, 0.43056, 0.07671, 0, 0.53666],\n \"118\": [0, 0.43056, 0.10764, 0, 0.46],\n \"119\": [0, 0.43056, 0.10764, 0, 0.66444],\n \"120\": [0, 0.43056, 0.12042, 0, 0.46389],\n \"121\": [0.19444, 0.43056, 0.08847, 0, 0.48555],\n \"122\": [0, 0.43056, 0.12292, 0, 0.40889],\n \"126\": [0.35, 0.31786, 0.11585, 0, 0.51111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.66786, 0.10474, 0, 0.51111],\n \"176\": [0, 0.69444, 0, 0, 0.83129],\n \"184\": [0.17014, 0, 0, 0, 0.46],\n \"198\": [0, 0.68333, 0.12028, 0, 0.88277],\n \"216\": [0.04861, 0.73194, 0.09403, 0, 0.76666],\n \"223\": [0.19444, 0.69444, 0.10514, 0, 0.53666],\n \"230\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"248\": [0.09722, 0.52778, 0.09194, 0, 0.51111],\n \"338\": [0, 0.68333, 0.12028, 0, 0.98499],\n \"339\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"710\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"711\": [0, 0.62847, 0.08295, 0, 0.51111],\n \"713\": [0, 0.56167, 0.10333, 0, 0.51111],\n \"714\": [0, 0.69444, 0.09694, 0, 0.51111],\n \"715\": [0, 0.69444, 0, 0, 0.51111],\n \"728\": [0, 0.69444, 0.10806, 0, 0.51111],\n \"729\": [0, 0.66786, 0.11752, 0, 0.30667],\n \"730\": [0, 0.69444, 0, 0, 0.83129],\n \"732\": [0, 0.66786, 0.11585, 0, 0.51111],\n \"733\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"915\": [0, 0.68333, 0.13305, 0, 0.62722],\n \"916\": [0, 0.68333, 0, 0, 0.81777],\n \"920\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"923\": [0, 0.68333, 0, 0, 0.69222],\n \"926\": [0, 0.68333, 0.15294, 0, 0.66444],\n \"928\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"931\": [0, 0.68333, 0.12028, 0, 0.71555],\n \"933\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"934\": [0, 0.68333, 0.05986, 0, 0.71555],\n \"936\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"937\": [0, 0.68333, 0.10257, 0, 0.71555],\n \"8211\": [0, 0.43056, 0.09208, 0, 0.51111],\n \"8212\": [0, 0.43056, 0.09208, 0, 1.02222],\n \"8216\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8217\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8220\": [0, 0.69444, 0.1685, 0, 0.51444],\n \"8221\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"8463\": [0, 0.68889, 0, 0, 0.54028]\n },\n \"Main-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.27778],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.77778],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.19444, 0.10556, 0, 0, 0.27778],\n \"45\": [0, 0.43056, 0, 0, 0.33333],\n \"46\": [0, 0.10556, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.64444, 0, 0, 0.5],\n \"49\": [0, 0.64444, 0, 0, 0.5],\n \"50\": [0, 0.64444, 0, 0, 0.5],\n \"51\": [0, 0.64444, 0, 0, 0.5],\n \"52\": [0, 0.64444, 0, 0, 0.5],\n \"53\": [0, 0.64444, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0, 0.64444, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0, 0.64444, 0, 0, 0.5],\n \"58\": [0, 0.43056, 0, 0, 0.27778],\n \"59\": [0.19444, 0.43056, 0, 0, 0.27778],\n \"60\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"61\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"62\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.77778],\n \"65\": [0, 0.68333, 0, 0, 0.75],\n \"66\": [0, 0.68333, 0, 0, 0.70834],\n \"67\": [0, 0.68333, 0, 0, 0.72222],\n \"68\": [0, 0.68333, 0, 0, 0.76389],\n \"69\": [0, 0.68333, 0, 0, 0.68056],\n \"70\": [0, 0.68333, 0, 0, 0.65278],\n \"71\": [0, 0.68333, 0, 0, 0.78472],\n \"72\": [0, 0.68333, 0, 0, 0.75],\n \"73\": [0, 0.68333, 0, 0, 0.36111],\n \"74\": [0, 0.68333, 0, 0, 0.51389],\n \"75\": [0, 0.68333, 0, 0, 0.77778],\n \"76\": [0, 0.68333, 0, 0, 0.625],\n \"77\": [0, 0.68333, 0, 0, 0.91667],\n \"78\": [0, 0.68333, 0, 0, 0.75],\n \"79\": [0, 0.68333, 0, 0, 0.77778],\n \"80\": [0, 0.68333, 0, 0, 0.68056],\n \"81\": [0.19444, 0.68333, 0, 0, 0.77778],\n \"82\": [0, 0.68333, 0, 0, 0.73611],\n \"83\": [0, 0.68333, 0, 0, 0.55556],\n \"84\": [0, 0.68333, 0, 0, 0.72222],\n \"85\": [0, 0.68333, 0, 0, 0.75],\n \"86\": [0, 0.68333, 0.01389, 0, 0.75],\n \"87\": [0, 0.68333, 0.01389, 0, 1.02778],\n \"88\": [0, 0.68333, 0, 0, 0.75],\n \"89\": [0, 0.68333, 0.025, 0, 0.75],\n \"90\": [0, 0.68333, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.27778],\n \"92\": [0.25, 0.75, 0, 0, 0.5],\n \"93\": [0.25, 0.75, 0, 0, 0.27778],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.31, 0.12056, 0.02778, 0, 0.5],\n \"97\": [0, 0.43056, 0, 0, 0.5],\n \"98\": [0, 0.69444, 0, 0, 0.55556],\n \"99\": [0, 0.43056, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.55556],\n \"101\": [0, 0.43056, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.07778, 0, 0.30556],\n \"103\": [0.19444, 0.43056, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.55556],\n \"105\": [0, 0.66786, 0, 0, 0.27778],\n \"106\": [0.19444, 0.66786, 0, 0, 0.30556],\n \"107\": [0, 0.69444, 0, 0, 0.52778],\n \"108\": [0, 0.69444, 0, 0, 0.27778],\n \"109\": [0, 0.43056, 0, 0, 0.83334],\n \"110\": [0, 0.43056, 0, 0, 0.55556],\n \"111\": [0, 0.43056, 0, 0, 0.5],\n \"112\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"113\": [0.19444, 0.43056, 0, 0, 0.52778],\n \"114\": [0, 0.43056, 0, 0, 0.39167],\n \"115\": [0, 0.43056, 0, 0, 0.39445],\n \"116\": [0, 0.61508, 0, 0, 0.38889],\n \"117\": [0, 0.43056, 0, 0, 0.55556],\n \"118\": [0, 0.43056, 0.01389, 0, 0.52778],\n \"119\": [0, 0.43056, 0.01389, 0, 0.72222],\n \"120\": [0, 0.43056, 0, 0, 0.52778],\n \"121\": [0.19444, 0.43056, 0.01389, 0, 0.52778],\n \"122\": [0, 0.43056, 0, 0, 0.44445],\n \"123\": [0.25, 0.75, 0, 0, 0.5],\n \"124\": [0.25, 0.75, 0, 0, 0.27778],\n \"125\": [0.25, 0.75, 0, 0, 0.5],\n \"126\": [0.35, 0.31786, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.76909],\n \"167\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"168\": [0, 0.66786, 0, 0, 0.5],\n \"172\": [0, 0.43056, 0, 0, 0.66667],\n \"176\": [0, 0.69444, 0, 0, 0.75],\n \"177\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"182\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"198\": [0, 0.68333, 0, 0, 0.90278],\n \"215\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"216\": [0.04861, 0.73194, 0, 0, 0.77778],\n \"223\": [0, 0.69444, 0, 0, 0.5],\n \"230\": [0, 0.43056, 0, 0, 0.72222],\n \"247\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"248\": [0.09722, 0.52778, 0, 0, 0.5],\n \"305\": [0, 0.43056, 0, 0, 0.27778],\n \"338\": [0, 0.68333, 0, 0, 1.01389],\n \"339\": [0, 0.43056, 0, 0, 0.77778],\n \"567\": [0.19444, 0.43056, 0, 0, 0.30556],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.62847, 0, 0, 0.5],\n \"713\": [0, 0.56778, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.66786, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.75],\n \"732\": [0, 0.66786, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.68333, 0, 0, 0.625],\n \"916\": [0, 0.68333, 0, 0, 0.83334],\n \"920\": [0, 0.68333, 0, 0, 0.77778],\n \"923\": [0, 0.68333, 0, 0, 0.69445],\n \"926\": [0, 0.68333, 0, 0, 0.66667],\n \"928\": [0, 0.68333, 0, 0, 0.75],\n \"931\": [0, 0.68333, 0, 0, 0.72222],\n \"933\": [0, 0.68333, 0, 0, 0.77778],\n \"934\": [0, 0.68333, 0, 0, 0.72222],\n \"936\": [0, 0.68333, 0, 0, 0.77778],\n \"937\": [0, 0.68333, 0, 0, 0.72222],\n \"8211\": [0, 0.43056, 0.02778, 0, 0.5],\n \"8212\": [0, 0.43056, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8230\": [0, 0.123, 0, 0, 1.172],\n \"8242\": [0, 0.55556, 0, 0, 0.275],\n \"8407\": [0, 0.71444, 0.15382, 0, 0.5],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8465\": [0, 0.69444, 0, 0, 0.72222],\n \"8467\": [0, 0.69444, 0, 0.11111, 0.41667],\n \"8472\": [0.19444, 0.43056, 0, 0.11111, 0.63646],\n \"8476\": [0, 0.69444, 0, 0, 0.72222],\n \"8501\": [0, 0.69444, 0, 0, 0.61111],\n \"8592\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8594\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8596\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8597\": [0.25, 0.75, 0, 0, 0.5],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8614\": [0.011, 0.511, 0, 0, 1.0],\n \"8617\": [0.011, 0.511, 0, 0, 1.126],\n \"8618\": [0.011, 0.511, 0, 0, 1.126],\n \"8636\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8637\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8640\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8641\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8652\": [0.011, 0.671, 0, 0, 1.0],\n \"8656\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8658\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8660\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8661\": [0.25, 0.75, 0, 0, 0.61111],\n \"8704\": [0, 0.69444, 0, 0, 0.55556],\n \"8706\": [0, 0.69444, 0.05556, 0.08334, 0.5309],\n \"8707\": [0, 0.69444, 0, 0, 0.55556],\n \"8709\": [0.05556, 0.75, 0, 0, 0.5],\n \"8711\": [0, 0.68333, 0, 0, 0.83334],\n \"8712\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8715\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8722\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8723\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8725\": [0.25, 0.75, 0, 0, 0.5],\n \"8726\": [0.25, 0.75, 0, 0, 0.5],\n \"8727\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8728\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8729\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8730\": [0.2, 0.8, 0, 0, 0.83334],\n \"8733\": [0, 0.43056, 0, 0, 0.77778],\n \"8734\": [0, 0.43056, 0, 0, 1.0],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.27778],\n \"8741\": [0.25, 0.75, 0, 0, 0.5],\n \"8743\": [0, 0.55556, 0, 0, 0.66667],\n \"8744\": [0, 0.55556, 0, 0, 0.66667],\n \"8745\": [0, 0.55556, 0, 0, 0.66667],\n \"8746\": [0, 0.55556, 0, 0, 0.66667],\n \"8747\": [0.19444, 0.69444, 0.11111, 0, 0.41667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.27778],\n \"8771\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8773\": [-0.022, 0.589, 0, 0, 0.778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8781\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8784\": [-0.133, 0.673, 0, 0, 0.778],\n \"8801\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8804\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8805\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8810\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8811\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8826\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8827\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8834\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8835\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8838\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8839\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8846\": [0, 0.55556, 0, 0, 0.66667],\n \"8849\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8850\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8851\": [0, 0.55556, 0, 0, 0.66667],\n \"8852\": [0, 0.55556, 0, 0, 0.66667],\n \"8853\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8854\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8855\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8856\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8857\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8866\": [0, 0.69444, 0, 0, 0.61111],\n \"8867\": [0, 0.69444, 0, 0, 0.61111],\n \"8868\": [0, 0.69444, 0, 0, 0.77778],\n \"8869\": [0, 0.69444, 0, 0, 0.77778],\n \"8872\": [0.249, 0.75, 0, 0, 0.867],\n \"8900\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8901\": [-0.05555, 0.44445, 0, 0, 0.27778],\n \"8902\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8904\": [0.005, 0.505, 0, 0, 0.9],\n \"8942\": [0.03, 0.903, 0, 0, 0.278],\n \"8943\": [-0.19, 0.313, 0, 0, 1.172],\n \"8945\": [-0.1, 0.823, 0, 0, 1.282],\n \"8968\": [0.25, 0.75, 0, 0, 0.44445],\n \"8969\": [0.25, 0.75, 0, 0, 0.44445],\n \"8970\": [0.25, 0.75, 0, 0, 0.44445],\n \"8971\": [0.25, 0.75, 0, 0, 0.44445],\n \"8994\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"8995\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"9136\": [0.244, 0.744, 0, 0, 0.412],\n \"9137\": [0.244, 0.745, 0, 0, 0.412],\n \"9651\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9657\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9661\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9667\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.0],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9837\": [0, 0.75, 0, 0, 0.38889],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"10216\": [0.25, 0.75, 0, 0, 0.38889],\n \"10217\": [0.25, 0.75, 0, 0, 0.38889],\n \"10222\": [0.244, 0.744, 0, 0, 0.412],\n \"10223\": [0.244, 0.745, 0, 0, 0.412],\n \"10229\": [0.011, 0.511, 0, 0, 1.609],\n \"10230\": [0.011, 0.511, 0, 0, 1.638],\n \"10231\": [0.011, 0.511, 0, 0, 1.859],\n \"10232\": [0.024, 0.525, 0, 0, 1.609],\n \"10233\": [0.024, 0.525, 0, 0, 1.638],\n \"10234\": [0.024, 0.525, 0, 0, 1.858],\n \"10236\": [0.011, 0.511, 0, 0, 1.638],\n \"10815\": [0, 0.68333, 0, 0, 0.75],\n \"10927\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10928\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Math-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.44444, 0, 0, 0.575],\n \"49\": [0, 0.44444, 0, 0, 0.575],\n \"50\": [0, 0.44444, 0, 0, 0.575],\n \"51\": [0.19444, 0.44444, 0, 0, 0.575],\n \"52\": [0.19444, 0.44444, 0, 0, 0.575],\n \"53\": [0.19444, 0.44444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0.19444, 0.44444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0.19444, 0.44444, 0, 0, 0.575],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0.04835, 0, 0.8664],\n \"67\": [0, 0.68611, 0.06979, 0, 0.81694],\n \"68\": [0, 0.68611, 0.03194, 0, 0.93812],\n \"69\": [0, 0.68611, 0.05451, 0, 0.81007],\n \"70\": [0, 0.68611, 0.15972, 0, 0.68889],\n \"71\": [0, 0.68611, 0, 0, 0.88673],\n \"72\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"73\": [0, 0.68611, 0.07778, 0, 0.51111],\n \"74\": [0, 0.68611, 0.10069, 0, 0.63125],\n \"75\": [0, 0.68611, 0.06979, 0, 0.97118],\n \"76\": [0, 0.68611, 0, 0, 0.75555],\n \"77\": [0, 0.68611, 0.11424, 0, 1.14201],\n \"78\": [0, 0.68611, 0.11424, 0, 0.95034],\n \"79\": [0, 0.68611, 0.03194, 0, 0.83666],\n \"80\": [0, 0.68611, 0.15972, 0, 0.72309],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86861],\n \"82\": [0, 0.68611, 0.00421, 0, 0.87235],\n \"83\": [0, 0.68611, 0.05382, 0, 0.69271],\n \"84\": [0, 0.68611, 0.15972, 0, 0.63663],\n \"85\": [0, 0.68611, 0.11424, 0, 0.80027],\n \"86\": [0, 0.68611, 0.25555, 0, 0.67778],\n \"87\": [0, 0.68611, 0.15972, 0, 1.09305],\n \"88\": [0, 0.68611, 0.07778, 0, 0.94722],\n \"89\": [0, 0.68611, 0.25555, 0, 0.67458],\n \"90\": [0, 0.68611, 0.06979, 0, 0.77257],\n \"97\": [0, 0.44444, 0, 0, 0.63287],\n \"98\": [0, 0.69444, 0, 0, 0.52083],\n \"99\": [0, 0.44444, 0, 0, 0.51342],\n \"100\": [0, 0.69444, 0, 0, 0.60972],\n \"101\": [0, 0.44444, 0, 0, 0.55361],\n \"102\": [0.19444, 0.69444, 0.11042, 0, 0.56806],\n \"103\": [0.19444, 0.44444, 0.03704, 0, 0.5449],\n \"104\": [0, 0.69444, 0, 0, 0.66759],\n \"105\": [0, 0.69326, 0, 0, 0.4048],\n \"106\": [0.19444, 0.69326, 0.0622, 0, 0.47083],\n \"107\": [0, 0.69444, 0.01852, 0, 0.6037],\n \"108\": [0, 0.69444, 0.0088, 0, 0.34815],\n \"109\": [0, 0.44444, 0, 0, 1.0324],\n \"110\": [0, 0.44444, 0, 0, 0.71296],\n \"111\": [0, 0.44444, 0, 0, 0.58472],\n \"112\": [0.19444, 0.44444, 0, 0, 0.60092],\n \"113\": [0.19444, 0.44444, 0.03704, 0, 0.54213],\n \"114\": [0, 0.44444, 0.03194, 0, 0.5287],\n \"115\": [0, 0.44444, 0, 0, 0.53125],\n \"116\": [0, 0.63492, 0, 0, 0.41528],\n \"117\": [0, 0.44444, 0, 0, 0.68102],\n \"118\": [0, 0.44444, 0.03704, 0, 0.56666],\n \"119\": [0, 0.44444, 0.02778, 0, 0.83148],\n \"120\": [0, 0.44444, 0, 0, 0.65903],\n \"121\": [0.19444, 0.44444, 0.03704, 0, 0.59028],\n \"122\": [0, 0.44444, 0.04213, 0, 0.55509],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68611, 0.15972, 0, 0.65694],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0.03194, 0, 0.86722],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0.07458, 0, 0.84125],\n \"928\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"931\": [0, 0.68611, 0.05451, 0, 0.88507],\n \"933\": [0, 0.68611, 0.15972, 0, 0.67083],\n \"934\": [0, 0.68611, 0, 0, 0.76666],\n \"936\": [0, 0.68611, 0.11653, 0, 0.71402],\n \"937\": [0, 0.68611, 0.04835, 0, 0.8789],\n \"945\": [0, 0.44444, 0, 0, 0.76064],\n \"946\": [0.19444, 0.69444, 0.03403, 0, 0.65972],\n \"947\": [0.19444, 0.44444, 0.06389, 0, 0.59003],\n \"948\": [0, 0.69444, 0.03819, 0, 0.52222],\n \"949\": [0, 0.44444, 0, 0, 0.52882],\n \"950\": [0.19444, 0.69444, 0.06215, 0, 0.50833],\n \"951\": [0.19444, 0.44444, 0.03704, 0, 0.6],\n \"952\": [0, 0.69444, 0.03194, 0, 0.5618],\n \"953\": [0, 0.44444, 0, 0, 0.41204],\n \"954\": [0, 0.44444, 0, 0, 0.66759],\n \"955\": [0, 0.69444, 0, 0, 0.67083],\n \"956\": [0.19444, 0.44444, 0, 0, 0.70787],\n \"957\": [0, 0.44444, 0.06898, 0, 0.57685],\n \"958\": [0.19444, 0.69444, 0.03021, 0, 0.50833],\n \"959\": [0, 0.44444, 0, 0, 0.58472],\n \"960\": [0, 0.44444, 0.03704, 0, 0.68241],\n \"961\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"962\": [0.09722, 0.44444, 0.07917, 0, 0.42361],\n \"963\": [0, 0.44444, 0.03704, 0, 0.68588],\n \"964\": [0, 0.44444, 0.13472, 0, 0.52083],\n \"965\": [0, 0.44444, 0.03704, 0, 0.63055],\n \"966\": [0.19444, 0.44444, 0, 0, 0.74722],\n \"967\": [0.19444, 0.44444, 0, 0, 0.71805],\n \"968\": [0.19444, 0.69444, 0.03704, 0, 0.75833],\n \"969\": [0, 0.44444, 0.03704, 0, 0.71782],\n \"977\": [0, 0.69444, 0, 0, 0.69155],\n \"981\": [0.19444, 0.69444, 0, 0, 0.7125],\n \"982\": [0, 0.44444, 0.03194, 0, 0.975],\n \"1009\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"1013\": [0, 0.44444, 0, 0, 0.48333],\n \"57649\": [0, 0.44444, 0, 0, 0.39352],\n \"57911\": [0.19444, 0.44444, 0, 0, 0.43889]\n },\n \"Math-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.43056, 0, 0, 0.5],\n \"49\": [0, 0.43056, 0, 0, 0.5],\n \"50\": [0, 0.43056, 0, 0, 0.5],\n \"51\": [0.19444, 0.43056, 0, 0, 0.5],\n \"52\": [0.19444, 0.43056, 0, 0, 0.5],\n \"53\": [0.19444, 0.43056, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0.19444, 0.43056, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0.19444, 0.43056, 0, 0, 0.5],\n \"65\": [0, 0.68333, 0, 0.13889, 0.75],\n \"66\": [0, 0.68333, 0.05017, 0.08334, 0.75851],\n \"67\": [0, 0.68333, 0.07153, 0.08334, 0.71472],\n \"68\": [0, 0.68333, 0.02778, 0.05556, 0.82792],\n \"69\": [0, 0.68333, 0.05764, 0.08334, 0.7382],\n \"70\": [0, 0.68333, 0.13889, 0.08334, 0.64306],\n \"71\": [0, 0.68333, 0, 0.08334, 0.78625],\n \"72\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"73\": [0, 0.68333, 0.07847, 0.11111, 0.43958],\n \"74\": [0, 0.68333, 0.09618, 0.16667, 0.55451],\n \"75\": [0, 0.68333, 0.07153, 0.05556, 0.84931],\n \"76\": [0, 0.68333, 0, 0.02778, 0.68056],\n \"77\": [0, 0.68333, 0.10903, 0.08334, 0.97014],\n \"78\": [0, 0.68333, 0.10903, 0.08334, 0.80347],\n \"79\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"80\": [0, 0.68333, 0.13889, 0.08334, 0.64201],\n \"81\": [0.19444, 0.68333, 0, 0.08334, 0.79056],\n \"82\": [0, 0.68333, 0.00773, 0.08334, 0.75929],\n \"83\": [0, 0.68333, 0.05764, 0.08334, 0.6132],\n \"84\": [0, 0.68333, 0.13889, 0.08334, 0.58438],\n \"85\": [0, 0.68333, 0.10903, 0.02778, 0.68278],\n \"86\": [0, 0.68333, 0.22222, 0, 0.58333],\n \"87\": [0, 0.68333, 0.13889, 0, 0.94445],\n \"88\": [0, 0.68333, 0.07847, 0.08334, 0.82847],\n \"89\": [0, 0.68333, 0.22222, 0, 0.58056],\n \"90\": [0, 0.68333, 0.07153, 0.08334, 0.68264],\n \"97\": [0, 0.43056, 0, 0, 0.52859],\n \"98\": [0, 0.69444, 0, 0, 0.42917],\n \"99\": [0, 0.43056, 0, 0.05556, 0.43276],\n \"100\": [0, 0.69444, 0, 0.16667, 0.52049],\n \"101\": [0, 0.43056, 0, 0.05556, 0.46563],\n \"102\": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],\n \"103\": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],\n \"104\": [0, 0.69444, 0, 0, 0.57616],\n \"105\": [0, 0.65952, 0, 0, 0.34451],\n \"106\": [0.19444, 0.65952, 0.05724, 0, 0.41181],\n \"107\": [0, 0.69444, 0.03148, 0, 0.5206],\n \"108\": [0, 0.69444, 0.01968, 0.08334, 0.29838],\n \"109\": [0, 0.43056, 0, 0, 0.87801],\n \"110\": [0, 0.43056, 0, 0, 0.60023],\n \"111\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"112\": [0.19444, 0.43056, 0, 0.08334, 0.50313],\n \"113\": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],\n \"114\": [0, 0.43056, 0.02778, 0.05556, 0.45116],\n \"115\": [0, 0.43056, 0, 0.05556, 0.46875],\n \"116\": [0, 0.61508, 0, 0.08334, 0.36111],\n \"117\": [0, 0.43056, 0, 0.02778, 0.57246],\n \"118\": [0, 0.43056, 0.03588, 0.02778, 0.48472],\n \"119\": [0, 0.43056, 0.02691, 0.08334, 0.71592],\n \"120\": [0, 0.43056, 0, 0.02778, 0.57153],\n \"121\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],\n \"122\": [0, 0.43056, 0.04398, 0.05556, 0.46505],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68333, 0.13889, 0.08334, 0.61528],\n \"916\": [0, 0.68333, 0, 0.16667, 0.83334],\n \"920\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"923\": [0, 0.68333, 0, 0.16667, 0.69445],\n \"926\": [0, 0.68333, 0.07569, 0.08334, 0.74236],\n \"928\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"931\": [0, 0.68333, 0.05764, 0.08334, 0.77986],\n \"933\": [0, 0.68333, 0.13889, 0.05556, 0.58333],\n \"934\": [0, 0.68333, 0, 0.08334, 0.66667],\n \"936\": [0, 0.68333, 0.11, 0.05556, 0.61222],\n \"937\": [0, 0.68333, 0.05017, 0.08334, 0.7724],\n \"945\": [0, 0.43056, 0.0037, 0.02778, 0.6397],\n \"946\": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],\n \"947\": [0.19444, 0.43056, 0.05556, 0, 0.51773],\n \"948\": [0, 0.69444, 0.03785, 0.05556, 0.44444],\n \"949\": [0, 0.43056, 0, 0.08334, 0.46632],\n \"950\": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],\n \"951\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],\n \"952\": [0, 0.69444, 0.02778, 0.08334, 0.46944],\n \"953\": [0, 0.43056, 0, 0.05556, 0.35394],\n \"954\": [0, 0.43056, 0, 0, 0.57616],\n \"955\": [0, 0.69444, 0, 0, 0.58334],\n \"956\": [0.19444, 0.43056, 0, 0.02778, 0.60255],\n \"957\": [0, 0.43056, 0.06366, 0.02778, 0.49398],\n \"958\": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],\n \"959\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"960\": [0, 0.43056, 0.03588, 0, 0.57003],\n \"961\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"962\": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],\n \"963\": [0, 0.43056, 0.03588, 0, 0.57141],\n \"964\": [0, 0.43056, 0.1132, 0.02778, 0.43715],\n \"965\": [0, 0.43056, 0.03588, 0.02778, 0.54028],\n \"966\": [0.19444, 0.43056, 0, 0.08334, 0.65417],\n \"967\": [0.19444, 0.43056, 0, 0.05556, 0.62569],\n \"968\": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],\n \"969\": [0, 0.43056, 0.03588, 0, 0.62245],\n \"977\": [0, 0.69444, 0, 0.08334, 0.59144],\n \"981\": [0.19444, 0.69444, 0, 0.08334, 0.59583],\n \"982\": [0, 0.43056, 0.02778, 0, 0.82813],\n \"1009\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"1013\": [0, 0.43056, 0, 0.05556, 0.4059],\n \"57649\": [0, 0.43056, 0, 0.02778, 0.32246],\n \"57911\": [0.19444, 0.43056, 0, 0.08334, 0.38403]\n },\n \"SansSerif-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.36667],\n \"34\": [0, 0.69444, 0, 0, 0.55834],\n \"35\": [0.19444, 0.69444, 0, 0, 0.91667],\n \"36\": [0.05556, 0.75, 0, 0, 0.55],\n \"37\": [0.05556, 0.75, 0, 0, 1.02912],\n \"38\": [0, 0.69444, 0, 0, 0.83056],\n \"39\": [0, 0.69444, 0, 0, 0.30556],\n \"40\": [0.25, 0.75, 0, 0, 0.42778],\n \"41\": [0.25, 0.75, 0, 0, 0.42778],\n \"42\": [0, 0.75, 0, 0, 0.55],\n \"43\": [0.11667, 0.61667, 0, 0, 0.85556],\n \"44\": [0.10556, 0.13056, 0, 0, 0.30556],\n \"45\": [0, 0.45833, 0, 0, 0.36667],\n \"46\": [0, 0.13056, 0, 0, 0.30556],\n \"47\": [0.25, 0.75, 0, 0, 0.55],\n \"48\": [0, 0.69444, 0, 0, 0.55],\n \"49\": [0, 0.69444, 0, 0, 0.55],\n \"50\": [0, 0.69444, 0, 0, 0.55],\n \"51\": [0, 0.69444, 0, 0, 0.55],\n \"52\": [0, 0.69444, 0, 0, 0.55],\n \"53\": [0, 0.69444, 0, 0, 0.55],\n \"54\": [0, 0.69444, 0, 0, 0.55],\n \"55\": [0, 0.69444, 0, 0, 0.55],\n \"56\": [0, 0.69444, 0, 0, 0.55],\n \"57\": [0, 0.69444, 0, 0, 0.55],\n \"58\": [0, 0.45833, 0, 0, 0.30556],\n \"59\": [0.10556, 0.45833, 0, 0, 0.30556],\n \"61\": [-0.09375, 0.40625, 0, 0, 0.85556],\n \"63\": [0, 0.69444, 0, 0, 0.51945],\n \"64\": [0, 0.69444, 0, 0, 0.73334],\n \"65\": [0, 0.69444, 0, 0, 0.73334],\n \"66\": [0, 0.69444, 0, 0, 0.73334],\n \"67\": [0, 0.69444, 0, 0, 0.70278],\n \"68\": [0, 0.69444, 0, 0, 0.79445],\n \"69\": [0, 0.69444, 0, 0, 0.64167],\n \"70\": [0, 0.69444, 0, 0, 0.61111],\n \"71\": [0, 0.69444, 0, 0, 0.73334],\n \"72\": [0, 0.69444, 0, 0, 0.79445],\n \"73\": [0, 0.69444, 0, 0, 0.33056],\n \"74\": [0, 0.69444, 0, 0, 0.51945],\n \"75\": [0, 0.69444, 0, 0, 0.76389],\n \"76\": [0, 0.69444, 0, 0, 0.58056],\n \"77\": [0, 0.69444, 0, 0, 0.97778],\n \"78\": [0, 0.69444, 0, 0, 0.79445],\n \"79\": [0, 0.69444, 0, 0, 0.79445],\n \"80\": [0, 0.69444, 0, 0, 0.70278],\n \"81\": [0.10556, 0.69444, 0, 0, 0.79445],\n \"82\": [0, 0.69444, 0, 0, 0.70278],\n \"83\": [0, 0.69444, 0, 0, 0.61111],\n \"84\": [0, 0.69444, 0, 0, 0.73334],\n \"85\": [0, 0.69444, 0, 0, 0.76389],\n \"86\": [0, 0.69444, 0.01528, 0, 0.73334],\n \"87\": [0, 0.69444, 0.01528, 0, 1.03889],\n \"88\": [0, 0.69444, 0, 0, 0.73334],\n \"89\": [0, 0.69444, 0.0275, 0, 0.73334],\n \"90\": [0, 0.69444, 0, 0, 0.67223],\n \"91\": [0.25, 0.75, 0, 0, 0.34306],\n \"93\": [0.25, 0.75, 0, 0, 0.34306],\n \"94\": [0, 0.69444, 0, 0, 0.55],\n \"95\": [0.35, 0.10833, 0.03056, 0, 0.55],\n \"97\": [0, 0.45833, 0, 0, 0.525],\n \"98\": [0, 0.69444, 0, 0, 0.56111],\n \"99\": [0, 0.45833, 0, 0, 0.48889],\n \"100\": [0, 0.69444, 0, 0, 0.56111],\n \"101\": [0, 0.45833, 0, 0, 0.51111],\n \"102\": [0, 0.69444, 0.07639, 0, 0.33611],\n \"103\": [0.19444, 0.45833, 0.01528, 0, 0.55],\n \"104\": [0, 0.69444, 0, 0, 0.56111],\n \"105\": [0, 0.69444, 0, 0, 0.25556],\n \"106\": [0.19444, 0.69444, 0, 0, 0.28611],\n \"107\": [0, 0.69444, 0, 0, 0.53056],\n \"108\": [0, 0.69444, 0, 0, 0.25556],\n \"109\": [0, 0.45833, 0, 0, 0.86667],\n \"110\": [0, 0.45833, 0, 0, 0.56111],\n \"111\": [0, 0.45833, 0, 0, 0.55],\n \"112\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"113\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"114\": [0, 0.45833, 0.01528, 0, 0.37222],\n \"115\": [0, 0.45833, 0, 0, 0.42167],\n \"116\": [0, 0.58929, 0, 0, 0.40417],\n \"117\": [0, 0.45833, 0, 0, 0.56111],\n \"118\": [0, 0.45833, 0.01528, 0, 0.5],\n \"119\": [0, 0.45833, 0.01528, 0, 0.74445],\n \"120\": [0, 0.45833, 0, 0, 0.5],\n \"121\": [0.19444, 0.45833, 0.01528, 0, 0.5],\n \"122\": [0, 0.45833, 0, 0, 0.47639],\n \"126\": [0.35, 0.34444, 0, 0, 0.55],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0, 0, 0.55],\n \"176\": [0, 0.69444, 0, 0, 0.73334],\n \"180\": [0, 0.69444, 0, 0, 0.55],\n \"184\": [0.17014, 0, 0, 0, 0.48889],\n \"305\": [0, 0.45833, 0, 0, 0.25556],\n \"567\": [0.19444, 0.45833, 0, 0, 0.28611],\n \"710\": [0, 0.69444, 0, 0, 0.55],\n \"711\": [0, 0.63542, 0, 0, 0.55],\n \"713\": [0, 0.63778, 0, 0, 0.55],\n \"728\": [0, 0.69444, 0, 0, 0.55],\n \"729\": [0, 0.69444, 0, 0, 0.30556],\n \"730\": [0, 0.69444, 0, 0, 0.73334],\n \"732\": [0, 0.69444, 0, 0, 0.55],\n \"733\": [0, 0.69444, 0, 0, 0.55],\n \"915\": [0, 0.69444, 0, 0, 0.58056],\n \"916\": [0, 0.69444, 0, 0, 0.91667],\n \"920\": [0, 0.69444, 0, 0, 0.85556],\n \"923\": [0, 0.69444, 0, 0, 0.67223],\n \"926\": [0, 0.69444, 0, 0, 0.73334],\n \"928\": [0, 0.69444, 0, 0, 0.79445],\n \"931\": [0, 0.69444, 0, 0, 0.79445],\n \"933\": [0, 0.69444, 0, 0, 0.85556],\n \"934\": [0, 0.69444, 0, 0, 0.79445],\n \"936\": [0, 0.69444, 0, 0, 0.85556],\n \"937\": [0, 0.69444, 0, 0, 0.79445],\n \"8211\": [0, 0.45833, 0.03056, 0, 0.55],\n \"8212\": [0, 0.45833, 0.03056, 0, 1.10001],\n \"8216\": [0, 0.69444, 0, 0, 0.30556],\n \"8217\": [0, 0.69444, 0, 0, 0.30556],\n \"8220\": [0, 0.69444, 0, 0, 0.55834],\n \"8221\": [0, 0.69444, 0, 0, 0.55834]\n },\n \"SansSerif-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.05733, 0, 0.31945],\n \"34\": [0, 0.69444, 0.00316, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0.05087, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0.11156, 0, 0.5],\n \"37\": [0.05556, 0.75, 0.03126, 0, 0.83334],\n \"38\": [0, 0.69444, 0.03058, 0, 0.75834],\n \"39\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"40\": [0.25, 0.75, 0.13164, 0, 0.38889],\n \"41\": [0.25, 0.75, 0.02536, 0, 0.38889],\n \"42\": [0, 0.75, 0.11775, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0.02536, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0.01946, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0.13164, 0, 0.5],\n \"48\": [0, 0.65556, 0.11156, 0, 0.5],\n \"49\": [0, 0.65556, 0.11156, 0, 0.5],\n \"50\": [0, 0.65556, 0.11156, 0, 0.5],\n \"51\": [0, 0.65556, 0.11156, 0, 0.5],\n \"52\": [0, 0.65556, 0.11156, 0, 0.5],\n \"53\": [0, 0.65556, 0.11156, 0, 0.5],\n \"54\": [0, 0.65556, 0.11156, 0, 0.5],\n \"55\": [0, 0.65556, 0.11156, 0, 0.5],\n \"56\": [0, 0.65556, 0.11156, 0, 0.5],\n \"57\": [0, 0.65556, 0.11156, 0, 0.5],\n \"58\": [0, 0.44444, 0.02502, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0.02502, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0.05087, 0, 0.77778],\n \"63\": [0, 0.69444, 0.11809, 0, 0.47222],\n \"64\": [0, 0.69444, 0.07555, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0.08293, 0, 0.66667],\n \"67\": [0, 0.69444, 0.11983, 0, 0.63889],\n \"68\": [0, 0.69444, 0.07555, 0, 0.72223],\n \"69\": [0, 0.69444, 0.11983, 0, 0.59722],\n \"70\": [0, 0.69444, 0.13372, 0, 0.56945],\n \"71\": [0, 0.69444, 0.11983, 0, 0.66667],\n \"72\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"73\": [0, 0.69444, 0.13372, 0, 0.27778],\n \"74\": [0, 0.69444, 0.08094, 0, 0.47222],\n \"75\": [0, 0.69444, 0.11983, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0.08094, 0, 0.875],\n \"78\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"79\": [0, 0.69444, 0.07555, 0, 0.73611],\n \"80\": [0, 0.69444, 0.08293, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0.07555, 0, 0.73611],\n \"82\": [0, 0.69444, 0.08293, 0, 0.64584],\n \"83\": [0, 0.69444, 0.09205, 0, 0.55556],\n \"84\": [0, 0.69444, 0.13372, 0, 0.68056],\n \"85\": [0, 0.69444, 0.08094, 0, 0.6875],\n \"86\": [0, 0.69444, 0.1615, 0, 0.66667],\n \"87\": [0, 0.69444, 0.1615, 0, 0.94445],\n \"88\": [0, 0.69444, 0.13372, 0, 0.66667],\n \"89\": [0, 0.69444, 0.17261, 0, 0.66667],\n \"90\": [0, 0.69444, 0.11983, 0, 0.61111],\n \"91\": [0.25, 0.75, 0.15942, 0, 0.28889],\n \"93\": [0.25, 0.75, 0.08719, 0, 0.28889],\n \"94\": [0, 0.69444, 0.0799, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.08616, 0, 0.5],\n \"97\": [0, 0.44444, 0.00981, 0, 0.48056],\n \"98\": [0, 0.69444, 0.03057, 0, 0.51667],\n \"99\": [0, 0.44444, 0.08336, 0, 0.44445],\n \"100\": [0, 0.69444, 0.09483, 0, 0.51667],\n \"101\": [0, 0.44444, 0.06778, 0, 0.44445],\n \"102\": [0, 0.69444, 0.21705, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.10836, 0, 0.5],\n \"104\": [0, 0.69444, 0.01778, 0, 0.51667],\n \"105\": [0, 0.67937, 0.09718, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0.09162, 0, 0.26667],\n \"107\": [0, 0.69444, 0.08336, 0, 0.48889],\n \"108\": [0, 0.69444, 0.09483, 0, 0.23889],\n \"109\": [0, 0.44444, 0.01778, 0, 0.79445],\n \"110\": [0, 0.44444, 0.01778, 0, 0.51667],\n \"111\": [0, 0.44444, 0.06613, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0.0389, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0.04169, 0, 0.51667],\n \"114\": [0, 0.44444, 0.10836, 0, 0.34167],\n \"115\": [0, 0.44444, 0.0778, 0, 0.38333],\n \"116\": [0, 0.57143, 0.07225, 0, 0.36111],\n \"117\": [0, 0.44444, 0.04169, 0, 0.51667],\n \"118\": [0, 0.44444, 0.10836, 0, 0.46111],\n \"119\": [0, 0.44444, 0.10836, 0, 0.68334],\n \"120\": [0, 0.44444, 0.09169, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.10836, 0, 0.46111],\n \"122\": [0, 0.44444, 0.08752, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0.08826, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0.06385, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.73752],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0.04169, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0.04169, 0, 0.26667],\n \"710\": [0, 0.69444, 0.0799, 0, 0.5],\n \"711\": [0, 0.63194, 0.08432, 0, 0.5],\n \"713\": [0, 0.60889, 0.08776, 0, 0.5],\n \"714\": [0, 0.69444, 0.09205, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0.09483, 0, 0.5],\n \"729\": [0, 0.67937, 0.07774, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.73752],\n \"732\": [0, 0.67659, 0.08826, 0, 0.5],\n \"733\": [0, 0.69444, 0.09205, 0, 0.5],\n \"915\": [0, 0.69444, 0.13372, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0.07555, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0.12816, 0, 0.66667],\n \"928\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"931\": [0, 0.69444, 0.11983, 0, 0.72222],\n \"933\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"934\": [0, 0.69444, 0.04603, 0, 0.72222],\n \"936\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"937\": [0, 0.69444, 0.08293, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.08616, 0, 0.5],\n \"8212\": [0, 0.44444, 0.08616, 0, 1.0],\n \"8216\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8217\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8220\": [0, 0.69444, 0.14205, 0, 0.5],\n \"8221\": [0, 0.69444, 0.00316, 0, 0.5]\n },\n \"SansSerif-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.31945],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.75834],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.65556, 0, 0, 0.5],\n \"49\": [0, 0.65556, 0, 0, 0.5],\n \"50\": [0, 0.65556, 0, 0, 0.5],\n \"51\": [0, 0.65556, 0, 0, 0.5],\n \"52\": [0, 0.65556, 0, 0, 0.5],\n \"53\": [0, 0.65556, 0, 0, 0.5],\n \"54\": [0, 0.65556, 0, 0, 0.5],\n \"55\": [0, 0.65556, 0, 0, 0.5],\n \"56\": [0, 0.65556, 0, 0, 0.5],\n \"57\": [0, 0.65556, 0, 0, 0.5],\n \"58\": [0, 0.44444, 0, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0, 0, 0.66667],\n \"67\": [0, 0.69444, 0, 0, 0.63889],\n \"68\": [0, 0.69444, 0, 0, 0.72223],\n \"69\": [0, 0.69444, 0, 0, 0.59722],\n \"70\": [0, 0.69444, 0, 0, 0.56945],\n \"71\": [0, 0.69444, 0, 0, 0.66667],\n \"72\": [0, 0.69444, 0, 0, 0.70834],\n \"73\": [0, 0.69444, 0, 0, 0.27778],\n \"74\": [0, 0.69444, 0, 0, 0.47222],\n \"75\": [0, 0.69444, 0, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0, 0, 0.875],\n \"78\": [0, 0.69444, 0, 0, 0.70834],\n \"79\": [0, 0.69444, 0, 0, 0.73611],\n \"80\": [0, 0.69444, 0, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0, 0, 0.73611],\n \"82\": [0, 0.69444, 0, 0, 0.64584],\n \"83\": [0, 0.69444, 0, 0, 0.55556],\n \"84\": [0, 0.69444, 0, 0, 0.68056],\n \"85\": [0, 0.69444, 0, 0, 0.6875],\n \"86\": [0, 0.69444, 0.01389, 0, 0.66667],\n \"87\": [0, 0.69444, 0.01389, 0, 0.94445],\n \"88\": [0, 0.69444, 0, 0, 0.66667],\n \"89\": [0, 0.69444, 0.025, 0, 0.66667],\n \"90\": [0, 0.69444, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.28889],\n \"93\": [0.25, 0.75, 0, 0, 0.28889],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.02778, 0, 0.5],\n \"97\": [0, 0.44444, 0, 0, 0.48056],\n \"98\": [0, 0.69444, 0, 0, 0.51667],\n \"99\": [0, 0.44444, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.51667],\n \"101\": [0, 0.44444, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.06944, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.51667],\n \"105\": [0, 0.67937, 0, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0, 0, 0.26667],\n \"107\": [0, 0.69444, 0, 0, 0.48889],\n \"108\": [0, 0.69444, 0, 0, 0.23889],\n \"109\": [0, 0.44444, 0, 0, 0.79445],\n \"110\": [0, 0.44444, 0, 0, 0.51667],\n \"111\": [0, 0.44444, 0, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"114\": [0, 0.44444, 0.01389, 0, 0.34167],\n \"115\": [0, 0.44444, 0, 0, 0.38333],\n \"116\": [0, 0.57143, 0, 0, 0.36111],\n \"117\": [0, 0.44444, 0, 0, 0.51667],\n \"118\": [0, 0.44444, 0.01389, 0, 0.46111],\n \"119\": [0, 0.44444, 0.01389, 0, 0.68334],\n \"120\": [0, 0.44444, 0, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.01389, 0, 0.46111],\n \"122\": [0, 0.44444, 0, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.66667],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0, 0, 0.26667],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.63194, 0, 0, 0.5],\n \"713\": [0, 0.60889, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.67937, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.66667],\n \"732\": [0, 0.67659, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.69444, 0, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0, 0, 0.66667],\n \"928\": [0, 0.69444, 0, 0, 0.70834],\n \"931\": [0, 0.69444, 0, 0, 0.72222],\n \"933\": [0, 0.69444, 0, 0, 0.77778],\n \"934\": [0, 0.69444, 0, 0, 0.72222],\n \"936\": [0, 0.69444, 0, 0, 0.77778],\n \"937\": [0, 0.69444, 0, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.02778, 0, 0.5],\n \"8212\": [0, 0.44444, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5]\n },\n \"Script-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.7, 0.22925, 0, 0.80253],\n \"66\": [0, 0.7, 0.04087, 0, 0.90757],\n \"67\": [0, 0.7, 0.1689, 0, 0.66619],\n \"68\": [0, 0.7, 0.09371, 0, 0.77443],\n \"69\": [0, 0.7, 0.18583, 0, 0.56162],\n \"70\": [0, 0.7, 0.13634, 0, 0.89544],\n \"71\": [0, 0.7, 0.17322, 0, 0.60961],\n \"72\": [0, 0.7, 0.29694, 0, 0.96919],\n \"73\": [0, 0.7, 0.19189, 0, 0.80907],\n \"74\": [0.27778, 0.7, 0.19189, 0, 1.05159],\n \"75\": [0, 0.7, 0.31259, 0, 0.91364],\n \"76\": [0, 0.7, 0.19189, 0, 0.87373],\n \"77\": [0, 0.7, 0.15981, 0, 1.08031],\n \"78\": [0, 0.7, 0.3525, 0, 0.9015],\n \"79\": [0, 0.7, 0.08078, 0, 0.73787],\n \"80\": [0, 0.7, 0.08078, 0, 1.01262],\n \"81\": [0, 0.7, 0.03305, 0, 0.88282],\n \"82\": [0, 0.7, 0.06259, 0, 0.85],\n \"83\": [0, 0.7, 0.19189, 0, 0.86767],\n \"84\": [0, 0.7, 0.29087, 0, 0.74697],\n \"85\": [0, 0.7, 0.25815, 0, 0.79996],\n \"86\": [0, 0.7, 0.27523, 0, 0.62204],\n \"87\": [0, 0.7, 0.27523, 0, 0.80532],\n \"88\": [0, 0.7, 0.26006, 0, 0.94445],\n \"89\": [0, 0.7, 0.2939, 0, 0.70961],\n \"90\": [0, 0.7, 0.24037, 0, 0.8212],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Size1-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.35001, 0.85, 0, 0, 0.45834],\n \"41\": [0.35001, 0.85, 0, 0, 0.45834],\n \"47\": [0.35001, 0.85, 0, 0, 0.57778],\n \"91\": [0.35001, 0.85, 0, 0, 0.41667],\n \"92\": [0.35001, 0.85, 0, 0, 0.57778],\n \"93\": [0.35001, 0.85, 0, 0, 0.41667],\n \"123\": [0.35001, 0.85, 0, 0, 0.58334],\n \"125\": [0.35001, 0.85, 0, 0, 0.58334],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.72222, 0, 0, 0.55556],\n \"732\": [0, 0.72222, 0, 0, 0.55556],\n \"770\": [0, 0.72222, 0, 0, 0.55556],\n \"771\": [0, 0.72222, 0, 0, 0.55556],\n \"8214\": [-0.00099, 0.601, 0, 0, 0.77778],\n \"8593\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8595\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8657\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8659\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8719\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8720\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8721\": [0.25001, 0.75, 0, 0, 1.05556],\n \"8730\": [0.35001, 0.85, 0, 0, 1.0],\n \"8739\": [-0.00599, 0.606, 0, 0, 0.33333],\n \"8741\": [-0.00599, 0.606, 0, 0, 0.55556],\n \"8747\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8748\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8749\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8750\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8896\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8897\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8898\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8899\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8968\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8969\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8970\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8971\": [0.35001, 0.85, 0, 0, 0.47222],\n \"9168\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"10216\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10217\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10752\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10753\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10754\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10756\": [0.25001, 0.75, 0, 0, 0.83334],\n \"10758\": [0.25001, 0.75, 0, 0, 0.83334]\n },\n \"Size2-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.65002, 1.15, 0, 0, 0.59722],\n \"41\": [0.65002, 1.15, 0, 0, 0.59722],\n \"47\": [0.65002, 1.15, 0, 0, 0.81111],\n \"91\": [0.65002, 1.15, 0, 0, 0.47222],\n \"92\": [0.65002, 1.15, 0, 0, 0.81111],\n \"93\": [0.65002, 1.15, 0, 0, 0.47222],\n \"123\": [0.65002, 1.15, 0, 0, 0.66667],\n \"125\": [0.65002, 1.15, 0, 0, 0.66667],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.0],\n \"732\": [0, 0.75, 0, 0, 1.0],\n \"770\": [0, 0.75, 0, 0, 1.0],\n \"771\": [0, 0.75, 0, 0, 1.0],\n \"8719\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8720\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8721\": [0.55001, 1.05, 0, 0, 1.44445],\n \"8730\": [0.65002, 1.15, 0, 0, 1.0],\n \"8747\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8748\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8749\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8750\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8896\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8897\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8898\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8899\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8968\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8969\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8970\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8971\": [0.65002, 1.15, 0, 0, 0.52778],\n \"10216\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10217\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10752\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10753\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10754\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10756\": [0.55001, 1.05, 0, 0, 1.11111],\n \"10758\": [0.55001, 1.05, 0, 0, 1.11111]\n },\n \"Size3-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.95003, 1.45, 0, 0, 0.73611],\n \"41\": [0.95003, 1.45, 0, 0, 0.73611],\n \"47\": [0.95003, 1.45, 0, 0, 1.04445],\n \"91\": [0.95003, 1.45, 0, 0, 0.52778],\n \"92\": [0.95003, 1.45, 0, 0, 1.04445],\n \"93\": [0.95003, 1.45, 0, 0, 0.52778],\n \"123\": [0.95003, 1.45, 0, 0, 0.75],\n \"125\": [0.95003, 1.45, 0, 0, 0.75],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.44445],\n \"732\": [0, 0.75, 0, 0, 1.44445],\n \"770\": [0, 0.75, 0, 0, 1.44445],\n \"771\": [0, 0.75, 0, 0, 1.44445],\n \"8730\": [0.95003, 1.45, 0, 0, 1.0],\n \"8968\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8969\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8970\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8971\": [0.95003, 1.45, 0, 0, 0.58334],\n \"10216\": [0.95003, 1.45, 0, 0, 0.75],\n \"10217\": [0.95003, 1.45, 0, 0, 0.75]\n },\n \"Size4-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [1.25003, 1.75, 0, 0, 0.79167],\n \"41\": [1.25003, 1.75, 0, 0, 0.79167],\n \"47\": [1.25003, 1.75, 0, 0, 1.27778],\n \"91\": [1.25003, 1.75, 0, 0, 0.58334],\n \"92\": [1.25003, 1.75, 0, 0, 1.27778],\n \"93\": [1.25003, 1.75, 0, 0, 0.58334],\n \"123\": [1.25003, 1.75, 0, 0, 0.80556],\n \"125\": [1.25003, 1.75, 0, 0, 0.80556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.825, 0, 0, 1.8889],\n \"732\": [0, 0.825, 0, 0, 1.8889],\n \"770\": [0, 0.825, 0, 0, 1.8889],\n \"771\": [0, 0.825, 0, 0, 1.8889],\n \"8730\": [1.25003, 1.75, 0, 0, 1.0],\n \"8968\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8969\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8970\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8971\": [1.25003, 1.75, 0, 0, 0.63889],\n \"9115\": [0.64502, 1.155, 0, 0, 0.875],\n \"9116\": [1e-05, 0.6, 0, 0, 0.875],\n \"9117\": [0.64502, 1.155, 0, 0, 0.875],\n \"9118\": [0.64502, 1.155, 0, 0, 0.875],\n \"9119\": [1e-05, 0.6, 0, 0, 0.875],\n \"9120\": [0.64502, 1.155, 0, 0, 0.875],\n \"9121\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9122\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9123\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9124\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9125\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9126\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9127\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9128\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9129\": [0.90001, 0, 0, 0, 0.88889],\n \"9130\": [0, 0.3, 0, 0, 0.88889],\n \"9131\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9132\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9133\": [0.90001, 0, 0, 0, 0.88889],\n \"9143\": [0.88502, 0.915, 0, 0, 1.05556],\n \"10216\": [1.25003, 1.75, 0, 0, 0.80556],\n \"10217\": [1.25003, 1.75, 0, 0, 0.80556],\n \"57344\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57345\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57680\": [0, 0.12, 0, 0, 0.45],\n \"57681\": [0, 0.12, 0, 0, 0.45],\n \"57682\": [0, 0.12, 0, 0, 0.45],\n \"57683\": [0, 0.12, 0, 0, 0.45]\n },\n \"Typewriter-Regular\": {\n \"32\": [0, 0, 0, 0, 0.525],\n \"33\": [0, 0.61111, 0, 0, 0.525],\n \"34\": [0, 0.61111, 0, 0, 0.525],\n \"35\": [0, 0.61111, 0, 0, 0.525],\n \"36\": [0.08333, 0.69444, 0, 0, 0.525],\n \"37\": [0.08333, 0.69444, 0, 0, 0.525],\n \"38\": [0, 0.61111, 0, 0, 0.525],\n \"39\": [0, 0.61111, 0, 0, 0.525],\n \"40\": [0.08333, 0.69444, 0, 0, 0.525],\n \"41\": [0.08333, 0.69444, 0, 0, 0.525],\n \"42\": [0, 0.52083, 0, 0, 0.525],\n \"43\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"44\": [0.13889, 0.125, 0, 0, 0.525],\n \"45\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"46\": [0, 0.125, 0, 0, 0.525],\n \"47\": [0.08333, 0.69444, 0, 0, 0.525],\n \"48\": [0, 0.61111, 0, 0, 0.525],\n \"49\": [0, 0.61111, 0, 0, 0.525],\n \"50\": [0, 0.61111, 0, 0, 0.525],\n \"51\": [0, 0.61111, 0, 0, 0.525],\n \"52\": [0, 0.61111, 0, 0, 0.525],\n \"53\": [0, 0.61111, 0, 0, 0.525],\n \"54\": [0, 0.61111, 0, 0, 0.525],\n \"55\": [0, 0.61111, 0, 0, 0.525],\n \"56\": [0, 0.61111, 0, 0, 0.525],\n \"57\": [0, 0.61111, 0, 0, 0.525],\n \"58\": [0, 0.43056, 0, 0, 0.525],\n \"59\": [0.13889, 0.43056, 0, 0, 0.525],\n \"60\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"61\": [-0.19549, 0.41562, 0, 0, 0.525],\n \"62\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"63\": [0, 0.61111, 0, 0, 0.525],\n \"64\": [0, 0.61111, 0, 0, 0.525],\n \"65\": [0, 0.61111, 0, 0, 0.525],\n \"66\": [0, 0.61111, 0, 0, 0.525],\n \"67\": [0, 0.61111, 0, 0, 0.525],\n \"68\": [0, 0.61111, 0, 0, 0.525],\n \"69\": [0, 0.61111, 0, 0, 0.525],\n \"70\": [0, 0.61111, 0, 0, 0.525],\n \"71\": [0, 0.61111, 0, 0, 0.525],\n \"72\": [0, 0.61111, 0, 0, 0.525],\n \"73\": [0, 0.61111, 0, 0, 0.525],\n \"74\": [0, 0.61111, 0, 0, 0.525],\n \"75\": [0, 0.61111, 0, 0, 0.525],\n \"76\": [0, 0.61111, 0, 0, 0.525],\n \"77\": [0, 0.61111, 0, 0, 0.525],\n \"78\": [0, 0.61111, 0, 0, 0.525],\n \"79\": [0, 0.61111, 0, 0, 0.525],\n \"80\": [0, 0.61111, 0, 0, 0.525],\n \"81\": [0.13889, 0.61111, 0, 0, 0.525],\n \"82\": [0, 0.61111, 0, 0, 0.525],\n \"83\": [0, 0.61111, 0, 0, 0.525],\n \"84\": [0, 0.61111, 0, 0, 0.525],\n \"85\": [0, 0.61111, 0, 0, 0.525],\n \"86\": [0, 0.61111, 0, 0, 0.525],\n \"87\": [0, 0.61111, 0, 0, 0.525],\n \"88\": [0, 0.61111, 0, 0, 0.525],\n \"89\": [0, 0.61111, 0, 0, 0.525],\n \"90\": [0, 0.61111, 0, 0, 0.525],\n \"91\": [0.08333, 0.69444, 0, 0, 0.525],\n \"92\": [0.08333, 0.69444, 0, 0, 0.525],\n \"93\": [0.08333, 0.69444, 0, 0, 0.525],\n \"94\": [0, 0.61111, 0, 0, 0.525],\n \"95\": [0.09514, 0, 0, 0, 0.525],\n \"96\": [0, 0.61111, 0, 0, 0.525],\n \"97\": [0, 0.43056, 0, 0, 0.525],\n \"98\": [0, 0.61111, 0, 0, 0.525],\n \"99\": [0, 0.43056, 0, 0, 0.525],\n \"100\": [0, 0.61111, 0, 0, 0.525],\n \"101\": [0, 0.43056, 0, 0, 0.525],\n \"102\": [0, 0.61111, 0, 0, 0.525],\n \"103\": [0.22222, 0.43056, 0, 0, 0.525],\n \"104\": [0, 0.61111, 0, 0, 0.525],\n \"105\": [0, 0.61111, 0, 0, 0.525],\n \"106\": [0.22222, 0.61111, 0, 0, 0.525],\n \"107\": [0, 0.61111, 0, 0, 0.525],\n \"108\": [0, 0.61111, 0, 0, 0.525],\n \"109\": [0, 0.43056, 0, 0, 0.525],\n \"110\": [0, 0.43056, 0, 0, 0.525],\n \"111\": [0, 0.43056, 0, 0, 0.525],\n \"112\": [0.22222, 0.43056, 0, 0, 0.525],\n \"113\": [0.22222, 0.43056, 0, 0, 0.525],\n \"114\": [0, 0.43056, 0, 0, 0.525],\n \"115\": [0, 0.43056, 0, 0, 0.525],\n \"116\": [0, 0.55358, 0, 0, 0.525],\n \"117\": [0, 0.43056, 0, 0, 0.525],\n \"118\": [0, 0.43056, 0, 0, 0.525],\n \"119\": [0, 0.43056, 0, 0, 0.525],\n \"120\": [0, 0.43056, 0, 0, 0.525],\n \"121\": [0.22222, 0.43056, 0, 0, 0.525],\n \"122\": [0, 0.43056, 0, 0, 0.525],\n \"123\": [0.08333, 0.69444, 0, 0, 0.525],\n \"124\": [0.08333, 0.69444, 0, 0, 0.525],\n \"125\": [0.08333, 0.69444, 0, 0, 0.525],\n \"126\": [0, 0.61111, 0, 0, 0.525],\n \"127\": [0, 0.61111, 0, 0, 0.525],\n \"160\": [0, 0, 0, 0, 0.525],\n \"176\": [0, 0.61111, 0, 0, 0.525],\n \"184\": [0.19445, 0, 0, 0, 0.525],\n \"305\": [0, 0.43056, 0, 0, 0.525],\n \"567\": [0.22222, 0.43056, 0, 0, 0.525],\n \"711\": [0, 0.56597, 0, 0, 0.525],\n \"713\": [0, 0.56555, 0, 0, 0.525],\n \"714\": [0, 0.61111, 0, 0, 0.525],\n \"715\": [0, 0.61111, 0, 0, 0.525],\n \"728\": [0, 0.61111, 0, 0, 0.525],\n \"730\": [0, 0.61111, 0, 0, 0.525],\n \"770\": [0, 0.61111, 0, 0, 0.525],\n \"771\": [0, 0.61111, 0, 0, 0.525],\n \"776\": [0, 0.61111, 0, 0, 0.525],\n \"915\": [0, 0.61111, 0, 0, 0.525],\n \"916\": [0, 0.61111, 0, 0, 0.525],\n \"920\": [0, 0.61111, 0, 0, 0.525],\n \"923\": [0, 0.61111, 0, 0, 0.525],\n \"926\": [0, 0.61111, 0, 0, 0.525],\n \"928\": [0, 0.61111, 0, 0, 0.525],\n \"931\": [0, 0.61111, 0, 0, 0.525],\n \"933\": [0, 0.61111, 0, 0, 0.525],\n \"934\": [0, 0.61111, 0, 0, 0.525],\n \"936\": [0, 0.61111, 0, 0, 0.525],\n \"937\": [0, 0.61111, 0, 0, 0.525],\n \"8216\": [0, 0.61111, 0, 0, 0.525],\n \"8217\": [0, 0.61111, 0, 0, 0.525],\n \"8242\": [0, 0.61111, 0, 0, 0.525],\n \"9251\": [0.11111, 0.21944, 0, 0, 0.525]\n }\n});\n;// CONCATENATED MODULE: ./src/fontMetrics.js\n\n\n/**\n * This file contains metrics regarding fonts and individual symbols. The sigma\n * and xi variables, as well as the metricMap map contain data extracted from\n * TeX, TeX font metrics, and the TTF files. These data are then exposed via the\n * `metrics` variable and the getCharacterMetrics function.\n */\n// In TeX, there are actually three sets of dimensions, one for each of\n// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4:\n// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are\n// provided in the arrays below, in that order.\n//\n// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respectively.\n// This was determined by running the following script:\n//\n// latex -interaction=nonstopmode \\\n// '\\documentclass{article}\\usepackage{amsmath}\\begin{document}' \\\n// '$a$ \\expandafter\\show\\the\\textfont2' \\\n// '\\expandafter\\show\\the\\scriptfont2' \\\n// '\\expandafter\\show\\the\\scriptscriptfont2' \\\n// '\\stop'\n//\n// The metrics themselves were retrieved using the following commands:\n//\n// tftopl cmsy10\n// tftopl cmsy7\n// tftopl cmsy5\n//\n// The output of each of these commands is quite lengthy. The only part we\n// care about is the FONTDIMEN section. Each value is measured in EMs.\nvar sigmasAndXis = {\n slant: [0.250, 0.250, 0.250],\n // sigma1\n space: [0.000, 0.000, 0.000],\n // sigma2\n stretch: [0.000, 0.000, 0.000],\n // sigma3\n shrink: [0.000, 0.000, 0.000],\n // sigma4\n xHeight: [0.431, 0.431, 0.431],\n // sigma5\n quad: [1.000, 1.171, 1.472],\n // sigma6\n extraSpace: [0.000, 0.000, 0.000],\n // sigma7\n num1: [0.677, 0.732, 0.925],\n // sigma8\n num2: [0.394, 0.384, 0.387],\n // sigma9\n num3: [0.444, 0.471, 0.504],\n // sigma10\n denom1: [0.686, 0.752, 1.025],\n // sigma11\n denom2: [0.345, 0.344, 0.532],\n // sigma12\n sup1: [0.413, 0.503, 0.504],\n // sigma13\n sup2: [0.363, 0.431, 0.404],\n // sigma14\n sup3: [0.289, 0.286, 0.294],\n // sigma15\n sub1: [0.150, 0.143, 0.200],\n // sigma16\n sub2: [0.247, 0.286, 0.400],\n // sigma17\n supDrop: [0.386, 0.353, 0.494],\n // sigma18\n subDrop: [0.050, 0.071, 0.100],\n // sigma19\n delim1: [2.390, 1.700, 1.980],\n // sigma20\n delim2: [1.010, 1.157, 1.420],\n // sigma21\n axisHeight: [0.250, 0.250, 0.250],\n // sigma22\n // These font metrics are extracted from TeX by using tftopl on cmex10.tfm;\n // they correspond to the font parameters of the extension fonts (family 3).\n // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to\n // match cmex7, we'd use cmex7.tfm values for script and scriptscript\n // values.\n defaultRuleThickness: [0.04, 0.049, 0.049],\n // xi8; cmex7: 0.049\n bigOpSpacing1: [0.111, 0.111, 0.111],\n // xi9\n bigOpSpacing2: [0.166, 0.166, 0.166],\n // xi10\n bigOpSpacing3: [0.2, 0.2, 0.2],\n // xi11\n bigOpSpacing4: [0.6, 0.611, 0.611],\n // xi12; cmex7: 0.611\n bigOpSpacing5: [0.1, 0.143, 0.143],\n // xi13; cmex7: 0.143\n // The \\sqrt rule width is taken from the height of the surd character.\n // Since we use the same font at all sizes, this thickness doesn't scale.\n sqrtRuleThickness: [0.04, 0.04, 0.04],\n // This value determines how large a pt is, for metrics which are defined\n // in terms of pts.\n // This value is also used in katex.less; if you change it make sure the\n // values match.\n ptPerEm: [10.0, 10.0, 10.0],\n // The space between adjacent `|` columns in an array definition. From\n // `\\showthe\\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm.\n doubleRuleSep: [0.2, 0.2, 0.2],\n // The width of separator lines in {array} environments. From\n // `\\showthe\\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm.\n arrayRuleWidth: [0.04, 0.04, 0.04],\n // Two values from LaTeX source2e:\n fboxsep: [0.3, 0.3, 0.3],\n // 3 pt / ptPerEm\n fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm\n\n}; // This map contains a mapping from font name and character code to character\n// metrics, including height, depth, italic correction, and skew (kern from the\n// character to the corresponding \\skewchar)\n// This map is generated via `make metrics`. It should not be changed manually.\n\n // These are very rough approximations. We default to Times New Roman which\n// should have Latin-1 and Cyrillic characters, but may not depending on the\n// operating system. The metrics do not account for extra height from the\n// accents. In the case of Cyrillic characters which have both ascenders and\n// descenders we prefer approximations with ascenders, primarily to prevent\n// the fraction bar or root line from intersecting the glyph.\n// TODO(kevinb) allow union of multiple glyph metrics for better accuracy.\n\nvar extraCharacterMap = {\n // Latin-1\n 'Å': 'A',\n 'Ð': 'D',\n 'Þ': 'o',\n 'å': 'a',\n 'ð': 'd',\n 'þ': 'o',\n // Cyrillic\n 'А': 'A',\n 'Б': 'B',\n 'В': 'B',\n 'Г': 'F',\n 'Д': 'A',\n 'Е': 'E',\n 'Ж': 'K',\n 'З': '3',\n 'И': 'N',\n 'Й': 'N',\n 'К': 'K',\n 'Л': 'N',\n 'М': 'M',\n 'Н': 'H',\n 'О': 'O',\n 'П': 'N',\n 'Р': 'P',\n 'С': 'C',\n 'Т': 'T',\n 'У': 'y',\n 'Ф': 'O',\n 'Х': 'X',\n 'Ц': 'U',\n 'Ч': 'h',\n 'Ш': 'W',\n 'Щ': 'W',\n 'Ъ': 'B',\n 'Ы': 'X',\n 'Ь': 'B',\n 'Э': '3',\n 'Ю': 'X',\n 'Я': 'R',\n 'а': 'a',\n 'б': 'b',\n 'в': 'a',\n 'г': 'r',\n 'д': 'y',\n 'е': 'e',\n 'ж': 'm',\n 'з': 'e',\n 'и': 'n',\n 'й': 'n',\n 'к': 'n',\n 'л': 'n',\n 'м': 'm',\n 'н': 'n',\n 'о': 'o',\n 'п': 'n',\n 'р': 'p',\n 'с': 'c',\n 'т': 'o',\n 'у': 'y',\n 'ф': 'b',\n 'х': 'x',\n 'ц': 'n',\n 'ч': 'n',\n 'ш': 'w',\n 'щ': 'w',\n 'ъ': 'a',\n 'ы': 'm',\n 'ь': 'a',\n 'э': 'e',\n 'ю': 'm',\n 'я': 'r'\n};\n\n/**\n * This function adds new font metrics to default metricMap\n * It can also override existing metrics\n */\nfunction setFontMetrics(fontName, metrics) {\n fontMetricsData[fontName] = metrics;\n}\n/**\n * This function is a convenience function for looking up information in the\n * metricMap table. It takes a character as a string, and a font.\n *\n * Note: the `width` property may be undefined if fontMetricsData.js wasn't\n * built using `Make extended_metrics`.\n */\n\nfunction getCharacterMetrics(character, font, mode) {\n if (!fontMetricsData[font]) {\n throw new Error(\"Font metrics not found for font: \" + font + \".\");\n }\n\n var ch = character.charCodeAt(0);\n var metrics = fontMetricsData[font][ch];\n\n if (!metrics && character[0] in extraCharacterMap) {\n ch = extraCharacterMap[character[0]].charCodeAt(0);\n metrics = fontMetricsData[font][ch];\n }\n\n if (!metrics && mode === 'text') {\n // We don't typically have font metrics for Asian scripts.\n // But since we support them in text mode, we need to return\n // some sort of metrics.\n // So if the character is in a script we support but we\n // don't have metrics for it, just use the metrics for\n // the Latin capital letter M. This is close enough because\n // we (currently) only care about the height of the glyph\n // not its width.\n if (supportedCodepoint(ch)) {\n metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M'\n }\n }\n\n if (metrics) {\n return {\n depth: metrics[0],\n height: metrics[1],\n italic: metrics[2],\n skew: metrics[3],\n width: metrics[4]\n };\n }\n}\nvar fontMetricsBySizeIndex = {};\n/**\n * Get the font metrics for a given size.\n */\n\nfunction getGlobalMetrics(size) {\n var sizeIndex;\n\n if (size >= 5) {\n sizeIndex = 0;\n } else if (size >= 3) {\n sizeIndex = 1;\n } else {\n sizeIndex = 2;\n }\n\n if (!fontMetricsBySizeIndex[sizeIndex]) {\n var metrics = fontMetricsBySizeIndex[sizeIndex] = {\n cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18\n };\n\n for (var key in sigmasAndXis) {\n if (sigmasAndXis.hasOwnProperty(key)) {\n metrics[key] = sigmasAndXis[key][sizeIndex];\n }\n }\n }\n\n return fontMetricsBySizeIndex[sizeIndex];\n}\n;// CONCATENATED MODULE: ./src/Options.js\n/**\n * This file contains information about the options that the Parser carries\n * around with it while parsing. Data is held in an `Options` object, and when\n * recursing, a new `Options` object can be created with the `.with*` and\n * `.reset` functions.\n */\n\nvar sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize].\n// The size mappings are taken from TeX with \\normalsize=10pt.\n[1, 1, 1], // size1: [5, 5, 5] \\tiny\n[2, 1, 1], // size2: [6, 5, 5]\n[3, 1, 1], // size3: [7, 5, 5] \\scriptsize\n[4, 2, 1], // size4: [8, 6, 5] \\footnotesize\n[5, 2, 1], // size5: [9, 6, 5] \\small\n[6, 3, 1], // size6: [10, 7, 5] \\normalsize\n[7, 4, 2], // size7: [12, 8, 6] \\large\n[8, 6, 3], // size8: [14.4, 10, 7] \\Large\n[9, 7, 6], // size9: [17.28, 12, 10] \\LARGE\n[10, 8, 7], // size10: [20.74, 14.4, 12] \\huge\n[11, 10, 9] // size11: [24.88, 20.74, 17.28] \\HUGE\n];\nvar sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if\n// you change size indexes, change that function.\n0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488];\n\nvar sizeAtStyle = function sizeAtStyle(size, style) {\n return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1];\n}; // In these types, \"\" (empty string) means \"no change\".\n\n\n/**\n * This is the main options class. It contains the current style, size, color,\n * and font.\n *\n * Options objects should not be modified. To create a new Options with\n * different properties, call a `.having*` method.\n */\nvar Options = /*#__PURE__*/function () {\n // A font family applies to a group of fonts (i.e. SansSerif), while a font\n // represents a specific font (i.e. SansSerif Bold).\n // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm\n\n /**\n * The base size index.\n */\n function Options(data) {\n this.style = void 0;\n this.color = void 0;\n this.size = void 0;\n this.textSize = void 0;\n this.phantom = void 0;\n this.font = void 0;\n this.fontFamily = void 0;\n this.fontWeight = void 0;\n this.fontShape = void 0;\n this.sizeMultiplier = void 0;\n this.maxSize = void 0;\n this.minRuleThickness = void 0;\n this._fontMetrics = void 0;\n this.style = data.style;\n this.color = data.color;\n this.size = data.size || Options.BASESIZE;\n this.textSize = data.textSize || this.size;\n this.phantom = !!data.phantom;\n this.font = data.font || \"\";\n this.fontFamily = data.fontFamily || \"\";\n this.fontWeight = data.fontWeight || '';\n this.fontShape = data.fontShape || '';\n this.sizeMultiplier = sizeMultipliers[this.size - 1];\n this.maxSize = data.maxSize;\n this.minRuleThickness = data.minRuleThickness;\n this._fontMetrics = undefined;\n }\n /**\n * Returns a new options object with the same properties as \"this\". Properties\n * from \"extension\" will be copied to the new options object.\n */\n\n\n var _proto = Options.prototype;\n\n _proto.extend = function extend(extension) {\n var data = {\n style: this.style,\n size: this.size,\n textSize: this.textSize,\n color: this.color,\n phantom: this.phantom,\n font: this.font,\n fontFamily: this.fontFamily,\n fontWeight: this.fontWeight,\n fontShape: this.fontShape,\n maxSize: this.maxSize,\n minRuleThickness: this.minRuleThickness\n };\n\n for (var key in extension) {\n if (extension.hasOwnProperty(key)) {\n data[key] = extension[key];\n }\n }\n\n return new Options(data);\n }\n /**\n * Return an options object with the given style. If `this.style === style`,\n * returns `this`.\n */\n ;\n\n _proto.havingStyle = function havingStyle(style) {\n if (this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: sizeAtStyle(this.textSize, style)\n });\n }\n }\n /**\n * Return an options object with a cramped version of the current style. If\n * the current style is cramped, returns `this`.\n */\n ;\n\n _proto.havingCrampedStyle = function havingCrampedStyle() {\n return this.havingStyle(this.style.cramp());\n }\n /**\n * Return an options object with the given size and in at least `\\textstyle`.\n * Returns `this` if appropriate.\n */\n ;\n\n _proto.havingSize = function havingSize(size) {\n if (this.size === size && this.textSize === size) {\n return this;\n } else {\n return this.extend({\n style: this.style.text(),\n size: size,\n textSize: size,\n sizeMultiplier: sizeMultipliers[size - 1]\n });\n }\n }\n /**\n * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,\n * changes to at least `\\textstyle`.\n */\n ;\n\n _proto.havingBaseStyle = function havingBaseStyle(style) {\n style = style || this.style.text();\n var wantSize = sizeAtStyle(Options.BASESIZE, style);\n\n if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: wantSize\n });\n }\n }\n /**\n * Remove the effect of sizing changes such as \\Huge.\n * Keep the effect of the current style, such as \\scriptstyle.\n */\n ;\n\n _proto.havingBaseSizing = function havingBaseSizing() {\n var size;\n\n switch (this.style.id) {\n case 4:\n case 5:\n size = 3; // normalsize in scriptstyle\n\n break;\n\n case 6:\n case 7:\n size = 1; // normalsize in scriptscriptstyle\n\n break;\n\n default:\n size = 6;\n // normalsize in textstyle or displaystyle\n }\n\n return this.extend({\n style: this.style.text(),\n size: size\n });\n }\n /**\n * Create a new options object with the given color.\n */\n ;\n\n _proto.withColor = function withColor(color) {\n return this.extend({\n color: color\n });\n }\n /**\n * Create a new options object with \"phantom\" set to true.\n */\n ;\n\n _proto.withPhantom = function withPhantom() {\n return this.extend({\n phantom: true\n });\n }\n /**\n * Creates a new options object with the given math font or old text font.\n * @type {[type]}\n */\n ;\n\n _proto.withFont = function withFont(font) {\n return this.extend({\n font: font\n });\n }\n /**\n * Create a new options objects with the given fontFamily.\n */\n ;\n\n _proto.withTextFontFamily = function withTextFontFamily(fontFamily) {\n return this.extend({\n fontFamily: fontFamily,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n ;\n\n _proto.withTextFontWeight = function withTextFontWeight(fontWeight) {\n return this.extend({\n fontWeight: fontWeight,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n ;\n\n _proto.withTextFontShape = function withTextFontShape(fontShape) {\n return this.extend({\n fontShape: fontShape,\n font: \"\"\n });\n }\n /**\n * Return the CSS sizing classes required to switch from enclosing options\n * `oldOptions` to `this`. Returns an array of classes.\n */\n ;\n\n _proto.sizingClasses = function sizingClasses(oldOptions) {\n if (oldOptions.size !== this.size) {\n return [\"sizing\", \"reset-size\" + oldOptions.size, \"size\" + this.size];\n } else {\n return [];\n }\n }\n /**\n * Return the CSS sizing classes required to switch to the base size. Like\n * `this.havingSize(BASESIZE).sizingClasses(this)`.\n */\n ;\n\n _proto.baseSizingClasses = function baseSizingClasses() {\n if (this.size !== Options.BASESIZE) {\n return [\"sizing\", \"reset-size\" + this.size, \"size\" + Options.BASESIZE];\n } else {\n return [];\n }\n }\n /**\n * Return the font metrics for this size.\n */\n ;\n\n _proto.fontMetrics = function fontMetrics() {\n if (!this._fontMetrics) {\n this._fontMetrics = getGlobalMetrics(this.size);\n }\n\n return this._fontMetrics;\n }\n /**\n * Gets the CSS color of the current options object\n */\n ;\n\n _proto.getColor = function getColor() {\n if (this.phantom) {\n return \"transparent\";\n } else {\n return this.color;\n }\n };\n\n return Options;\n}();\n\nOptions.BASESIZE = 6;\n/* harmony default export */ var src_Options = (Options);\n;// CONCATENATED MODULE: ./src/units.js\n/**\n * This file does conversion between units. In particular, it provides\n * calculateSize to convert other units into ems.\n */\n\n // This table gives the number of TeX pts in one of each *absolute* TeX unit.\n// Thus, multiplying a length by this number converts the length from units\n// into pts. Dividing the result by ptPerEm gives the number of ems\n// *assuming* a font size of ptPerEm (normal size, normal style).\n\nvar ptPerUnit = {\n // https://en.wikibooks.org/wiki/LaTeX/Lengths and\n // https://tex.stackexchange.com/a/8263\n \"pt\": 1,\n // TeX point\n \"mm\": 7227 / 2540,\n // millimeter\n \"cm\": 7227 / 254,\n // centimeter\n \"in\": 72.27,\n // inch\n \"bp\": 803 / 800,\n // big (PostScript) points\n \"pc\": 12,\n // pica\n \"dd\": 1238 / 1157,\n // didot\n \"cc\": 14856 / 1157,\n // cicero (12 didot)\n \"nd\": 685 / 642,\n // new didot\n \"nc\": 1370 / 107,\n // new cicero (12 new didot)\n \"sp\": 1 / 65536,\n // scaled point (TeX's internal smallest unit)\n // https://tex.stackexchange.com/a/41371\n \"px\": 803 / 800 // \\pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX\n\n}; // Dictionary of relative units, for fast validity testing.\n\nvar relativeUnit = {\n \"ex\": true,\n \"em\": true,\n \"mu\": true\n};\n\n/**\n * Determine whether the specified unit (either a string defining the unit\n * or a \"size\" parse node containing a unit field) is valid.\n */\nvar validUnit = function validUnit(unit) {\n if (typeof unit !== \"string\") {\n unit = unit.unit;\n }\n\n return unit in ptPerUnit || unit in relativeUnit || unit === \"ex\";\n};\n/*\n * Convert a \"size\" parse node (with numeric \"number\" and string \"unit\" fields,\n * as parsed by functions.js argType \"size\") into a CSS em value for the\n * current style/scale. `options` gives the current options.\n */\n\nvar calculateSize = function calculateSize(sizeValue, options) {\n var scale;\n\n if (sizeValue.unit in ptPerUnit) {\n // Absolute units\n scale = ptPerUnit[sizeValue.unit] // Convert unit to pt\n / options.fontMetrics().ptPerEm // Convert pt to CSS em\n / options.sizeMultiplier; // Unscale to make absolute units\n } else if (sizeValue.unit === \"mu\") {\n // `mu` units scale with scriptstyle/scriptscriptstyle.\n scale = options.fontMetrics().cssEmPerMu;\n } else {\n // Other relative units always refer to the *textstyle* font\n // in the current size.\n var unitOptions;\n\n if (options.style.isTight()) {\n // isTight() means current style is script/scriptscript.\n unitOptions = options.havingStyle(options.style.text());\n } else {\n unitOptions = options;\n } // TODO: In TeX these units are relative to the quad of the current\n // *text* font, e.g. cmr10. KaTeX instead uses values from the\n // comparably-sized *Computer Modern symbol* font. At 10pt, these\n // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641;\n // cmr5=1.361133, cmsy5=1.472241. Consider $\\scriptsize a\\kern1emb$.\n // TeX \\showlists shows a kern of 1.13889 * fontsize;\n // KaTeX shows a kern of 1.171 * fontsize.\n\n\n if (sizeValue.unit === \"ex\") {\n scale = unitOptions.fontMetrics().xHeight;\n } else if (sizeValue.unit === \"em\") {\n scale = unitOptions.fontMetrics().quad;\n } else {\n throw new src_ParseError(\"Invalid unit: '\" + sizeValue.unit + \"'\");\n }\n\n if (unitOptions !== options) {\n scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n return Math.min(sizeValue.number * scale, options.maxSize);\n};\n/**\n * Round `n` to 4 decimal places, or to the nearest 1/10,000th em. See\n * https://github.com/KaTeX/KaTeX/pull/2460.\n */\n\nvar makeEm = function makeEm(n) {\n return +n.toFixed(4) + \"em\";\n};\n;// CONCATENATED MODULE: ./src/domTree.js\n/**\n * These objects store the data about the DOM nodes we create, as well as some\n * extra data. They can then be transformed into real DOM nodes with the\n * `toNode` function or HTML markup using `toMarkup`. They are useful for both\n * storing extra properties on the nodes, as well as providing a way to easily\n * work with the DOM.\n *\n * Similar functions for working with MathML nodes exist in mathMLTree.js.\n *\n * TODO: refactor `span` and `anchor` into common superclass when\n * target environments support class inheritance\n */\n\n\n\n\n\n\n/**\n * Create an HTML className based on a list of classes. In addition to joining\n * with spaces, we also remove empty classes.\n */\nvar createClass = function createClass(classes) {\n return classes.filter(function (cls) {\n return cls;\n }).join(\" \");\n};\n\nvar initNode = function initNode(classes, options, style) {\n this.classes = classes || [];\n this.attributes = {};\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = style || {};\n\n if (options) {\n if (options.style.isTight()) {\n this.classes.push(\"mtight\");\n }\n\n var color = options.getColor();\n\n if (color) {\n this.style.color = color;\n }\n }\n};\n/**\n * Convert into an HTML node\n */\n\n\nvar _toNode = function toNode(tagName) {\n var node = document.createElement(tagName); // Apply the class\n\n node.className = createClass(this.classes); // Apply inline styles\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe Flow doesn't seem to understand span.style's type.\n node.style[style] = this.style[style];\n }\n } // Apply attributes\n\n\n for (var attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n } // Append the children, also as HTML nodes\n\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n};\n/**\n * Convert into an HTML markup string\n */\n\n\nvar _toMarkup = function toMarkup(tagName) {\n var markup = \"<\" + tagName; // Add the class\n\n if (this.classes.length) {\n markup += \" class=\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n var styles = \"\"; // Add the styles, after hyphenation\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n } // Add the attributes\n\n\n for (var attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n markup += \" \" + attr + \"=\\\"\" + utils.escape(this.attributes[attr]) + \"\\\"\";\n }\n }\n\n markup += \">\"; // Add the markup of the children, also as markup\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n// This type does not include all CSS properties. Additional properties should\n// be added as needed.\n\n\n/**\n * This node represents a span node, with a className, a list of children, and\n * an inline style. It also contains information about its height, depth, and\n * maxFontSize.\n *\n * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan\n * otherwise. This typesafety is important when HTML builders access a span's\n * children.\n */\nvar Span = /*#__PURE__*/function () {\n function Span(classes, children, options, style) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options, style);\n this.children = children || [];\n }\n /**\n * Sets an arbitrary attribute on the span. Warning: use this wisely. Not\n * all browsers support attributes the same, and having too many custom\n * attributes is probably bad.\n */\n\n\n var _proto = Span.prototype;\n\n _proto.setAttribute = function setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n };\n\n _proto.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n };\n\n _proto.toNode = function toNode() {\n return _toNode.call(this, \"span\");\n };\n\n _proto.toMarkup = function toMarkup() {\n return _toMarkup.call(this, \"span\");\n };\n\n return Span;\n}();\n/**\n * This node represents an anchor () element with a hyperlink. See `span`\n * for further details.\n */\n\nvar Anchor = /*#__PURE__*/function () {\n function Anchor(href, classes, children, options) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options);\n this.children = children || [];\n this.setAttribute('href', href);\n }\n\n var _proto2 = Anchor.prototype;\n\n _proto2.setAttribute = function setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n };\n\n _proto2.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n };\n\n _proto2.toNode = function toNode() {\n return _toNode.call(this, \"a\");\n };\n\n _proto2.toMarkup = function toMarkup() {\n return _toMarkup.call(this, \"a\");\n };\n\n return Anchor;\n}();\n/**\n * This node represents an image embed () element.\n */\n\nvar Img = /*#__PURE__*/function () {\n function Img(src, alt, style) {\n this.src = void 0;\n this.alt = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.alt = alt;\n this.src = src;\n this.classes = [\"mord\"];\n this.style = style;\n }\n\n var _proto3 = Img.prototype;\n\n _proto3.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n };\n\n _proto3.toNode = function toNode() {\n var node = document.createElement(\"img\");\n node.src = this.src;\n node.alt = this.alt;\n node.className = \"mord\"; // Apply inline styles\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe\n node.style[style] = this.style[style];\n }\n }\n\n return node;\n };\n\n _proto3.toMarkup = function toMarkup() {\n var markup = \"\" + this.alt + \"\";\n return markup;\n };\n\n return Img;\n}();\nvar iCombinations = {\n 'î': \"\\u0131\\u0302\",\n 'ï': \"\\u0131\\u0308\",\n 'í': \"\\u0131\\u0301\",\n // 'ī': '\\u0131\\u0304', // enable when we add Extended Latin\n 'ì': \"\\u0131\\u0300\"\n};\n/**\n * A symbol node contains information about a single symbol. It either renders\n * to a single text node, or a span with a single text node in it, depending on\n * whether it has CSS classes, styles, or needs italic correction.\n */\n\nvar SymbolNode = /*#__PURE__*/function () {\n function SymbolNode(text, height, depth, italic, skew, width, classes, style) {\n this.text = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.italic = void 0;\n this.skew = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.classes = void 0;\n this.style = void 0;\n this.text = text;\n this.height = height || 0;\n this.depth = depth || 0;\n this.italic = italic || 0;\n this.skew = skew || 0;\n this.width = width || 0;\n this.classes = classes || [];\n this.style = style || {};\n this.maxFontSize = 0; // Mark text from non-Latin scripts with specific classes so that we\n // can specify which fonts to use. This allows us to render these\n // characters with a serif font in situations where the browser would\n // either default to a sans serif or render a placeholder character.\n // We use CSS class names like cjk_fallback, hangul_fallback and\n // brahmic_fallback. See ./unicodeScripts.js for the set of possible\n // script names\n\n var script = scriptFromCodepoint(this.text.charCodeAt(0));\n\n if (script) {\n this.classes.push(script + \"_fallback\");\n }\n\n if (/[îïíì]/.test(this.text)) {\n // add ī when we add Extended Latin\n this.text = iCombinations[this.text];\n }\n }\n\n var _proto4 = SymbolNode.prototype;\n\n _proto4.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /**\n * Creates a text node or span from a symbol node. Note that a span is only\n * created if it is needed.\n */\n ;\n\n _proto4.toNode = function toNode() {\n var node = document.createTextNode(this.text);\n var span = null;\n\n if (this.italic > 0) {\n span = document.createElement(\"span\");\n span.style.marginRight = makeEm(this.italic);\n }\n\n if (this.classes.length > 0) {\n span = span || document.createElement(\"span\");\n span.className = createClass(this.classes);\n }\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n span = span || document.createElement(\"span\"); // $FlowFixMe Flow doesn't seem to understand span.style's type.\n\n span.style[style] = this.style[style];\n }\n }\n\n if (span) {\n span.appendChild(node);\n return span;\n } else {\n return node;\n }\n }\n /**\n * Creates markup for a symbol node.\n */\n ;\n\n _proto4.toMarkup = function toMarkup() {\n // TODO(alpert): More duplication than I'd like from\n // span.prototype.toMarkup and symbolNode.prototype.toNode...\n var needsSpan = false;\n var markup = \" 0) {\n styles += \"margin-right:\" + this.italic + \"em;\";\n }\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n needsSpan = true;\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n }\n\n var escaped = utils.escape(this.text);\n\n if (needsSpan) {\n markup += \">\";\n markup += escaped;\n markup += \"\";\n return markup;\n } else {\n return escaped;\n }\n };\n\n return SymbolNode;\n}();\n/**\n * SVG nodes are used to render stretchy wide elements.\n */\n\nvar SvgNode = /*#__PURE__*/function () {\n function SvgNode(children, attributes) {\n this.children = void 0;\n this.attributes = void 0;\n this.children = children || [];\n this.attributes = attributes || {};\n }\n\n var _proto5 = SvgNode.prototype;\n\n _proto5.toNode = function toNode() {\n var svgNS = \"http://www.w3.org/2000/svg\";\n var node = document.createElementNS(svgNS, \"svg\"); // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n };\n\n _proto5.toMarkup = function toMarkup() {\n var markup = \"\";\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n };\n\n return SvgNode;\n}();\nvar PathNode = /*#__PURE__*/function () {\n function PathNode(pathName, alternate) {\n this.pathName = void 0;\n this.alternate = void 0;\n this.pathName = pathName;\n this.alternate = alternate; // Used only for \\sqrt, \\phase, & tall delims\n }\n\n var _proto6 = PathNode.prototype;\n\n _proto6.toNode = function toNode() {\n var svgNS = \"http://www.w3.org/2000/svg\";\n var node = document.createElementNS(svgNS, \"path\");\n\n if (this.alternate) {\n node.setAttribute(\"d\", this.alternate);\n } else {\n node.setAttribute(\"d\", path[this.pathName]);\n }\n\n return node;\n };\n\n _proto6.toMarkup = function toMarkup() {\n if (this.alternate) {\n return \"\";\n } else {\n return \"\";\n }\n };\n\n return PathNode;\n}();\nvar LineNode = /*#__PURE__*/function () {\n function LineNode(attributes) {\n this.attributes = void 0;\n this.attributes = attributes || {};\n }\n\n var _proto7 = LineNode.prototype;\n\n _proto7.toNode = function toNode() {\n var svgNS = \"http://www.w3.org/2000/svg\";\n var node = document.createElementNS(svgNS, \"line\"); // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n return node;\n };\n\n _proto7.toMarkup = function toMarkup() {\n var markup = \"\";\n return markup;\n };\n\n return LineNode;\n}();\nfunction assertSymbolDomNode(group) {\n if (group instanceof SymbolNode) {\n return group;\n } else {\n throw new Error(\"Expected symbolNode but got \" + String(group) + \".\");\n }\n}\nfunction assertSpan(group) {\n if (group instanceof Span) {\n return group;\n } else {\n throw new Error(\"Expected span but got \" + String(group) + \".\");\n }\n}\n;// CONCATENATED MODULE: ./src/symbols.js\n/**\n * This file holds a list of all no-argument functions and single-character\n * symbols (like 'a' or ';').\n *\n * For each of the symbols, there are three properties they can have:\n * - font (required): the font to be used for this symbol. Either \"main\" (the\n normal font), or \"ams\" (the ams fonts).\n * - group (required): the ParseNode group type the symbol should have (i.e.\n \"textord\", \"mathord\", etc).\n See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types\n * - replace: the character that this symbol or function should be\n * replaced with (i.e. \"\\phi\" has a replace value of \"\\u03d5\", the phi\n * character in the main font).\n *\n * The outermost map in the table indicates what mode the symbols should be\n * accepted in (e.g. \"math\" or \"text\").\n */\n// Some of these have a \"-token\" suffix since these are also used as `ParseNode`\n// types for raw text tokens, and we want to avoid conflicts with higher-level\n// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by\n// looking up the `symbols` map.\nvar ATOMS = {\n \"bin\": 1,\n \"close\": 1,\n \"inner\": 1,\n \"open\": 1,\n \"punct\": 1,\n \"rel\": 1\n};\nvar NON_ATOMS = {\n \"accent-token\": 1,\n \"mathord\": 1,\n \"op-token\": 1,\n \"spacing\": 1,\n \"textord\": 1\n};\nvar symbols = {\n \"math\": {},\n \"text\": {}\n};\n/* harmony default export */ var src_symbols = (symbols);\n/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */\n\nfunction defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) {\n symbols[mode][name] = {\n font: font,\n group: group,\n replace: replace\n };\n\n if (acceptUnicodeChar && replace) {\n symbols[mode][replace] = symbols[mode][name];\n }\n} // Some abbreviations for commonly used strings.\n// This helps minify the code, and also spotting typos using jshint.\n// modes:\n\nvar math = \"math\";\nvar symbols_text = \"text\"; // fonts:\n\nvar main = \"main\";\nvar ams = \"ams\"; // groups:\n\nvar accent = \"accent-token\";\nvar bin = \"bin\";\nvar symbols_close = \"close\";\nvar inner = \"inner\";\nvar mathord = \"mathord\";\nvar op = \"op-token\";\nvar symbols_open = \"open\";\nvar punct = \"punct\";\nvar rel = \"rel\";\nvar spacing = \"spacing\";\nvar textord = \"textord\"; // Now comes the symbol table\n// Relation Symbols\n\ndefineSymbol(math, main, rel, \"\\u2261\", \"\\\\equiv\", true);\ndefineSymbol(math, main, rel, \"\\u227A\", \"\\\\prec\", true);\ndefineSymbol(math, main, rel, \"\\u227B\", \"\\\\succ\", true);\ndefineSymbol(math, main, rel, \"\\u223C\", \"\\\\sim\", true);\ndefineSymbol(math, main, rel, \"\\u22A5\", \"\\\\perp\");\ndefineSymbol(math, main, rel, \"\\u2AAF\", \"\\\\preceq\", true);\ndefineSymbol(math, main, rel, \"\\u2AB0\", \"\\\\succeq\", true);\ndefineSymbol(math, main, rel, \"\\u2243\", \"\\\\simeq\", true);\ndefineSymbol(math, main, rel, \"\\u2223\", \"\\\\mid\", true);\ndefineSymbol(math, main, rel, \"\\u226A\", \"\\\\ll\", true);\ndefineSymbol(math, main, rel, \"\\u226B\", \"\\\\gg\", true);\ndefineSymbol(math, main, rel, \"\\u224D\", \"\\\\asymp\", true);\ndefineSymbol(math, main, rel, \"\\u2225\", \"\\\\parallel\");\ndefineSymbol(math, main, rel, \"\\u22C8\", \"\\\\bowtie\", true);\ndefineSymbol(math, main, rel, \"\\u2323\", \"\\\\smile\", true);\ndefineSymbol(math, main, rel, \"\\u2291\", \"\\\\sqsubseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2292\", \"\\\\sqsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2250\", \"\\\\doteq\", true);\ndefineSymbol(math, main, rel, \"\\u2322\", \"\\\\frown\", true);\ndefineSymbol(math, main, rel, \"\\u220B\", \"\\\\ni\", true);\ndefineSymbol(math, main, rel, \"\\u221D\", \"\\\\propto\", true);\ndefineSymbol(math, main, rel, \"\\u22A2\", \"\\\\vdash\", true);\ndefineSymbol(math, main, rel, \"\\u22A3\", \"\\\\dashv\", true);\ndefineSymbol(math, main, rel, \"\\u220B\", \"\\\\owns\"); // Punctuation\n\ndefineSymbol(math, main, punct, \".\", \"\\\\ldotp\");\ndefineSymbol(math, main, punct, \"\\u22C5\", \"\\\\cdotp\"); // Misc Symbols\n\ndefineSymbol(math, main, textord, \"#\", \"\\\\#\");\ndefineSymbol(symbols_text, main, textord, \"#\", \"\\\\#\");\ndefineSymbol(math, main, textord, \"&\", \"\\\\&\");\ndefineSymbol(symbols_text, main, textord, \"&\", \"\\\\&\");\ndefineSymbol(math, main, textord, \"\\u2135\", \"\\\\aleph\", true);\ndefineSymbol(math, main, textord, \"\\u2200\", \"\\\\forall\", true);\ndefineSymbol(math, main, textord, \"\\u210F\", \"\\\\hbar\", true);\ndefineSymbol(math, main, textord, \"\\u2203\", \"\\\\exists\", true);\ndefineSymbol(math, main, textord, \"\\u2207\", \"\\\\nabla\", true);\ndefineSymbol(math, main, textord, \"\\u266D\", \"\\\\flat\", true);\ndefineSymbol(math, main, textord, \"\\u2113\", \"\\\\ell\", true);\ndefineSymbol(math, main, textord, \"\\u266E\", \"\\\\natural\", true);\ndefineSymbol(math, main, textord, \"\\u2663\", \"\\\\clubsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2118\", \"\\\\wp\", true);\ndefineSymbol(math, main, textord, \"\\u266F\", \"\\\\sharp\", true);\ndefineSymbol(math, main, textord, \"\\u2662\", \"\\\\diamondsuit\", true);\ndefineSymbol(math, main, textord, \"\\u211C\", \"\\\\Re\", true);\ndefineSymbol(math, main, textord, \"\\u2661\", \"\\\\heartsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2111\", \"\\\\Im\", true);\ndefineSymbol(math, main, textord, \"\\u2660\", \"\\\\spadesuit\", true);\ndefineSymbol(math, main, textord, \"\\xA7\", \"\\\\S\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xA7\", \"\\\\S\");\ndefineSymbol(math, main, textord, \"\\xB6\", \"\\\\P\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xB6\", \"\\\\P\"); // Math and Text\n\ndefineSymbol(math, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2020\", \"\\\\textdagger\");\ndefineSymbol(math, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2021\", \"\\\\textdaggerdbl\"); // Large Delimiters\n\ndefineSymbol(math, main, symbols_close, \"\\u23B1\", \"\\\\rmoustache\", true);\ndefineSymbol(math, main, symbols_open, \"\\u23B0\", \"\\\\lmoustache\", true);\ndefineSymbol(math, main, symbols_close, \"\\u27EF\", \"\\\\rgroup\", true);\ndefineSymbol(math, main, symbols_open, \"\\u27EE\", \"\\\\lgroup\", true); // Binary Operators\n\ndefineSymbol(math, main, bin, \"\\u2213\", \"\\\\mp\", true);\ndefineSymbol(math, main, bin, \"\\u2296\", \"\\\\ominus\", true);\ndefineSymbol(math, main, bin, \"\\u228E\", \"\\\\uplus\", true);\ndefineSymbol(math, main, bin, \"\\u2293\", \"\\\\sqcap\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"\\\\ast\");\ndefineSymbol(math, main, bin, \"\\u2294\", \"\\\\sqcup\", true);\ndefineSymbol(math, main, bin, \"\\u25EF\", \"\\\\bigcirc\", true);\ndefineSymbol(math, main, bin, \"\\u2219\", \"\\\\bullet\", true);\ndefineSymbol(math, main, bin, \"\\u2021\", \"\\\\ddagger\");\ndefineSymbol(math, main, bin, \"\\u2240\", \"\\\\wr\", true);\ndefineSymbol(math, main, bin, \"\\u2A3F\", \"\\\\amalg\");\ndefineSymbol(math, main, bin, \"&\", \"\\\\And\"); // from amsmath\n// Arrow Symbols\n\ndefineSymbol(math, main, rel, \"\\u27F5\", \"\\\\longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21D0\", \"\\\\Leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27F8\", \"\\\\Longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27F6\", \"\\\\longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21D2\", \"\\\\Rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27F9\", \"\\\\Longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2194\", \"\\\\leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27F7\", \"\\\\longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21D4\", \"\\\\Leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27FA\", \"\\\\Longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21A6\", \"\\\\mapsto\", true);\ndefineSymbol(math, main, rel, \"\\u27FC\", \"\\\\longmapsto\", true);\ndefineSymbol(math, main, rel, \"\\u2197\", \"\\\\nearrow\", true);\ndefineSymbol(math, main, rel, \"\\u21A9\", \"\\\\hookleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21AA\", \"\\\\hookrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2198\", \"\\\\searrow\", true);\ndefineSymbol(math, main, rel, \"\\u21BC\", \"\\\\leftharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u21C0\", \"\\\\rightharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u2199\", \"\\\\swarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21BD\", \"\\\\leftharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u21C1\", \"\\\\rightharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u2196\", \"\\\\nwarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21CC\", \"\\\\rightleftharpoons\", true); // AMS Negated Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u226E\", \"\\\\nless\", true); // Symbol names preceeded by \"@\" each have a corresponding macro.\n\ndefineSymbol(math, ams, rel, \"\\uE010\", \"\\\\@nleqslant\");\ndefineSymbol(math, ams, rel, \"\\uE011\", \"\\\\@nleqq\");\ndefineSymbol(math, ams, rel, \"\\u2A87\", \"\\\\lneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2268\", \"\\\\lneqq\", true);\ndefineSymbol(math, ams, rel, \"\\uE00C\", \"\\\\@lvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22E6\", \"\\\\lnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2A89\", \"\\\\lnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2280\", \"\\\\nprec\", true); // unicode-math maps \\u22e0 to \\npreccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22E0\", \"\\\\npreceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22E8\", \"\\\\precnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2AB9\", \"\\\\precnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2241\", \"\\\\nsim\", true);\ndefineSymbol(math, ams, rel, \"\\uE006\", \"\\\\@nshortmid\");\ndefineSymbol(math, ams, rel, \"\\u2224\", \"\\\\nmid\", true);\ndefineSymbol(math, ams, rel, \"\\u22AC\", \"\\\\nvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u22AD\", \"\\\\nvDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22EA\", \"\\\\ntriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22EC\", \"\\\\ntrianglelefteq\", true);\ndefineSymbol(math, ams, rel, \"\\u228A\", \"\\\\subsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\uE01A\", \"\\\\@varsubsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2ACB\", \"\\\\subsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\uE017\", \"\\\\@varsubsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u226F\", \"\\\\ngtr\", true);\ndefineSymbol(math, ams, rel, \"\\uE00F\", \"\\\\@ngeqslant\");\ndefineSymbol(math, ams, rel, \"\\uE00E\", \"\\\\@ngeqq\");\ndefineSymbol(math, ams, rel, \"\\u2A88\", \"\\\\gneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2269\", \"\\\\gneqq\", true);\ndefineSymbol(math, ams, rel, \"\\uE00D\", \"\\\\@gvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22E7\", \"\\\\gnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2A8A\", \"\\\\gnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2281\", \"\\\\nsucc\", true); // unicode-math maps \\u22e1 to \\nsucccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22E1\", \"\\\\nsucceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22E9\", \"\\\\succnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ABA\", \"\\\\succnapprox\", true); // unicode-math maps \\u2246 to \\simneqq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u2246\", \"\\\\ncong\", true);\ndefineSymbol(math, ams, rel, \"\\uE007\", \"\\\\@nshortparallel\");\ndefineSymbol(math, ams, rel, \"\\u2226\", \"\\\\nparallel\", true);\ndefineSymbol(math, ams, rel, \"\\u22AF\", \"\\\\nVDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22EB\", \"\\\\ntriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22ED\", \"\\\\ntrianglerighteq\", true);\ndefineSymbol(math, ams, rel, \"\\uE018\", \"\\\\@nsupseteqq\");\ndefineSymbol(math, ams, rel, \"\\u228B\", \"\\\\supsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\uE01B\", \"\\\\@varsupsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2ACC\", \"\\\\supsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\uE019\", \"\\\\@varsupsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u22AE\", \"\\\\nVdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2AB5\", \"\\\\precneqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2AB6\", \"\\\\succneqq\", true);\ndefineSymbol(math, ams, rel, \"\\uE016\", \"\\\\@nsubseteqq\");\ndefineSymbol(math, ams, bin, \"\\u22B4\", \"\\\\unlhd\");\ndefineSymbol(math, ams, bin, \"\\u22B5\", \"\\\\unrhd\"); // AMS Negated Arrows\n\ndefineSymbol(math, ams, rel, \"\\u219A\", \"\\\\nleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219B\", \"\\\\nrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21CD\", \"\\\\nLeftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21CF\", \"\\\\nRightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21AE\", \"\\\\nleftrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21CE\", \"\\\\nLeftrightarrow\", true); // AMS Misc\n\ndefineSymbol(math, ams, rel, \"\\u25B3\", \"\\\\vartriangle\");\ndefineSymbol(math, ams, textord, \"\\u210F\", \"\\\\hslash\");\ndefineSymbol(math, ams, textord, \"\\u25BD\", \"\\\\triangledown\");\ndefineSymbol(math, ams, textord, \"\\u25CA\", \"\\\\lozenge\");\ndefineSymbol(math, ams, textord, \"\\u24C8\", \"\\\\circledS\");\ndefineSymbol(math, ams, textord, \"\\xAE\", \"\\\\circledR\");\ndefineSymbol(symbols_text, ams, textord, \"\\xAE\", \"\\\\circledR\");\ndefineSymbol(math, ams, textord, \"\\u2221\", \"\\\\measuredangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2204\", \"\\\\nexists\");\ndefineSymbol(math, ams, textord, \"\\u2127\", \"\\\\mho\");\ndefineSymbol(math, ams, textord, \"\\u2132\", \"\\\\Finv\", true);\ndefineSymbol(math, ams, textord, \"\\u2141\", \"\\\\Game\", true);\ndefineSymbol(math, ams, textord, \"\\u2035\", \"\\\\backprime\");\ndefineSymbol(math, ams, textord, \"\\u25B2\", \"\\\\blacktriangle\");\ndefineSymbol(math, ams, textord, \"\\u25BC\", \"\\\\blacktriangledown\");\ndefineSymbol(math, ams, textord, \"\\u25A0\", \"\\\\blacksquare\");\ndefineSymbol(math, ams, textord, \"\\u29EB\", \"\\\\blacklozenge\");\ndefineSymbol(math, ams, textord, \"\\u2605\", \"\\\\bigstar\");\ndefineSymbol(math, ams, textord, \"\\u2222\", \"\\\\sphericalangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2201\", \"\\\\complement\", true); // unicode-math maps U+F0 to \\matheth. We map to AMS function \\eth\n\ndefineSymbol(math, ams, textord, \"\\xF0\", \"\\\\eth\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xF0\", \"\\xF0\");\ndefineSymbol(math, ams, textord, \"\\u2571\", \"\\\\diagup\");\ndefineSymbol(math, ams, textord, \"\\u2572\", \"\\\\diagdown\");\ndefineSymbol(math, ams, textord, \"\\u25A1\", \"\\\\square\");\ndefineSymbol(math, ams, textord, \"\\u25A1\", \"\\\\Box\");\ndefineSymbol(math, ams, textord, \"\\u25CA\", \"\\\\Diamond\"); // unicode-math maps U+A5 to \\mathyen. We map to AMS function \\yen\n\ndefineSymbol(math, ams, textord, \"\\xA5\", \"\\\\yen\", true);\ndefineSymbol(symbols_text, ams, textord, \"\\xA5\", \"\\\\yen\", true);\ndefineSymbol(math, ams, textord, \"\\u2713\", \"\\\\checkmark\", true);\ndefineSymbol(symbols_text, ams, textord, \"\\u2713\", \"\\\\checkmark\"); // AMS Hebrew\n\ndefineSymbol(math, ams, textord, \"\\u2136\", \"\\\\beth\", true);\ndefineSymbol(math, ams, textord, \"\\u2138\", \"\\\\daleth\", true);\ndefineSymbol(math, ams, textord, \"\\u2137\", \"\\\\gimel\", true); // AMS Greek\n\ndefineSymbol(math, ams, textord, \"\\u03DD\", \"\\\\digamma\", true);\ndefineSymbol(math, ams, textord, \"\\u03F0\", \"\\\\varkappa\"); // AMS Delimiters\n\ndefineSymbol(math, ams, symbols_open, \"\\u250C\", \"\\\\@ulcorner\", true);\ndefineSymbol(math, ams, symbols_close, \"\\u2510\", \"\\\\@urcorner\", true);\ndefineSymbol(math, ams, symbols_open, \"\\u2514\", \"\\\\@llcorner\", true);\ndefineSymbol(math, ams, symbols_close, \"\\u2518\", \"\\\\@lrcorner\", true); // AMS Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u2266\", \"\\\\leqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2A7D\", \"\\\\leqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2A95\", \"\\\\eqslantless\", true);\ndefineSymbol(math, ams, rel, \"\\u2272\", \"\\\\lesssim\", true);\ndefineSymbol(math, ams, rel, \"\\u2A85\", \"\\\\lessapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u224A\", \"\\\\approxeq\", true);\ndefineSymbol(math, ams, bin, \"\\u22D6\", \"\\\\lessdot\");\ndefineSymbol(math, ams, rel, \"\\u22D8\", \"\\\\lll\", true);\ndefineSymbol(math, ams, rel, \"\\u2276\", \"\\\\lessgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u22DA\", \"\\\\lesseqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2A8B\", \"\\\\lesseqqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\doteqdot\");\ndefineSymbol(math, ams, rel, \"\\u2253\", \"\\\\risingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u2252\", \"\\\\fallingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u223D\", \"\\\\backsim\", true);\ndefineSymbol(math, ams, rel, \"\\u22CD\", \"\\\\backsimeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2AC5\", \"\\\\subseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22D0\", \"\\\\Subset\", true);\ndefineSymbol(math, ams, rel, \"\\u228F\", \"\\\\sqsubset\", true);\ndefineSymbol(math, ams, rel, \"\\u227C\", \"\\\\preccurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22DE\", \"\\\\curlyeqprec\", true);\ndefineSymbol(math, ams, rel, \"\\u227E\", \"\\\\precsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2AB7\", \"\\\\precapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22B2\", \"\\\\vartriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22B4\", \"\\\\trianglelefteq\");\ndefineSymbol(math, ams, rel, \"\\u22A8\", \"\\\\vDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22AA\", \"\\\\Vvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2323\", \"\\\\smallsmile\");\ndefineSymbol(math, ams, rel, \"\\u2322\", \"\\\\smallfrown\");\ndefineSymbol(math, ams, rel, \"\\u224F\", \"\\\\bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u224E\", \"\\\\Bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2267\", \"\\\\geqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2A7E\", \"\\\\geqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2A96\", \"\\\\eqslantgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2273\", \"\\\\gtrsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2A86\", \"\\\\gtrapprox\", true);\ndefineSymbol(math, ams, bin, \"\\u22D7\", \"\\\\gtrdot\");\ndefineSymbol(math, ams, rel, \"\\u22D9\", \"\\\\ggg\", true);\ndefineSymbol(math, ams, rel, \"\\u2277\", \"\\\\gtrless\", true);\ndefineSymbol(math, ams, rel, \"\\u22DB\", \"\\\\gtreqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2A8C\", \"\\\\gtreqqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2256\", \"\\\\eqcirc\", true);\ndefineSymbol(math, ams, rel, \"\\u2257\", \"\\\\circeq\", true);\ndefineSymbol(math, ams, rel, \"\\u225C\", \"\\\\triangleq\", true);\ndefineSymbol(math, ams, rel, \"\\u223C\", \"\\\\thicksim\");\ndefineSymbol(math, ams, rel, \"\\u2248\", \"\\\\thickapprox\");\ndefineSymbol(math, ams, rel, \"\\u2AC6\", \"\\\\supseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22D1\", \"\\\\Supset\", true);\ndefineSymbol(math, ams, rel, \"\\u2290\", \"\\\\sqsupset\", true);\ndefineSymbol(math, ams, rel, \"\\u227D\", \"\\\\succcurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22DF\", \"\\\\curlyeqsucc\", true);\ndefineSymbol(math, ams, rel, \"\\u227F\", \"\\\\succsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2AB8\", \"\\\\succapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22B3\", \"\\\\vartriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22B5\", \"\\\\trianglerighteq\");\ndefineSymbol(math, ams, rel, \"\\u22A9\", \"\\\\Vdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2223\", \"\\\\shortmid\");\ndefineSymbol(math, ams, rel, \"\\u2225\", \"\\\\shortparallel\");\ndefineSymbol(math, ams, rel, \"\\u226C\", \"\\\\between\", true);\ndefineSymbol(math, ams, rel, \"\\u22D4\", \"\\\\pitchfork\", true);\ndefineSymbol(math, ams, rel, \"\\u221D\", \"\\\\varpropto\");\ndefineSymbol(math, ams, rel, \"\\u25C0\", \"\\\\blacktriangleleft\"); // unicode-math says that \\therefore is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2234\", \"\\\\therefore\", true);\ndefineSymbol(math, ams, rel, \"\\u220D\", \"\\\\backepsilon\");\ndefineSymbol(math, ams, rel, \"\\u25B6\", \"\\\\blacktriangleright\"); // unicode-math says that \\because is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2235\", \"\\\\because\", true);\ndefineSymbol(math, ams, rel, \"\\u22D8\", \"\\\\llless\");\ndefineSymbol(math, ams, rel, \"\\u22D9\", \"\\\\gggtr\");\ndefineSymbol(math, ams, bin, \"\\u22B2\", \"\\\\lhd\");\ndefineSymbol(math, ams, bin, \"\\u22B3\", \"\\\\rhd\");\ndefineSymbol(math, ams, rel, \"\\u2242\", \"\\\\eqsim\", true);\ndefineSymbol(math, main, rel, \"\\u22C8\", \"\\\\Join\");\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\Doteq\", true); // AMS Binary Operators\n\ndefineSymbol(math, ams, bin, \"\\u2214\", \"\\\\dotplus\", true);\ndefineSymbol(math, ams, bin, \"\\u2216\", \"\\\\smallsetminus\");\ndefineSymbol(math, ams, bin, \"\\u22D2\", \"\\\\Cap\", true);\ndefineSymbol(math, ams, bin, \"\\u22D3\", \"\\\\Cup\", true);\ndefineSymbol(math, ams, bin, \"\\u2A5E\", \"\\\\doublebarwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u229F\", \"\\\\boxminus\", true);\ndefineSymbol(math, ams, bin, \"\\u229E\", \"\\\\boxplus\", true);\ndefineSymbol(math, ams, bin, \"\\u22C7\", \"\\\\divideontimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22C9\", \"\\\\ltimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22CA\", \"\\\\rtimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22CB\", \"\\\\leftthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22CC\", \"\\\\rightthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22CF\", \"\\\\curlywedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22CE\", \"\\\\curlyvee\", true);\ndefineSymbol(math, ams, bin, \"\\u229D\", \"\\\\circleddash\", true);\ndefineSymbol(math, ams, bin, \"\\u229B\", \"\\\\circledast\", true);\ndefineSymbol(math, ams, bin, \"\\u22C5\", \"\\\\centerdot\");\ndefineSymbol(math, ams, bin, \"\\u22BA\", \"\\\\intercal\", true);\ndefineSymbol(math, ams, bin, \"\\u22D2\", \"\\\\doublecap\");\ndefineSymbol(math, ams, bin, \"\\u22D3\", \"\\\\doublecup\");\ndefineSymbol(math, ams, bin, \"\\u22A0\", \"\\\\boxtimes\", true); // AMS Arrows\n// Note: unicode-math maps \\u21e2 to their own function \\rightdasharrow.\n// We'll map it to AMS function \\dashrightarrow. It produces the same atom.\n\ndefineSymbol(math, ams, rel, \"\\u21E2\", \"\\\\dashrightarrow\", true); // unicode-math maps \\u21e0 to \\leftdasharrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21E0\", \"\\\\dashleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21C7\", \"\\\\leftleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21C6\", \"\\\\leftrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21DA\", \"\\\\Lleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219E\", \"\\\\twoheadleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21A2\", \"\\\\leftarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21AB\", \"\\\\looparrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21CB\", \"\\\\leftrightharpoons\", true);\ndefineSymbol(math, ams, rel, \"\\u21B6\", \"\\\\curvearrowleft\", true); // unicode-math maps \\u21ba to \\acwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21BA\", \"\\\\circlearrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21B0\", \"\\\\Lsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21C8\", \"\\\\upuparrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21BF\", \"\\\\upharpoonleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21C3\", \"\\\\downharpoonleft\", true);\ndefineSymbol(math, main, rel, \"\\u22B6\", \"\\\\origof\", true); // not in font\n\ndefineSymbol(math, main, rel, \"\\u22B7\", \"\\\\imageof\", true); // not in font\n\ndefineSymbol(math, ams, rel, \"\\u22B8\", \"\\\\multimap\", true);\ndefineSymbol(math, ams, rel, \"\\u21AD\", \"\\\\leftrightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21C9\", \"\\\\rightrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21C4\", \"\\\\rightleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21A0\", \"\\\\twoheadrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21A3\", \"\\\\rightarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21AC\", \"\\\\looparrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21B7\", \"\\\\curvearrowright\", true); // unicode-math maps \\u21bb to \\cwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21BB\", \"\\\\circlearrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21B1\", \"\\\\Rsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21CA\", \"\\\\downdownarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21BE\", \"\\\\upharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21C2\", \"\\\\downharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21DD\", \"\\\\rightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21DD\", \"\\\\leadsto\");\ndefineSymbol(math, ams, rel, \"\\u21DB\", \"\\\\Rrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21BE\", \"\\\\restriction\");\ndefineSymbol(math, main, textord, \"\\u2018\", \"`\");\ndefineSymbol(math, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(symbols_text, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(symbols_text, main, textord, \"$\", \"\\\\textdollar\");\ndefineSymbol(math, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(symbols_text, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(math, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(symbols_text, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(symbols_text, main, textord, \"_\", \"\\\\textunderscore\");\ndefineSymbol(math, main, textord, \"\\u2220\", \"\\\\angle\", true);\ndefineSymbol(math, main, textord, \"\\u221E\", \"\\\\infty\", true);\ndefineSymbol(math, main, textord, \"\\u2032\", \"\\\\prime\");\ndefineSymbol(math, main, textord, \"\\u25B3\", \"\\\\triangle\");\ndefineSymbol(math, main, textord, \"\\u0393\", \"\\\\Gamma\", true);\ndefineSymbol(math, main, textord, \"\\u0394\", \"\\\\Delta\", true);\ndefineSymbol(math, main, textord, \"\\u0398\", \"\\\\Theta\", true);\ndefineSymbol(math, main, textord, \"\\u039B\", \"\\\\Lambda\", true);\ndefineSymbol(math, main, textord, \"\\u039E\", \"\\\\Xi\", true);\ndefineSymbol(math, main, textord, \"\\u03A0\", \"\\\\Pi\", true);\ndefineSymbol(math, main, textord, \"\\u03A3\", \"\\\\Sigma\", true);\ndefineSymbol(math, main, textord, \"\\u03A5\", \"\\\\Upsilon\", true);\ndefineSymbol(math, main, textord, \"\\u03A6\", \"\\\\Phi\", true);\ndefineSymbol(math, main, textord, \"\\u03A8\", \"\\\\Psi\", true);\ndefineSymbol(math, main, textord, \"\\u03A9\", \"\\\\Omega\", true);\ndefineSymbol(math, main, textord, \"A\", \"\\u0391\");\ndefineSymbol(math, main, textord, \"B\", \"\\u0392\");\ndefineSymbol(math, main, textord, \"E\", \"\\u0395\");\ndefineSymbol(math, main, textord, \"Z\", \"\\u0396\");\ndefineSymbol(math, main, textord, \"H\", \"\\u0397\");\ndefineSymbol(math, main, textord, \"I\", \"\\u0399\");\ndefineSymbol(math, main, textord, \"K\", \"\\u039A\");\ndefineSymbol(math, main, textord, \"M\", \"\\u039C\");\ndefineSymbol(math, main, textord, \"N\", \"\\u039D\");\ndefineSymbol(math, main, textord, \"O\", \"\\u039F\");\ndefineSymbol(math, main, textord, \"P\", \"\\u03A1\");\ndefineSymbol(math, main, textord, \"T\", \"\\u03A4\");\ndefineSymbol(math, main, textord, \"X\", \"\\u03A7\");\ndefineSymbol(math, main, textord, \"\\xAC\", \"\\\\neg\", true);\ndefineSymbol(math, main, textord, \"\\xAC\", \"\\\\lnot\");\ndefineSymbol(math, main, textord, \"\\u22A4\", \"\\\\top\");\ndefineSymbol(math, main, textord, \"\\u22A5\", \"\\\\bot\");\ndefineSymbol(math, main, textord, \"\\u2205\", \"\\\\emptyset\");\ndefineSymbol(math, ams, textord, \"\\u2205\", \"\\\\varnothing\");\ndefineSymbol(math, main, mathord, \"\\u03B1\", \"\\\\alpha\", true);\ndefineSymbol(math, main, mathord, \"\\u03B2\", \"\\\\beta\", true);\ndefineSymbol(math, main, mathord, \"\\u03B3\", \"\\\\gamma\", true);\ndefineSymbol(math, main, mathord, \"\\u03B4\", \"\\\\delta\", true);\ndefineSymbol(math, main, mathord, \"\\u03F5\", \"\\\\epsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03B6\", \"\\\\zeta\", true);\ndefineSymbol(math, main, mathord, \"\\u03B7\", \"\\\\eta\", true);\ndefineSymbol(math, main, mathord, \"\\u03B8\", \"\\\\theta\", true);\ndefineSymbol(math, main, mathord, \"\\u03B9\", \"\\\\iota\", true);\ndefineSymbol(math, main, mathord, \"\\u03BA\", \"\\\\kappa\", true);\ndefineSymbol(math, main, mathord, \"\\u03BB\", \"\\\\lambda\", true);\ndefineSymbol(math, main, mathord, \"\\u03BC\", \"\\\\mu\", true);\ndefineSymbol(math, main, mathord, \"\\u03BD\", \"\\\\nu\", true);\ndefineSymbol(math, main, mathord, \"\\u03BE\", \"\\\\xi\", true);\ndefineSymbol(math, main, mathord, \"\\u03BF\", \"\\\\omicron\", true);\ndefineSymbol(math, main, mathord, \"\\u03C0\", \"\\\\pi\", true);\ndefineSymbol(math, main, mathord, \"\\u03C1\", \"\\\\rho\", true);\ndefineSymbol(math, main, mathord, \"\\u03C3\", \"\\\\sigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03C4\", \"\\\\tau\", true);\ndefineSymbol(math, main, mathord, \"\\u03C5\", \"\\\\upsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03D5\", \"\\\\phi\", true);\ndefineSymbol(math, main, mathord, \"\\u03C7\", \"\\\\chi\", true);\ndefineSymbol(math, main, mathord, \"\\u03C8\", \"\\\\psi\", true);\ndefineSymbol(math, main, mathord, \"\\u03C9\", \"\\\\omega\", true);\ndefineSymbol(math, main, mathord, \"\\u03B5\", \"\\\\varepsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03D1\", \"\\\\vartheta\", true);\ndefineSymbol(math, main, mathord, \"\\u03D6\", \"\\\\varpi\", true);\ndefineSymbol(math, main, mathord, \"\\u03F1\", \"\\\\varrho\", true);\ndefineSymbol(math, main, mathord, \"\\u03C2\", \"\\\\varsigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03C6\", \"\\\\varphi\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"*\", true);\ndefineSymbol(math, main, bin, \"+\", \"+\");\ndefineSymbol(math, main, bin, \"\\u2212\", \"-\", true);\ndefineSymbol(math, main, bin, \"\\u22C5\", \"\\\\cdot\", true);\ndefineSymbol(math, main, bin, \"\\u2218\", \"\\\\circ\", true);\ndefineSymbol(math, main, bin, \"\\xF7\", \"\\\\div\", true);\ndefineSymbol(math, main, bin, \"\\xB1\", \"\\\\pm\", true);\ndefineSymbol(math, main, bin, \"\\xD7\", \"\\\\times\", true);\ndefineSymbol(math, main, bin, \"\\u2229\", \"\\\\cap\", true);\ndefineSymbol(math, main, bin, \"\\u222A\", \"\\\\cup\", true);\ndefineSymbol(math, main, bin, \"\\u2216\", \"\\\\setminus\", true);\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\land\");\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\lor\");\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\wedge\", true);\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\vee\", true);\ndefineSymbol(math, main, textord, \"\\u221A\", \"\\\\surd\");\ndefineSymbol(math, main, symbols_open, \"\\u27E8\", \"\\\\langle\", true);\ndefineSymbol(math, main, symbols_open, \"\\u2223\", \"\\\\lvert\");\ndefineSymbol(math, main, symbols_open, \"\\u2225\", \"\\\\lVert\");\ndefineSymbol(math, main, symbols_close, \"?\", \"?\");\ndefineSymbol(math, main, symbols_close, \"!\", \"!\");\ndefineSymbol(math, main, symbols_close, \"\\u27E9\", \"\\\\rangle\", true);\ndefineSymbol(math, main, symbols_close, \"\\u2223\", \"\\\\rvert\");\ndefineSymbol(math, main, symbols_close, \"\\u2225\", \"\\\\rVert\");\ndefineSymbol(math, main, rel, \"=\", \"=\");\ndefineSymbol(math, main, rel, \":\", \":\");\ndefineSymbol(math, main, rel, \"\\u2248\", \"\\\\approx\", true);\ndefineSymbol(math, main, rel, \"\\u2245\", \"\\\\cong\", true);\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\ge\");\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\geq\", true);\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\gets\");\ndefineSymbol(math, main, rel, \">\", \"\\\\gt\", true);\ndefineSymbol(math, main, rel, \"\\u2208\", \"\\\\in\", true);\ndefineSymbol(math, main, rel, \"\\uE020\", \"\\\\@not\");\ndefineSymbol(math, main, rel, \"\\u2282\", \"\\\\subset\", true);\ndefineSymbol(math, main, rel, \"\\u2283\", \"\\\\supset\", true);\ndefineSymbol(math, main, rel, \"\\u2286\", \"\\\\subseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2287\", \"\\\\supseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2288\", \"\\\\nsubseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2289\", \"\\\\nsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u22A8\", \"\\\\models\");\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\le\");\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\leq\", true);\ndefineSymbol(math, main, rel, \"<\", \"\\\\lt\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\to\");\ndefineSymbol(math, ams, rel, \"\\u2271\", \"\\\\ngeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2270\", \"\\\\nleq\", true);\ndefineSymbol(math, main, spacing, \"\\xA0\", \"\\\\ \");\ndefineSymbol(math, main, spacing, \"\\xA0\", \"\\\\space\"); // Ref: LaTeX Source 2e: \\DeclareRobustCommand{\\nobreakspace}{%\n\ndefineSymbol(math, main, spacing, \"\\xA0\", \"\\\\nobreakspace\");\ndefineSymbol(symbols_text, main, spacing, \"\\xA0\", \"\\\\ \");\ndefineSymbol(symbols_text, main, spacing, \"\\xA0\", \" \");\ndefineSymbol(symbols_text, main, spacing, \"\\xA0\", \"\\\\space\");\ndefineSymbol(symbols_text, main, spacing, \"\\xA0\", \"\\\\nobreakspace\");\ndefineSymbol(math, main, spacing, null, \"\\\\nobreak\");\ndefineSymbol(math, main, spacing, null, \"\\\\allowbreak\");\ndefineSymbol(math, main, punct, \",\", \",\");\ndefineSymbol(math, main, punct, \";\", \";\");\ndefineSymbol(math, ams, bin, \"\\u22BC\", \"\\\\barwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22BB\", \"\\\\veebar\", true);\ndefineSymbol(math, main, bin, \"\\u2299\", \"\\\\odot\", true);\ndefineSymbol(math, main, bin, \"\\u2295\", \"\\\\oplus\", true);\ndefineSymbol(math, main, bin, \"\\u2297\", \"\\\\otimes\", true);\ndefineSymbol(math, main, textord, \"\\u2202\", \"\\\\partial\", true);\ndefineSymbol(math, main, bin, \"\\u2298\", \"\\\\oslash\", true);\ndefineSymbol(math, ams, bin, \"\\u229A\", \"\\\\circledcirc\", true);\ndefineSymbol(math, ams, bin, \"\\u22A1\", \"\\\\boxdot\", true);\ndefineSymbol(math, main, bin, \"\\u25B3\", \"\\\\bigtriangleup\");\ndefineSymbol(math, main, bin, \"\\u25BD\", \"\\\\bigtriangledown\");\ndefineSymbol(math, main, bin, \"\\u2020\", \"\\\\dagger\");\ndefineSymbol(math, main, bin, \"\\u22C4\", \"\\\\diamond\");\ndefineSymbol(math, main, bin, \"\\u22C6\", \"\\\\star\");\ndefineSymbol(math, main, bin, \"\\u25C3\", \"\\\\triangleleft\");\ndefineSymbol(math, main, bin, \"\\u25B9\", \"\\\\triangleright\");\ndefineSymbol(math, main, symbols_open, \"{\", \"\\\\{\");\ndefineSymbol(symbols_text, main, textord, \"{\", \"\\\\{\");\ndefineSymbol(symbols_text, main, textord, \"{\", \"\\\\textbraceleft\");\ndefineSymbol(math, main, symbols_close, \"}\", \"\\\\}\");\ndefineSymbol(symbols_text, main, textord, \"}\", \"\\\\}\");\ndefineSymbol(symbols_text, main, textord, \"}\", \"\\\\textbraceright\");\ndefineSymbol(math, main, symbols_open, \"{\", \"\\\\lbrace\");\ndefineSymbol(math, main, symbols_close, \"}\", \"\\\\rbrace\");\ndefineSymbol(math, main, symbols_open, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(symbols_text, main, textord, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(math, main, symbols_close, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(symbols_text, main, textord, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(math, main, symbols_open, \"(\", \"\\\\lparen\", true);\ndefineSymbol(math, main, symbols_close, \")\", \"\\\\rparen\", true);\ndefineSymbol(symbols_text, main, textord, \"<\", \"\\\\textless\", true); // in T1 fontenc\n\ndefineSymbol(symbols_text, main, textord, \">\", \"\\\\textgreater\", true); // in T1 fontenc\n\ndefineSymbol(math, main, symbols_open, \"\\u230A\", \"\\\\lfloor\", true);\ndefineSymbol(math, main, symbols_close, \"\\u230B\", \"\\\\rfloor\", true);\ndefineSymbol(math, main, symbols_open, \"\\u2308\", \"\\\\lceil\", true);\ndefineSymbol(math, main, symbols_close, \"\\u2309\", \"\\\\rceil\", true);\ndefineSymbol(math, main, textord, \"\\\\\", \"\\\\backslash\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"|\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"\\\\vert\");\ndefineSymbol(symbols_text, main, textord, \"|\", \"\\\\textbar\", true); // in T1 fontenc\n\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\|\");\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\Vert\");\ndefineSymbol(symbols_text, main, textord, \"\\u2225\", \"\\\\textbardbl\");\ndefineSymbol(symbols_text, main, textord, \"~\", \"\\\\textasciitilde\");\ndefineSymbol(symbols_text, main, textord, \"\\\\\", \"\\\\textbackslash\");\ndefineSymbol(symbols_text, main, textord, \"^\", \"\\\\textasciicircum\");\ndefineSymbol(math, main, rel, \"\\u2191\", \"\\\\uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u21D1\", \"\\\\Uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u2193\", \"\\\\downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21D3\", \"\\\\Downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2195\", \"\\\\updownarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21D5\", \"\\\\Updownarrow\", true);\ndefineSymbol(math, main, op, \"\\u2210\", \"\\\\coprod\");\ndefineSymbol(math, main, op, \"\\u22C1\", \"\\\\bigvee\");\ndefineSymbol(math, main, op, \"\\u22C0\", \"\\\\bigwedge\");\ndefineSymbol(math, main, op, \"\\u2A04\", \"\\\\biguplus\");\ndefineSymbol(math, main, op, \"\\u22C2\", \"\\\\bigcap\");\ndefineSymbol(math, main, op, \"\\u22C3\", \"\\\\bigcup\");\ndefineSymbol(math, main, op, \"\\u222B\", \"\\\\int\");\ndefineSymbol(math, main, op, \"\\u222B\", \"\\\\intop\");\ndefineSymbol(math, main, op, \"\\u222C\", \"\\\\iint\");\ndefineSymbol(math, main, op, \"\\u222D\", \"\\\\iiint\");\ndefineSymbol(math, main, op, \"\\u220F\", \"\\\\prod\");\ndefineSymbol(math, main, op, \"\\u2211\", \"\\\\sum\");\ndefineSymbol(math, main, op, \"\\u2A02\", \"\\\\bigotimes\");\ndefineSymbol(math, main, op, \"\\u2A01\", \"\\\\bigoplus\");\ndefineSymbol(math, main, op, \"\\u2A00\", \"\\\\bigodot\");\ndefineSymbol(math, main, op, \"\\u222E\", \"\\\\oint\");\ndefineSymbol(math, main, op, \"\\u222F\", \"\\\\oiint\");\ndefineSymbol(math, main, op, \"\\u2230\", \"\\\\oiiint\");\ndefineSymbol(math, main, op, \"\\u2A06\", \"\\\\bigsqcup\");\ndefineSymbol(math, main, op, \"\\u222B\", \"\\\\smallint\");\ndefineSymbol(symbols_text, main, inner, \"\\u2026\", \"\\\\textellipsis\");\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\mathellipsis\");\ndefineSymbol(symbols_text, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u22EF\", \"\\\\@cdots\", true);\ndefineSymbol(math, main, inner, \"\\u22F1\", \"\\\\ddots\", true);\ndefineSymbol(math, main, textord, \"\\u22EE\", \"\\\\varvdots\"); // \\vdots is a macro\n\ndefineSymbol(math, main, accent, \"\\u02CA\", \"\\\\acute\");\ndefineSymbol(math, main, accent, \"\\u02CB\", \"\\\\grave\");\ndefineSymbol(math, main, accent, \"\\xA8\", \"\\\\ddot\");\ndefineSymbol(math, main, accent, \"~\", \"\\\\tilde\");\ndefineSymbol(math, main, accent, \"\\u02C9\", \"\\\\bar\");\ndefineSymbol(math, main, accent, \"\\u02D8\", \"\\\\breve\");\ndefineSymbol(math, main, accent, \"\\u02C7\", \"\\\\check\");\ndefineSymbol(math, main, accent, \"^\", \"\\\\hat\");\ndefineSymbol(math, main, accent, \"\\u20D7\", \"\\\\vec\");\ndefineSymbol(math, main, accent, \"\\u02D9\", \"\\\\dot\");\ndefineSymbol(math, main, accent, \"\\u02DA\", \"\\\\mathring\"); // \\imath and \\jmath should be invariant to \\mathrm, \\mathbf, etc., so use PUA\n\ndefineSymbol(math, main, mathord, \"\\uE131\", \"\\\\@imath\");\ndefineSymbol(math, main, mathord, \"\\uE237\", \"\\\\@jmath\");\ndefineSymbol(math, main, textord, \"\\u0131\", \"\\u0131\");\ndefineSymbol(math, main, textord, \"\\u0237\", \"\\u0237\");\ndefineSymbol(symbols_text, main, textord, \"\\u0131\", \"\\\\i\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0237\", \"\\\\j\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xDF\", \"\\\\ss\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xE6\", \"\\\\ae\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0153\", \"\\\\oe\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xF8\", \"\\\\o\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xC6\", \"\\\\AE\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0152\", \"\\\\OE\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xD8\", \"\\\\O\", true);\ndefineSymbol(symbols_text, main, accent, \"\\u02CA\", \"\\\\'\"); // acute\n\ndefineSymbol(symbols_text, main, accent, \"\\u02CB\", \"\\\\`\"); // grave\n\ndefineSymbol(symbols_text, main, accent, \"\\u02C6\", \"\\\\^\"); // circumflex\n\ndefineSymbol(symbols_text, main, accent, \"\\u02DC\", \"\\\\~\"); // tilde\n\ndefineSymbol(symbols_text, main, accent, \"\\u02C9\", \"\\\\=\"); // macron\n\ndefineSymbol(symbols_text, main, accent, \"\\u02D8\", \"\\\\u\"); // breve\n\ndefineSymbol(symbols_text, main, accent, \"\\u02D9\", \"\\\\.\"); // dot above\n\ndefineSymbol(symbols_text, main, accent, \"\\xB8\", \"\\\\c\"); // cedilla\n\ndefineSymbol(symbols_text, main, accent, \"\\u02DA\", \"\\\\r\"); // ring above\n\ndefineSymbol(symbols_text, main, accent, \"\\u02C7\", \"\\\\v\"); // caron\n\ndefineSymbol(symbols_text, main, accent, \"\\xA8\", '\\\\\"'); // diaresis\n\ndefineSymbol(symbols_text, main, accent, \"\\u02DD\", \"\\\\H\"); // double acute\n\ndefineSymbol(symbols_text, main, accent, \"\\u25EF\", \"\\\\textcircled\"); // \\bigcirc glyph\n// These ligatures are detected and created in Parser.js's `formLigatures`.\n\nvar ligatures = {\n \"--\": true,\n \"---\": true,\n \"``\": true,\n \"''\": true\n};\ndefineSymbol(symbols_text, main, textord, \"\\u2013\", \"--\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2013\", \"\\\\textendash\");\ndefineSymbol(symbols_text, main, textord, \"\\u2014\", \"---\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2014\", \"\\\\textemdash\");\ndefineSymbol(symbols_text, main, textord, \"\\u2018\", \"`\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2018\", \"\\\\textquoteleft\");\ndefineSymbol(symbols_text, main, textord, \"\\u2019\", \"'\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2019\", \"\\\\textquoteright\");\ndefineSymbol(symbols_text, main, textord, \"\\u201C\", \"``\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u201C\", \"\\\\textquotedblleft\");\ndefineSymbol(symbols_text, main, textord, \"\\u201D\", \"''\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u201D\", \"\\\\textquotedblright\"); // \\degree from gensymb package\n\ndefineSymbol(math, main, textord, \"\\xB0\", \"\\\\degree\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xB0\", \"\\\\degree\"); // \\textdegree from inputenc package\n\ndefineSymbol(symbols_text, main, textord, \"\\xB0\", \"\\\\textdegree\", true); // TODO: In LaTeX, \\pounds can generate a different character in text and math\n// mode, but among our fonts, only Main-Regular defines this character \"163\".\n\ndefineSymbol(math, main, textord, \"\\xA3\", \"\\\\pounds\");\ndefineSymbol(math, main, textord, \"\\xA3\", \"\\\\mathsterling\", true);\ndefineSymbol(symbols_text, main, textord, \"\\xA3\", \"\\\\pounds\");\ndefineSymbol(symbols_text, main, textord, \"\\xA3\", \"\\\\textsterling\", true);\ndefineSymbol(math, ams, textord, \"\\u2720\", \"\\\\maltese\");\ndefineSymbol(symbols_text, ams, textord, \"\\u2720\", \"\\\\maltese\"); // There are lots of symbols which are the same, so we add them in afterwards.\n// All of these are textords in math mode\n\nvar mathTextSymbols = \"0123456789/@.\\\"\";\n\nfor (var i = 0; i < mathTextSymbols.length; i++) {\n var ch = mathTextSymbols.charAt(i);\n defineSymbol(math, main, textord, ch, ch);\n} // All of these are textords in text mode\n\n\nvar textSymbols = \"0123456789!@*()-=+\\\";:?/.,\";\n\nfor (var _i = 0; _i < textSymbols.length; _i++) {\n var _ch = textSymbols.charAt(_i);\n\n defineSymbol(symbols_text, main, textord, _ch, _ch);\n} // All of these are textords in text mode, and mathords in math mode\n\n\nvar letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\nfor (var _i2 = 0; _i2 < letters.length; _i2++) {\n var _ch2 = letters.charAt(_i2);\n\n defineSymbol(math, main, mathord, _ch2, _ch2);\n defineSymbol(symbols_text, main, textord, _ch2, _ch2);\n} // Blackboard bold and script letters in Unicode range\n\n\ndefineSymbol(math, ams, textord, \"C\", \"\\u2102\"); // blackboard bold\n\ndefineSymbol(symbols_text, ams, textord, \"C\", \"\\u2102\");\ndefineSymbol(math, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(symbols_text, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(math, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(symbols_text, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(math, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(symbols_text, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(math, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(symbols_text, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(math, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(symbols_text, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(math, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(symbols_text, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(math, main, mathord, \"h\", \"\\u210E\"); // italic h, Planck constant\n\ndefineSymbol(symbols_text, main, mathord, \"h\", \"\\u210E\"); // The next loop loads wide (surrogate pair) characters.\n// We support some letters in the Unicode range U+1D400 to U+1D7FF,\n// Mathematical Alphanumeric Symbols.\n// Some editors do not deal well with wide characters. So don't write the\n// string into this file. Instead, create the string from the surrogate pair.\n\nvar wideChar = \"\";\n\nfor (var _i3 = 0; _i3 < letters.length; _i3++) {\n var _ch3 = letters.charAt(_i3); // The hex numbers in the next line are a surrogate pair.\n // 0xD835 is the high surrogate for all letters in the range we support.\n // 0xDC00 is the low surrogate for bold A.\n\n\n wideChar = String.fromCharCode(0xD835, 0xDC00 + _i3); // A-Z a-z bold\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC34 + _i3); // A-Z a-z italic\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC68 + _i3); // A-Z a-z bold italic\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD04 + _i3); // A-Z a-z Fractur\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD6C + _i3); // A-Z a-z bold Fractur\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDA0 + _i3); // A-Z a-z sans-serif\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDD4 + _i3); // A-Z a-z sans bold\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE08 + _i3); // A-Z a-z sans italic\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE70 + _i3); // A-Z a-z monospace\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n\n if (_i3 < 26) {\n // KaTeX fonts have only capital letters for blackboard bold and script.\n // See exception for k below.\n wideChar = String.fromCharCode(0xD835, 0xDD38 + _i3); // A-Z double struck\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC9C + _i3); // A-Z script\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(symbols_text, main, textord, _ch3, wideChar);\n } // TODO: Add bold script when it is supported by a KaTeX font.\n\n} // \"k\" is the only double struck lower case letter in the KaTeX fonts.\n\n\nwideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck\n\ndefineSymbol(math, main, mathord, \"k\", wideChar);\ndefineSymbol(symbols_text, main, textord, \"k\", wideChar); // Next, some wide character numerals\n\nfor (var _i4 = 0; _i4 < 10; _i4++) {\n var _ch4 = _i4.toString();\n\n wideChar = String.fromCharCode(0xD835, 0xDFCE + _i4); // 0-9 bold\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(symbols_text, main, textord, _ch4, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFE2 + _i4); // 0-9 sans serif\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(symbols_text, main, textord, _ch4, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFEC + _i4); // 0-9 bold sans\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(symbols_text, main, textord, _ch4, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFF6 + _i4); // 0-9 monospace\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(symbols_text, main, textord, _ch4, wideChar);\n} // We add these Latin-1 letters as symbols for backwards-compatibility,\n// but they are not actually in the font, nor are they supported by the\n// Unicode accent mechanism, so they fall back to Times font and look ugly.\n// TODO(edemaine): Fix this.\n\n\nvar extraLatin = \"\\xD0\\xDE\\xFE\";\n\nfor (var _i5 = 0; _i5 < extraLatin.length; _i5++) {\n var _ch5 = extraLatin.charAt(_i5);\n\n defineSymbol(math, main, mathord, _ch5, _ch5);\n defineSymbol(symbols_text, main, textord, _ch5, _ch5);\n}\n;// CONCATENATED MODULE: ./src/wide-character.js\n/**\n * This file provides support for Unicode range U+1D400 to U+1D7FF,\n * Mathematical Alphanumeric Symbols.\n *\n * Function wideCharacterFont takes a wide character as input and returns\n * the font information necessary to render it properly.\n */\n\n/**\n * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf\n * That document sorts characters into groups by font type, say bold or italic.\n *\n * In the arrays below, each subarray consists three elements:\n * * The CSS class of that group when in math mode.\n * * The CSS class of that group when in text mode.\n * * The font name, so that KaTeX can get font metrics.\n */\n\nvar wideLatinLetterData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // A-Z bold upright\n[\"mathbf\", \"textbf\", \"Main-Bold\"], // a-z bold upright\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // A-Z italic\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // a-z italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // A-Z bold italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // a-z bold italic\n// Map fancy A-Z letters to script, not calligraphic.\n// This aligns with unicode-math and math fonts (except Cambria Math).\n[\"mathscr\", \"textscr\", \"Script-Regular\"], // A-Z script\n[\"\", \"\", \"\"], // a-z script. No font\n[\"\", \"\", \"\"], // A-Z bold script. No font\n[\"\", \"\", \"\"], // a-z bold script. No font\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // A-Z Fraktur\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // a-z Fraktur\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // A-Z double-struck\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // k double-struck\n// Note that we are using a bold font, but font metrics for regular Fraktur.\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // A-Z bold Fraktur\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // a-z bold Fraktur\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // A-Z sans-serif\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // a-z sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // A-Z bold sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // a-z bold sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // A-Z italic sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // a-z italic sans-serif\n[\"\", \"\", \"\"], // A-Z bold italic sans. No font\n[\"\", \"\", \"\"], // a-z bold italic sans. No font\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"], // A-Z monospace\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // a-z monospace\n];\nvar wideNumeralData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // 0-9 bold\n[\"\", \"\", \"\"], // 0-9 double-struck. No KaTeX font.\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // 0-9 sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // 0-9 bold sans-serif\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // 0-9 monospace\n];\nvar wideCharacterFont = function wideCharacterFont(wideChar, mode) {\n // IE doesn't support codePointAt(). So work with the surrogate pair.\n var H = wideChar.charCodeAt(0); // high surrogate\n\n var L = wideChar.charCodeAt(1); // low surrogate\n\n var codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000;\n var j = mode === \"math\" ? 0 : 1; // column index for CSS class.\n\n if (0x1D400 <= codePoint && codePoint < 0x1D6A4) {\n // wideLatinLetterData contains exactly 26 chars on each row.\n // So we can calculate the relevant row. No traverse necessary.\n var i = Math.floor((codePoint - 0x1D400) / 26);\n return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]];\n } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) {\n // Numerals, ten per row.\n var _i = Math.floor((codePoint - 0x1D7CE) / 10);\n\n return [wideNumeralData[_i][2], wideNumeralData[_i][j]];\n } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) {\n // dotless i or j\n return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]];\n } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) {\n // Greek letters. Not supported, yet.\n return [\"\", \"\"];\n } else {\n // We don't support any wide characters outside 1D400–1D7FF.\n throw new src_ParseError(\"Unsupported character: \" + wideChar);\n }\n};\n;// CONCATENATED MODULE: ./src/buildCommon.js\n/* eslint no-console:0 */\n\n/**\n * This module contains general functions that can be used for building\n * different kinds of domTree nodes in a consistent manner.\n */\n\n\n\n\n\n\n\n/**\n * Looks up the given symbol in fontMetrics, after applying any symbol\n * replacements defined in symbol.js\n */\nvar lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this.\nfontName, mode) {\n // Replace the value with its replaced value from symbol.js\n if (src_symbols[mode][value] && src_symbols[mode][value].replace) {\n value = src_symbols[mode][value].replace;\n }\n\n return {\n value: value,\n metrics: getCharacterMetrics(value, fontName, mode)\n };\n};\n/**\n * Makes a symbolNode after translation via the list of symbols in symbols.js.\n * Correctly pulls out metrics for the character, and optionally takes a list of\n * classes to be attached to the node.\n *\n * TODO: make argument order closer to makeSpan\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n * TODO(#953): Make `options` mandatory and always pass it in.\n */\n\n\nvar makeSymbol = function makeSymbol(value, fontName, mode, options, classes) {\n var lookup = lookupSymbol(value, fontName, mode);\n var metrics = lookup.metrics;\n value = lookup.value;\n var symbolNode;\n\n if (metrics) {\n var italic = metrics.italic;\n\n if (mode === \"text\" || options && options.font === \"mathit\") {\n italic = 0;\n }\n\n symbolNode = new SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes);\n } else {\n // TODO(emily): Figure out a good way to only print this in development\n typeof console !== \"undefined\" && console.warn(\"No character metrics \" + (\"for '\" + value + \"' in style '\" + fontName + \"' and mode '\" + mode + \"'\"));\n symbolNode = new SymbolNode(value, 0, 0, 0, 0, 0, classes);\n }\n\n if (options) {\n symbolNode.maxFontSize = options.sizeMultiplier;\n\n if (options.style.isTight()) {\n symbolNode.classes.push(\"mtight\");\n }\n\n var color = options.getColor();\n\n if (color) {\n symbolNode.style.color = color;\n }\n }\n\n return symbolNode;\n};\n/**\n * Makes a symbol in Main-Regular or AMS-Regular.\n * Used for rel, bin, open, close, inner, and punct.\n */\n\n\nvar mathsym = function mathsym(value, mode, options, classes) {\n if (classes === void 0) {\n classes = [];\n }\n\n // Decide what font to render the symbol in by its entry in the symbols\n // table.\n // Have a special case for when the value = \\ because the \\ is used as a\n // textord in unsupported command errors but cannot be parsed as a regular\n // text ordinal and is therefore not present as a symbol in the symbols\n // table for text, as well as a special case for boldsymbol because it\n // can be used for bold + and -\n if (options.font === \"boldsymbol\" && lookupSymbol(value, \"Main-Bold\", mode).metrics) {\n return makeSymbol(value, \"Main-Bold\", mode, options, classes.concat([\"mathbf\"]));\n } else if (value === \"\\\\\" || src_symbols[mode][value].font === \"main\") {\n return makeSymbol(value, \"Main-Regular\", mode, options, classes);\n } else {\n return makeSymbol(value, \"AMS-Regular\", mode, options, classes.concat([\"amsrm\"]));\n }\n};\n/**\n * Determines which of the two font names (Main-Bold and Math-BoldItalic) and\n * corresponding style tags (mathbf or boldsymbol) to use for font \"boldsymbol\",\n * depending on the symbol. Use this function instead of fontMap for font\n * \"boldsymbol\".\n */\n\n\nvar boldsymbol = function boldsymbol(value, mode, options, classes, type) {\n if (type !== \"textord\" && lookupSymbol(value, \"Math-BoldItalic\", mode).metrics) {\n return {\n fontName: \"Math-BoldItalic\",\n fontClass: \"boldsymbol\"\n };\n } else {\n // Some glyphs do not exist in Math-BoldItalic so we need to use\n // Main-Bold instead.\n return {\n fontName: \"Main-Bold\",\n fontClass: \"mathbf\"\n };\n }\n};\n/**\n * Makes either a mathord or textord in the correct font and color.\n */\n\n\nvar makeOrd = function makeOrd(group, options, type) {\n var mode = group.mode;\n var text = group.text;\n var classes = [\"mord\"]; // Math mode or Old font (i.e. \\rm)\n\n var isFont = mode === \"math\" || mode === \"text\" && options.font;\n var fontOrFamily = isFont ? options.font : options.fontFamily;\n var wideFontName = \"\";\n var wideFontClass = \"\";\n\n if (text.charCodeAt(0) === 0xD835) {\n var _wideCharacterFont = wideCharacterFont(text, mode);\n\n wideFontName = _wideCharacterFont[0];\n wideFontClass = _wideCharacterFont[1];\n }\n\n if (wideFontName.length > 0) {\n // surrogate pairs get special treatment\n return makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass));\n } else if (fontOrFamily) {\n var fontName;\n var fontClasses;\n\n if (fontOrFamily === \"boldsymbol\") {\n var fontData = boldsymbol(text, mode, options, classes, type);\n fontName = fontData.fontName;\n fontClasses = [fontData.fontClass];\n } else if (isFont) {\n fontName = fontMap[fontOrFamily].fontName;\n fontClasses = [fontOrFamily];\n } else {\n fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape);\n fontClasses = [fontOrFamily, options.fontWeight, options.fontShape];\n }\n\n if (lookupSymbol(text, fontName, mode).metrics) {\n return makeSymbol(text, fontName, mode, options, classes.concat(fontClasses));\n } else if (ligatures.hasOwnProperty(text) && fontName.slice(0, 10) === \"Typewriter\") {\n // Deconstruct ligatures in monospace fonts (\\texttt, \\tt).\n var parts = [];\n\n for (var i = 0; i < text.length; i++) {\n parts.push(makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses)));\n }\n\n return makeFragment(parts);\n }\n } // Makes a symbol in the default font for mathords and textords.\n\n\n if (type === \"mathord\") {\n return makeSymbol(text, \"Math-Italic\", mode, options, classes.concat([\"mathnormal\"]));\n } else if (type === \"textord\") {\n var font = src_symbols[mode][text] && src_symbols[mode][text].font;\n\n if (font === \"ams\") {\n var _fontName = retrieveTextFontName(\"amsrm\", options.fontWeight, options.fontShape);\n\n return makeSymbol(text, _fontName, mode, options, classes.concat(\"amsrm\", options.fontWeight, options.fontShape));\n } else if (font === \"main\" || !font) {\n var _fontName2 = retrieveTextFontName(\"textrm\", options.fontWeight, options.fontShape);\n\n return makeSymbol(text, _fontName2, mode, options, classes.concat(options.fontWeight, options.fontShape));\n } else {\n // fonts added by plugins\n var _fontName3 = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class\n\n\n return makeSymbol(text, _fontName3, mode, options, classes.concat(_fontName3, options.fontWeight, options.fontShape));\n }\n } else {\n throw new Error(\"unexpected type: \" + type + \" in makeOrd\");\n }\n};\n/**\n * Returns true if subsequent symbolNodes have the same classes, skew, maxFont,\n * and styles.\n */\n\n\nvar canCombine = function canCombine(prev, next) {\n if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) {\n return false;\n } // If prev and next both are just \"mbin\"s or \"mord\"s we don't combine them\n // so that the proper spacing can be preserved.\n\n\n if (prev.classes.length === 1) {\n var cls = prev.classes[0];\n\n if (cls === \"mbin\" || cls === \"mord\") {\n return false;\n }\n }\n\n for (var style in prev.style) {\n if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n for (var _style in next.style) {\n if (next.style.hasOwnProperty(_style) && prev.style[_style] !== next.style[_style]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Combine consecutive domTree.symbolNodes into a single symbolNode.\n * Note: this function mutates the argument.\n */\n\n\nvar tryCombineChars = function tryCombineChars(chars) {\n for (var i = 0; i < chars.length - 1; i++) {\n var prev = chars[i];\n var next = chars[i + 1];\n\n if (prev instanceof SymbolNode && next instanceof SymbolNode && canCombine(prev, next)) {\n prev.text += next.text;\n prev.height = Math.max(prev.height, next.height);\n prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use\n // it to add padding to the right of the span created from\n // the combined characters.\n\n prev.italic = next.italic;\n chars.splice(i + 1, 1);\n i--;\n }\n }\n\n return chars;\n};\n/**\n * Calculate the height, depth, and maxFontSize of an element based on its\n * children.\n */\n\n\nvar sizeElementFromChildren = function sizeElementFromChildren(elem) {\n var height = 0;\n var depth = 0;\n var maxFontSize = 0;\n\n for (var i = 0; i < elem.children.length; i++) {\n var child = elem.children[i];\n\n if (child.height > height) {\n height = child.height;\n }\n\n if (child.depth > depth) {\n depth = child.depth;\n }\n\n if (child.maxFontSize > maxFontSize) {\n maxFontSize = child.maxFontSize;\n }\n }\n\n elem.height = height;\n elem.depth = depth;\n elem.maxFontSize = maxFontSize;\n};\n/**\n * Makes a span with the given list of classes, list of children, and options.\n *\n * TODO(#953): Ensure that `options` is always provided (currently some call\n * sites don't pass it) and make the type below mandatory.\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n */\n\n\nvar makeSpan = function makeSpan(classes, children, options, style) {\n var span = new Span(classes, children, options, style);\n sizeElementFromChildren(span);\n return span;\n}; // SVG one is simpler -- doesn't require height, depth, max-font setting.\n// This is also a separate method for typesafety.\n\n\nvar makeSvgSpan = function makeSvgSpan(classes, children, options, style) {\n return new Span(classes, children, options, style);\n};\n\nvar makeLineSpan = function makeLineSpan(className, options, thickness) {\n var line = makeSpan([className], [], options);\n line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n line.style.borderBottomWidth = makeEm(line.height);\n line.maxFontSize = 1.0;\n return line;\n};\n/**\n * Makes an anchor with the given href, list of classes, list of children,\n * and options.\n */\n\n\nvar makeAnchor = function makeAnchor(href, classes, children, options) {\n var anchor = new Anchor(href, classes, children, options);\n sizeElementFromChildren(anchor);\n return anchor;\n};\n/**\n * Makes a document fragment with the given list of children.\n */\n\n\nvar makeFragment = function makeFragment(children) {\n var fragment = new DocumentFragment(children);\n sizeElementFromChildren(fragment);\n return fragment;\n};\n/**\n * Wraps group in a span if it's a document fragment, allowing to apply classes\n * and styles\n */\n\n\nvar wrapFragment = function wrapFragment(group, options) {\n if (group instanceof DocumentFragment) {\n return makeSpan([], [group], options);\n }\n\n return group;\n}; // These are exact object types to catch typos in the names of the optional fields.\n\n\n// Computes the updated `children` list and the overall depth.\n//\n// This helper function for makeVList makes it easier to enforce type safety by\n// allowing early exits (returns) in the logic.\nvar getVListChildrenAndDepth = function getVListChildrenAndDepth(params) {\n if (params.positionType === \"individualShift\") {\n var oldChildren = params.children;\n var children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be\n // shifted to the correct specified shift\n\n var _depth = -oldChildren[0].shift - oldChildren[0].elem.depth;\n\n var currPos = _depth;\n\n for (var i = 1; i < oldChildren.length; i++) {\n var diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth;\n var size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth);\n currPos = currPos + diff;\n children.push({\n type: \"kern\",\n size: size\n });\n children.push(oldChildren[i]);\n }\n\n return {\n children: children,\n depth: _depth\n };\n }\n\n var depth;\n\n if (params.positionType === \"top\") {\n // We always start at the bottom, so calculate the bottom by adding up\n // all the sizes\n var bottom = params.positionData;\n\n for (var _i = 0; _i < params.children.length; _i++) {\n var child = params.children[_i];\n bottom -= child.type === \"kern\" ? child.size : child.elem.height + child.elem.depth;\n }\n\n depth = bottom;\n } else if (params.positionType === \"bottom\") {\n depth = -params.positionData;\n } else {\n var firstChild = params.children[0];\n\n if (firstChild.type !== \"elem\") {\n throw new Error('First child must have type \"elem\".');\n }\n\n if (params.positionType === \"shift\") {\n depth = -firstChild.elem.depth - params.positionData;\n } else if (params.positionType === \"firstBaseline\") {\n depth = -firstChild.elem.depth;\n } else {\n throw new Error(\"Invalid positionType \" + params.positionType + \".\");\n }\n }\n\n return {\n children: params.children,\n depth: depth\n };\n};\n/**\n * Makes a vertical list by stacking elements and kerns on top of each other.\n * Allows for many different ways of specifying the positioning method.\n *\n * See VListParam documentation above.\n */\n\n\nvar makeVList = function makeVList(params, options) {\n var _getVListChildrenAndD = getVListChildrenAndDepth(params),\n children = _getVListChildrenAndD.children,\n depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to\n // each item, where it will determine the item's baseline. Since it has\n // `overflow:hidden`, the strut's top edge will sit on the item's line box's\n // top edge and the strut's bottom edge will sit on the item's baseline,\n // with no additional line-height spacing. This allows the item baseline to\n // be positioned precisely without worrying about font ascent and\n // line-height.\n\n\n var pstrutSize = 0;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.type === \"elem\") {\n var elem = child.elem;\n pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height);\n }\n }\n\n pstrutSize += 2;\n var pstrut = makeSpan([\"pstrut\"], []);\n pstrut.style.height = makeEm(pstrutSize); // Create a new list of actual children at the correct offsets\n\n var realChildren = [];\n var minPos = depth;\n var maxPos = depth;\n var currPos = depth;\n\n for (var _i2 = 0; _i2 < children.length; _i2++) {\n var _child = children[_i2];\n\n if (_child.type === \"kern\") {\n currPos += _child.size;\n } else {\n var _elem = _child.elem;\n var classes = _child.wrapperClasses || [];\n var style = _child.wrapperStyle || {};\n var childWrap = makeSpan(classes, [pstrut, _elem], undefined, style);\n childWrap.style.top = makeEm(-pstrutSize - currPos - _elem.depth);\n\n if (_child.marginLeft) {\n childWrap.style.marginLeft = _child.marginLeft;\n }\n\n if (_child.marginRight) {\n childWrap.style.marginRight = _child.marginRight;\n }\n\n realChildren.push(childWrap);\n currPos += _elem.height + _elem.depth;\n }\n\n minPos = Math.min(minPos, currPos);\n maxPos = Math.max(maxPos, currPos);\n } // The vlist contents go in a table-cell with `vertical-align:bottom`.\n // This cell's bottom edge will determine the containing table's baseline\n // without overly expanding the containing line-box.\n\n\n var vlist = makeSpan([\"vlist\"], realChildren);\n vlist.style.height = makeEm(maxPos); // A second row is used if necessary to represent the vlist's depth.\n\n var rows;\n\n if (minPos < 0) {\n // We will define depth in an empty span with display: table-cell.\n // It should render with the height that we define. But Chrome, in\n // contenteditable mode only, treats that span as if it contains some\n // text content. And that min-height over-rides our desired height.\n // So we put another empty span inside the depth strut span.\n var emptySpan = makeSpan([], []);\n var depthStrut = makeSpan([\"vlist\"], [emptySpan]);\n depthStrut.style.height = makeEm(-minPos); // Safari wants the first row to have inline content; otherwise it\n // puts the bottom of the *second* row on the baseline.\n\n var topStrut = makeSpan([\"vlist-s\"], [new SymbolNode(\"\\u200B\")]);\n rows = [makeSpan([\"vlist-r\"], [vlist, topStrut]), makeSpan([\"vlist-r\"], [depthStrut])];\n } else {\n rows = [makeSpan([\"vlist-r\"], [vlist])];\n }\n\n var vtable = makeSpan([\"vlist-t\"], rows);\n\n if (rows.length === 2) {\n vtable.classes.push(\"vlist-t2\");\n }\n\n vtable.height = maxPos;\n vtable.depth = -minPos;\n return vtable;\n}; // Glue is a concept from TeX which is a flexible space between elements in\n// either a vertical or horizontal list. In KaTeX, at least for now, it's\n// static space between elements in a horizontal layout.\n\n\nvar makeGlue = function makeGlue(measurement, options) {\n // Make an empty span for the space\n var rule = makeSpan([\"mspace\"], [], options);\n var size = calculateSize(measurement, options);\n rule.style.marginRight = makeEm(size);\n return rule;\n}; // Takes font options, and returns the appropriate fontLookup name\n\n\nvar retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) {\n var baseFontName = \"\";\n\n switch (fontFamily) {\n case \"amsrm\":\n baseFontName = \"AMS\";\n break;\n\n case \"textrm\":\n baseFontName = \"Main\";\n break;\n\n case \"textsf\":\n baseFontName = \"SansSerif\";\n break;\n\n case \"texttt\":\n baseFontName = \"Typewriter\";\n break;\n\n default:\n baseFontName = fontFamily;\n // use fonts added by a plugin\n }\n\n var fontStylesName;\n\n if (fontWeight === \"textbf\" && fontShape === \"textit\") {\n fontStylesName = \"BoldItalic\";\n } else if (fontWeight === \"textbf\") {\n fontStylesName = \"Bold\";\n } else if (fontWeight === \"textit\") {\n fontStylesName = \"Italic\";\n } else {\n fontStylesName = \"Regular\";\n }\n\n return baseFontName + \"-\" + fontStylesName;\n};\n/**\n * Maps TeX font commands to objects containing:\n * - variant: string used for \"mathvariant\" attribute in buildMathML.js\n * - fontName: the \"style\" parameter to fontMetrics.getCharacterMetrics\n */\n// A map between tex font commands an MathML mathvariant attribute values\n\n\nvar fontMap = {\n // styles\n \"mathbf\": {\n variant: \"bold\",\n fontName: \"Main-Bold\"\n },\n \"mathrm\": {\n variant: \"normal\",\n fontName: \"Main-Regular\"\n },\n \"textit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathnormal\": {\n variant: \"italic\",\n fontName: \"Math-Italic\"\n },\n // \"boldsymbol\" is missing because they require the use of multiple fonts:\n // Math-BoldItalic and Main-Bold. This is handled by a special case in\n // makeOrd which ends up calling boldsymbol.\n // families\n \"mathbb\": {\n variant: \"double-struck\",\n fontName: \"AMS-Regular\"\n },\n \"mathcal\": {\n variant: \"script\",\n fontName: \"Caligraphic-Regular\"\n },\n \"mathfrak\": {\n variant: \"fraktur\",\n fontName: \"Fraktur-Regular\"\n },\n \"mathscr\": {\n variant: \"script\",\n fontName: \"Script-Regular\"\n },\n \"mathsf\": {\n variant: \"sans-serif\",\n fontName: \"SansSerif-Regular\"\n },\n \"mathtt\": {\n variant: \"monospace\",\n fontName: \"Typewriter-Regular\"\n }\n};\nvar svgData = {\n // path, width, height\n vec: [\"vec\", 0.471, 0.714],\n // values from the font glyph\n oiintSize1: [\"oiintSize1\", 0.957, 0.499],\n // oval to overlay the integrand\n oiintSize2: [\"oiintSize2\", 1.472, 0.659],\n oiiintSize1: [\"oiiintSize1\", 1.304, 0.499],\n oiiintSize2: [\"oiiintSize2\", 1.98, 0.659]\n};\n\nvar staticSvg = function staticSvg(value, options) {\n // Create a span with inline SVG for the element.\n var _svgData$value = svgData[value],\n pathName = _svgData$value[0],\n width = _svgData$value[1],\n height = _svgData$value[2];\n var path = new PathNode(pathName);\n var svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + 1000 * height,\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n var span = makeSvgSpan([\"overlay\"], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return span;\n};\n\n/* harmony default export */ var buildCommon = ({\n fontMap: fontMap,\n makeSymbol: makeSymbol,\n mathsym: mathsym,\n makeSpan: makeSpan,\n makeSvgSpan: makeSvgSpan,\n makeLineSpan: makeLineSpan,\n makeAnchor: makeAnchor,\n makeFragment: makeFragment,\n wrapFragment: wrapFragment,\n makeVList: makeVList,\n makeOrd: makeOrd,\n makeGlue: makeGlue,\n staticSvg: staticSvg,\n svgData: svgData,\n tryCombineChars: tryCombineChars\n});\n;// CONCATENATED MODULE: ./src/spacingData.js\n/**\n * Describes spaces between different classes of atoms.\n */\nvar thinspace = {\n number: 3,\n unit: \"mu\"\n};\nvar mediumspace = {\n number: 4,\n unit: \"mu\"\n};\nvar thickspace = {\n number: 5,\n unit: \"mu\"\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n\n// Spacing relationships for display and text styles\nvar spacings = {\n mord: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n minner: thinspace\n },\n mbin: {\n mord: mediumspace,\n mop: mediumspace,\n mopen: mediumspace,\n minner: mediumspace\n },\n mrel: {\n mord: thickspace,\n mop: thickspace,\n mopen: thickspace,\n minner: thickspace\n },\n mopen: {},\n mclose: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mpunct: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n mopen: thinspace,\n mclose: thinspace,\n mpunct: thinspace,\n minner: thinspace\n },\n minner: {\n mord: thinspace,\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n mopen: thinspace,\n mpunct: thinspace,\n minner: thinspace\n }\n}; // Spacing relationships for script and scriptscript styles\n\nvar tightSpacings = {\n mord: {\n mop: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace\n },\n mbin: {},\n mrel: {},\n mopen: {},\n mclose: {\n mop: thinspace\n },\n mpunct: {},\n minner: {\n mop: thinspace\n }\n};\n;// CONCATENATED MODULE: ./src/defineFunction.js\n/** Context provided to function handlers for error messages. */\n// Note: reverse the order of the return type union will cause a flow error.\n// See https://github.com/facebook/flow/issues/3663.\n// More general version of `HtmlBuilder` for nodes (e.g. \\sum, accent types)\n// whose presence impacts super/subscripting. In this case, ParseNode<\"supsub\">\n// delegates its HTML building to the HtmlBuilder corresponding to these nodes.\n\n/**\n * Final function spec for use at parse time.\n * This is almost identical to `FunctionPropSpec`, except it\n * 1. includes the function handler, and\n * 2. requires all arguments except argTypes.\n * It is generated by `defineFunction()` below.\n */\n\n/**\n * All registered functions.\n * `functions.js` just exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary.\n */\nvar _functions = {};\n/**\n * All HTML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nvar _htmlGroupBuilders = {};\n/**\n * All MathML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nvar _mathmlGroupBuilders = {};\nfunction defineFunction(_ref) {\n var type = _ref.type,\n names = _ref.names,\n props = _ref.props,\n handler = _ref.handler,\n htmlBuilder = _ref.htmlBuilder,\n mathmlBuilder = _ref.mathmlBuilder;\n // Set default values of functions\n var data = {\n type: type,\n numArgs: props.numArgs,\n argTypes: props.argTypes,\n allowedInArgument: !!props.allowedInArgument,\n allowedInText: !!props.allowedInText,\n allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath,\n numOptionalArgs: props.numOptionalArgs || 0,\n infix: !!props.infix,\n primitive: !!props.primitive,\n handler: handler\n };\n\n for (var i = 0; i < names.length; ++i) {\n _functions[names[i]] = data;\n }\n\n if (type) {\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n }\n}\n/**\n * Use this to register only the HTML and MathML builders for a function (e.g.\n * if the function's ParseNode is generated in Parser.js rather than via a\n * stand-alone handler provided to `defineFunction`).\n */\n\nfunction defineFunctionBuilders(_ref2) {\n var type = _ref2.type,\n htmlBuilder = _ref2.htmlBuilder,\n mathmlBuilder = _ref2.mathmlBuilder;\n defineFunction({\n type: type,\n names: [],\n props: {\n numArgs: 0\n },\n handler: function handler() {\n throw new Error('Should never be called.');\n },\n htmlBuilder: htmlBuilder,\n mathmlBuilder: mathmlBuilder\n });\n}\nvar normalizeArgument = function normalizeArgument(arg) {\n return arg.type === \"ordgroup\" && arg.body.length === 1 ? arg.body[0] : arg;\n}; // Since the corresponding buildHTML/buildMathML function expects a\n// list of elements, we normalize for different kinds of arguments\n\nvar ordargument = function ordargument(arg) {\n return arg.type === \"ordgroup\" ? arg.body : [arg];\n};\n;// CONCATENATED MODULE: ./src/buildHTML.js\n/**\n * This file does the main work of building a domTree structure from a parse\n * tree. The entry point is the `buildHTML` function, which takes a parse tree.\n * Then, the buildExpression, buildGroup, and various groupBuilders functions\n * are called, to produce a final HTML tree.\n */\n\n\n\n\n\n\n\n\n\nvar buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`)\n// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6,\n// and the text before Rule 19.\n\nvar binLeftCanceller = [\"leftmost\", \"mbin\", \"mopen\", \"mrel\", \"mop\", \"mpunct\"];\nvar binRightCanceller = [\"rightmost\", \"mrel\", \"mclose\", \"mpunct\"];\nvar styleMap = {\n \"display\": src_Style.DISPLAY,\n \"text\": src_Style.TEXT,\n \"script\": src_Style.SCRIPT,\n \"scriptscript\": src_Style.SCRIPTSCRIPT\n};\nvar DomEnum = {\n mord: \"mord\",\n mop: \"mop\",\n mbin: \"mbin\",\n mrel: \"mrel\",\n mopen: \"mopen\",\n mclose: \"mclose\",\n mpunct: \"mpunct\",\n minner: \"minner\"\n};\n\n/**\n * Take a list of nodes, build them in order, and return a list of the built\n * nodes. documentFragments are flattened into their contents, so the\n * returned list contains no fragments. `isRealGroup` is true if `expression`\n * is a real group (no atoms will be added on either side), as opposed to\n * a partial group (e.g. one created by \\color). `surrounding` is an array\n * consisting type of nodes that will be added to the left and right.\n */\nvar buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) {\n if (surrounding === void 0) {\n surrounding = [null, null];\n }\n\n // Parse expressions into `groups`.\n var groups = [];\n\n for (var i = 0; i < expression.length; i++) {\n var output = buildGroup(expression[i], options);\n\n if (output instanceof DocumentFragment) {\n var children = output.children;\n groups.push.apply(groups, children);\n } else {\n groups.push(output);\n }\n } // Combine consecutive domTree.symbolNodes into a single symbolNode.\n\n\n buildCommon.tryCombineChars(groups); // If `expression` is a partial group, let the parent handle spacings\n // to avoid processing groups multiple times.\n\n if (!isRealGroup) {\n return groups;\n }\n\n var glueOptions = options;\n\n if (expression.length === 1) {\n var node = expression[0];\n\n if (node.type === \"sizing\") {\n glueOptions = options.havingSize(node.size);\n } else if (node.type === \"styling\") {\n glueOptions = options.havingStyle(styleMap[node.style]);\n }\n } // Dummy spans for determining spacings between surrounding atoms.\n // If `expression` has no atoms on the left or right, class \"leftmost\"\n // or \"rightmost\", respectively, is used to indicate it.\n\n\n var dummyPrev = buildHTML_makeSpan([surrounding[0] || \"leftmost\"], [], options);\n var dummyNext = buildHTML_makeSpan([surrounding[1] || \"rightmost\"], [], options); // TODO: These code assumes that a node's math class is the first element\n // of its `classes` array. A later cleanup should ensure this, for\n // instance by changing the signature of `makeSpan`.\n // Before determining what spaces to insert, perform bin cancellation.\n // Binary operators change to ordinary symbols in some contexts.\n\n var isRoot = isRealGroup === \"root\";\n traverseNonSpaceNodes(groups, function (node, prev) {\n var prevType = prev.classes[0];\n var type = node.classes[0];\n\n if (prevType === \"mbin\" && utils.contains(binRightCanceller, type)) {\n prev.classes[0] = \"mord\";\n } else if (type === \"mbin\" && utils.contains(binLeftCanceller, prevType)) {\n node.classes[0] = \"mord\";\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n traverseNonSpaceNodes(groups, function (node, prev) {\n var prevType = getTypeOfDomTree(prev);\n var type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style.\n\n var space = prevType && type ? node.hasClass(\"mtight\") ? tightSpacings[prevType][type] : spacings[prevType][type] : null;\n\n if (space) {\n // Insert glue (spacing) after the `prev`.\n return buildCommon.makeGlue(space, glueOptions);\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n return groups;\n}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and\n// previous node as arguments, optionally returning a node to insert after the\n// previous node. `prev` is an object with the previous node and `insertAfter`\n// function to insert after it. `next` is a node that will be added to the right.\n// Used for bin cancellation and inserting spacings.\n\nvar traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next, isRoot) {\n if (next) {\n // temporarily append the right node, if exists\n nodes.push(next);\n }\n\n var i = 0;\n\n for (; i < nodes.length; i++) {\n var node = nodes[i];\n var partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n // Recursive DFS\n // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array\n traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot);\n continue;\n } // Ignore explicit spaces (e.g., \\;, \\,) when determining what implicit\n // spacing should go between atoms of different classes\n\n\n var nonspace = !node.hasClass(\"mspace\");\n\n if (nonspace) {\n var result = callback(node, prev.node);\n\n if (result) {\n if (prev.insertAfter) {\n prev.insertAfter(result);\n } else {\n // insert at front\n nodes.unshift(result);\n i++;\n }\n }\n }\n\n if (nonspace) {\n prev.node = node;\n } else if (isRoot && node.hasClass(\"newline\")) {\n prev.node = buildHTML_makeSpan([\"leftmost\"]); // treat like beginning of line\n }\n\n prev.insertAfter = function (index) {\n return function (n) {\n nodes.splice(index + 1, 0, n);\n i++;\n };\n }(i);\n }\n\n if (next) {\n nodes.pop();\n }\n}; // Check if given node is a partial group, i.e., does not affect spacing around.\n\n\nvar checkPartialGroup = function checkPartialGroup(node) {\n if (node instanceof DocumentFragment || node instanceof Anchor || node instanceof Span && node.hasClass(\"enclosing\")) {\n return node;\n }\n\n return null;\n}; // Return the outermost node of a domTree.\n\n\nvar getOutermostNode = function getOutermostNode(node, side) {\n var partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n var children = partialGroup.children;\n\n if (children.length) {\n if (side === \"right\") {\n return getOutermostNode(children[children.length - 1], \"right\");\n } else if (side === \"left\") {\n return getOutermostNode(children[0], \"left\");\n }\n }\n }\n\n return node;\n}; // Return math atom class (mclass) of a domTree.\n// If `side` is given, it will get the type of the outermost node at given side.\n\n\nvar getTypeOfDomTree = function getTypeOfDomTree(node, side) {\n if (!node) {\n return null;\n }\n\n if (side) {\n node = getOutermostNode(node, side);\n } // This makes a lot of assumptions as to where the type of atom\n // appears. We should do a better job of enforcing this.\n\n\n return DomEnum[node.classes[0]] || null;\n};\nvar makeNullDelimiter = function makeNullDelimiter(options, classes) {\n var moreClasses = [\"nulldelimiter\"].concat(options.baseSizingClasses());\n return buildHTML_makeSpan(classes.concat(moreClasses));\n};\n/**\n * buildGroup is the function that takes a group and calls the correct groupType\n * function for it. It also handles the interaction of size and style changes\n * between parents and children.\n */\n\nvar buildGroup = function buildGroup(group, options, baseOptions) {\n if (!group) {\n return buildHTML_makeSpan();\n }\n\n if (_htmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n var groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account\n // for that size difference.\n\n if (baseOptions && options.size !== baseOptions.size) {\n groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options);\n var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier;\n groupNode.height *= multiplier;\n groupNode.depth *= multiplier;\n }\n\n return groupNode;\n } else {\n throw new src_ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`)\n * into an unbreakable HTML node of class .base, with proper struts to\n * guarantee correct vertical extent. `buildHTML` calls this repeatedly to\n * make up the entire expression as a sequence of unbreakable units.\n */\n\nfunction buildHTMLUnbreakable(children, options) {\n // Compute height and depth of this chunk.\n var body = buildHTML_makeSpan([\"base\"], children, options); // Add strut, which ensures that the top of the HTML element falls at\n // the height of the expression, and the bottom of the HTML element\n // falls at the depth of the expression.\n\n var strut = buildHTML_makeSpan([\"strut\"]);\n strut.style.height = makeEm(body.height + body.depth);\n\n if (body.depth) {\n strut.style.verticalAlign = makeEm(-body.depth);\n }\n\n body.children.unshift(strut);\n return body;\n}\n/**\n * Take an entire parse tree, and build it into an appropriate set of HTML\n * nodes.\n */\n\n\nfunction buildHTML(tree, options) {\n // Strip off outer tag wrapper for processing below.\n var tag = null;\n\n if (tree.length === 1 && tree[0].type === \"tag\") {\n tag = tree[0].tag;\n tree = tree[0].body;\n } // Build the expression contained in the tree\n\n\n var expression = buildExpression(tree, options, \"root\");\n var eqnNum;\n\n if (expression.length === 2 && expression[1].hasClass(\"tag\")) {\n // An environment with automatic equation numbers, e.g. {gather}.\n eqnNum = expression.pop();\n }\n\n var children = []; // Create one base node for each chunk between potential line breaks.\n // The TeXBook [p.173] says \"A formula will be broken only after a\n // relation symbol like $=$ or $<$ or $\\rightarrow$, or after a binary\n // operation symbol like $+$ or $-$ or $\\times$, where the relation or\n // binary operation is on the ``outer level'' of the formula (i.e., not\n // enclosed in {...} and not part of an \\over construction).\"\n\n var parts = [];\n\n for (var i = 0; i < expression.length; i++) {\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"mbin\") || expression[i].hasClass(\"mrel\") || expression[i].hasClass(\"allowbreak\")) {\n // Put any post-operator glue on same line as operator.\n // Watch for \\nobreak along the way, and stop at \\newline.\n var nobreak = false;\n\n while (i < expression.length - 1 && expression[i + 1].hasClass(\"mspace\") && !expression[i + 1].hasClass(\"newline\")) {\n i++;\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"nobreak\")) {\n nobreak = true;\n }\n } // Don't allow break if \\nobreak among the post-operator glue.\n\n\n if (!nobreak) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n }\n } else if (expression[i].hasClass(\"newline\")) {\n // Write the line except the newline\n parts.pop();\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n } // Put the newline at the top level\n\n\n children.push(expression[i]);\n }\n }\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n } // Now, if there was a tag, build it too and append it as a final child.\n\n\n var tagChild;\n\n if (tag) {\n tagChild = buildHTMLUnbreakable(buildExpression(tag, options, true));\n tagChild.classes = [\"tag\"];\n children.push(tagChild);\n } else if (eqnNum) {\n children.push(eqnNum);\n }\n\n var htmlNode = buildHTML_makeSpan([\"katex-html\"], children);\n htmlNode.setAttribute(\"aria-hidden\", \"true\"); // Adjust the strut of the tag to be the maximum height of all children\n // (the height of the enclosing htmlNode) for proper vertical alignment.\n\n if (tagChild) {\n var strut = tagChild.children[0];\n strut.style.height = makeEm(htmlNode.height + htmlNode.depth);\n\n if (htmlNode.depth) {\n strut.style.verticalAlign = makeEm(-htmlNode.depth);\n }\n }\n\n return htmlNode;\n}\n;// CONCATENATED MODULE: ./src/mathMLTree.js\n/**\n * These objects store data about MathML nodes. This is the MathML equivalent\n * of the types in domTree.js. Since MathML handles its own rendering, and\n * since we're mainly using MathML to improve accessibility, we don't manage\n * any of the styling state that the plain DOM nodes do.\n *\n * The `toNode` and `toMarkup` functions work similarly to how they do in\n * domTree.js, creating namespaced DOM nodes and HTML text markup respectively.\n */\n\n\n\n\nfunction newDocumentFragment(children) {\n return new DocumentFragment(children);\n}\n/**\n * This node represents a general purpose MathML node of any type. The\n * constructor requires the type of node to create (for example, `\"mo\"` or\n * `\"mspace\"`, corresponding to `` and `` tags).\n */\n\nvar MathNode = /*#__PURE__*/function () {\n function MathNode(type, children, classes) {\n this.type = void 0;\n this.attributes = void 0;\n this.children = void 0;\n this.classes = void 0;\n this.type = type;\n this.attributes = {};\n this.children = children || [];\n this.classes = classes || [];\n }\n /**\n * Sets an attribute on a MathML node. MathML depends on attributes to convey a\n * semantic content, so this is used heavily.\n */\n\n\n var _proto = MathNode.prototype;\n\n _proto.setAttribute = function setAttribute(name, value) {\n this.attributes[name] = value;\n }\n /**\n * Gets an attribute on a MathML node.\n */\n ;\n\n _proto.getAttribute = function getAttribute(name) {\n return this.attributes[name];\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n ;\n\n _proto.toNode = function toNode() {\n var node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", this.type);\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n if (this.classes.length > 0) {\n node.className = createClass(this.classes);\n }\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n ;\n\n _proto.toMarkup = function toMarkup() {\n var markup = \"<\" + this.type; // Add the attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += \" \" + attr + \"=\\\"\";\n markup += utils.escape(this.attributes[attr]);\n markup += \"\\\"\";\n }\n }\n\n if (this.classes.length > 0) {\n markup += \" class =\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n markup += \">\";\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText, but escaped.\n */\n ;\n\n _proto.toText = function toText() {\n return this.children.map(function (child) {\n return child.toText();\n }).join(\"\");\n };\n\n return MathNode;\n}();\n/**\n * This node represents a piece of text.\n */\n\nvar TextNode = /*#__PURE__*/function () {\n function TextNode(text) {\n this.text = void 0;\n this.text = text;\n }\n /**\n * Converts the text node into a DOM text node.\n */\n\n\n var _proto2 = TextNode.prototype;\n\n _proto2.toNode = function toNode() {\n return document.createTextNode(this.text);\n }\n /**\n * Converts the text node into escaped HTML markup\n * (representing the text itself).\n */\n ;\n\n _proto2.toMarkup = function toMarkup() {\n return utils.escape(this.toText());\n }\n /**\n * Converts the text node into a string\n * (representing the text itself).\n */\n ;\n\n _proto2.toText = function toText() {\n return this.text;\n };\n\n return TextNode;\n}();\n/**\n * This node represents a space, but may render as or as text,\n * depending on the width.\n */\n\nvar SpaceNode = /*#__PURE__*/function () {\n /**\n * Create a Space node with width given in CSS ems.\n */\n function SpaceNode(width) {\n this.width = void 0;\n this.character = void 0;\n this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html\n // for a table of space-like characters. We use Unicode\n // representations instead of &LongNames; as it's not clear how to\n // make the latter via document.createTextNode.\n\n if (width >= 0.05555 && width <= 0.05556) {\n this.character = \"\\u200A\"; //  \n } else if (width >= 0.1666 && width <= 0.1667) {\n this.character = \"\\u2009\"; //  \n } else if (width >= 0.2222 && width <= 0.2223) {\n this.character = \"\\u2005\"; //  \n } else if (width >= 0.2777 && width <= 0.2778) {\n this.character = \"\\u2005\\u200A\"; //   \n } else if (width >= -0.05556 && width <= -0.05555) {\n this.character = \"\\u200A\\u2063\"; // ​\n } else if (width >= -0.1667 && width <= -0.1666) {\n this.character = \"\\u2009\\u2063\"; // ​\n } else if (width >= -0.2223 && width <= -0.2222) {\n this.character = \"\\u205F\\u2063\"; // ​\n } else if (width >= -0.2778 && width <= -0.2777) {\n this.character = \"\\u2005\\u2063\"; // ​\n } else {\n this.character = null;\n }\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n var _proto3 = SpaceNode.prototype;\n\n _proto3.toNode = function toNode() {\n if (this.character) {\n return document.createTextNode(this.character);\n } else {\n var node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"mspace\");\n node.setAttribute(\"width\", makeEm(this.width));\n return node;\n }\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n ;\n\n _proto3.toMarkup = function toMarkup() {\n if (this.character) {\n return \"\" + this.character + \"\";\n } else {\n return \"\";\n }\n }\n /**\n * Converts the math node into a string, similar to innerText.\n */\n ;\n\n _proto3.toText = function toText() {\n if (this.character) {\n return this.character;\n } else {\n return \" \";\n }\n };\n\n return SpaceNode;\n}();\n\n/* harmony default export */ var mathMLTree = ({\n MathNode: MathNode,\n TextNode: TextNode,\n SpaceNode: SpaceNode,\n newDocumentFragment: newDocumentFragment\n});\n;// CONCATENATED MODULE: ./src/buildMathML.js\n/**\n * This file converts a parse tree into a corresponding MathML tree. The main\n * entry point is the `buildMathML` function, which takes a parse tree from the\n * parser.\n */\n\n\n\n\n\n\n\n\n\n/**\n * Takes a symbol and converts it into a MathML text node after performing\n * optional replacement from symbols.js.\n */\nvar makeText = function makeText(text, mode, options) {\n if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.slice(4, 6) === \"tt\" || options.font && options.font.slice(4, 6) === \"tt\"))) {\n text = src_symbols[mode][text].replace;\n }\n\n return new mathMLTree.TextNode(text);\n};\n/**\n * Wrap the given array of nodes in an node if needed, i.e.,\n * unless the array has length 1. Always returns a single node.\n */\n\nvar makeRow = function makeRow(body) {\n if (body.length === 1) {\n return body[0];\n } else {\n return new mathMLTree.MathNode(\"mrow\", body);\n }\n};\n/**\n * Returns the math variant as a string or null if none is required.\n */\n\nvar getVariant = function getVariant(group, options) {\n // Handle \\text... font specifiers as best we can.\n // MathML has a limited list of allowable mathvariant specifiers; see\n // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt\n if (options.fontFamily === \"texttt\") {\n return \"monospace\";\n } else if (options.fontFamily === \"textsf\") {\n if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"sans-serif-bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"sans-serif-italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold-sans-serif\";\n } else {\n return \"sans-serif\";\n }\n } else if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold\";\n }\n\n var font = options.font;\n\n if (!font || font === \"mathnormal\") {\n return null;\n }\n\n var mode = group.mode;\n\n if (font === \"mathit\") {\n return \"italic\";\n } else if (font === \"boldsymbol\") {\n return group.type === \"textord\" ? \"bold\" : \"bold-italic\";\n } else if (font === \"mathbf\") {\n return \"bold\";\n } else if (font === \"mathbb\") {\n return \"double-struck\";\n } else if (font === \"mathfrak\") {\n return \"fraktur\";\n } else if (font === \"mathscr\" || font === \"mathcal\") {\n // MathML makes no distinction between script and calligraphic\n return \"script\";\n } else if (font === \"mathsf\") {\n return \"sans-serif\";\n } else if (font === \"mathtt\") {\n return \"monospace\";\n }\n\n var text = group.text;\n\n if (utils.contains([\"\\\\imath\", \"\\\\jmath\"], text)) {\n return null;\n }\n\n if (src_symbols[mode][text] && src_symbols[mode][text].replace) {\n text = src_symbols[mode][text].replace;\n }\n\n var fontName = buildCommon.fontMap[font].fontName;\n\n if (getCharacterMetrics(text, fontName, mode)) {\n return buildCommon.fontMap[font].variant;\n }\n\n return null;\n};\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. Also combine consecutive outputs into a single\n * tag.\n */\n\nvar buildMathML_buildExpression = function buildExpression(expression, options, isOrdgroup) {\n if (expression.length === 1) {\n var group = buildMathML_buildGroup(expression[0], options);\n\n if (isOrdgroup && group instanceof MathNode && group.type === \"mo\") {\n // When TeX writers want to suppress spacing on an operator,\n // they often put the operator by itself inside braces.\n group.setAttribute(\"lspace\", \"0em\");\n group.setAttribute(\"rspace\", \"0em\");\n }\n\n return [group];\n }\n\n var groups = [];\n var lastGroup;\n\n for (var i = 0; i < expression.length; i++) {\n var _group = buildMathML_buildGroup(expression[i], options);\n\n if (_group instanceof MathNode && lastGroup instanceof MathNode) {\n // Concatenate adjacent s\n if (_group.type === 'mtext' && lastGroup.type === 'mtext' && _group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) {\n var _lastGroup$children;\n\n (_lastGroup$children = lastGroup.children).push.apply(_lastGroup$children, _group.children);\n\n continue; // Concatenate adjacent s\n } else if (_group.type === 'mn' && lastGroup.type === 'mn') {\n var _lastGroup$children2;\n\n (_lastGroup$children2 = lastGroup.children).push.apply(_lastGroup$children2, _group.children);\n\n continue; // Concatenate ... followed by .\n } else if (_group.type === 'mi' && _group.children.length === 1 && lastGroup.type === 'mn') {\n var child = _group.children[0];\n\n if (child instanceof TextNode && child.text === '.') {\n var _lastGroup$children3;\n\n (_lastGroup$children3 = lastGroup.children).push.apply(_lastGroup$children3, _group.children);\n\n continue;\n }\n } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) {\n var lastChild = lastGroup.children[0];\n\n if (lastChild instanceof TextNode && lastChild.text === \"\\u0338\" && (_group.type === 'mo' || _group.type === 'mi' || _group.type === 'mn')) {\n var _child = _group.children[0];\n\n if (_child instanceof TextNode && _child.text.length > 0) {\n // Overlay with combining character long solidus\n _child.text = _child.text.slice(0, 1) + \"\\u0338\" + _child.text.slice(1);\n groups.pop();\n }\n }\n }\n }\n\n groups.push(_group);\n lastGroup = _group;\n }\n\n return groups;\n};\n/**\n * Equivalent to buildExpression, but wraps the elements in an \n * if there's more than one. Returns a single node instead of an array.\n */\n\nvar buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) {\n return makeRow(buildMathML_buildExpression(expression, options, isOrdgroup));\n};\n/**\n * Takes a group from the parser and calls the appropriate groupBuilders function\n * on it to produce a MathML node.\n */\n\nvar buildMathML_buildGroup = function buildGroup(group, options) {\n if (!group) {\n return new mathMLTree.MathNode(\"mrow\");\n }\n\n if (_mathmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n var result = _mathmlGroupBuilders[group.type](group, options); // $FlowFixMe\n\n return result;\n } else {\n throw new src_ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Takes a full parse tree and settings and builds a MathML representation of\n * it. In particular, we put the elements from building the parse tree into a\n * tag so we can also include that TeX source as an annotation.\n *\n * Note that we actually return a domTree element with a `` inside it so\n * we can do appropriate styling.\n */\n\nfunction buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) {\n var expression = buildMathML_buildExpression(tree, options); // TODO: Make a pass thru the MathML similar to buildHTML.traverseNonSpaceNodes\n // and add spacing nodes. This is necessary only adjacent to math operators\n // like \\sin or \\lim or to subsup elements that contain math operators.\n // MathML takes care of the other spacing issues.\n // Wrap up the expression in an mrow so it is presented in the semantics\n // tag correctly, unless it's a single or .\n\n var wrapper;\n\n if (expression.length === 1 && expression[0] instanceof MathNode && utils.contains([\"mrow\", \"mtable\"], expression[0].type)) {\n wrapper = expression[0];\n } else {\n wrapper = new mathMLTree.MathNode(\"mrow\", expression);\n } // Build a TeX annotation of the source\n\n\n var annotation = new mathMLTree.MathNode(\"annotation\", [new mathMLTree.TextNode(texExpression)]);\n annotation.setAttribute(\"encoding\", \"application/x-tex\");\n var semantics = new mathMLTree.MathNode(\"semantics\", [wrapper, annotation]);\n var math = new mathMLTree.MathNode(\"math\", [semantics]);\n math.setAttribute(\"xmlns\", \"http://www.w3.org/1998/Math/MathML\");\n\n if (isDisplayMode) {\n math.setAttribute(\"display\", \"block\");\n } // You can't style nodes, so we wrap the node in a span.\n // NOTE: The span class is not typed to have nodes as children, and\n // we don't want to make the children type more generic since the children\n // of span are expected to have more fields in `buildHtml` contexts.\n\n\n var wrapperClass = forMathmlOnly ? \"katex\" : \"katex-mathml\"; // $FlowFixMe\n\n return buildCommon.makeSpan([wrapperClass], [math]);\n}\n;// CONCATENATED MODULE: ./src/buildTree.js\n\n\n\n\n\n\n\nvar optionsFromSettings = function optionsFromSettings(settings) {\n return new src_Options({\n style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT,\n maxSize: settings.maxSize,\n minRuleThickness: settings.minRuleThickness\n });\n};\n\nvar displayWrap = function displayWrap(node, settings) {\n if (settings.displayMode) {\n var classes = [\"katex-display\"];\n\n if (settings.leqno) {\n classes.push(\"leqno\");\n }\n\n if (settings.fleqn) {\n classes.push(\"fleqn\");\n }\n\n node = buildCommon.makeSpan(classes, [node]);\n }\n\n return node;\n};\n\nvar buildTree = function buildTree(tree, expression, settings) {\n var options = optionsFromSettings(settings);\n var katexNode;\n\n if (settings.output === \"mathml\") {\n return buildMathML(tree, expression, options, settings.displayMode, true);\n } else if (settings.output === \"html\") {\n var htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n } else {\n var mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false);\n\n var _htmlNode = buildHTML(tree, options);\n\n katexNode = buildCommon.makeSpan([\"katex\"], [mathMLNode, _htmlNode]);\n }\n\n return displayWrap(katexNode, settings);\n};\nvar buildHTMLTree = function buildHTMLTree(tree, expression, settings) {\n var options = optionsFromSettings(settings);\n var htmlNode = buildHTML(tree, options);\n var katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n return displayWrap(katexNode, settings);\n};\n/* harmony default export */ var src_buildTree = ((/* unused pure expression or super */ null && (buildTree)));\n;// CONCATENATED MODULE: ./src/stretchy.js\n/**\n * This file provides support to buildMathML.js and buildHTML.js\n * for stretchy wide elements rendered from SVG files\n * and other CSS trickery.\n */\n\n\n\n\n\nvar stretchyCodePoint = {\n widehat: \"^\",\n widecheck: \"ˇ\",\n widetilde: \"~\",\n utilde: \"~\",\n overleftarrow: \"\\u2190\",\n underleftarrow: \"\\u2190\",\n xleftarrow: \"\\u2190\",\n overrightarrow: \"\\u2192\",\n underrightarrow: \"\\u2192\",\n xrightarrow: \"\\u2192\",\n underbrace: \"\\u23DF\",\n overbrace: \"\\u23DE\",\n overgroup: \"\\u23E0\",\n undergroup: \"\\u23E1\",\n overleftrightarrow: \"\\u2194\",\n underleftrightarrow: \"\\u2194\",\n xleftrightarrow: \"\\u2194\",\n Overrightarrow: \"\\u21D2\",\n xRightarrow: \"\\u21D2\",\n overleftharpoon: \"\\u21BC\",\n xleftharpoonup: \"\\u21BC\",\n overrightharpoon: \"\\u21C0\",\n xrightharpoonup: \"\\u21C0\",\n xLeftarrow: \"\\u21D0\",\n xLeftrightarrow: \"\\u21D4\",\n xhookleftarrow: \"\\u21A9\",\n xhookrightarrow: \"\\u21AA\",\n xmapsto: \"\\u21A6\",\n xrightharpoondown: \"\\u21C1\",\n xleftharpoondown: \"\\u21BD\",\n xrightleftharpoons: \"\\u21CC\",\n xleftrightharpoons: \"\\u21CB\",\n xtwoheadleftarrow: \"\\u219E\",\n xtwoheadrightarrow: \"\\u21A0\",\n xlongequal: \"=\",\n xtofrom: \"\\u21C4\",\n xrightleftarrows: \"\\u21C4\",\n xrightequilibrium: \"\\u21CC\",\n // Not a perfect match.\n xleftequilibrium: \"\\u21CB\",\n // None better available.\n \"\\\\cdrightarrow\": \"\\u2192\",\n \"\\\\cdleftarrow\": \"\\u2190\",\n \"\\\\cdlongequal\": \"=\"\n};\n\nvar mathMLnode = function mathMLnode(label) {\n var node = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(stretchyCodePoint[label.replace(/^\\\\/, '')])]);\n node.setAttribute(\"stretchy\", \"true\");\n return node;\n}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts.\n// Copyright (c) 2009-2010, Design Science, Inc. ()\n// Copyright (c) 2014-2017 Khan Academy ()\n// Licensed under the SIL Open Font License, Version 1.1.\n// See \\nhttp://scripts.sil.org/OFL\n// Very Long SVGs\n// Many of the KaTeX stretchy wide elements use a long SVG image and an\n// overflow: hidden tactic to achieve a stretchy image while avoiding\n// distortion of arrowheads or brace corners.\n// The SVG typically contains a very long (400 em) arrow.\n// The SVG is in a container span that has overflow: hidden, so the span\n// acts like a window that exposes only part of the SVG.\n// The SVG always has a longer, thinner aspect ratio than the container span.\n// After the SVG fills 100% of the height of the container span,\n// there is a long arrow shaft left over. That left-over shaft is not shown.\n// Instead, it is sliced off because the span's CSS has overflow: hidden.\n// Thus, the reader sees an arrow that matches the subject matter width\n// without distortion.\n// Some functions, such as \\cancel, need to vary their aspect ratio. These\n// functions do not get the overflow SVG treatment.\n// Second Brush Stroke\n// Low resolution monitors struggle to display images in fine detail.\n// So browsers apply anti-aliasing. A long straight arrow shaft therefore\n// will sometimes appear as if it has a blurred edge.\n// To mitigate this, these SVG files contain a second \"brush-stroke\" on the\n// arrow shafts. That is, a second long thin rectangular SVG path has been\n// written directly on top of each arrow shaft. This reinforcement causes\n// some of the screen pixels to display as black instead of the anti-aliased\n// gray pixel that a single path would generate. So we get arrow shafts\n// whose edges appear to be sharper.\n// In the katexImagesData object just below, the dimensions all\n// correspond to path geometry inside the relevant SVG.\n// For example, \\overrightarrow uses the same arrowhead as glyph U+2192\n// from the KaTeX Main font. The scaling factor is 1000.\n// That is, inside the font, that arrowhead is 522 units tall, which\n// corresponds to 0.522 em inside the document.\n\n\nvar katexImagesData = {\n // path(s), minWidth, height, align\n overrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n overleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n underrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n underleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n xrightarrow: [[\"rightarrow\"], 1.469, 522, \"xMaxYMin\"],\n \"\\\\cdrightarrow\": [[\"rightarrow\"], 3.0, 522, \"xMaxYMin\"],\n // CD minwwidth2.5pc\n xleftarrow: [[\"leftarrow\"], 1.469, 522, \"xMinYMin\"],\n \"\\\\cdleftarrow\": [[\"leftarrow\"], 3.0, 522, \"xMinYMin\"],\n Overrightarrow: [[\"doublerightarrow\"], 0.888, 560, \"xMaxYMin\"],\n xRightarrow: [[\"doublerightarrow\"], 1.526, 560, \"xMaxYMin\"],\n xLeftarrow: [[\"doubleleftarrow\"], 1.526, 560, \"xMinYMin\"],\n overleftharpoon: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoonup: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoondown: [[\"leftharpoondown\"], 0.888, 522, \"xMinYMin\"],\n overrightharpoon: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoonup: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoondown: [[\"rightharpoondown\"], 0.888, 522, \"xMaxYMin\"],\n xlongequal: [[\"longequal\"], 0.888, 334, \"xMinYMin\"],\n \"\\\\cdlongequal\": [[\"longequal\"], 3.0, 334, \"xMinYMin\"],\n xtwoheadleftarrow: [[\"twoheadleftarrow\"], 0.888, 334, \"xMinYMin\"],\n xtwoheadrightarrow: [[\"twoheadrightarrow\"], 0.888, 334, \"xMaxYMin\"],\n overleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n overbrace: [[\"leftbrace\", \"midbrace\", \"rightbrace\"], 1.6, 548],\n underbrace: [[\"leftbraceunder\", \"midbraceunder\", \"rightbraceunder\"], 1.6, 548],\n underleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n xleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 1.75, 522],\n xLeftrightarrow: [[\"doubleleftarrow\", \"doublerightarrow\"], 1.75, 560],\n xrightleftharpoons: [[\"leftharpoondownplus\", \"rightharpoonplus\"], 1.75, 716],\n xleftrightharpoons: [[\"leftharpoonplus\", \"rightharpoondownplus\"], 1.75, 716],\n xhookleftarrow: [[\"leftarrow\", \"righthook\"], 1.08, 522],\n xhookrightarrow: [[\"lefthook\", \"rightarrow\"], 1.08, 522],\n overlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n underlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n overgroup: [[\"leftgroup\", \"rightgroup\"], 0.888, 342],\n undergroup: [[\"leftgroupunder\", \"rightgroupunder\"], 0.888, 342],\n xmapsto: [[\"leftmapsto\", \"rightarrow\"], 1.5, 522],\n xtofrom: [[\"leftToFrom\", \"rightToFrom\"], 1.75, 528],\n // The next three arrows are from the mhchem package.\n // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the\n // document as \\xrightarrow or \\xrightleftharpoons. Those have\n // min-length = 1.75em, so we set min-length on these next three to match.\n xrightleftarrows: [[\"baraboveleftarrow\", \"rightarrowabovebar\"], 1.75, 901],\n xrightequilibrium: [[\"baraboveshortleftharpoon\", \"rightharpoonaboveshortbar\"], 1.75, 716],\n xleftequilibrium: [[\"shortbaraboveleftharpoon\", \"shortrightharpoonabovebar\"], 1.75, 716]\n};\n\nvar groupLength = function groupLength(arg) {\n if (arg.type === \"ordgroup\") {\n return arg.body.length;\n } else {\n return 1;\n }\n};\n\nvar svgSpan = function svgSpan(group, options) {\n // Create a span with inline SVG for the element.\n function buildSvgSpan_() {\n var viewBoxWidth = 400000; // default\n\n var label = group.label.slice(1);\n\n if (utils.contains([\"widehat\", \"widecheck\", \"widetilde\", \"utilde\"], label)) {\n // Each type in the `if` statement corresponds to one of the ParseNode\n // types below. This narrowing is required to access `grp.base`.\n // $FlowFixMe\n var grp = group; // There are four SVG images available for each function.\n // Choose a taller image when there are more characters.\n\n var numChars = groupLength(grp.base);\n var viewBoxHeight;\n var pathName;\n\n var _height;\n\n if (numChars > 5) {\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxHeight = 420;\n viewBoxWidth = 2364;\n _height = 0.42;\n pathName = label + \"4\";\n } else {\n viewBoxHeight = 312;\n viewBoxWidth = 2340;\n _height = 0.34;\n pathName = \"tilde4\";\n }\n } else {\n var imgIndex = [1, 1, 2, 2, 3, 3][numChars];\n\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex];\n viewBoxHeight = [0, 239, 300, 360, 420][imgIndex];\n _height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex];\n pathName = label + imgIndex;\n } else {\n viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex];\n viewBoxHeight = [0, 260, 286, 306, 312][imgIndex];\n _height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex];\n pathName = \"tilde\" + imgIndex;\n }\n }\n\n var path = new PathNode(pathName);\n var svgNode = new SvgNode([path], {\n \"width\": \"100%\",\n \"height\": makeEm(_height),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight,\n \"preserveAspectRatio\": \"none\"\n });\n return {\n span: buildCommon.makeSvgSpan([], [svgNode], options),\n minWidth: 0,\n height: _height\n };\n } else {\n var spans = [];\n var data = katexImagesData[label];\n var paths = data[0],\n _minWidth = data[1],\n _viewBoxHeight = data[2];\n\n var _height2 = _viewBoxHeight / 1000;\n\n var numSvgChildren = paths.length;\n var widthClasses;\n var aligns;\n\n if (numSvgChildren === 1) {\n // $FlowFixMe: All these cases must be of the 4-tuple type.\n var align1 = data[3];\n widthClasses = [\"hide-tail\"];\n aligns = [align1];\n } else if (numSvgChildren === 2) {\n widthClasses = [\"halfarrow-left\", \"halfarrow-right\"];\n aligns = [\"xMinYMin\", \"xMaxYMin\"];\n } else if (numSvgChildren === 3) {\n widthClasses = [\"brace-left\", \"brace-center\", \"brace-right\"];\n aligns = [\"xMinYMin\", \"xMidYMin\", \"xMaxYMin\"];\n } else {\n throw new Error(\"Correct katexImagesData or update code here to support\\n \" + numSvgChildren + \" children.\");\n }\n\n for (var i = 0; i < numSvgChildren; i++) {\n var _path = new PathNode(paths[i]);\n\n var _svgNode = new SvgNode([_path], {\n \"width\": \"400em\",\n \"height\": makeEm(_height2),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + _viewBoxHeight,\n \"preserveAspectRatio\": aligns[i] + \" slice\"\n });\n\n var _span = buildCommon.makeSvgSpan([widthClasses[i]], [_svgNode], options);\n\n if (numSvgChildren === 1) {\n return {\n span: _span,\n minWidth: _minWidth,\n height: _height2\n };\n } else {\n _span.style.height = makeEm(_height2);\n spans.push(_span);\n }\n }\n\n return {\n span: buildCommon.makeSpan([\"stretchy\"], spans, options),\n minWidth: _minWidth,\n height: _height2\n };\n }\n } // buildSvgSpan_()\n\n\n var _buildSvgSpan_ = buildSvgSpan_(),\n span = _buildSvgSpan_.span,\n minWidth = _buildSvgSpan_.minWidth,\n height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0.\n // Any adjustments relative to the baseline must be done in buildHTML.\n\n\n span.height = height;\n span.style.height = makeEm(height);\n\n if (minWidth > 0) {\n span.style.minWidth = makeEm(minWidth);\n }\n\n return span;\n};\n\nvar encloseSpan = function encloseSpan(inner, label, topPad, bottomPad, options) {\n // Return an image span for \\cancel, \\bcancel, \\xcancel, \\fbox, or \\angl\n var img;\n var totalHeight = inner.height + inner.depth + topPad + bottomPad;\n\n if (/fbox|color|angl/.test(label)) {\n img = buildCommon.makeSpan([\"stretchy\", label], [], options);\n\n if (label === \"fbox\") {\n var color = options.color && options.getColor();\n\n if (color) {\n img.style.borderColor = color;\n }\n }\n } else {\n // \\cancel, \\bcancel, or \\xcancel\n // Since \\cancel's SVG is inline and it omits the viewBox attribute,\n // its stroke-width will not vary with span area.\n var lines = [];\n\n if (/^[bx]cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"0\",\n \"x2\": \"100%\",\n \"y2\": \"100%\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n if (/^x?cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"100%\",\n \"x2\": \"100%\",\n \"y2\": \"0\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n var svgNode = new SvgNode(lines, {\n \"width\": \"100%\",\n \"height\": makeEm(totalHeight)\n });\n img = buildCommon.makeSvgSpan([], [svgNode], options);\n }\n\n img.height = totalHeight;\n img.style.height = makeEm(totalHeight);\n return img;\n};\n\n/* harmony default export */ var stretchy = ({\n encloseSpan: encloseSpan,\n mathMLnode: mathMLnode,\n svgSpan: svgSpan\n});\n;// CONCATENATED MODULE: ./src/parseNode.js\n\n\n/**\n * Asserts that the node is of the given type and returns it with stricter\n * typing. Throws if the node's type does not match.\n */\nfunction assertNodeType(node, type) {\n if (!node || node.type !== type) {\n throw new Error(\"Expected node of type \" + type + \", but got \" + (node ? \"node of type \" + node.type : String(node)));\n } // $FlowFixMe, >=0.125\n\n\n return node;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction assertSymbolNodeType(node) {\n var typedNode = checkSymbolNodeType(node);\n\n if (!typedNode) {\n throw new Error(\"Expected node of symbol group type, but got \" + (node ? \"node of type \" + node.type : String(node)));\n }\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkSymbolNodeType(node) {\n if (node && (node.type === \"atom\" || NON_ATOMS.hasOwnProperty(node.type))) {\n // $FlowFixMe\n return node;\n }\n\n return null;\n}\n;// CONCATENATED MODULE: ./src/functions/accent.js\n\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"accent\", but\n// also \"supsub\" since an accent can affect super/subscripting.\nvar htmlBuilder = function htmlBuilder(grp, options) {\n // Accents are handled in the TeXbook pg. 443, rule 12.\n var base;\n var group;\n var supSubGroup;\n\n if (grp && grp.type === \"supsub\") {\n // If our base is a character box, and we have superscripts and\n // subscripts, the supsub will defer to us. In particular, we want\n // to attach the superscripts and subscripts to the inner body (so\n // that the position of the superscripts and subscripts won't be\n // affected by the height of the accent). We accomplish this by\n // sticking the base of the accent into the base of the supsub, and\n // rendering that, while keeping track of where the accent is.\n // The real accent group is the base of the supsub group\n group = assertNodeType(grp.base, \"accent\"); // The character box is the base of the accent group\n\n base = group.base; // Stick the character box into the base of the supsub group\n\n grp.base = base; // Rerender the supsub group with its new base, and store that\n // result.\n\n supSubGroup = assertSpan(buildGroup(grp, options)); // reset original base\n\n grp.base = group;\n } else {\n group = assertNodeType(grp, \"accent\");\n base = group.base;\n } // Build the base group\n\n\n var body = buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character?\n\n var mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line \"If the\n // nucleus is not a single character, let s = 0; otherwise set s to the\n // kern amount for the nucleus followed by the \\skewchar of its font.\"\n // Note that our skew metrics are just the kern between each character\n // and the skewchar.\n\n var skew = 0;\n\n if (mustShift) {\n // If the base is a character box, then we want the skew of the\n // innermost character. To do that, we find the innermost character:\n var baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it\n\n var baseGroup = buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol.\n\n skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we\n // removed with getBaseElem might contain things like \\color which\n // we can't get rid of.\n // TODO(emily): Find a better way to get the skew\n }\n\n var accentBelow = group.label === \"\\\\c\"; // calculate the amount of space between the body and the accent\n\n var clearance = accentBelow ? body.height + body.depth : Math.min(body.height, options.fontMetrics().xHeight); // Build the accent\n\n var accentBody;\n\n if (!group.isStretchy) {\n var accent;\n var width;\n\n if (group.label === \"\\\\vec\") {\n // Before version 0.9, \\vec used the combining font glyph U+20D7.\n // But browsers, especially Safari, are not consistent in how they\n // render combining characters when not preceded by a character.\n // So now we use an SVG.\n // If Safari reforms, we should consider reverting to the glyph.\n accent = buildCommon.staticSvg(\"vec\", options);\n width = buildCommon.svgData.vec[1];\n } else {\n accent = buildCommon.makeOrd({\n mode: group.mode,\n text: group.label\n }, options, \"textord\");\n accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to\n // shift the accent over to a place we don't want.\n\n accent.italic = 0;\n width = accent.width;\n\n if (accentBelow) {\n clearance += accent.depth;\n }\n }\n\n accentBody = buildCommon.makeSpan([\"accent-body\"], [accent]); // \"Full\" accents expand the width of the resulting symbol to be\n // at least the width of the accent, and overlap directly onto the\n // character without any vertical offset.\n\n var accentFull = group.label === \"\\\\textcircled\";\n\n if (accentFull) {\n accentBody.classes.push('accent-full');\n clearance = body.height;\n } // Shift the accent over by the skew.\n\n\n var left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }`\n // so that the accent doesn't contribute to the bounding box.\n // We need to shift the character by its width (effectively half\n // its width) to compensate.\n\n if (!accentFull) {\n left -= width / 2;\n }\n\n accentBody.style.left = makeEm(left); // \\textcircled uses the \\bigcirc glyph, so it needs some\n // vertical adjustment to match LaTeX.\n\n if (group.label === \"\\\\textcircled\") {\n accentBody.style.top = \".2em\";\n }\n\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: -clearance\n }, {\n type: \"elem\",\n elem: accentBody\n }]\n }, options);\n } else {\n accentBody = stretchy.svgSpan(group, options);\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"],\n wrapperStyle: skew > 0 ? {\n width: \"calc(100% - \" + makeEm(2 * skew) + \")\",\n marginLeft: makeEm(2 * skew)\n } : undefined\n }]\n }, options);\n }\n\n var accentWrap = buildCommon.makeSpan([\"mord\", \"accent\"], [accentBody], options);\n\n if (supSubGroup) {\n // Here, we replace the \"base\" child of the supsub with our newly\n // generated accent.\n supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the\n // accent, we manually recalculate height.\n\n supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not.\n\n supSubGroup.classes[0] = \"mord\";\n return supSubGroup;\n } else {\n return accentWrap;\n }\n};\n\nvar mathmlBuilder = function mathmlBuilder(group, options) {\n var accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode(\"mo\", [makeText(group.label, group.mode)]);\n var node = new mathMLTree.MathNode(\"mover\", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n};\n\nvar NON_STRETCHY_ACCENT_REGEX = new RegExp([\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\"].map(function (accent) {\n return \"\\\\\" + accent;\n}).join(\"|\")); // Accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\", \"\\\\widecheck\", \"\\\\widehat\", \"\\\\widetilde\", \"\\\\overrightarrow\", \"\\\\overleftarrow\", \"\\\\Overrightarrow\", \"\\\\overleftrightarrow\", \"\\\\overgroup\", \"\\\\overlinesegment\", \"\\\\overleftharpoon\", \"\\\\overrightharpoon\"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n var base = normalizeArgument(args[0]);\n var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName);\n var isShifty = !isStretchy || context.funcName === \"\\\\widehat\" || context.funcName === \"\\\\widetilde\" || context.funcName === \"\\\\widecheck\";\n return {\n type: \"accent\",\n mode: context.parser.mode,\n label: context.funcName,\n isStretchy: isStretchy,\n isShifty: isShifty,\n base: base\n };\n },\n htmlBuilder: htmlBuilder,\n mathmlBuilder: mathmlBuilder\n}); // Text-mode accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\'\", \"\\\\`\", \"\\\\^\", \"\\\\~\", \"\\\\=\", \"\\\\u\", \"\\\\.\", '\\\\\"', \"\\\\c\", \"\\\\r\", \"\\\\H\", \"\\\\v\", \"\\\\textcircled\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n // unless in strict mode\n argTypes: [\"primitive\"]\n },\n handler: function handler(context, args) {\n var base = args[0];\n var mode = context.parser.mode;\n\n if (mode === \"math\") {\n context.parser.settings.reportNonstrict(\"mathVsTextAccents\", \"LaTeX's accent \" + context.funcName + \" works only in text mode\");\n mode = \"text\";\n }\n\n return {\n type: \"accent\",\n mode: mode,\n label: context.funcName,\n isStretchy: false,\n isShifty: true,\n base: base\n };\n },\n htmlBuilder: htmlBuilder,\n mathmlBuilder: mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/accentunder.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: \"accentUnder\",\n names: [\"\\\\underleftarrow\", \"\\\\underrightarrow\", \"\\\\underleftrightarrow\", \"\\\\undergroup\", \"\\\\underlinesegment\", \"\\\\utilde\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var base = args[0];\n return {\n type: \"accentUnder\",\n mode: parser.mode,\n label: funcName,\n base: base\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Treat under accents much like underlines.\n var innerGroup = buildGroup(group.base, options);\n var accentBody = stretchy.svgSpan(group, options);\n var kern = group.label === \"\\\\utilde\" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns\n\n var vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: kern\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"accentunder\"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var accentNode = stretchy.mathMLnode(group.label);\n var node = new mathMLTree.MathNode(\"munder\", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/arrow.js\n\n\n\n\n\n\n\n// Helper function\nvar paddedNode = function paddedNode(group) {\n var node = new mathMLTree.MathNode(\"mpadded\", group ? [group] : []);\n node.setAttribute(\"width\", \"+0.6em\");\n node.setAttribute(\"lspace\", \"0.3em\");\n return node;\n}; // Stretchy arrows with an optional argument\n\n\ndefineFunction({\n type: \"xArrow\",\n names: [\"\\\\xleftarrow\", \"\\\\xrightarrow\", \"\\\\xLeftarrow\", \"\\\\xRightarrow\", \"\\\\xleftrightarrow\", \"\\\\xLeftrightarrow\", \"\\\\xhookleftarrow\", \"\\\\xhookrightarrow\", \"\\\\xmapsto\", \"\\\\xrightharpoondown\", \"\\\\xrightharpoonup\", \"\\\\xleftharpoondown\", \"\\\\xleftharpoonup\", \"\\\\xrightleftharpoons\", \"\\\\xleftrightharpoons\", \"\\\\xlongequal\", \"\\\\xtwoheadrightarrow\", \"\\\\xtwoheadleftarrow\", \"\\\\xtofrom\", // The next 3 functions are here to support the mhchem extension.\n // Direct use of these functions is discouraged and may break someday.\n \"\\\\xrightleftarrows\", \"\\\\xrightequilibrium\", \"\\\\xleftequilibrium\", // The next 3 functions are here only to support the {CD} environment.\n \"\\\\\\\\cdrightarrow\", \"\\\\\\\\cdleftarrow\", \"\\\\\\\\cdlongequal\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n return {\n type: \"xArrow\",\n mode: parser.mode,\n label: funcName,\n body: args[0],\n below: optArgs[0]\n };\n },\n // Flow is unable to correctly infer the type of `group`, even though it's\n // unambiguously determined from the passed-in `type` above.\n htmlBuilder: function htmlBuilder(group, options) {\n var style = options.style; // Build the argument groups in the appropriate style.\n // Ref: amsmath.dtx: \\hbox{$\\scriptstyle\\mkern#3mu{#6}\\mkern#4mu$}%\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n var newOptions = options.havingStyle(style.sup());\n var upperGroup = buildCommon.wrapFragment(buildGroup(group.body, newOptions, options), options);\n var arrowPrefix = group.label.slice(0, 2) === \"\\\\x\" ? \"x\" : \"cd\";\n upperGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n var lowerGroup;\n\n if (group.below) {\n // Build the lower group\n newOptions = options.havingStyle(style.sub());\n lowerGroup = buildCommon.wrapFragment(buildGroup(group.below, newOptions, options), options);\n lowerGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n }\n\n var arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0.\n // The point we want on the math axis is at 0.5 * arrowBody.height.\n\n var arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\\if0#2\\else\\mkern#2mu\\fi\n\n var upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu\n\n if (upperGroup.depth > 0.25 || group.label === \"\\\\xleftequilibrium\") {\n upperShift -= upperGroup.depth; // shift up if depth encroaches\n } // Generate the vlist\n\n\n var vlist;\n\n if (lowerGroup) {\n var lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111;\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }, {\n type: \"elem\",\n elem: lowerGroup,\n shift: lowerShift\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }]\n }, options);\n } // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n return buildCommon.makeSpan([\"mrel\", \"x-arrow\"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var arrowNode = stretchy.mathMLnode(group.label);\n arrowNode.setAttribute(\"minsize\", group.label.charAt(0) === \"x\" ? \"1.75em\" : \"3.0em\");\n var node;\n\n if (group.body) {\n var upperNode = paddedNode(buildMathML_buildGroup(group.body, options));\n\n if (group.below) {\n var lowerNode = paddedNode(buildMathML_buildGroup(group.below, options));\n node = new mathMLTree.MathNode(\"munderover\", [arrowNode, lowerNode, upperNode]);\n } else {\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, upperNode]);\n }\n } else if (group.below) {\n var _lowerNode = paddedNode(buildMathML_buildGroup(group.below, options));\n\n node = new mathMLTree.MathNode(\"munder\", [arrowNode, _lowerNode]);\n } else {\n // This should never happen.\n // Parser.js throws an error if there is no argument.\n node = paddedNode();\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, node]);\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/mclass.js\n\n\n\n\n\n\nvar mclass_makeSpan = buildCommon.makeSpan;\n\nfunction mclass_htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options, true);\n return mclass_makeSpan([group.mclass], elements, options);\n}\n\nfunction mclass_mathmlBuilder(group, options) {\n var node;\n var inner = buildMathML_buildExpression(group.body, options);\n\n if (group.mclass === \"minner\") {\n node = new mathMLTree.MathNode(\"mpadded\", inner);\n } else if (group.mclass === \"mord\") {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mi\";\n } else {\n node = new mathMLTree.MathNode(\"mi\", inner);\n }\n } else {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mo\";\n } else {\n node = new mathMLTree.MathNode(\"mo\", inner);\n } // Set spacing based on what is the most likely adjacent atom type.\n // See TeXbook p170.\n\n\n if (group.mclass === \"mbin\") {\n node.attributes.lspace = \"0.22em\"; // medium space\n\n node.attributes.rspace = \"0.22em\";\n } else if (group.mclass === \"mpunct\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0.17em\"; // thinspace\n } else if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0em\";\n } else if (group.mclass === \"minner\") {\n node.attributes.lspace = \"0.0556em\"; // 1 mu is the most likely option\n\n node.attributes.width = \"+0.1111em\";\n } // MathML default space is 5/18 em, so needs no action.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo\n\n }\n\n return node;\n} // Math class commands except \\mathop\n\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\mathord\", \"\\\\mathbin\", \"\\\\mathrel\", \"\\\\mathopen\", \"\\\\mathclose\", \"\\\\mathpunct\", \"\\\\mathinner\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: \"m\" + funcName.slice(5),\n // TODO(kevinb): don't prefix with 'm'\n body: ordargument(body),\n isCharacterBox: utils.isCharacterBox(body)\n };\n },\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\nvar binrelClass = function binrelClass(arg) {\n // \\binrel@ spacing varies with (bin|rel|ord) of the atom in the argument.\n // (by rendering separately and with {}s before and after, and measuring\n // the change in spacing). We'll do roughly the same by detecting the\n // atom type directly.\n var atom = arg.type === \"ordgroup\" && arg.body.length ? arg.body[0] : arg;\n\n if (atom.type === \"atom\" && (atom.family === \"bin\" || atom.family === \"rel\")) {\n return \"m\" + atom.family;\n } else {\n return \"mord\";\n }\n}; // \\@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord.\n// This is equivalent to \\binrel@{x}\\binrel@@{y} in AMSTeX.\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\@binrel\"],\n props: {\n numArgs: 2\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[1]),\n isCharacterBox: utils.isCharacterBox(args[1])\n };\n }\n}); // Build a relation or stacked op by placing one symbol on top of another\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\stackrel\", \"\\\\overset\", \"\\\\underset\"],\n props: {\n numArgs: 2\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName;\n var baseArg = args[1];\n var shiftedArg = args[0];\n var mclass;\n\n if (funcName !== \"\\\\stackrel\") {\n // LaTeX applies \\binrel spacing to \\overset and \\underset.\n mclass = binrelClass(baseArg);\n } else {\n mclass = \"mrel\"; // for \\stackrel\n }\n\n var baseOp = {\n type: \"op\",\n mode: baseArg.mode,\n limits: true,\n alwaysHandleSupSub: true,\n parentIsSupSub: false,\n symbol: false,\n suppressBaseShift: funcName !== \"\\\\stackrel\",\n body: ordargument(baseArg)\n };\n var supsub = {\n type: \"supsub\",\n mode: shiftedArg.mode,\n base: baseOp,\n sup: funcName === \"\\\\underset\" ? null : shiftedArg,\n sub: funcName === \"\\\\underset\" ? shiftedArg : null\n };\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: mclass,\n body: [supsub],\n isCharacterBox: utils.isCharacterBox(supsub)\n };\n },\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/pmb.js\n\n\n\n\n\n\n// \\pmb is a simulation of bold font.\n// The version of \\pmb in ambsy.sty works by typesetting three copies\n// with small offsets. We use CSS text-shadow.\n// It's a hack. Not as good as a real bold font. Better than nothing.\ndefineFunction({\n type: \"pmb\",\n names: [\"\\\\pmb\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: \"pmb\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[0])\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options, true);\n var node = buildCommon.makeSpan([group.mclass], elements, options);\n node.style.textShadow = \"0.02em 0.01em 0.04px\";\n return node;\n },\n mathmlBuilder: function mathmlBuilder(group, style) {\n var inner = buildMathML_buildExpression(group.body, style); // Wrap with an element.\n\n var node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"style\", \"text-shadow: 0.02em 0.01em 0.04px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/environments/cd.js\n\n\n\n\n\n\n\n\nvar cdArrowFunctionName = {\n \">\": \"\\\\\\\\cdrightarrow\",\n \"<\": \"\\\\\\\\cdleftarrow\",\n \"=\": \"\\\\\\\\cdlongequal\",\n \"A\": \"\\\\uparrow\",\n \"V\": \"\\\\downarrow\",\n \"|\": \"\\\\Vert\",\n \".\": \"no arrow\"\n};\n\nvar newCell = function newCell() {\n // Create an empty cell, to be filled below with parse nodes.\n // The parseTree from this module must be constructed like the\n // one created by parseArray(), so an empty CD cell must\n // be a ParseNode<\"styling\">. And CD is always displaystyle.\n // So these values are fixed and flow can do implicit typing.\n return {\n type: \"styling\",\n body: [],\n mode: \"math\",\n style: \"display\"\n };\n};\n\nvar isStartOfArrow = function isStartOfArrow(node) {\n return node.type === \"textord\" && node.text === \"@\";\n};\n\nvar isLabelEnd = function isLabelEnd(node, endChar) {\n return (node.type === \"mathord\" || node.type === \"atom\") && node.text === endChar;\n};\n\nfunction cdArrow(arrowChar, labels, parser) {\n // Return a parse tree of an arrow and its labels.\n // This acts in a way similar to a macro expansion.\n var funcName = cdArrowFunctionName[arrowChar];\n\n switch (funcName) {\n case \"\\\\\\\\cdrightarrow\":\n case \"\\\\\\\\cdleftarrow\":\n return parser.callFunction(funcName, [labels[0]], [labels[1]]);\n\n case \"\\\\uparrow\":\n case \"\\\\downarrow\":\n {\n var leftLabel = parser.callFunction(\"\\\\\\\\cdleft\", [labels[0]], []);\n var bareArrow = {\n type: \"atom\",\n text: funcName,\n mode: \"math\",\n family: \"rel\"\n };\n var sizedArrow = parser.callFunction(\"\\\\Big\", [bareArrow], []);\n var rightLabel = parser.callFunction(\"\\\\\\\\cdright\", [labels[1]], []);\n var arrowGroup = {\n type: \"ordgroup\",\n mode: \"math\",\n body: [leftLabel, sizedArrow, rightLabel]\n };\n return parser.callFunction(\"\\\\\\\\cdparent\", [arrowGroup], []);\n }\n\n case \"\\\\\\\\cdlongequal\":\n return parser.callFunction(\"\\\\\\\\cdlongequal\", [], []);\n\n case \"\\\\Vert\":\n {\n var arrow = {\n type: \"textord\",\n text: \"\\\\Vert\",\n mode: \"math\"\n };\n return parser.callFunction(\"\\\\Big\", [arrow], []);\n }\n\n default:\n return {\n type: \"textord\",\n text: \" \",\n mode: \"math\"\n };\n }\n}\n\nfunction parseCD(parser) {\n // Get the array's parse nodes with \\\\ temporarily mapped to \\cr.\n var parsedRows = [];\n parser.gullet.beginGroup();\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n parser.gullet.beginGroup();\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Get the parse nodes for the next row.\n parsedRows.push(parser.parseExpression(false, \"\\\\\\\\\"));\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n var next = parser.fetch().text;\n\n if (next === \"&\" || next === \"\\\\\\\\\") {\n parser.consume();\n } else if (next === \"\\\\end\") {\n if (parsedRows[parsedRows.length - 1].length === 0) {\n parsedRows.pop(); // final row ended in \\\\\n }\n\n break;\n } else {\n throw new src_ParseError(\"Expected \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n }\n\n var row = [];\n var body = [row]; // Loop thru the parse nodes. Collect them into cells and arrows.\n\n for (var i = 0; i < parsedRows.length; i++) {\n // Start a new row.\n var rowNodes = parsedRows[i]; // Create the first cell.\n\n var cell = newCell();\n\n for (var j = 0; j < rowNodes.length; j++) {\n if (!isStartOfArrow(rowNodes[j])) {\n // If a parseNode is not an arrow, it goes into a cell.\n cell.body.push(rowNodes[j]);\n } else {\n // Parse node j is an \"@\", the start of an arrow.\n // Before starting on the arrow, push the cell into `row`.\n row.push(cell); // Now collect parseNodes into an arrow.\n // The character after \"@\" defines the arrow type.\n\n j += 1;\n var arrowChar = assertSymbolNodeType(rowNodes[j]).text; // Create two empty label nodes. We may or may not use them.\n\n var labels = new Array(2);\n labels[0] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n };\n labels[1] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n }; // Process the arrow.\n\n if (\"=|.\".indexOf(arrowChar) > -1) {// Three \"arrows\", ``@=`, `@|`, and `@.`, do not take labels.\n // Do nothing here.\n } else if (\"<>AV\".indexOf(arrowChar) > -1) {\n // Four arrows, `@>>>`, `@<<<`, `@AAA`, and `@VVV`, each take\n // two optional labels. E.g. the right-point arrow syntax is\n // really: @>{optional label}>{optional label}>\n // Collect parseNodes into labels.\n for (var labelNum = 0; labelNum < 2; labelNum++) {\n var inLabel = true;\n\n for (var k = j + 1; k < rowNodes.length; k++) {\n if (isLabelEnd(rowNodes[k], arrowChar)) {\n inLabel = false;\n j = k;\n break;\n }\n\n if (isStartOfArrow(rowNodes[k])) {\n throw new src_ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[k]);\n }\n\n labels[labelNum].body.push(rowNodes[k]);\n }\n\n if (inLabel) {\n // isLabelEnd never returned a true.\n throw new src_ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[j]);\n }\n }\n } else {\n throw new src_ParseError(\"Expected one of \\\"<>AV=|.\\\" after @\", rowNodes[j]);\n } // Now join the arrow to its labels.\n\n\n var arrow = cdArrow(arrowChar, labels, parser); // Wrap the arrow in ParseNode<\"styling\">.\n // This is done to match parseArray() behavior.\n\n var wrappedArrow = {\n type: \"styling\",\n body: [arrow],\n mode: \"math\",\n style: \"display\" // CD is always displaystyle.\n\n };\n row.push(wrappedArrow); // In CD's syntax, cells are implicit. That is, everything that\n // is not an arrow gets collected into a cell. So create an empty\n // cell now. It will collect upcoming parseNodes.\n\n cell = newCell();\n }\n }\n\n if (i % 2 === 0) {\n // Even-numbered rows consist of: cell, arrow, cell, arrow, ... cell\n // The last cell is not yet pushed into `row`, so:\n row.push(cell);\n } else {\n // Odd-numbered rows consist of: vert arrow, empty cell, ... vert arrow\n // Remove the empty cell that was placed at the beginning of `row`.\n row.shift();\n }\n\n row = [];\n body.push(row);\n } // End row group\n\n\n parser.gullet.endGroup(); // End array group defining \\\\\n\n parser.gullet.endGroup(); // define column separation.\n\n var cols = new Array(body[0].length).fill({\n type: \"align\",\n align: \"c\",\n pregap: 0.25,\n // CD package sets \\enskip between columns.\n postgap: 0.25 // So pre and post each get half an \\enskip, i.e. 0.25em.\n\n });\n return {\n type: \"array\",\n mode: \"math\",\n body: body,\n arraystretch: 1,\n addJot: true,\n rowGaps: [null],\n cols: cols,\n colSeparationType: \"CD\",\n hLinesBeforeRow: new Array(body.length + 1).fill([])\n };\n} // The functions below are not available for general use.\n// They are here only for internal use by the {CD} environment in placing labels\n// next to vertical arrows.\n// We don't need any such functions for horizontal arrows because we can reuse\n// the functionality that already exists for extensible arrows.\n\ndefineFunction({\n type: \"cdlabel\",\n names: [\"\\\\\\\\cdleft\", \"\\\\\\\\cdright\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n return {\n type: \"cdlabel\",\n mode: parser.mode,\n side: funcName.slice(4),\n label: args[0]\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var newOptions = options.havingStyle(options.style.sup());\n var label = buildCommon.wrapFragment(buildGroup(group.label, newOptions, options), options);\n label.classes.push(\"cd-label-\" + group.side);\n label.style.bottom = makeEm(0.8 - label.depth); // Zero out label height & depth, so vertical align of arrow is set\n // by the arrow height, not by the label.\n\n label.height = 0;\n label.depth = 0;\n return label;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var label = new mathMLTree.MathNode(\"mrow\", [buildMathML_buildGroup(group.label, options)]);\n label = new mathMLTree.MathNode(\"mpadded\", [label]);\n label.setAttribute(\"width\", \"0\");\n\n if (group.side === \"left\") {\n label.setAttribute(\"lspace\", \"-1width\");\n } // We have to guess at vertical alignment. We know the arrow is 1.8em tall,\n // But we don't know the height or depth of the label.\n\n\n label.setAttribute(\"voffset\", \"0.7em\");\n label = new mathMLTree.MathNode(\"mstyle\", [label]);\n label.setAttribute(\"displaystyle\", \"false\");\n label.setAttribute(\"scriptlevel\", \"1\");\n return label;\n }\n});\ndefineFunction({\n type: \"cdlabelparent\",\n names: [\"\\\\\\\\cdparent\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n return {\n type: \"cdlabelparent\",\n mode: parser.mode,\n fragment: args[0]\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Wrap the vertical arrow and its labels.\n // The parent gets position: relative. The child gets position: absolute.\n // So CSS can locate the label correctly.\n var parent = buildCommon.wrapFragment(buildGroup(group.fragment, options), options);\n parent.classes.push(\"cd-vert-arrow\");\n return parent;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", [buildMathML_buildGroup(group.fragment, options)]);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/char.js\n\n\n // \\@char is an internal function that takes a grouped decimal argument like\n// {123} and converts into symbol with code 123. It is used by the *macro*\n// \\char defined in macros.js.\n\ndefineFunction({\n type: \"textord\",\n names: [\"\\\\@char\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var arg = assertNodeType(args[0], \"ordgroup\");\n var group = arg.body;\n var number = \"\";\n\n for (var i = 0; i < group.length; i++) {\n var node = assertNodeType(group[i], \"textord\");\n number += node.text;\n }\n\n var code = parseInt(number);\n var text;\n\n if (isNaN(code)) {\n throw new src_ParseError(\"\\\\@char has non-numeric argument \" + number); // If we drop IE support, the following code could be replaced with\n // text = String.fromCodePoint(code)\n } else if (code < 0 || code >= 0x10ffff) {\n throw new src_ParseError(\"\\\\@char with invalid code point \" + number);\n } else if (code <= 0xffff) {\n text = String.fromCharCode(code);\n } else {\n // Astral code point; split into surrogate halves\n code -= 0x10000;\n text = String.fromCharCode((code >> 10) + 0xd800, (code & 0x3ff) + 0xdc00);\n }\n\n return {\n type: \"textord\",\n mode: parser.mode,\n text: text\n };\n }\n});\n;// CONCATENATED MODULE: ./src/functions/color.js\n\n\n\n\n\n\n\nvar color_htmlBuilder = function htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options.withColor(group.color), false); // \\color isn't supposed to affect the type of the elements it contains.\n // To accomplish this, we wrap the results in a fragment, so the inner\n // elements will be able to directly interact with their neighbors. For\n // example, `\\color{red}{2 +} 3` has the same spacing as `2 + 3`\n\n return buildCommon.makeFragment(elements);\n};\n\nvar color_mathmlBuilder = function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(group.body, options.withColor(group.color));\n var node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"mathcolor\", group.color);\n return node;\n};\n\ndefineFunction({\n type: \"color\",\n names: [\"\\\\textcolor\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"original\"]\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var color = assertNodeType(args[0], \"color-token\").color;\n var body = args[1];\n return {\n type: \"color\",\n mode: parser.mode,\n color: color,\n body: ordargument(body)\n };\n },\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\ndefineFunction({\n type: \"color\",\n names: [\"\\\\color\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n argTypes: [\"color\"]\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser,\n breakOnTokenText = _ref2.breakOnTokenText;\n var color = assertNodeType(args[0], \"color-token\").color; // Set macro \\current@color in current namespace to store the current\n // color, mimicking the behavior of color.sty.\n // This is currently used just to correctly color a \\right\n // that follows a \\color command.\n\n parser.gullet.macros.set(\"\\\\current@color\", color); // Parse out the implicit body that should be colored.\n\n var body = parser.parseExpression(true, breakOnTokenText);\n return {\n type: \"color\",\n mode: parser.mode,\n color: color,\n body: body\n };\n },\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/cr.js\n// Row breaks within tabular environments, and line breaks at top level\n\n\n\n\n // \\DeclareRobustCommand\\\\{...\\@xnewline}\n\ndefineFunction({\n type: \"cr\",\n names: [\"\\\\\\\\\"],\n props: {\n numArgs: 0,\n numOptionalArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var size = parser.gullet.future().text === \"[\" ? parser.parseSizeGroup(true) : null;\n var newLine = !parser.settings.displayMode || !parser.settings.useStrictBehavior(\"newLineInDisplayMode\", \"In LaTeX, \\\\\\\\ or \\\\newline \" + \"does nothing in display mode\");\n return {\n type: \"cr\",\n mode: parser.mode,\n newLine: newLine,\n size: size && assertNodeType(size, \"size\").value\n };\n },\n // The following builders are called only at the top level,\n // not within tabular/array environments.\n htmlBuilder: function htmlBuilder(group, options) {\n var span = buildCommon.makeSpan([\"mspace\"], [], options);\n\n if (group.newLine) {\n span.classes.push(\"newline\");\n\n if (group.size) {\n span.style.marginTop = makeEm(calculateSize(group.size, options));\n }\n }\n\n return span;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mspace\");\n\n if (group.newLine) {\n node.setAttribute(\"linebreak\", \"newline\");\n\n if (group.size) {\n node.setAttribute(\"height\", makeEm(calculateSize(group.size, options)));\n }\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/def.js\n\n\n\nvar globalMap = {\n \"\\\\global\": \"\\\\global\",\n \"\\\\long\": \"\\\\\\\\globallong\",\n \"\\\\\\\\globallong\": \"\\\\\\\\globallong\",\n \"\\\\def\": \"\\\\gdef\",\n \"\\\\gdef\": \"\\\\gdef\",\n \"\\\\edef\": \"\\\\xdef\",\n \"\\\\xdef\": \"\\\\xdef\",\n \"\\\\let\": \"\\\\\\\\globallet\",\n \"\\\\futurelet\": \"\\\\\\\\globalfuture\"\n};\n\nvar checkControlSequence = function checkControlSequence(tok) {\n var name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new src_ParseError(\"Expected a control sequence\", tok);\n }\n\n return name;\n};\n\nvar getRHS = function getRHS(parser) {\n var tok = parser.gullet.popToken();\n\n if (tok.text === \"=\") {\n // consume optional equals\n tok = parser.gullet.popToken();\n\n if (tok.text === \" \") {\n // consume one optional space\n tok = parser.gullet.popToken();\n }\n }\n\n return tok;\n};\n\nvar letCommand = function letCommand(parser, name, tok, global) {\n var macro = parser.gullet.macros.get(tok.text);\n\n if (macro == null) {\n // don't expand it later even if a macro with the same name is defined\n // e.g., \\let\\foo=\\frac \\def\\frac{\\relax} \\frac12\n tok.noexpand = true;\n macro = {\n tokens: [tok],\n numArgs: 0,\n // reproduce the same behavior in expansion\n unexpandable: !parser.gullet.isExpandable(tok.text)\n };\n }\n\n parser.gullet.macros.set(name, macro, global);\n}; // -> |\n// -> |\\global\n// -> |\n// -> \\global|\\long|\\outer\n\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\global\", \"\\\\long\", \"\\\\\\\\globallong\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n parser.consumeSpaces();\n var token = parser.fetch();\n\n if (globalMap[token.text]) {\n // KaTeX doesn't have \\par, so ignore \\long\n if (funcName === \"\\\\global\" || funcName === \"\\\\\\\\globallong\") {\n token.text = globalMap[token.text];\n }\n\n return assertNodeType(parser.parseFunction(), \"internal\");\n }\n\n throw new src_ParseError(\"Invalid token after macro prefix\", token);\n }\n}); // Basic support for macro definitions: \\def, \\gdef, \\edef, \\xdef\n// -> \n// -> \\def|\\gdef|\\edef|\\xdef\n// -> \n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\def\", \"\\\\gdef\", \"\\\\edef\", \"\\\\xdef\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n handler: function handler(_ref2) {\n var parser = _ref2.parser,\n funcName = _ref2.funcName;\n var tok = parser.gullet.popToken();\n var name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new src_ParseError(\"Expected a control sequence\", tok);\n }\n\n var numArgs = 0;\n var insert;\n var delimiters = [[]]; // contains no braces\n\n while (parser.gullet.future().text !== \"{\") {\n tok = parser.gullet.popToken();\n\n if (tok.text === \"#\") {\n // If the very last character of the is #, so that\n // this # is immediately followed by {, TeX will behave as if the {\n // had been inserted at the right end of both the parameter text\n // and the replacement text.\n if (parser.gullet.future().text === \"{\") {\n insert = parser.gullet.future();\n delimiters[numArgs].push(\"{\");\n break;\n } // A parameter, the first appearance of # must be followed by 1,\n // the next by 2, and so on; up to nine #’s are allowed\n\n\n tok = parser.gullet.popToken();\n\n if (!/^[1-9]$/.test(tok.text)) {\n throw new src_ParseError(\"Invalid argument number \\\"\" + tok.text + \"\\\"\");\n }\n\n if (parseInt(tok.text) !== numArgs + 1) {\n throw new src_ParseError(\"Argument number \\\"\" + tok.text + \"\\\" out of order\");\n }\n\n numArgs++;\n delimiters.push([]);\n } else if (tok.text === \"EOF\") {\n throw new src_ParseError(\"Expected a macro definition\");\n } else {\n delimiters[numArgs].push(tok.text);\n }\n } // replacement text, enclosed in '{' and '}' and properly nested\n\n\n var _parser$gullet$consum = parser.gullet.consumeArg(),\n tokens = _parser$gullet$consum.tokens;\n\n if (insert) {\n tokens.unshift(insert);\n }\n\n if (funcName === \"\\\\edef\" || funcName === \"\\\\xdef\") {\n tokens = parser.gullet.expandTokens(tokens);\n tokens.reverse(); // to fit in with stack order\n } // Final arg is the expansion of the macro\n\n\n parser.gullet.macros.set(name, {\n tokens: tokens,\n numArgs: numArgs,\n delimiters: delimiters\n }, funcName === globalMap[funcName]);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n}); // -> \n// -> \\futurelet\n// | \\let\n// -> |=\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\let\", \"\\\\\\\\globallet\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n handler: function handler(_ref3) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName;\n var name = checkControlSequence(parser.gullet.popToken());\n parser.gullet.consumeSpaces();\n var tok = getRHS(parser);\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globallet\");\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\futurelet\", \"\\\\\\\\globalfuture\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n handler: function handler(_ref4) {\n var parser = _ref4.parser,\n funcName = _ref4.funcName;\n var name = checkControlSequence(parser.gullet.popToken());\n var middle = parser.gullet.popToken();\n var tok = parser.gullet.popToken();\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globalfuture\");\n parser.gullet.pushToken(tok);\n parser.gullet.pushToken(middle);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n});\n;// CONCATENATED MODULE: ./src/delimiter.js\n/**\n * This file deals with creating delimiters of various sizes. The TeXbook\n * discusses these routines on page 441-442, in the \"Another subroutine sets box\n * x to a specified variable delimiter\" paragraph.\n *\n * There are three main routines here. `makeSmallDelim` makes a delimiter in the\n * normal font, but in either text, script, or scriptscript style.\n * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1,\n * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of\n * smaller pieces that are stacked on top of one another.\n *\n * The functions take a parameter `center`, which determines if the delimiter\n * should be centered around the axis.\n *\n * Then, there are three exposed functions. `sizedDelim` makes a delimiter in\n * one of the given sizes. This is used for things like `\\bigl`.\n * `customSizedDelim` makes a delimiter with a given total height+depth. It is\n * called in places like `\\sqrt`. `leftRightDelim` makes an appropriate\n * delimiter which surrounds an expression of a given height an depth. It is\n * used in `\\left` and `\\right`.\n */\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Get the metrics for a given symbol and font, after transformation (i.e.\n * after following replacement from symbols.js)\n */\nvar getMetrics = function getMetrics(symbol, font, mode) {\n var replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace;\n var metrics = getCharacterMetrics(replace || symbol, font, mode);\n\n if (!metrics) {\n throw new Error(\"Unsupported symbol \" + symbol + \" and font size \" + font + \".\");\n }\n\n return metrics;\n};\n/**\n * Puts a delimiter span in a given style, and adds appropriate height, depth,\n * and maxFontSizes.\n */\n\n\nvar styleWrap = function styleWrap(delim, toStyle, options, classes) {\n var newOptions = options.havingBaseStyle(toStyle);\n var span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options);\n var delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier;\n span.height *= delimSizeMultiplier;\n span.depth *= delimSizeMultiplier;\n span.maxFontSize = newOptions.sizeMultiplier;\n return span;\n};\n\nvar centerSpan = function centerSpan(span, options, style) {\n var newOptions = options.havingBaseStyle(style);\n var shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight;\n span.classes.push(\"delimcenter\");\n span.style.top = makeEm(shift);\n span.height -= shift;\n span.depth += shift;\n};\n/**\n * Makes a small delimiter. This is a delimiter that comes in the Main-Regular\n * font, but is restyled to either be in textstyle, scriptstyle, or\n * scriptscriptstyle.\n */\n\n\nvar makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) {\n var text = buildCommon.makeSymbol(delim, \"Main-Regular\", mode, options);\n var span = styleWrap(text, style, options, classes);\n\n if (center) {\n centerSpan(span, options, style);\n }\n\n return span;\n};\n/**\n * Builds a symbol in the given font size (note size is an integer)\n */\n\n\nvar mathrmSize = function mathrmSize(value, size, mode, options) {\n return buildCommon.makeSymbol(value, \"Size\" + size + \"-Regular\", mode, options);\n};\n/**\n * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2,\n * Size3, or Size4 fonts. It is always rendered in textstyle.\n */\n\n\nvar makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) {\n var inner = mathrmSize(delim, size, mode, options);\n var span = styleWrap(buildCommon.makeSpan([\"delimsizing\", \"size\" + size], [inner], options), src_Style.TEXT, options, classes);\n\n if (center) {\n centerSpan(span, options, src_Style.TEXT);\n }\n\n return span;\n};\n/**\n * Make a span from a font glyph with the given offset and in the given font.\n * This is used in makeStackedDelim to make the stacking pieces for the delimiter.\n */\n\n\nvar makeGlyphSpan = function makeGlyphSpan(symbol, font, mode) {\n var sizeClass; // Apply the correct CSS class to choose the right font.\n\n if (font === \"Size1-Regular\") {\n sizeClass = \"delim-size1\";\n } else\n /* if (font === \"Size4-Regular\") */\n {\n sizeClass = \"delim-size4\";\n }\n\n var corner = buildCommon.makeSpan([\"delimsizinginner\", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element\n // in the appropriate tag that VList uses.\n\n return {\n type: \"elem\",\n elem: corner\n };\n};\n\nvar makeInner = function makeInner(ch, height, options) {\n // Create a span with inline SVG for the inner part of a tall stacked delimiter.\n var width = fontMetricsData[\"Size4-Regular\"][ch.charCodeAt(0)] ? fontMetricsData[\"Size4-Regular\"][ch.charCodeAt(0)][4] : fontMetricsData[\"Size1-Regular\"][ch.charCodeAt(0)][4];\n var path = new PathNode(\"inner\", innerPath(ch, Math.round(1000 * height)));\n var svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + Math.round(1000 * height),\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n var span = buildCommon.makeSvgSpan([], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return {\n type: \"elem\",\n elem: span\n };\n}; // Helpers for makeStackedDelim\n\n\nvar lapInEms = 0.008;\nvar lap = {\n type: \"kern\",\n size: -1 * lapInEms\n};\nvar verts = [\"|\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\vert\"];\nvar doubleVerts = [\"\\\\|\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\Vert\"];\n/**\n * Make a stacked delimiter out of a given delimiter, with the total height at\n * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook.\n */\n\nvar makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) {\n // There are four parts, the top, an optional middle, a repeated part, and a\n // bottom.\n var top;\n var middle;\n var repeat;\n var bottom;\n var svgLabel = \"\";\n var viewBoxWidth = 0;\n top = repeat = bottom = delim;\n middle = null; // Also keep track of what font the delimiters are in\n\n var font = \"Size1-Regular\"; // We set the parts and font based on the symbol. Note that we use\n // '\\u23d0' instead of '|' and '\\u2016' instead of '\\\\|' for the\n // repeats of the arrows\n\n if (delim === \"\\\\uparrow\") {\n repeat = bottom = \"\\u23D0\";\n } else if (delim === \"\\\\Uparrow\") {\n repeat = bottom = \"\\u2016\";\n } else if (delim === \"\\\\downarrow\") {\n top = repeat = \"\\u23D0\";\n } else if (delim === \"\\\\Downarrow\") {\n top = repeat = \"\\u2016\";\n } else if (delim === \"\\\\updownarrow\") {\n top = \"\\\\uparrow\";\n repeat = \"\\u23D0\";\n bottom = \"\\\\downarrow\";\n } else if (delim === \"\\\\Updownarrow\") {\n top = \"\\\\Uparrow\";\n repeat = \"\\u2016\";\n bottom = \"\\\\Downarrow\";\n } else if (utils.contains(verts, delim)) {\n repeat = \"\\u2223\";\n svgLabel = \"vert\";\n viewBoxWidth = 333;\n } else if (utils.contains(doubleVerts, delim)) {\n repeat = \"\\u2225\";\n svgLabel = \"doublevert\";\n viewBoxWidth = 556;\n } else if (delim === \"[\" || delim === \"\\\\lbrack\") {\n top = \"\\u23A1\";\n repeat = \"\\u23A2\";\n bottom = \"\\u23A3\";\n font = \"Size4-Regular\";\n svgLabel = \"lbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"]\" || delim === \"\\\\rbrack\") {\n top = \"\\u23A4\";\n repeat = \"\\u23A5\";\n bottom = \"\\u23A6\";\n font = \"Size4-Regular\";\n svgLabel = \"rbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lfloor\" || delim === \"\\u230A\") {\n repeat = top = \"\\u23A2\";\n bottom = \"\\u23A3\";\n font = \"Size4-Regular\";\n svgLabel = \"lfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lceil\" || delim === \"\\u2308\") {\n top = \"\\u23A1\";\n repeat = bottom = \"\\u23A2\";\n font = \"Size4-Regular\";\n svgLabel = \"lceil\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rfloor\" || delim === \"\\u230B\") {\n repeat = top = \"\\u23A5\";\n bottom = \"\\u23A6\";\n font = \"Size4-Regular\";\n svgLabel = \"rfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rceil\" || delim === \"\\u2309\") {\n top = \"\\u23A4\";\n repeat = bottom = \"\\u23A5\";\n font = \"Size4-Regular\";\n svgLabel = \"rceil\";\n viewBoxWidth = 667;\n } else if (delim === \"(\" || delim === \"\\\\lparen\") {\n top = \"\\u239B\";\n repeat = \"\\u239C\";\n bottom = \"\\u239D\";\n font = \"Size4-Regular\";\n svgLabel = \"lparen\";\n viewBoxWidth = 875;\n } else if (delim === \")\" || delim === \"\\\\rparen\") {\n top = \"\\u239E\";\n repeat = \"\\u239F\";\n bottom = \"\\u23A0\";\n font = \"Size4-Regular\";\n svgLabel = \"rparen\";\n viewBoxWidth = 875;\n } else if (delim === \"\\\\{\" || delim === \"\\\\lbrace\") {\n top = \"\\u23A7\";\n middle = \"\\u23A8\";\n bottom = \"\\u23A9\";\n repeat = \"\\u23AA\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\}\" || delim === \"\\\\rbrace\") {\n top = \"\\u23AB\";\n middle = \"\\u23AC\";\n bottom = \"\\u23AD\";\n repeat = \"\\u23AA\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lgroup\" || delim === \"\\u27EE\") {\n top = \"\\u23A7\";\n bottom = \"\\u23A9\";\n repeat = \"\\u23AA\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rgroup\" || delim === \"\\u27EF\") {\n top = \"\\u23AB\";\n bottom = \"\\u23AD\";\n repeat = \"\\u23AA\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lmoustache\" || delim === \"\\u23B0\") {\n top = \"\\u23A7\";\n bottom = \"\\u23AD\";\n repeat = \"\\u23AA\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rmoustache\" || delim === \"\\u23B1\") {\n top = \"\\u23AB\";\n bottom = \"\\u23A9\";\n repeat = \"\\u23AA\";\n font = \"Size4-Regular\";\n } // Get the metrics of the four sections\n\n\n var topMetrics = getMetrics(top, font, mode);\n var topHeightTotal = topMetrics.height + topMetrics.depth;\n var repeatMetrics = getMetrics(repeat, font, mode);\n var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth;\n var bottomMetrics = getMetrics(bottom, font, mode);\n var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth;\n var middleHeightTotal = 0;\n var middleFactor = 1;\n\n if (middle !== null) {\n var middleMetrics = getMetrics(middle, font, mode);\n middleHeightTotal = middleMetrics.height + middleMetrics.depth;\n middleFactor = 2; // repeat symmetrically above and below middle\n } // Calculate the minimal height that the delimiter can have.\n // It is at least the size of the top, bottom, and optional middle combined.\n\n\n var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need\n\n var repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols\n\n var realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note\n // that in this context, \"center\" means that the delimiter should be\n // centered around the axis in the current style, while normally it is\n // centered around the axis in textstyle.\n\n var axisHeight = options.fontMetrics().axisHeight;\n\n if (center) {\n axisHeight *= options.sizeMultiplier;\n } // Calculate the depth\n\n\n var depth = realHeightTotal / 2 - axisHeight; // Now, we start building the pieces that will go into the vlist\n // Keep a list of the pieces of the stacked delimiter\n\n var stack = [];\n\n if (svgLabel.length > 0) {\n // Instead of stacking glyphs, create a single SVG.\n // This evades browser problems with imprecise positioning of spans.\n var midHeight = realHeightTotal - topHeightTotal - bottomHeightTotal;\n var viewBoxHeight = Math.round(realHeightTotal * 1000);\n var pathStr = tallDelim(svgLabel, Math.round(midHeight * 1000));\n var path = new PathNode(svgLabel, pathStr);\n var width = (viewBoxWidth / 1000).toFixed(3) + \"em\";\n var height = (viewBoxHeight / 1000).toFixed(3) + \"em\";\n var svg = new SvgNode([path], {\n \"width\": width,\n \"height\": height,\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight\n });\n var wrapper = buildCommon.makeSvgSpan([], [svg], options);\n wrapper.height = viewBoxHeight / 1000;\n wrapper.style.width = width;\n wrapper.style.height = height;\n stack.push({\n type: \"elem\",\n elem: wrapper\n });\n } else {\n // Stack glyphs\n // Start by adding the bottom symbol\n stack.push(makeGlyphSpan(bottom, font, mode));\n stack.push(lap); // overlap\n\n if (middle === null) {\n // The middle section will be an SVG. Make it an extra 0.016em tall.\n // We'll overlap by 0.008em at top and bottom.\n var innerHeight = realHeightTotal - topHeightTotal - bottomHeightTotal + 2 * lapInEms;\n stack.push(makeInner(repeat, innerHeight, options));\n } else {\n // When there is a middle bit, we need the middle part and two repeated\n // sections\n var _innerHeight = (realHeightTotal - topHeightTotal - bottomHeightTotal - middleHeightTotal) / 2 + 2 * lapInEms;\n\n stack.push(makeInner(repeat, _innerHeight, options)); // Now insert the middle of the brace.\n\n stack.push(lap);\n stack.push(makeGlyphSpan(middle, font, mode));\n stack.push(lap);\n stack.push(makeInner(repeat, _innerHeight, options));\n } // Add the top symbol\n\n\n stack.push(lap);\n stack.push(makeGlyphSpan(top, font, mode));\n } // Finally, build the vlist\n\n\n var newOptions = options.havingBaseStyle(src_Style.TEXT);\n var inner = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: depth,\n children: stack\n }, newOptions);\n return styleWrap(buildCommon.makeSpan([\"delimsizing\", \"mult\"], [inner], newOptions), src_Style.TEXT, options, classes);\n}; // All surds have 0.08em padding above the vinculum inside the SVG.\n// That keeps browser span height rounding error from pinching the line.\n\n\nvar vbPad = 80; // padding above the surd, measured inside the viewBox.\n\nvar emPad = 0.08; // padding, in ems, measured in the document.\n\nvar sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraVinculum, options) {\n var path = sqrtPath(sqrtName, extraVinculum, viewBoxHeight);\n var pathNode = new PathNode(sqrtName, path);\n var svg = new SvgNode([pathNode], {\n // Note: 1000:1 ratio of viewBox to document em width.\n \"width\": \"400em\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n });\n return buildCommon.makeSvgSpan([\"hide-tail\"], [svg], options);\n};\n/**\n * Make a sqrt image of the given height,\n */\n\n\nvar makeSqrtImage = function makeSqrtImage(height, options) {\n // Define a newOptions that removes the effect of size changes such as \\Huge.\n // We don't pick different a height surd for \\Huge. For it, we scale up.\n var newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds.\n\n var delim = traverseSequence(\"\\\\surd\", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions);\n var sizeMultiplier = newOptions.sizeMultiplier; // default\n // The standard sqrt SVGs each have a 0.04em thick vinculum.\n // If Settings.minRuleThickness is larger than that, we add extraVinculum.\n\n var extraVinculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol.\n\n var span;\n var spanHeight = 0;\n var texHeight = 0;\n var viewBoxHeight = 0;\n var advanceWidth; // We create viewBoxes with 80 units of \"padding\" above each surd.\n // Then browser rounding error on the parent span height will not\n // encroach on the ink of the vinculum. But that padding is not\n // included in the TeX-like `height` used for calculation of\n // vertical alignment. So texHeight = span.height < span.style.height.\n\n if (delim.type === \"small\") {\n // Get an SVG that is derived from glyph U+221A in font KaTeX-Main.\n // 1000 unit normal glyph height.\n viewBoxHeight = 1000 + 1000 * extraVinculum + vbPad;\n\n if (height < 1.0) {\n sizeMultiplier = 1.0; // mimic a \\textfont radical\n } else if (height < 1.4) {\n sizeMultiplier = 0.7; // mimic a \\scriptfont radical\n }\n\n spanHeight = (1.0 + extraVinculum + emPad) / sizeMultiplier;\n texHeight = (1.00 + extraVinculum) / sizeMultiplier;\n span = sqrtSvg(\"sqrtMain\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.853em\";\n advanceWidth = 0.833 / sizeMultiplier; // from the font.\n } else if (delim.type === \"large\") {\n // These SVGs come from fonts: KaTeX_Size1, _Size2, etc.\n viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size];\n texHeight = (sizeToMaxHeight[delim.size] + extraVinculum) / sizeMultiplier;\n spanHeight = (sizeToMaxHeight[delim.size] + extraVinculum + emPad) / sizeMultiplier;\n span = sqrtSvg(\"sqrtSize\" + delim.size, spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"1.02em\";\n advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font.\n } else {\n // Tall sqrt. In TeX, this would be stacked using multiple glyphs.\n // We'll use a single SVG to accomplish the same thing.\n spanHeight = height + extraVinculum + emPad;\n texHeight = height + extraVinculum;\n viewBoxHeight = Math.floor(1000 * height + extraVinculum) + vbPad;\n span = sqrtSvg(\"sqrtTall\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.742em\";\n advanceWidth = 1.056;\n }\n\n span.height = texHeight;\n span.style.height = makeEm(spanHeight);\n return {\n span: span,\n advanceWidth: advanceWidth,\n // Calculate the actual line width.\n // This actually should depend on the chosen font -- e.g. \\boldmath\n // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and\n // have thicker rules.\n ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraVinculum) * sizeMultiplier\n };\n}; // There are three kinds of delimiters, delimiters that stack when they become\n// too large\n\n\nvar stackLargeDelimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230A\", \"\\u230B\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"\\\\surd\"]; // delimiters that always stack\n\nvar stackAlwaysDelimiters = [\"\\\\uparrow\", \"\\\\downarrow\", \"\\\\updownarrow\", \"\\\\Uparrow\", \"\\\\Downarrow\", \"\\\\Updownarrow\", \"|\", \"\\\\|\", \"\\\\vert\", \"\\\\Vert\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27EE\", \"\\u27EF\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23B0\", \"\\u23B1\"]; // and delimiters that never stack\n\nvar stackNeverDelimiters = [\"<\", \">\", \"\\\\langle\", \"\\\\rangle\", \"/\", \"\\\\backslash\", \"\\\\lt\", \"\\\\gt\"]; // Metrics of the different sizes. Found by looking at TeX's output of\n// $\\bigl| // \\Bigl| \\biggl| \\Biggl| \\showlists$\n// Used to create stacked delimiters of appropriate sizes in makeSizedDelim.\n\nvar sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0];\n/**\n * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4.\n */\n\nvar makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) {\n // < and > turn into \\langle and \\rangle in delimiters\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27E8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27E9\") {\n delim = \"\\\\rangle\";\n } // Sized delimiters are never centered.\n\n\n if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) {\n return makeLargeDelim(delim, size, false, options, mode, classes);\n } else if (utils.contains(stackAlwaysDelimiters, delim)) {\n return makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes);\n } else {\n throw new src_ParseError(\"Illegal delimiter: '\" + delim + \"'\");\n }\n};\n/**\n * There are three different sequences of delimiter sizes that the delimiters\n * follow depending on the kind of delimiter. This is used when creating custom\n * sized delimiters to decide whether to create a small, large, or stacked\n * delimiter.\n *\n * In real TeX, these sequences aren't explicitly defined, but are instead\n * defined inside the font metrics. Since there are only three sequences that\n * are possible for the delimiters that TeX defines, it is easier to just encode\n * them explicitly here.\n */\n\n\n// Delimiters that never stack try small delimiters and large delimiters only\nvar stackNeverDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}]; // Delimiters that always stack try the small delimiters first, then stack\n\nvar stackAlwaysDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"stack\"\n}]; // Delimiters that stack when large try the small and then large delimiters, and\n// stack afterwards\n\nvar stackLargeDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}, {\n type: \"stack\"\n}];\n/**\n * Get the font used in a delimiter based on what kind of delimiter it is.\n * TODO(#963) Use more specific font family return type once that is introduced.\n */\n\nvar delimTypeToFont = function delimTypeToFont(type) {\n if (type.type === \"small\") {\n return \"Main-Regular\";\n } else if (type.type === \"large\") {\n return \"Size\" + type.size + \"-Regular\";\n } else if (type.type === \"stack\") {\n return \"Size4-Regular\";\n } else {\n throw new Error(\"Add support for delim type '\" + type.type + \"' here.\");\n }\n};\n/**\n * Traverse a sequence of types of delimiters to decide what kind of delimiter\n * should be used to create a delimiter of the given height+depth.\n */\n\n\nvar traverseSequence = function traverseSequence(delim, height, sequence, options) {\n // Here, we choose the index we should start at in the sequences. In smaller\n // sizes (which correspond to larger numbers in style.size) we start earlier\n // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts\n // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2\n var start = Math.min(2, 3 - options.style.size);\n\n for (var i = start; i < sequence.length; i++) {\n if (sequence[i].type === \"stack\") {\n // This is always the last delimiter, so we just break the loop now.\n break;\n }\n\n var metrics = getMetrics(delim, delimTypeToFont(sequence[i]), \"math\");\n var heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we\n // account for the style change size.\n\n if (sequence[i].type === \"small\") {\n var newOptions = options.havingBaseStyle(sequence[i].style);\n heightDepth *= newOptions.sizeMultiplier;\n } // Check if the delimiter at this size works for the given height.\n\n\n if (heightDepth > height) {\n return sequence[i];\n }\n } // If we reached the end of the sequence, return the last sequence element.\n\n\n return sequence[sequence.length - 1];\n};\n/**\n * Make a delimiter of a given height+depth, with optional centering. Here, we\n * traverse the sequences, and create a delimiter that the sequence tells us to.\n */\n\n\nvar makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) {\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27E8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27E9\") {\n delim = \"\\\\rangle\";\n } // Decide what sequence to use\n\n\n var sequence;\n\n if (utils.contains(stackNeverDelimiters, delim)) {\n sequence = stackNeverDelimiterSequence;\n } else if (utils.contains(stackLargeDelimiters, delim)) {\n sequence = stackLargeDelimiterSequence;\n } else {\n sequence = stackAlwaysDelimiterSequence;\n } // Look through the sequence\n\n\n var delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs.\n // Depending on the sequence element we decided on, call the\n // appropriate function.\n\n if (delimType.type === \"small\") {\n return makeSmallDelim(delim, delimType.style, center, options, mode, classes);\n } else if (delimType.type === \"large\") {\n return makeLargeDelim(delim, delimType.size, center, options, mode, classes);\n } else\n /* if (delimType.type === \"stack\") */\n {\n return makeStackedDelim(delim, height, center, options, mode, classes);\n }\n};\n/**\n * Make a delimiter for use with `\\left` and `\\right`, given a height and depth\n * of an expression that the delimiters surround.\n */\n\n\nvar makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) {\n // We always center \\left/\\right delimiters, so the axis is always shifted\n var axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right\n\n var delimiterFactor = 901;\n var delimiterExtend = 5.0 / options.fontMetrics().ptPerEm;\n var maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight);\n var totalHeight = Math.max( // In real TeX, calculations are done using integral values which are\n // 65536 per pt, or 655360 per em. So, the division here truncates in\n // TeX but doesn't here, producing different results. If we wanted to\n // exactly match TeX's calculation, we could do\n // Math.floor(655360 * maxDistFromAxis / 500) *\n // delimiterFactor / 655360\n // (To see the difference, compare\n // x^{x^{\\left(\\rule{0.1em}{0.68em}\\right)}}\n // in TeX and KaTeX)\n maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total\n // height\n\n return makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes);\n};\n\n/* harmony default export */ var delimiter = ({\n sqrtImage: makeSqrtImage,\n sizedDelim: makeSizedDelim,\n sizeToMaxHeight: sizeToMaxHeight,\n customSizedDelim: makeCustomSizedDelim,\n leftRightDelim: makeLeftRightDelim\n});\n;// CONCATENATED MODULE: ./src/functions/delimsizing.js\n\n\n\n\n\n\n\n\n\n\n// Extra data needed for the delimiter handler down below\nvar delimiterSizes = {\n \"\\\\bigl\": {\n mclass: \"mopen\",\n size: 1\n },\n \"\\\\Bigl\": {\n mclass: \"mopen\",\n size: 2\n },\n \"\\\\biggl\": {\n mclass: \"mopen\",\n size: 3\n },\n \"\\\\Biggl\": {\n mclass: \"mopen\",\n size: 4\n },\n \"\\\\bigr\": {\n mclass: \"mclose\",\n size: 1\n },\n \"\\\\Bigr\": {\n mclass: \"mclose\",\n size: 2\n },\n \"\\\\biggr\": {\n mclass: \"mclose\",\n size: 3\n },\n \"\\\\Biggr\": {\n mclass: \"mclose\",\n size: 4\n },\n \"\\\\bigm\": {\n mclass: \"mrel\",\n size: 1\n },\n \"\\\\Bigm\": {\n mclass: \"mrel\",\n size: 2\n },\n \"\\\\biggm\": {\n mclass: \"mrel\",\n size: 3\n },\n \"\\\\Biggm\": {\n mclass: \"mrel\",\n size: 4\n },\n \"\\\\big\": {\n mclass: \"mord\",\n size: 1\n },\n \"\\\\Big\": {\n mclass: \"mord\",\n size: 2\n },\n \"\\\\bigg\": {\n mclass: \"mord\",\n size: 3\n },\n \"\\\\Bigg\": {\n mclass: \"mord\",\n size: 4\n }\n};\nvar delimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230A\", \"\\u230B\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"<\", \">\", \"\\\\langle\", \"\\u27E8\", \"\\\\rangle\", \"\\u27E9\", \"\\\\lt\", \"\\\\gt\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27EE\", \"\\u27EF\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23B0\", \"\\u23B1\", \"/\", \"\\\\backslash\", \"|\", \"\\\\vert\", \"\\\\|\", \"\\\\Vert\", \"\\\\uparrow\", \"\\\\Uparrow\", \"\\\\downarrow\", \"\\\\Downarrow\", \"\\\\updownarrow\", \"\\\\Updownarrow\", \".\"];\n\n// Delimiter functions\nfunction checkDelimiter(delim, context) {\n var symDelim = checkSymbolNodeType(delim);\n\n if (symDelim && utils.contains(delimiters, symDelim.text)) {\n return symDelim;\n } else if (symDelim) {\n throw new src_ParseError(\"Invalid delimiter '\" + symDelim.text + \"' after '\" + context.funcName + \"'\", delim);\n } else {\n throw new src_ParseError(\"Invalid delimiter type '\" + delim.type + \"'\", delim);\n }\n}\n\ndefineFunction({\n type: \"delimsizing\",\n names: [\"\\\\bigl\", \"\\\\Bigl\", \"\\\\biggl\", \"\\\\Biggl\", \"\\\\bigr\", \"\\\\Bigr\", \"\\\\biggr\", \"\\\\Biggr\", \"\\\\bigm\", \"\\\\Bigm\", \"\\\\biggm\", \"\\\\Biggm\", \"\\\\big\", \"\\\\Big\", \"\\\\bigg\", \"\\\\Bigg\"],\n props: {\n numArgs: 1,\n argTypes: [\"primitive\"]\n },\n handler: function handler(context, args) {\n var delim = checkDelimiter(args[0], context);\n return {\n type: \"delimsizing\",\n mode: context.parser.mode,\n size: delimiterSizes[context.funcName].size,\n mclass: delimiterSizes[context.funcName].mclass,\n delim: delim.text\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n if (group.delim === \".\") {\n // Empty delimiters still count as elements, even though they don't\n // show anything.\n return buildCommon.makeSpan([group.mclass]);\n } // Use delimiter.sizedDelim to generate the delimiter.\n\n\n return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]);\n },\n mathmlBuilder: function mathmlBuilder(group) {\n var children = [];\n\n if (group.delim !== \".\") {\n children.push(makeText(group.delim, group.mode));\n }\n\n var node = new mathMLTree.MathNode(\"mo\", children);\n\n if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n // Only some of the delimsizing functions act as fences, and they\n // return \"mopen\" or \"mclose\" mclass.\n node.setAttribute(\"fence\", \"true\");\n } else {\n // Explicitly disable fencing if it's not a fence, to override the\n // defaults.\n node.setAttribute(\"fence\", \"false\");\n }\n\n node.setAttribute(\"stretchy\", \"true\");\n var size = makeEm(delimiter.sizeToMaxHeight[group.size]);\n node.setAttribute(\"minsize\", size);\n node.setAttribute(\"maxsize\", size);\n return node;\n }\n});\n\nfunction assertParsed(group) {\n if (!group.body) {\n throw new Error(\"Bug: The leftright ParseNode wasn't fully parsed.\");\n }\n}\n\ndefineFunction({\n type: \"leftright-right\",\n names: [\"\\\\right\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: function handler(context, args) {\n // \\left case below triggers parsing of \\right in\n // `const right = parser.parseFunction();`\n // uses this return value.\n var color = context.parser.gullet.macros.get(\"\\\\current@color\");\n\n if (color && typeof color !== \"string\") {\n throw new src_ParseError(\"\\\\current@color set to non-string in \\\\right\");\n }\n\n return {\n type: \"leftright-right\",\n mode: context.parser.mode,\n delim: checkDelimiter(args[0], context).text,\n color: color // undefined if not set via \\color\n\n };\n }\n});\ndefineFunction({\n type: \"leftright\",\n names: [\"\\\\left\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: function handler(context, args) {\n var delim = checkDelimiter(args[0], context);\n var parser = context.parser; // Parse out the implicit body\n\n ++parser.leftrightDepth; // parseExpression stops before '\\\\right'\n\n var body = parser.parseExpression(false);\n --parser.leftrightDepth; // Check the next token\n\n parser.expect(\"\\\\right\", false);\n var right = assertNodeType(parser.parseFunction(), \"leftright-right\");\n return {\n type: \"leftright\",\n mode: parser.mode,\n body: body,\n left: delim.text,\n right: right.delim,\n rightColor: right.color\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n assertParsed(group); // Build the inner expression\n\n var inner = buildExpression(group.body, options, true, [\"mopen\", \"mclose\"]);\n var innerHeight = 0;\n var innerDepth = 0;\n var hadMiddle = false; // Calculate its height and depth\n\n for (var i = 0; i < inner.length; i++) {\n // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n if (inner[i].isMiddle) {\n hadMiddle = true;\n } else {\n innerHeight = Math.max(inner[i].height, innerHeight);\n innerDepth = Math.max(inner[i].depth, innerDepth);\n }\n } // The size of delimiters is the same, regardless of what style we are\n // in. Thus, to correctly calculate the size of delimiter we need around\n // a group, we scale down the inner size based on the size.\n\n\n innerHeight *= options.sizeMultiplier;\n innerDepth *= options.sizeMultiplier;\n var leftDelim;\n\n if (group.left === \".\") {\n // Empty delimiters in \\left and \\right make null delimiter spaces.\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n // Otherwise, use leftRightDelim to generate the correct sized\n // delimiter.\n leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, [\"mopen\"]);\n } // Add it to the beginning of the expression\n\n\n inner.unshift(leftDelim); // Handle middle delimiters\n\n if (hadMiddle) {\n for (var _i = 1; _i < inner.length; _i++) {\n var middleDelim = inner[_i]; // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n\n var isMiddle = middleDelim.isMiddle;\n\n if (isMiddle) {\n // Apply the options that were active when \\middle was called\n inner[_i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []);\n }\n }\n }\n\n var rightDelim; // Same for the right delimiter, but using color specified by \\color\n\n if (group.right === \".\") {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n var colorOptions = group.rightColor ? options.withColor(group.rightColor) : options;\n rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, [\"mclose\"]);\n } // Add it to the end of the expression.\n\n\n inner.push(rightDelim);\n return buildCommon.makeSpan([\"minner\"], inner, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n assertParsed(group);\n var inner = buildMathML_buildExpression(group.body, options);\n\n if (group.left !== \".\") {\n var leftNode = new mathMLTree.MathNode(\"mo\", [makeText(group.left, group.mode)]);\n leftNode.setAttribute(\"fence\", \"true\");\n inner.unshift(leftNode);\n }\n\n if (group.right !== \".\") {\n var rightNode = new mathMLTree.MathNode(\"mo\", [makeText(group.right, group.mode)]);\n rightNode.setAttribute(\"fence\", \"true\");\n\n if (group.rightColor) {\n rightNode.setAttribute(\"mathcolor\", group.rightColor);\n }\n\n inner.push(rightNode);\n }\n\n return makeRow(inner);\n }\n});\ndefineFunction({\n type: \"middle\",\n names: [\"\\\\middle\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: function handler(context, args) {\n var delim = checkDelimiter(args[0], context);\n\n if (!context.parser.leftrightDepth) {\n throw new src_ParseError(\"\\\\middle without preceding \\\\left\", delim);\n }\n\n return {\n type: \"middle\",\n mode: context.parser.mode,\n delim: delim.text\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var middleDelim;\n\n if (group.delim === \".\") {\n middleDelim = makeNullDelimiter(options, []);\n } else {\n middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []);\n var isMiddle = {\n delim: group.delim,\n options: options\n }; // Property `isMiddle` not defined on `span`. It is only used in\n // this file above.\n // TODO: Fix this violation of the `span` type and possibly rename\n // things since `isMiddle` sounds like a boolean, but is a struct.\n // $FlowFixMe\n\n middleDelim.isMiddle = isMiddle;\n }\n\n return middleDelim;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // A Firefox \\middle will stretch a character vertically only if it\n // is in the fence part of the operator dictionary at:\n // https://www.w3.org/TR/MathML3/appendixc.html.\n // So we need to avoid U+2223 and use plain \"|\" instead.\n var textNode = group.delim === \"\\\\vert\" || group.delim === \"|\" ? makeText(\"|\", \"text\") : makeText(group.delim, group.mode);\n var middleNode = new mathMLTree.MathNode(\"mo\", [textNode]);\n middleNode.setAttribute(\"fence\", \"true\"); // MathML gives 5/18em spacing to each element.\n // \\middle should get delimiter spacing instead.\n\n middleNode.setAttribute(\"lspace\", \"0.05em\");\n middleNode.setAttribute(\"rspace\", \"0.05em\");\n return middleNode;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/enclose.js\n\n\n\n\n\n\n\n\n\n\n\n\nvar enclose_htmlBuilder = function htmlBuilder(group, options) {\n // \\cancel, \\bcancel, \\xcancel, \\sout, \\fbox, \\colorbox, \\fcolorbox, \\phase\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n var inner = buildCommon.wrapFragment(buildGroup(group.body, options), options);\n var label = group.label.slice(1);\n var scale = options.sizeMultiplier;\n var img;\n var imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different\n // depending on whether the subject is wider than it is tall, or vice versa.\n // We don't know the width of a group, so as a proxy, we test if\n // the subject is a single character. This captures most of the\n // subjects that should get the \"tall\" treatment.\n\n var isSingleChar = utils.isCharacterBox(group.body);\n\n if (label === \"sout\") {\n img = buildCommon.makeSpan([\"stretchy\", \"sout\"]);\n img.height = options.fontMetrics().defaultRuleThickness / scale;\n imgShift = -0.5 * options.fontMetrics().xHeight;\n } else if (label === \"phase\") {\n // Set a couple of dimensions from the steinmetz package.\n var lineWeight = calculateSize({\n number: 0.6,\n unit: \"pt\"\n }, options);\n var clearance = calculateSize({\n number: 0.35,\n unit: \"ex\"\n }, options); // Prevent size changes like \\Huge from affecting line thickness\n\n var newOptions = options.havingBaseSizing();\n scale = scale / newOptions.sizeMultiplier;\n var angleHeight = inner.height + inner.depth + lineWeight + clearance; // Reserve a left pad for the angle.\n\n inner.style.paddingLeft = makeEm(angleHeight / 2 + lineWeight); // Create an SVG\n\n var viewBoxHeight = Math.floor(1000 * angleHeight * scale);\n var path = phasePath(viewBoxHeight);\n var svgNode = new SvgNode([new PathNode(\"phase\", path)], {\n \"width\": \"400em\",\n \"height\": makeEm(viewBoxHeight / 1000),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n }); // Wrap it in a span with overflow: hidden.\n\n img = buildCommon.makeSvgSpan([\"hide-tail\"], [svgNode], options);\n img.style.height = makeEm(angleHeight);\n imgShift = inner.depth + lineWeight + clearance;\n } else {\n // Add horizontal padding\n if (/cancel/.test(label)) {\n if (!isSingleChar) {\n inner.classes.push(\"cancel-pad\");\n }\n } else if (label === \"angl\") {\n inner.classes.push(\"anglpad\");\n } else {\n inner.classes.push(\"boxpad\");\n } // Add vertical padding\n\n\n var topPad = 0;\n var bottomPad = 0;\n var ruleThickness = 0; // ref: cancel package: \\advance\\totalheight2\\p@ % \"+2\"\n\n if (/box/.test(label)) {\n ruleThickness = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // User override.\n );\n topPad = options.fontMetrics().fboxsep + (label === \"colorbox\" ? 0 : ruleThickness);\n bottomPad = topPad;\n } else if (label === \"angl\") {\n ruleThickness = Math.max(options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n topPad = 4 * ruleThickness; // gap = 3 × line, plus the line itself.\n\n bottomPad = Math.max(0, 0.25 - inner.depth);\n } else {\n topPad = isSingleChar ? 0.2 : 0;\n bottomPad = topPad;\n }\n\n img = stretchy.encloseSpan(inner, label, topPad, bottomPad, options);\n\n if (/fbox|boxed|fcolorbox/.test(label)) {\n img.style.borderStyle = \"solid\";\n img.style.borderWidth = makeEm(ruleThickness);\n } else if (label === \"angl\" && ruleThickness !== 0.049) {\n img.style.borderTopWidth = makeEm(ruleThickness);\n img.style.borderRightWidth = makeEm(ruleThickness);\n }\n\n imgShift = inner.depth + bottomPad;\n\n if (group.backgroundColor) {\n img.style.backgroundColor = group.backgroundColor;\n\n if (group.borderColor) {\n img.style.borderColor = group.borderColor;\n }\n }\n }\n\n var vlist;\n\n if (group.backgroundColor) {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Put the color background behind inner;\n {\n type: \"elem\",\n elem: img,\n shift: imgShift\n }, {\n type: \"elem\",\n elem: inner,\n shift: 0\n }]\n }, options);\n } else {\n var classes = /cancel|phase/.test(label) ? [\"svg-align\"] : [];\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Write the \\cancel stroke on top of inner.\n {\n type: \"elem\",\n elem: inner,\n shift: 0\n }, {\n type: \"elem\",\n elem: img,\n shift: imgShift,\n wrapperClasses: classes\n }]\n }, options);\n }\n\n if (/cancel/.test(label)) {\n // The cancel package documentation says that cancel lines add their height\n // to the expression, but tests show that isn't how it actually works.\n vlist.height = inner.height;\n vlist.depth = inner.depth;\n }\n\n if (/cancel/.test(label) && !isSingleChar) {\n // cancel does not create horiz space for its line extension.\n return buildCommon.makeSpan([\"mord\", \"cancel-lap\"], [vlist], options);\n } else {\n return buildCommon.makeSpan([\"mord\"], [vlist], options);\n }\n};\n\nvar enclose_mathmlBuilder = function mathmlBuilder(group, options) {\n var fboxsep = 0;\n var node = new mathMLTree.MathNode(group.label.indexOf(\"colorbox\") > -1 ? \"mpadded\" : \"menclose\", [buildMathML_buildGroup(group.body, options)]);\n\n switch (group.label) {\n case \"\\\\cancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike\");\n break;\n\n case \"\\\\bcancel\":\n node.setAttribute(\"notation\", \"downdiagonalstrike\");\n break;\n\n case \"\\\\phase\":\n node.setAttribute(\"notation\", \"phasorangle\");\n break;\n\n case \"\\\\sout\":\n node.setAttribute(\"notation\", \"horizontalstrike\");\n break;\n\n case \"\\\\fbox\":\n node.setAttribute(\"notation\", \"box\");\n break;\n\n case \"\\\\angl\":\n node.setAttribute(\"notation\", \"actuarial\");\n break;\n\n case \"\\\\fcolorbox\":\n case \"\\\\colorbox\":\n // doesn't have a good notation option. So use \n // instead. Set some attributes that come included with .\n fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm;\n node.setAttribute(\"width\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"height\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"lspace\", fboxsep + \"pt\"); //\n\n node.setAttribute(\"voffset\", fboxsep + \"pt\");\n\n if (group.label === \"\\\\fcolorbox\") {\n var thk = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // user override\n );\n node.setAttribute(\"style\", \"border: \" + thk + \"em solid \" + String(group.borderColor));\n }\n\n break;\n\n case \"\\\\xcancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike downdiagonalstrike\");\n break;\n }\n\n if (group.backgroundColor) {\n node.setAttribute(\"mathbackground\", group.backgroundColor);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\colorbox\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"text\"]\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var color = assertNodeType(args[0], \"color-token\").color;\n var body = args[1];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor: color,\n body: body\n };\n },\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fcolorbox\"],\n props: {\n numArgs: 3,\n allowedInText: true,\n argTypes: [\"color\", \"color\", \"text\"]\n },\n handler: function handler(_ref2, args, optArgs) {\n var parser = _ref2.parser,\n funcName = _ref2.funcName;\n var borderColor = assertNodeType(args[0], \"color-token\").color;\n var backgroundColor = assertNodeType(args[1], \"color-token\").color;\n var body = args[2];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor: backgroundColor,\n borderColor: borderColor,\n body: body\n };\n },\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: true\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\fbox\",\n body: args[0]\n };\n }\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\cancel\", \"\\\\bcancel\", \"\\\\xcancel\", \"\\\\sout\", \"\\\\phase\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref4, args) {\n var parser = _ref4.parser,\n funcName = _ref4.funcName;\n var body = args[0];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n body: body\n };\n },\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\angl\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: false\n },\n handler: function handler(_ref5, args) {\n var parser = _ref5.parser;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\angl\",\n body: args[0]\n };\n }\n});\n;// CONCATENATED MODULE: ./src/defineEnvironment.js\n\n\n/**\n * All registered environments.\n * `environments.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `environments.js`.\n */\nvar _environments = {};\nfunction defineEnvironment(_ref) {\n var type = _ref.type,\n names = _ref.names,\n props = _ref.props,\n handler = _ref.handler,\n htmlBuilder = _ref.htmlBuilder,\n mathmlBuilder = _ref.mathmlBuilder;\n // Set default values of environments.\n var data = {\n type: type,\n numArgs: props.numArgs || 0,\n allowedInText: false,\n numOptionalArgs: 0,\n handler: handler\n };\n\n for (var i = 0; i < names.length; ++i) {\n // TODO: The value type of _environments should be a type union of all\n // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is\n // an existential type.\n _environments[names[i]] = data;\n }\n\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n}\n;// CONCATENATED MODULE: ./src/defineMacro.js\n\n\n/**\n * All registered global/built-in macros.\n * `macros.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `macros.js`.\n */\nvar _macros = {}; // This function might one day accept an additional argument and do more things.\n\nfunction defineMacro(name, body) {\n _macros[name] = body;\n}\n;// CONCATENATED MODULE: ./src/SourceLocation.js\n/**\n * Lexing or parsing positional information for error reporting.\n * This object is immutable.\n */\nvar SourceLocation = /*#__PURE__*/function () {\n // The + prefix indicates that these fields aren't writeable\n // Lexer holding the input string.\n // Start offset, zero-based inclusive.\n // End offset, zero-based exclusive.\n function SourceLocation(lexer, start, end) {\n this.lexer = void 0;\n this.start = void 0;\n this.end = void 0;\n this.lexer = lexer;\n this.start = start;\n this.end = end;\n }\n /**\n * Merges two `SourceLocation`s from location providers, given they are\n * provided in order of appearance.\n * - Returns the first one's location if only the first is provided.\n * - Returns a merged range of the first and the last if both are provided\n * and their lexers match.\n * - Otherwise, returns null.\n */\n\n\n SourceLocation.range = function range(first, second) {\n if (!second) {\n return first && first.loc;\n } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {\n return null;\n } else {\n return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);\n }\n };\n\n return SourceLocation;\n}();\n\n\n;// CONCATENATED MODULE: ./src/Token.js\n\n/**\n * Interface required to break circular dependency between Token, Lexer, and\n * ParseError.\n */\n\n/**\n * The resulting token returned from `lex`.\n *\n * It consists of the token text plus some position information.\n * The position information is essentially a range in an input string,\n * but instead of referencing the bare input string, we refer to the lexer.\n * That way it is possible to attach extra metadata to the input string,\n * like for example a file name or similar.\n *\n * The position information is optional, so it is OK to construct synthetic\n * tokens if appropriate. Not providing available position information may\n * lead to degraded error reporting, though.\n */\nvar Token = /*#__PURE__*/function () {\n // don't expand the token\n // used in \\noexpand\n function Token(text, // the text of this token\n loc) {\n this.text = void 0;\n this.loc = void 0;\n this.noexpand = void 0;\n this.treatAsRelax = void 0;\n this.text = text;\n this.loc = loc;\n }\n /**\n * Given a pair of tokens (this and endToken), compute a `Token` encompassing\n * the whole input range enclosed by these two.\n */\n\n\n var _proto = Token.prototype;\n\n _proto.range = function range(endToken, // last token of the range, inclusive\n text // the text of the newly constructed token\n ) {\n return new Token(text, SourceLocation.range(this, endToken));\n };\n\n return Token;\n}();\n;// CONCATENATED MODULE: ./src/environments/array.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Helper functions\nfunction getHLines(parser) {\n // Return an array. The array length = number of hlines.\n // Each element in the array tells if the line is dashed.\n var hlineInfo = [];\n parser.consumeSpaces();\n var nxt = parser.fetch().text;\n\n if (nxt === \"\\\\relax\") {\n // \\relax is an artifact of the \\cr macro below\n parser.consume();\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n while (nxt === \"\\\\hline\" || nxt === \"\\\\hdashline\") {\n parser.consume();\n hlineInfo.push(nxt === \"\\\\hdashline\");\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n return hlineInfo;\n}\n\nvar validateAmsEnvironmentContext = function validateAmsEnvironmentContext(context) {\n var settings = context.parser.settings;\n\n if (!settings.displayMode) {\n throw new src_ParseError(\"{\" + context.envName + \"} can be used only in\" + \" display mode.\");\n }\n}; // autoTag (an argument to parseArray) can be one of three values:\n// * undefined: Regular (not-top-level) array; no tags on each row\n// * true: Automatic equation numbering, overridable by \\tag\n// * false: Tags allowed on each row, but no automatic numbering\n// This function *doesn't* work with the \"split\" environment name.\n\n\nfunction getAutoTag(name) {\n if (name.indexOf(\"ed\") === -1) {\n return name.indexOf(\"*\") === -1;\n } // return undefined;\n\n}\n/**\n * Parse the body of the environment, with rows delimited by \\\\ and\n * columns delimited by &, and create a nested list in row-major order\n * with one group per cell. If given an optional argument style\n * (\"text\", \"display\", etc.), then each cell is cast into that style.\n */\n\n\nfunction parseArray(parser, _ref, style) {\n var hskipBeforeAndAfter = _ref.hskipBeforeAndAfter,\n addJot = _ref.addJot,\n cols = _ref.cols,\n arraystretch = _ref.arraystretch,\n colSeparationType = _ref.colSeparationType,\n autoTag = _ref.autoTag,\n singleRow = _ref.singleRow,\n emptySingleRow = _ref.emptySingleRow,\n maxNumCols = _ref.maxNumCols,\n leqno = _ref.leqno;\n parser.gullet.beginGroup();\n\n if (!singleRow) {\n // \\cr is equivalent to \\\\ without the optional size argument (see below)\n // TODO: provide helpful error when \\cr is used outside array environment\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n } // Get current arraystretch if it's not set by the environment\n\n\n if (!arraystretch) {\n var stretch = parser.gullet.expandMacroAsText(\"\\\\arraystretch\");\n\n if (stretch == null) {\n // Default \\arraystretch from lttab.dtx\n arraystretch = 1;\n } else {\n arraystretch = parseFloat(stretch);\n\n if (!arraystretch || arraystretch < 0) {\n throw new src_ParseError(\"Invalid \\\\arraystretch: \" + stretch);\n }\n }\n } // Start group for first cell\n\n\n parser.gullet.beginGroup();\n var row = [];\n var body = [row];\n var rowGaps = [];\n var hLinesBeforeRow = [];\n var tags = autoTag != null ? [] : undefined; // amsmath uses \\global\\@eqnswtrue and \\global\\@eqnswfalse to represent\n // whether this row should have an equation number. Simulate this with\n // a \\@eqnsw macro set to 1 or 0.\n\n function beginRow() {\n if (autoTag) {\n parser.gullet.macros.set(\"\\\\@eqnsw\", \"1\", true);\n }\n }\n\n function endRow() {\n if (tags) {\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n tags.push(parser.subparse([new Token(\"\\\\df@tag\")]));\n parser.gullet.macros.set(\"\\\\df@tag\", undefined, true);\n } else {\n tags.push(Boolean(autoTag) && parser.gullet.macros.get(\"\\\\@eqnsw\") === \"1\");\n }\n }\n }\n\n beginRow(); // Test for \\hline at the top of the array.\n\n hLinesBeforeRow.push(getHLines(parser));\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Parse each cell in its own group (namespace)\n var cell = parser.parseExpression(false, singleRow ? \"\\\\end\" : \"\\\\\\\\\");\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n cell = {\n type: \"ordgroup\",\n mode: parser.mode,\n body: cell\n };\n\n if (style) {\n cell = {\n type: \"styling\",\n mode: parser.mode,\n style: style,\n body: [cell]\n };\n }\n\n row.push(cell);\n var next = parser.fetch().text;\n\n if (next === \"&\") {\n if (maxNumCols && row.length === maxNumCols) {\n if (singleRow || colSeparationType) {\n // {equation} or {split}\n throw new src_ParseError(\"Too many tab characters: &\", parser.nextToken);\n } else {\n // {array} environment\n parser.settings.reportNonstrict(\"textEnv\", \"Too few columns \" + \"specified in the {array} column argument.\");\n }\n }\n\n parser.consume();\n } else if (next === \"\\\\end\") {\n endRow(); // Arrays terminate newlines with `\\crcr` which consumes a `\\cr` if\n // the last line is empty. However, AMS environments keep the\n // empty row if it's the only one.\n // NOTE: Currently, `cell` is the last item added into `row`.\n\n if (row.length === 1 && cell.type === \"styling\" && cell.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {\n body.pop();\n }\n\n if (hLinesBeforeRow.length < body.length + 1) {\n hLinesBeforeRow.push([]);\n }\n\n break;\n } else if (next === \"\\\\\\\\\") {\n parser.consume();\n var size = void 0; // \\def\\Let@{\\let\\\\\\math@cr}\n // \\def\\math@cr{...\\math@cr@}\n // \\def\\math@cr@{\\new@ifnextchar[\\math@cr@@{\\math@cr@@[\\z@]}}\n // \\def\\math@cr@@[#1]{...\\math@cr@@@...}\n // \\def\\math@cr@@@{\\cr}\n\n if (parser.gullet.future().text !== \" \") {\n size = parser.parseSizeGroup(true);\n }\n\n rowGaps.push(size ? size.value : null);\n endRow(); // check for \\hline(s) following the row separator\n\n hLinesBeforeRow.push(getHLines(parser));\n row = [];\n body.push(row);\n beginRow();\n } else {\n throw new src_ParseError(\"Expected & or \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n } // End cell group\n\n\n parser.gullet.endGroup(); // End array group defining \\cr\n\n parser.gullet.endGroup();\n return {\n type: \"array\",\n mode: parser.mode,\n addJot: addJot,\n arraystretch: arraystretch,\n body: body,\n cols: cols,\n rowGaps: rowGaps,\n hskipBeforeAndAfter: hskipBeforeAndAfter,\n hLinesBeforeRow: hLinesBeforeRow,\n colSeparationType: colSeparationType,\n tags: tags,\n leqno: leqno\n };\n} // Decides on a style for cells in an array according to whether the given\n// environment name starts with the letter 'd'.\n\n\nfunction dCellStyle(envName) {\n if (envName.slice(0, 1) === \"d\") {\n return \"display\";\n } else {\n return \"text\";\n }\n}\n\nvar array_htmlBuilder = function htmlBuilder(group, options) {\n var r;\n var c;\n var nr = group.body.length;\n var hLinesBeforeRow = group.hLinesBeforeRow;\n var nc = 0;\n var body = new Array(nr);\n var hlines = [];\n var ruleThickness = Math.max( // From LaTeX \\showthe\\arrayrulewidth. Equals 0.04 em.\n options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override.\n ); // Horizontal spacing\n\n var pt = 1 / options.fontMetrics().ptPerEm;\n var arraycolsep = 5 * pt; // default value, i.e. \\arraycolsep in article.cls\n\n if (group.colSeparationType && group.colSeparationType === \"small\") {\n // We're in a {smallmatrix}. Default column space is \\thickspace,\n // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}.\n // But that needs adjustment because LaTeX applies \\scriptstyle to the\n // entire array, including the colspace, but this function applies\n // \\scriptstyle only inside each element.\n var localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier;\n arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier);\n } // Vertical spacing\n\n\n var baselineskip = group.colSeparationType === \"CD\" ? calculateSize({\n number: 3,\n unit: \"ex\"\n }, options) : 12 * pt; // see size10.clo\n // Default \\jot from ltmath.dtx\n // TODO(edemaine): allow overriding \\jot via \\setlength (#687)\n\n var jot = 3 * pt;\n var arrayskip = group.arraystretch * baselineskip;\n var arstrutHeight = 0.7 * arrayskip; // \\strutbox in ltfsstrc.dtx and\n\n var arstrutDepth = 0.3 * arrayskip; // \\@arstrutbox in lttab.dtx\n\n var totalHeight = 0; // Set a position for \\hline(s) at the top of the array, if any.\n\n function setHLinePos(hlinesInGap) {\n for (var i = 0; i < hlinesInGap.length; ++i) {\n if (i > 0) {\n totalHeight += 0.25;\n }\n\n hlines.push({\n pos: totalHeight,\n isDashed: hlinesInGap[i]\n });\n }\n }\n\n setHLinePos(hLinesBeforeRow[0]);\n\n for (r = 0; r < group.body.length; ++r) {\n var inrow = group.body[r];\n var height = arstrutHeight; // \\@array adds an \\@arstrut\n\n var depth = arstrutDepth; // to each tow (via the template)\n\n if (nc < inrow.length) {\n nc = inrow.length;\n }\n\n var outrow = new Array(inrow.length);\n\n for (c = 0; c < inrow.length; ++c) {\n var elt = buildGroup(inrow[c], options);\n\n if (depth < elt.depth) {\n depth = elt.depth;\n }\n\n if (height < elt.height) {\n height = elt.height;\n }\n\n outrow[c] = elt;\n }\n\n var rowGap = group.rowGaps[r];\n var gap = 0;\n\n if (rowGap) {\n gap = calculateSize(rowGap, options);\n\n if (gap > 0) {\n // \\@argarraycr\n gap += arstrutDepth;\n\n if (depth < gap) {\n depth = gap; // \\@xargarraycr\n }\n\n gap = 0;\n }\n } // In AMS multiline environments such as aligned and gathered, rows\n // correspond to lines that have additional \\jot added to the\n // \\baselineskip via \\openup.\n\n\n if (group.addJot) {\n depth += jot;\n }\n\n outrow.height = height;\n outrow.depth = depth;\n totalHeight += height;\n outrow.pos = totalHeight;\n totalHeight += depth + gap; // \\@yargarraycr\n\n body[r] = outrow; // Set a position for \\hline(s), if any.\n\n setHLinePos(hLinesBeforeRow[r + 1]);\n }\n\n var offset = totalHeight / 2 + options.fontMetrics().axisHeight;\n var colDescriptions = group.cols || [];\n var cols = [];\n var colSep;\n var colDescrNum;\n var tagSpans = [];\n\n if (group.tags && group.tags.some(function (tag) {\n return tag;\n })) {\n // An environment with manual tags and/or automatic equation numbers.\n // Create node(s), the latter of which trigger CSS counter increment.\n for (r = 0; r < nr; ++r) {\n var rw = body[r];\n var shift = rw.pos - offset;\n var tag = group.tags[r];\n var tagSpan = void 0;\n\n if (tag === true) {\n // automatic numbering\n tagSpan = buildCommon.makeSpan([\"eqn-num\"], [], options);\n } else if (tag === false) {\n // \\nonumber/\\notag or starred environment\n tagSpan = buildCommon.makeSpan([], [], options);\n } else {\n // manual \\tag\n tagSpan = buildCommon.makeSpan([], buildExpression(tag, options, true), options);\n }\n\n tagSpan.depth = rw.depth;\n tagSpan.height = rw.height;\n tagSpans.push({\n type: \"elem\",\n elem: tagSpan,\n shift: shift\n });\n }\n }\n\n for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column\n // descriptions, so trailing separators don't get lost.\n c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) {\n var colDescr = colDescriptions[colDescrNum] || {};\n var firstSeparator = true;\n\n while (colDescr.type === \"separator\") {\n // If there is more than one separator in a row, add a space\n // between them.\n if (!firstSeparator) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(options.fontMetrics().doubleRuleSep);\n cols.push(colSep);\n }\n\n if (colDescr.separator === \"|\" || colDescr.separator === \":\") {\n var lineType = colDescr.separator === \"|\" ? \"solid\" : \"dashed\";\n var separator = buildCommon.makeSpan([\"vertical-separator\"], [], options);\n separator.style.height = makeEm(totalHeight);\n separator.style.borderRightWidth = makeEm(ruleThickness);\n separator.style.borderRightStyle = lineType;\n separator.style.margin = \"0 \" + makeEm(-ruleThickness / 2);\n\n var _shift = totalHeight - offset;\n\n if (_shift) {\n separator.style.verticalAlign = makeEm(-_shift);\n }\n\n cols.push(separator);\n } else {\n throw new src_ParseError(\"Invalid separator type: \" + colDescr.separator);\n }\n\n colDescrNum++;\n colDescr = colDescriptions[colDescrNum] || {};\n firstSeparator = false;\n }\n\n if (c >= nc) {\n continue;\n }\n\n var sepwidth = void 0;\n\n if (c > 0 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.pregap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n\n var col = [];\n\n for (r = 0; r < nr; ++r) {\n var row = body[r];\n var elem = row[c];\n\n if (!elem) {\n continue;\n }\n\n var _shift2 = row.pos - offset;\n\n elem.depth = row.depth;\n elem.height = row.height;\n col.push({\n type: \"elem\",\n elem: elem,\n shift: _shift2\n });\n }\n\n col = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: col\n }, options);\n col = buildCommon.makeSpan([\"col-align-\" + (colDescr.align || \"c\")], [col]);\n cols.push(col);\n\n if (c < nc - 1 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.postgap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n }\n\n body = buildCommon.makeSpan([\"mtable\"], cols); // Add \\hline(s), if any.\n\n if (hlines.length > 0) {\n var line = buildCommon.makeLineSpan(\"hline\", options, ruleThickness);\n var dashes = buildCommon.makeLineSpan(\"hdashline\", options, ruleThickness);\n var vListElems = [{\n type: \"elem\",\n elem: body,\n shift: 0\n }];\n\n while (hlines.length > 0) {\n var hline = hlines.pop();\n var lineShift = hline.pos - offset;\n\n if (hline.isDashed) {\n vListElems.push({\n type: \"elem\",\n elem: dashes,\n shift: lineShift\n });\n } else {\n vListElems.push({\n type: \"elem\",\n elem: line,\n shift: lineShift\n });\n }\n }\n\n body = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vListElems\n }, options);\n }\n\n if (tagSpans.length === 0) {\n return buildCommon.makeSpan([\"mord\"], [body], options);\n } else {\n var eqnNumCol = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: tagSpans\n }, options);\n eqnNumCol = buildCommon.makeSpan([\"tag\"], [eqnNumCol], options);\n return buildCommon.makeFragment([body, eqnNumCol]);\n }\n};\n\nvar alignMap = {\n c: \"center \",\n l: \"left \",\n r: \"right \"\n};\n\nvar array_mathmlBuilder = function mathmlBuilder(group, options) {\n var tbl = [];\n var glue = new mathMLTree.MathNode(\"mtd\", [], [\"mtr-glue\"]);\n var tag = new mathMLTree.MathNode(\"mtd\", [], [\"mml-eqn-num\"]);\n\n for (var i = 0; i < group.body.length; i++) {\n var rw = group.body[i];\n var row = [];\n\n for (var j = 0; j < rw.length; j++) {\n row.push(new mathMLTree.MathNode(\"mtd\", [buildMathML_buildGroup(rw[j], options)]));\n }\n\n if (group.tags && group.tags[i]) {\n row.unshift(glue);\n row.push(glue);\n\n if (group.leqno) {\n row.unshift(tag);\n } else {\n row.push(tag);\n }\n }\n\n tbl.push(new mathMLTree.MathNode(\"mtr\", row));\n }\n\n var table = new mathMLTree.MathNode(\"mtable\", tbl); // Set column alignment, row spacing, column spacing, and\n // array lines by setting attributes on the table element.\n // Set the row spacing. In MathML, we specify a gap distance.\n // We do not use rowGap[] because MathML automatically increases\n // cell height with the height/depth of the element content.\n // LaTeX \\arraystretch multiplies the row baseline-to-baseline distance.\n // We simulate this by adding (arraystretch - 1)em to the gap. This\n // does a reasonable job of adjusting arrays containing 1 em tall content.\n // The 0.16 and 0.09 values are found empirically. They produce an array\n // similar to LaTeX and in which content does not interfere with \\hlines.\n\n var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray}\n : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0);\n table.setAttribute(\"rowspacing\", makeEm(gap)); // MathML table lines go only between cells.\n // To place a line on an edge we'll use , if necessary.\n\n var menclose = \"\";\n var align = \"\";\n\n if (group.cols && group.cols.length > 0) {\n // Find column alignment, column spacing, and vertical lines.\n var cols = group.cols;\n var columnLines = \"\";\n var prevTypeWasAlign = false;\n var iStart = 0;\n var iEnd = cols.length;\n\n if (cols[0].type === \"separator\") {\n menclose += \"top \";\n iStart = 1;\n }\n\n if (cols[cols.length - 1].type === \"separator\") {\n menclose += \"bottom \";\n iEnd -= 1;\n }\n\n for (var _i = iStart; _i < iEnd; _i++) {\n if (cols[_i].type === \"align\") {\n align += alignMap[cols[_i].align];\n\n if (prevTypeWasAlign) {\n columnLines += \"none \";\n }\n\n prevTypeWasAlign = true;\n } else if (cols[_i].type === \"separator\") {\n // MathML accepts only single lines between cells.\n // So we read only the first of consecutive separators.\n if (prevTypeWasAlign) {\n columnLines += cols[_i].separator === \"|\" ? \"solid \" : \"dashed \";\n prevTypeWasAlign = false;\n }\n }\n }\n\n table.setAttribute(\"columnalign\", align.trim());\n\n if (/[sd]/.test(columnLines)) {\n table.setAttribute(\"columnlines\", columnLines.trim());\n }\n } // Set column spacing.\n\n\n if (group.colSeparationType === \"align\") {\n var _cols = group.cols || [];\n\n var spacing = \"\";\n\n for (var _i2 = 1; _i2 < _cols.length; _i2++) {\n spacing += _i2 % 2 ? \"0em \" : \"1em \";\n }\n\n table.setAttribute(\"columnspacing\", spacing.trim());\n } else if (group.colSeparationType === \"alignat\" || group.colSeparationType === \"gather\") {\n table.setAttribute(\"columnspacing\", \"0em\");\n } else if (group.colSeparationType === \"small\") {\n table.setAttribute(\"columnspacing\", \"0.2778em\");\n } else if (group.colSeparationType === \"CD\") {\n table.setAttribute(\"columnspacing\", \"0.5em\");\n } else {\n table.setAttribute(\"columnspacing\", \"1em\");\n } // Address \\hline and \\hdashline\n\n\n var rowLines = \"\";\n var hlines = group.hLinesBeforeRow;\n menclose += hlines[0].length > 0 ? \"left \" : \"\";\n menclose += hlines[hlines.length - 1].length > 0 ? \"right \" : \"\";\n\n for (var _i3 = 1; _i3 < hlines.length - 1; _i3++) {\n rowLines += hlines[_i3].length === 0 ? \"none \" // MathML accepts only a single line between rows. Read one element.\n : hlines[_i3][0] ? \"dashed \" : \"solid \";\n }\n\n if (/[sd]/.test(rowLines)) {\n table.setAttribute(\"rowlines\", rowLines.trim());\n }\n\n if (menclose !== \"\") {\n table = new mathMLTree.MathNode(\"menclose\", [table]);\n table.setAttribute(\"notation\", menclose.trim());\n }\n\n if (group.arraystretch && group.arraystretch < 1) {\n // A small array. Wrap in scriptstyle so row gap is not too large.\n table = new mathMLTree.MathNode(\"mstyle\", [table]);\n table.setAttribute(\"scriptlevel\", \"1\");\n }\n\n return table;\n}; // Convenience function for align, align*, aligned, alignat, alignat*, alignedat.\n\n\nvar alignedHandler = function alignedHandler(context, args) {\n if (context.envName.indexOf(\"ed\") === -1) {\n validateAmsEnvironmentContext(context);\n }\n\n var cols = [];\n var separationType = context.envName.indexOf(\"at\") > -1 ? \"alignat\" : \"align\";\n var isSplit = context.envName === \"split\";\n var res = parseArray(context.parser, {\n cols: cols,\n addJot: true,\n autoTag: isSplit ? undefined : getAutoTag(context.envName),\n emptySingleRow: true,\n colSeparationType: separationType,\n maxNumCols: isSplit ? 2 : undefined,\n leqno: context.parser.settings.leqno\n }, \"display\"); // Determining number of columns.\n // 1. If the first argument is given, we use it as a number of columns,\n // and makes sure that each row doesn't exceed that number.\n // 2. Otherwise, just count number of columns = maximum number\n // of cells in each row (\"aligned\" mode -- isAligned will be true).\n //\n // At the same time, prepend empty group {} at beginning of every second\n // cell in each row (starting with second cell) so that operators become\n // binary. This behavior is implemented in amsmath's \\start@aligned.\n\n var numMaths;\n var numCols = 0;\n var emptyGroup = {\n type: \"ordgroup\",\n mode: context.mode,\n body: []\n };\n\n if (args[0] && args[0].type === \"ordgroup\") {\n var arg0 = \"\";\n\n for (var i = 0; i < args[0].body.length; i++) {\n var textord = assertNodeType(args[0].body[i], \"textord\");\n arg0 += textord.text;\n }\n\n numMaths = Number(arg0);\n numCols = numMaths * 2;\n }\n\n var isAligned = !numCols;\n res.body.forEach(function (row) {\n for (var _i4 = 1; _i4 < row.length; _i4 += 2) {\n // Modify ordgroup node within styling node\n var styling = assertNodeType(row[_i4], \"styling\");\n var ordgroup = assertNodeType(styling.body[0], \"ordgroup\");\n ordgroup.body.unshift(emptyGroup);\n }\n\n if (!isAligned) {\n // Case 1\n var curMaths = row.length / 2;\n\n if (numMaths < curMaths) {\n throw new src_ParseError(\"Too many math in a row: \" + (\"expected \" + numMaths + \", but got \" + curMaths), row[0]);\n }\n } else if (numCols < row.length) {\n // Case 2\n numCols = row.length;\n }\n }); // Adjusting alignment.\n // In aligned mode, we add one \\qquad between columns;\n // otherwise we add nothing.\n\n for (var _i5 = 0; _i5 < numCols; ++_i5) {\n var align = \"r\";\n var pregap = 0;\n\n if (_i5 % 2 === 1) {\n align = \"l\";\n } else if (_i5 > 0 && isAligned) {\n // \"aligned\" mode.\n pregap = 1; // add one \\quad\n }\n\n cols[_i5] = {\n type: \"align\",\n align: align,\n pregap: pregap,\n postgap: 0\n };\n }\n\n res.colSeparationType = isAligned ? \"align\" : \"alignat\";\n return res;\n}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation\n// is part of the source2e.pdf file of LaTeX2e source documentation.\n// {darray} is an {array} environment where cells are set in \\displaystyle,\n// as defined in nccmath.sty.\n\n\ndefineEnvironment({\n type: \"array\",\n names: [\"array\", \"darray\"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n // Since no types are specified above, the two possibilities are\n // - The argument is wrapped in {} or [], in which case Parser's\n // parseGroup() returns an \"ordgroup\" wrapping some symbol node.\n // - The argument is a bare symbol node.\n var symNode = checkSymbolNodeType(args[0]);\n var colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n var cols = colalign.map(function (nde) {\n var node = assertSymbolNodeType(nde);\n var ca = node.text;\n\n if (\"lcr\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n } else if (ca === \"|\") {\n return {\n type: \"separator\",\n separator: \"|\"\n };\n } else if (ca === \":\") {\n return {\n type: \"separator\",\n separator: \":\"\n };\n }\n\n throw new src_ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n var res = {\n cols: cols,\n hskipBeforeAndAfter: true,\n // \\@preamble in lttab.dtx\n maxNumCols: cols.length\n };\n return parseArray(context.parser, res, dCellStyle(context.envName));\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // The matrix environments of amsmath builds on the array environment\n// of LaTeX, which is discussed above.\n// The mathtools package adds starred versions of the same environments.\n// These have an optional argument to choose left|center|right justification.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"matrix\", \"pmatrix\", \"bmatrix\", \"Bmatrix\", \"vmatrix\", \"Vmatrix\", \"matrix*\", \"pmatrix*\", \"bmatrix*\", \"Bmatrix*\", \"vmatrix*\", \"Vmatrix*\"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var delimiters = {\n \"matrix\": null,\n \"pmatrix\": [\"(\", \")\"],\n \"bmatrix\": [\"[\", \"]\"],\n \"Bmatrix\": [\"\\\\{\", \"\\\\}\"],\n \"vmatrix\": [\"|\", \"|\"],\n \"Vmatrix\": [\"\\\\Vert\", \"\\\\Vert\"]\n }[context.envName.replace(\"*\", \"\")]; // \\hskip -\\arraycolsep in amsmath\n\n var colAlign = \"c\";\n var payload = {\n hskipBeforeAndAfter: false,\n cols: [{\n type: \"align\",\n align: colAlign\n }]\n };\n\n if (context.envName.charAt(context.envName.length - 1) === \"*\") {\n // It's one of the mathtools starred functions.\n // Parse the optional alignment argument.\n var parser = context.parser;\n parser.consumeSpaces();\n\n if (parser.fetch().text === \"[\") {\n parser.consume();\n parser.consumeSpaces();\n colAlign = parser.fetch().text;\n\n if (\"lcr\".indexOf(colAlign) === -1) {\n throw new src_ParseError(\"Expected l or c or r\", parser.nextToken);\n }\n\n parser.consume();\n parser.consumeSpaces();\n parser.expect(\"]\");\n parser.consume();\n payload.cols = [{\n type: \"align\",\n align: colAlign\n }];\n }\n }\n\n var res = parseArray(context.parser, payload, dCellStyle(context.envName)); // Populate cols with the correct number of column alignment specs.\n\n var numCols = Math.max.apply(Math, [0].concat(res.body.map(function (row) {\n return row.length;\n })));\n res.cols = new Array(numCols).fill({\n type: \"align\",\n align: colAlign\n });\n return delimiters ? {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: delimiters[0],\n right: delimiters[1],\n rightColor: undefined // \\right uninfluenced by \\color in array\n\n } : res;\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"smallmatrix\"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var payload = {\n arraystretch: 0.5\n };\n var res = parseArray(context.parser, payload, \"script\");\n res.colSeparationType = \"small\";\n return res;\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"subarray\"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n // Parsing of {subarray} is similar to {array}\n var symNode = checkSymbolNodeType(args[0]);\n var colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n var cols = colalign.map(function (nde) {\n var node = assertSymbolNodeType(nde);\n var ca = node.text; // {subarray} only recognizes \"l\" & \"c\"\n\n if (\"lc\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n }\n\n throw new src_ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n\n if (cols.length > 1) {\n throw new src_ParseError(\"{subarray} can contain only one column\");\n }\n\n var res = {\n cols: cols,\n hskipBeforeAndAfter: false,\n arraystretch: 0.5\n };\n res = parseArray(context.parser, res, \"script\");\n\n if (res.body.length > 0 && res.body[0].length > 1) {\n throw new src_ParseError(\"{subarray} can contain only one column\");\n }\n\n return res;\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A cases environment (in amsmath.sty) is almost equivalent to\n// \\def\\arraystretch{1.2}%\n// \\left\\{\\begin{array}{@{}l@{\\quad}l@{}} … \\end{array}\\right.\n// {dcases} is a {cases} environment where cells are set in \\displaystyle,\n// as defined in mathtools.sty.\n// {rcases} is another mathtools environment. It's brace is on the right side.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"cases\", \"dcases\", \"rcases\", \"drcases\"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var payload = {\n arraystretch: 1.2,\n cols: [{\n type: \"align\",\n align: \"l\",\n pregap: 0,\n // TODO(kevinb) get the current style.\n // For now we use the metrics for TEXT style which is what we were\n // doing before. Before attempting to get the current style we\n // should look at TeX's behavior especially for \\over and matrices.\n postgap: 1.0\n /* 1em quad */\n\n }, {\n type: \"align\",\n align: \"l\",\n pregap: 0,\n postgap: 0\n }]\n };\n var res = parseArray(context.parser, payload, dCellStyle(context.envName));\n return {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: context.envName.indexOf(\"r\") > -1 ? \".\" : \"\\\\{\",\n right: context.envName.indexOf(\"r\") > -1 ? \"\\\\}\" : \".\",\n rightColor: undefined\n };\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // In the align environment, one uses ampersands, &, to specify number of\n// columns in each row, and to locate spacing between each column.\n// align gets automatic numbering. align* and aligned do not.\n// The alignedat environment can be used in math mode.\n// Note that we assume \\nomallineskiplimit to be zero,\n// so that \\strut@ is the same as \\strut.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"align\", \"align*\", \"aligned\", \"split\"],\n props: {\n numArgs: 0\n },\n handler: alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A gathered environment is like an array environment with one centered\n// column, but where rows are considered lines so get \\jot line spacing\n// and contents are set in \\displaystyle.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"gathered\", \"gather\", \"gather*\"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n if (utils.contains([\"gather\", \"gather*\"], context.envName)) {\n validateAmsEnvironmentContext(context);\n }\n\n var res = {\n cols: [{\n type: \"align\",\n align: \"c\"\n }],\n addJot: true,\n colSeparationType: \"gather\",\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // alignat environment is like an align environment, but one must explicitly\n// specify maximum number of columns in each row, and can adjust spacing between\n// each columns.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"alignat\", \"alignat*\", \"alignedat\"],\n props: {\n numArgs: 1\n },\n handler: alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"equation\", \"equation*\"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n validateAmsEnvironmentContext(context);\n var res = {\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n singleRow: true,\n maxNumCols: 1,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"CD\"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n validateAmsEnvironmentContext(context);\n return parseCD(context.parser);\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineMacro(\"\\\\nonumber\", \"\\\\gdef\\\\@eqnsw{0}\");\ndefineMacro(\"\\\\notag\", \"\\\\nonumber\"); // Catch \\hline outside array environment\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\hline\", \"\\\\hdashline\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: true\n },\n handler: function handler(context, args) {\n throw new src_ParseError(context.funcName + \" valid only within array environment\");\n }\n});\n;// CONCATENATED MODULE: ./src/environments.js\n\nvar environments = _environments;\n/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below\n\n\n;// CONCATENATED MODULE: ./src/functions/environment.js\n\n\n\n // Environment delimiters. HTML/MathML rendering is defined in the corresponding\n// defineEnvironment definitions.\n\ndefineFunction({\n type: \"environment\",\n names: [\"\\\\begin\", \"\\\\end\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"]\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var nameGroup = args[0];\n\n if (nameGroup.type !== \"ordgroup\") {\n throw new src_ParseError(\"Invalid environment name\", nameGroup);\n }\n\n var envName = \"\";\n\n for (var i = 0; i < nameGroup.body.length; ++i) {\n envName += assertNodeType(nameGroup.body[i], \"textord\").text;\n }\n\n if (funcName === \"\\\\begin\") {\n // begin...end is similar to left...right\n if (!src_environments.hasOwnProperty(envName)) {\n throw new src_ParseError(\"No such environment: \" + envName, nameGroup);\n } // Build the environment object. Arguments and other information will\n // be made available to the begin and end methods using properties.\n\n\n var env = src_environments[envName];\n\n var _parser$parseArgument = parser.parseArguments(\"\\\\begin{\" + envName + \"}\", env),\n _args = _parser$parseArgument.args,\n optArgs = _parser$parseArgument.optArgs;\n\n var context = {\n mode: parser.mode,\n envName: envName,\n parser: parser\n };\n var result = env.handler(context, _args, optArgs);\n parser.expect(\"\\\\end\", false);\n var endNameToken = parser.nextToken;\n var end = assertNodeType(parser.parseFunction(), \"environment\");\n\n if (end.name !== envName) {\n throw new src_ParseError(\"Mismatch: \\\\begin{\" + envName + \"} matched by \\\\end{\" + end.name + \"}\", endNameToken);\n } // $FlowFixMe, \"environment\" handler returns an environment ParseNode\n\n\n return result;\n }\n\n return {\n type: \"environment\",\n mode: parser.mode,\n name: envName,\n nameGroup: nameGroup\n };\n }\n});\n;// CONCATENATED MODULE: ./src/functions/font.js\n// TODO(kevinb): implement \\\\sl and \\\\sc\n\n\n\n\n\n\nvar font_htmlBuilder = function htmlBuilder(group, options) {\n var font = group.font;\n var newOptions = options.withFont(font);\n return buildGroup(group.body, newOptions);\n};\n\nvar font_mathmlBuilder = function mathmlBuilder(group, options) {\n var font = group.font;\n var newOptions = options.withFont(font);\n return buildMathML_buildGroup(group.body, newOptions);\n};\n\nvar fontAliases = {\n \"\\\\Bbb\": \"\\\\mathbb\",\n \"\\\\bold\": \"\\\\mathbf\",\n \"\\\\frak\": \"\\\\mathfrak\",\n \"\\\\bm\": \"\\\\boldsymbol\"\n};\ndefineFunction({\n type: \"font\",\n names: [// styles, except \\boldsymbol defined below\n \"\\\\mathrm\", \"\\\\mathit\", \"\\\\mathbf\", \"\\\\mathnormal\", // families\n \"\\\\mathbb\", \"\\\\mathcal\", \"\\\\mathfrak\", \"\\\\mathscr\", \"\\\\mathsf\", \"\\\\mathtt\", // aliases, except \\bm defined below\n \"\\\\Bbb\", \"\\\\bold\", \"\\\\frak\"],\n props: {\n numArgs: 1,\n allowedInArgument: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = normalizeArgument(args[0]);\n var func = funcName;\n\n if (func in fontAliases) {\n func = fontAliases[func];\n }\n\n return {\n type: \"font\",\n mode: parser.mode,\n font: func.slice(1),\n body: body\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\boldsymbol\", \"\\\\bm\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var body = args[0];\n var isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \\boldsymbol uses \\binrel spacing to inherit the\n // argument's bin|rel|ord status\n\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(body),\n body: [{\n type: \"font\",\n mode: parser.mode,\n font: \"boldsymbol\",\n body: body\n }],\n isCharacterBox: isCharacterBox\n };\n }\n}); // Old font changing functions\n\ndefineFunction({\n type: \"font\",\n names: [\"\\\\rm\", \"\\\\sf\", \"\\\\tt\", \"\\\\bf\", \"\\\\it\", \"\\\\cal\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName,\n breakOnTokenText = _ref3.breakOnTokenText;\n var mode = parser.mode;\n var body = parser.parseExpression(true, breakOnTokenText);\n var style = \"math\" + funcName.slice(1);\n return {\n type: \"font\",\n mode: mode,\n font: style,\n body: {\n type: \"ordgroup\",\n mode: parser.mode,\n body: body\n }\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/genfrac.js\n\n\n\n\n\n\n\n\n\n\n\nvar adjustStyle = function adjustStyle(size, originalStyle) {\n // Figure out what style this fraction should be in based on the\n // function used\n var style = originalStyle;\n\n if (size === \"display\") {\n // Get display style as a default.\n // If incoming style is sub/sup, use style.text() to get correct size.\n style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY;\n } else if (size === \"text\" && style.size === src_Style.DISPLAY.size) {\n // We're in a \\tfrac but incoming style is displaystyle, so:\n style = src_Style.TEXT;\n } else if (size === \"script\") {\n style = src_Style.SCRIPT;\n } else if (size === \"scriptscript\") {\n style = src_Style.SCRIPTSCRIPT;\n }\n\n return style;\n};\n\nvar genfrac_htmlBuilder = function htmlBuilder(group, options) {\n // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e).\n var style = adjustStyle(group.size, options.style);\n var nstyle = style.fracNum();\n var dstyle = style.fracDen();\n var newOptions;\n newOptions = options.havingStyle(nstyle);\n var numerm = buildGroup(group.numer, newOptions, options);\n\n if (group.continued) {\n // \\cfrac inserts a \\strut into the numerator.\n // Get \\strut dimensions from TeXbook page 353.\n var hStrut = 8.5 / options.fontMetrics().ptPerEm;\n var dStrut = 3.5 / options.fontMetrics().ptPerEm;\n numerm.height = numerm.height < hStrut ? hStrut : numerm.height;\n numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth;\n }\n\n newOptions = options.havingStyle(dstyle);\n var denomm = buildGroup(group.denom, newOptions, options);\n var rule;\n var ruleWidth;\n var ruleSpacing;\n\n if (group.hasBarLine) {\n if (group.barSize) {\n ruleWidth = calculateSize(group.barSize, options);\n rule = buildCommon.makeLineSpan(\"frac-line\", options, ruleWidth);\n } else {\n rule = buildCommon.makeLineSpan(\"frac-line\", options);\n }\n\n ruleWidth = rule.height;\n ruleSpacing = rule.height;\n } else {\n rule = null;\n ruleWidth = 0;\n ruleSpacing = options.fontMetrics().defaultRuleThickness;\n } // Rule 15b\n\n\n var numShift;\n var clearance;\n var denomShift;\n\n if (style.size === src_Style.DISPLAY.size || group.size === \"display\") {\n numShift = options.fontMetrics().num1;\n\n if (ruleWidth > 0) {\n clearance = 3 * ruleSpacing;\n } else {\n clearance = 7 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom1;\n } else {\n if (ruleWidth > 0) {\n numShift = options.fontMetrics().num2;\n clearance = ruleSpacing;\n } else {\n numShift = options.fontMetrics().num3;\n clearance = 3 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom2;\n }\n\n var frac;\n\n if (!rule) {\n // Rule 15c\n var candidateClearance = numShift - numerm.depth - (denomm.height - denomShift);\n\n if (candidateClearance < clearance) {\n numShift += 0.5 * (clearance - candidateClearance);\n denomShift += 0.5 * (clearance - candidateClearance);\n }\n\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } else {\n // Rule 15d\n var axisHeight = options.fontMetrics().axisHeight;\n\n if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) {\n numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth));\n }\n\n if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) {\n denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift));\n }\n\n var midShift = -(axisHeight - 0.5 * ruleWidth);\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: rule,\n shift: midShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } // Since we manually change the style sometimes (with \\dfrac or \\tfrac),\n // account for the possible size change here.\n\n\n newOptions = options.havingStyle(style);\n frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier;\n frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e\n\n var delimSize;\n\n if (style.size === src_Style.DISPLAY.size) {\n delimSize = options.fontMetrics().delim1;\n } else if (style.size === src_Style.SCRIPTSCRIPT.size) {\n delimSize = options.havingStyle(src_Style.SCRIPT).fontMetrics().delim2;\n } else {\n delimSize = options.fontMetrics().delim2;\n }\n\n var leftDelim;\n var rightDelim;\n\n if (group.leftDelim == null) {\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mopen\"]);\n }\n\n if (group.continued) {\n rightDelim = buildCommon.makeSpan([]); // zero width for \\cfrac\n } else if (group.rightDelim == null) {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mclose\"]);\n }\n\n return buildCommon.makeSpan([\"mord\"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan([\"mfrac\"], [frac]), rightDelim], options);\n};\n\nvar genfrac_mathmlBuilder = function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mfrac\", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]);\n\n if (!group.hasBarLine) {\n node.setAttribute(\"linethickness\", \"0px\");\n } else if (group.barSize) {\n var ruleWidth = calculateSize(group.barSize, options);\n node.setAttribute(\"linethickness\", makeEm(ruleWidth));\n }\n\n var style = adjustStyle(group.size, options.style);\n\n if (style.size !== options.style.size) {\n node = new mathMLTree.MathNode(\"mstyle\", [node]);\n var isDisplay = style.size === src_Style.DISPLAY.size ? \"true\" : \"false\";\n node.setAttribute(\"displaystyle\", isDisplay);\n node.setAttribute(\"scriptlevel\", \"0\");\n }\n\n if (group.leftDelim != null || group.rightDelim != null) {\n var withDelims = [];\n\n if (group.leftDelim != null) {\n var leftOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.leftDelim.replace(\"\\\\\", \"\"))]);\n leftOp.setAttribute(\"fence\", \"true\");\n withDelims.push(leftOp);\n }\n\n withDelims.push(node);\n\n if (group.rightDelim != null) {\n var rightOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.rightDelim.replace(\"\\\\\", \"\"))]);\n rightOp.setAttribute(\"fence\", \"true\");\n withDelims.push(rightOp);\n }\n\n return makeRow(withDelims);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\dfrac\", \"\\\\frac\", \"\\\\tfrac\", \"\\\\dbinom\", \"\\\\binom\", \"\\\\tbinom\", \"\\\\\\\\atopfrac\", // can’t be entered directly\n \"\\\\\\\\bracefrac\", \"\\\\\\\\brackfrac\" // ditto\n ],\n props: {\n numArgs: 2,\n allowedInArgument: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var numer = args[0];\n var denom = args[1];\n var hasBarLine;\n var leftDelim = null;\n var rightDelim = null;\n var size = \"auto\";\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\frac\":\n case \"\\\\tfrac\":\n hasBarLine = true;\n break;\n\n case \"\\\\\\\\atopfrac\":\n hasBarLine = false;\n break;\n\n case \"\\\\dbinom\":\n case \"\\\\binom\":\n case \"\\\\tbinom\":\n hasBarLine = false;\n leftDelim = \"(\";\n rightDelim = \")\";\n break;\n\n case \"\\\\\\\\bracefrac\":\n hasBarLine = false;\n leftDelim = \"\\\\{\";\n rightDelim = \"\\\\}\";\n break;\n\n case \"\\\\\\\\brackfrac\":\n hasBarLine = false;\n leftDelim = \"[\";\n rightDelim = \"]\";\n break;\n\n default:\n throw new Error(\"Unrecognized genfrac command\");\n }\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\dbinom\":\n size = \"display\";\n break;\n\n case \"\\\\tfrac\":\n case \"\\\\tbinom\":\n size = \"text\";\n break;\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: false,\n numer: numer,\n denom: denom,\n hasBarLine: hasBarLine,\n leftDelim: leftDelim,\n rightDelim: rightDelim,\n size: size,\n barSize: null\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\cfrac\"],\n props: {\n numArgs: 2\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser,\n funcName = _ref2.funcName;\n var numer = args[0];\n var denom = args[1];\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: true,\n numer: numer,\n denom: denom,\n hasBarLine: true,\n leftDelim: null,\n rightDelim: null,\n size: \"display\",\n barSize: null\n };\n }\n}); // Infix generalized fractions -- these are not rendered directly, but replaced\n// immediately by one of the variants above.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\over\", \"\\\\choose\", \"\\\\atop\", \"\\\\brace\", \"\\\\brack\"],\n props: {\n numArgs: 0,\n infix: true\n },\n handler: function handler(_ref3) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName,\n token = _ref3.token;\n var replaceWith;\n\n switch (funcName) {\n case \"\\\\over\":\n replaceWith = \"\\\\frac\";\n break;\n\n case \"\\\\choose\":\n replaceWith = \"\\\\binom\";\n break;\n\n case \"\\\\atop\":\n replaceWith = \"\\\\\\\\atopfrac\";\n break;\n\n case \"\\\\brace\":\n replaceWith = \"\\\\\\\\bracefrac\";\n break;\n\n case \"\\\\brack\":\n replaceWith = \"\\\\\\\\brackfrac\";\n break;\n\n default:\n throw new Error(\"Unrecognized infix genfrac command\");\n }\n\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith: replaceWith,\n token: token\n };\n }\n});\nvar stylArray = [\"display\", \"text\", \"script\", \"scriptscript\"];\n\nvar delimFromValue = function delimFromValue(delimString) {\n var delim = null;\n\n if (delimString.length > 0) {\n delim = delimString;\n delim = delim === \".\" ? null : delim;\n }\n\n return delim;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\genfrac\"],\n props: {\n numArgs: 6,\n allowedInArgument: true,\n argTypes: [\"math\", \"math\", \"size\", \"text\", \"math\", \"math\"]\n },\n handler: function handler(_ref4, args) {\n var parser = _ref4.parser;\n var numer = args[4];\n var denom = args[5]; // Look into the parse nodes to get the desired delimiters.\n\n var leftNode = normalizeArgument(args[0]);\n var leftDelim = leftNode.type === \"atom\" && leftNode.family === \"open\" ? delimFromValue(leftNode.text) : null;\n var rightNode = normalizeArgument(args[1]);\n var rightDelim = rightNode.type === \"atom\" && rightNode.family === \"close\" ? delimFromValue(rightNode.text) : null;\n var barNode = assertNodeType(args[2], \"size\");\n var hasBarLine;\n var barSize = null;\n\n if (barNode.isBlank) {\n // \\genfrac acts differently than \\above.\n // \\genfrac treats an empty size group as a signal to use a\n // standard bar size. \\above would see size = 0 and omit the bar.\n hasBarLine = true;\n } else {\n barSize = barNode.value;\n hasBarLine = barSize.number > 0;\n } // Find out if we want displaystyle, textstyle, etc.\n\n\n var size = \"auto\";\n var styl = args[3];\n\n if (styl.type === \"ordgroup\") {\n if (styl.body.length > 0) {\n var textOrd = assertNodeType(styl.body[0], \"textord\");\n size = stylArray[Number(textOrd.text)];\n }\n } else {\n styl = assertNodeType(styl, \"textord\");\n size = stylArray[Number(styl.text)];\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer: numer,\n denom: denom,\n continued: false,\n hasBarLine: hasBarLine,\n barSize: barSize,\n leftDelim: leftDelim,\n rightDelim: rightDelim,\n size: size\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n}); // \\above is an infix fraction that also defines a fraction bar size.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\above\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n infix: true\n },\n handler: function handler(_ref5, args) {\n var parser = _ref5.parser,\n funcName = _ref5.funcName,\n token = _ref5.token;\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith: \"\\\\\\\\abovefrac\",\n size: assertNodeType(args[0], \"size\").value,\n token: token\n };\n }\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\\\\\abovefrac\"],\n props: {\n numArgs: 3,\n argTypes: [\"math\", \"size\", \"math\"]\n },\n handler: function handler(_ref6, args) {\n var parser = _ref6.parser,\n funcName = _ref6.funcName;\n var numer = args[0];\n var barSize = assert(assertNodeType(args[1], \"infix\").size);\n var denom = args[2];\n var hasBarLine = barSize.number > 0;\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer: numer,\n denom: denom,\n continued: false,\n hasBarLine: hasBarLine,\n barSize: barSize,\n leftDelim: null,\n rightDelim: null,\n size: \"auto\"\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/horizBrace.js\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"horizBrace\", but\n// also \"supsub\" since an over/underbrace can affect super/subscripting.\nvar horizBrace_htmlBuilder = function htmlBuilder(grp, options) {\n var style = options.style; // Pull out the `ParseNode<\"horizBrace\">` if `grp` is a \"supsub\" node.\n\n var supSubGroup;\n var group;\n\n if (grp.type === \"supsub\") {\n // Ref: LaTeX source2e: }}}}\\limits}\n // i.e. LaTeX treats the brace similar to an op and passes it\n // with \\limits, so we need to assign supsub style.\n supSubGroup = grp.sup ? buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildGroup(grp.sub, options.havingStyle(style.sub()), options);\n group = assertNodeType(grp.base, \"horizBrace\");\n } else {\n group = assertNodeType(grp, \"horizBrace\");\n } // Build the base group\n\n\n var body = buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element\n\n var braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓\n // This first vlist contains the content and the brace: equation\n\n var vlist;\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: braceBody\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: body.depth + 0.1 + braceBody.height,\n children: [{\n type: \"elem\",\n elem: braceBody\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: body\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[0].classes.push(\"svg-align\");\n }\n\n if (supSubGroup) {\n // To write the supsub, wrap the first vlist in another vlist:\n // They can't all go in the same vlist, because the note might be\n // wider than the equation. We want the equation to control the\n // brace width.\n // note long note long note\n // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓\n // equation eqn eqn\n var vSpan = buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: vSpan\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: supSubGroup\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth,\n children: [{\n type: \"elem\",\n elem: supSubGroup\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: vSpan\n }]\n }, options);\n }\n }\n\n return buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n};\n\nvar horizBrace_mathmlBuilder = function mathmlBuilder(group, options) {\n var accentNode = stretchy.mathMLnode(group.label);\n return new mathMLTree.MathNode(group.isOver ? \"mover\" : \"munder\", [buildMathML_buildGroup(group.base, options), accentNode]);\n}; // Horizontal stretchy braces\n\n\ndefineFunction({\n type: \"horizBrace\",\n names: [\"\\\\overbrace\", \"\\\\underbrace\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n return {\n type: \"horizBrace\",\n mode: parser.mode,\n label: funcName,\n isOver: /^\\\\over/.test(funcName),\n base: args[0]\n };\n },\n htmlBuilder: horizBrace_htmlBuilder,\n mathmlBuilder: horizBrace_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/href.js\n\n\n\n\n\n\ndefineFunction({\n type: \"href\",\n names: [\"\\\\href\"],\n props: {\n numArgs: 2,\n argTypes: [\"url\", \"original\"],\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var body = args[1];\n var href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\href\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\href\");\n }\n\n return {\n type: \"href\",\n mode: parser.mode,\n href: href,\n body: ordargument(body)\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options, false);\n return buildCommon.makeAnchor(group.href, [], elements, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var math = buildExpressionRow(group.body, options);\n\n if (!(math instanceof MathNode)) {\n math = new MathNode(\"mrow\", [math]);\n }\n\n math.setAttribute(\"href\", group.href);\n return math;\n }\n});\ndefineFunction({\n type: \"href\",\n names: [\"\\\\url\"],\n props: {\n numArgs: 1,\n argTypes: [\"url\"],\n allowedInText: true\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\url\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\url\");\n }\n\n var chars = [];\n\n for (var i = 0; i < href.length; i++) {\n var c = href[i];\n\n if (c === \"~\") {\n c = \"\\\\textasciitilde\";\n }\n\n chars.push({\n type: \"textord\",\n mode: \"text\",\n text: c\n });\n }\n\n var body = {\n type: \"text\",\n mode: parser.mode,\n font: \"\\\\texttt\",\n body: chars\n };\n return {\n type: \"href\",\n mode: parser.mode,\n href: href,\n body: ordargument(body)\n };\n }\n});\n;// CONCATENATED MODULE: ./src/functions/hbox.js\n\n\n\n\n // \\hbox is provided for compatibility with LaTeX \\vcenter.\n// In LaTeX, \\vcenter can act only on a box, as in\n// \\vcenter{\\hbox{$\\frac{a+b}{\\dfrac{c}{d}}$}}\n// This function by itself doesn't do anything but prevent a soft line break.\n\ndefineFunction({\n type: \"hbox\",\n names: [\"\\\\hbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInText: true,\n primitive: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: \"hbox\",\n mode: parser.mode,\n body: ordargument(args[0])\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", buildMathML_buildExpression(group.body, options));\n }\n});\n;// CONCATENATED MODULE: ./src/functions/html.js\n\n\n\n\n\n\ndefineFunction({\n type: \"html\",\n names: [\"\\\\htmlClass\", \"\\\\htmlId\", \"\\\\htmlStyle\", \"\\\\htmlData\"],\n props: {\n numArgs: 2,\n argTypes: [\"raw\", \"original\"],\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName,\n token = _ref.token;\n var value = assertNodeType(args[0], \"raw\").string;\n var body = args[1];\n\n if (parser.settings.strict) {\n parser.settings.reportNonstrict(\"htmlExtension\", \"HTML extension is disabled on strict mode\");\n }\n\n var trustContext;\n var attributes = {};\n\n switch (funcName) {\n case \"\\\\htmlClass\":\n attributes.class = value;\n trustContext = {\n command: \"\\\\htmlClass\",\n class: value\n };\n break;\n\n case \"\\\\htmlId\":\n attributes.id = value;\n trustContext = {\n command: \"\\\\htmlId\",\n id: value\n };\n break;\n\n case \"\\\\htmlStyle\":\n attributes.style = value;\n trustContext = {\n command: \"\\\\htmlStyle\",\n style: value\n };\n break;\n\n case \"\\\\htmlData\":\n {\n var data = value.split(\",\");\n\n for (var i = 0; i < data.length; i++) {\n var keyVal = data[i].split(\"=\");\n\n if (keyVal.length !== 2) {\n throw new src_ParseError(\"Error parsing key-value for \\\\htmlData\");\n }\n\n attributes[\"data-\" + keyVal[0].trim()] = keyVal[1].trim();\n }\n\n trustContext = {\n command: \"\\\\htmlData\",\n attributes: attributes\n };\n break;\n }\n\n default:\n throw new Error(\"Unrecognized html command\");\n }\n\n if (!parser.settings.isTrusted(trustContext)) {\n return parser.formatUnsupportedCmd(funcName);\n }\n\n return {\n type: \"html\",\n mode: parser.mode,\n attributes: attributes,\n body: ordargument(body)\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options, false);\n var classes = [\"enclosing\"];\n\n if (group.attributes.class) {\n classes.push.apply(classes, group.attributes.class.trim().split(/\\s+/));\n }\n\n var span = buildCommon.makeSpan(classes, elements, options);\n\n for (var attr in group.attributes) {\n if (attr !== \"class\" && group.attributes.hasOwnProperty(attr)) {\n span.setAttribute(attr, group.attributes[attr]);\n }\n }\n\n return span;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return buildExpressionRow(group.body, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/htmlmathml.js\n\n\n\n\ndefineFunction({\n type: \"htmlmathml\",\n names: [\"\\\\html@mathml\"],\n props: {\n numArgs: 2,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: \"htmlmathml\",\n mode: parser.mode,\n html: ordargument(args[0]),\n mathml: ordargument(args[1])\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildExpression(group.html, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return buildExpressionRow(group.mathml, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/includegraphics.js\n\n\n\n\n\n\n\nvar sizeData = function sizeData(str) {\n if (/^[-+]? *(\\d+(\\.\\d*)?|\\.\\d+)$/.test(str)) {\n // str is a number with no unit specified.\n // default unit is bp, per graphix package.\n return {\n number: +str,\n unit: \"bp\"\n };\n } else {\n var match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(str);\n\n if (!match) {\n throw new src_ParseError(\"Invalid size: '\" + str + \"' in \\\\includegraphics\");\n }\n\n var data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError(\"Invalid unit: '\" + data.unit + \"' in \\\\includegraphics.\");\n }\n\n return data;\n }\n};\n\ndefineFunction({\n type: \"includegraphics\",\n names: [\"\\\\includegraphics\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n argTypes: [\"raw\", \"url\"],\n allowedInText: false\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var width = {\n number: 0,\n unit: \"em\"\n };\n var height = {\n number: 0.9,\n unit: \"em\"\n }; // sorta character sized.\n\n var totalheight = {\n number: 0,\n unit: \"em\"\n };\n var alt = \"\";\n\n if (optArgs[0]) {\n var attributeStr = assertNodeType(optArgs[0], \"raw\").string; // Parser.js does not parse key/value pairs. We get a string.\n\n var attributes = attributeStr.split(\",\");\n\n for (var i = 0; i < attributes.length; i++) {\n var keyVal = attributes[i].split(\"=\");\n\n if (keyVal.length === 2) {\n var str = keyVal[1].trim();\n\n switch (keyVal[0].trim()) {\n case \"alt\":\n alt = str;\n break;\n\n case \"width\":\n width = sizeData(str);\n break;\n\n case \"height\":\n height = sizeData(str);\n break;\n\n case \"totalheight\":\n totalheight = sizeData(str);\n break;\n\n default:\n throw new src_ParseError(\"Invalid key: '\" + keyVal[0] + \"' in \\\\includegraphics.\");\n }\n }\n }\n }\n\n var src = assertNodeType(args[0], \"url\").url;\n\n if (alt === \"\") {\n // No alt given. Use the file name. Strip away the path.\n alt = src;\n alt = alt.replace(/^.*[\\\\/]/, '');\n alt = alt.substring(0, alt.lastIndexOf('.'));\n }\n\n if (!parser.settings.isTrusted({\n command: \"\\\\includegraphics\",\n url: src\n })) {\n return parser.formatUnsupportedCmd(\"\\\\includegraphics\");\n }\n\n return {\n type: \"includegraphics\",\n mode: parser.mode,\n alt: alt,\n width: width,\n height: height,\n totalheight: totalheight,\n src: src\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var height = calculateSize(group.height, options);\n var depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n }\n\n var width = 0;\n\n if (group.width.number > 0) {\n width = calculateSize(group.width, options);\n }\n\n var style = {\n height: makeEm(height + depth)\n };\n\n if (width > 0) {\n style.width = makeEm(width);\n }\n\n if (depth > 0) {\n style.verticalAlign = makeEm(-depth);\n }\n\n var node = new Img(group.src, group.alt, style);\n node.height = height;\n node.depth = depth;\n return node;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mglyph\", []);\n node.setAttribute(\"alt\", group.alt);\n var height = calculateSize(group.height, options);\n var depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n node.setAttribute(\"valign\", makeEm(-depth));\n }\n\n node.setAttribute(\"height\", makeEm(height + depth));\n\n if (group.width.number > 0) {\n var width = calculateSize(group.width, options);\n node.setAttribute(\"width\", makeEm(width));\n }\n\n node.setAttribute(\"src\", group.src);\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/kern.js\n// Horizontal spacing commands\n\n\n\n\n // TODO: \\hskip and \\mskip should support plus and minus in lengths\n\ndefineFunction({\n type: \"kern\",\n names: [\"\\\\kern\", \"\\\\mkern\", \"\\\\hskip\", \"\\\\mskip\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n primitive: true,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var size = assertNodeType(args[0], \"size\");\n\n if (parser.settings.strict) {\n var mathFunction = funcName[1] === 'm'; // \\mkern, \\mskip\n\n var muUnit = size.value.unit === 'mu';\n\n if (mathFunction) {\n if (!muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" supports only mu units, \" + (\"not \" + size.value.unit + \" units\"));\n }\n\n if (parser.mode !== \"math\") {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" works only in math mode\");\n }\n } else {\n // !mathFunction\n if (muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" doesn't support mu units\");\n }\n }\n }\n\n return {\n type: \"kern\",\n mode: parser.mode,\n dimension: size.value\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.makeGlue(group.dimension, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var dimension = calculateSize(group.dimension, options);\n return new mathMLTree.SpaceNode(dimension);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/lap.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: \"lap\",\n names: [\"\\\\mathllap\", \"\\\\mathrlap\", \"\\\\mathclap\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: \"lap\",\n mode: parser.mode,\n alignment: funcName.slice(5),\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // mathllap, mathrlap, mathclap\n var inner;\n\n if (group.alignment === \"clap\") {\n // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/\n inner = buildCommon.makeSpan([], [buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span\n\n inner = buildCommon.makeSpan([\"inner\"], [inner], options);\n } else {\n inner = buildCommon.makeSpan([\"inner\"], [buildGroup(group.body, options)]);\n }\n\n var fix = buildCommon.makeSpan([\"fix\"], []);\n var node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the\n // two items involved in the lap.\n // Next, use a strut to set the height of the HTML bounding box.\n // Otherwise, a tall argument may be misplaced.\n // This code resolved issue #1153\n\n var strut = buildCommon.makeSpan([\"strut\"]);\n strut.style.height = makeEm(node.height + node.depth);\n\n if (node.depth) {\n strut.style.verticalAlign = makeEm(-node.depth);\n }\n\n node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall.\n // This code resolves issue #1234\n\n node = buildCommon.makeSpan([\"thinbox\"], [node], options);\n return buildCommon.makeSpan([\"mord\", \"vbox\"], [node], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // mathllap, mathrlap, mathclap\n var node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.alignment !== \"rlap\") {\n var offset = group.alignment === \"llap\" ? \"-1\" : \"-0.5\";\n node.setAttribute(\"lspace\", offset + \"width\");\n }\n\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/math.js\n\n // Switching from text mode back to math mode\n\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\(\", \"$\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n handler: function handler(_ref, args) {\n var funcName = _ref.funcName,\n parser = _ref.parser;\n var outerMode = parser.mode;\n parser.switchMode(\"math\");\n var close = funcName === \"\\\\(\" ? \"\\\\)\" : \"$\";\n var body = parser.parseExpression(false, close);\n parser.expect(close);\n parser.switchMode(outerMode);\n return {\n type: \"styling\",\n mode: parser.mode,\n style: \"text\",\n body: body\n };\n }\n}); // Check for extra closing math delimiters\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\)\", \"\\\\]\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n handler: function handler(context, args) {\n throw new src_ParseError(\"Mismatched \" + context.funcName);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/mathchoice.js\n\n\n\n\n\n\nvar chooseMathStyle = function chooseMathStyle(group, options) {\n switch (options.style.size) {\n case src_Style.DISPLAY.size:\n return group.display;\n\n case src_Style.TEXT.size:\n return group.text;\n\n case src_Style.SCRIPT.size:\n return group.script;\n\n case src_Style.SCRIPTSCRIPT.size:\n return group.scriptscript;\n\n default:\n return group.text;\n }\n};\n\ndefineFunction({\n type: \"mathchoice\",\n names: [\"\\\\mathchoice\"],\n props: {\n numArgs: 4,\n primitive: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: \"mathchoice\",\n mode: parser.mode,\n display: ordargument(args[0]),\n text: ordargument(args[1]),\n script: ordargument(args[2]),\n scriptscript: ordargument(args[3])\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var body = chooseMathStyle(group, options);\n var elements = buildExpression(body, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var body = chooseMathStyle(group, options);\n return buildExpressionRow(body, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js\n\n\n\n // For an operator with limits, assemble the base, sup, and sub into a span.\n\nvar assembleSupSub = function assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift) {\n base = buildCommon.makeSpan([], [base]);\n var subIsSingleCharacter = subGroup && utils.isCharacterBox(subGroup);\n var sub;\n var sup; // We manually have to handle the superscripts and subscripts. This,\n // aside from the kern calculations, is copied from supsub.\n\n if (supGroup) {\n var elem = buildGroup(supGroup, options.havingStyle(style.sup()), options);\n sup = {\n elem: elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth)\n };\n }\n\n if (subGroup) {\n var _elem = buildGroup(subGroup, options.havingStyle(style.sub()), options);\n\n sub = {\n elem: _elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - _elem.height)\n };\n } // Build the final group as a vlist of the possible subscript, base,\n // and possible superscript.\n\n\n var finalGroup;\n\n if (sup && sub) {\n var bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: bottom,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else if (sub) {\n var top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note\n // that we are supposed to shift the limits by 1/2 of the slant,\n // but since we are centering the limits adding a full slant of\n // margin will shift by 1/2 that.\n\n finalGroup = buildCommon.makeVList({\n positionType: \"top\",\n positionData: top,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }]\n }, options);\n } else if (sup) {\n var _bottom = base.depth + baseShift;\n\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: _bottom,\n children: [{\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else {\n // This case probably shouldn't occur (this would mean the\n // supsub was sending us a group with no superscript or\n // subscript) but be safe.\n return base;\n }\n\n var parts = [finalGroup];\n\n if (sub && slant !== 0 && !subIsSingleCharacter) {\n // A negative margin-left was applied to the lower limit.\n // Avoid an overlap by placing a spacer on the left on the group.\n var spacer = buildCommon.makeSpan([\"mspace\"], [], options);\n spacer.style.marginRight = makeEm(slant);\n parts.unshift(spacer);\n }\n\n return buildCommon.makeSpan([\"mop\", \"op-limits\"], parts, options);\n};\n;// CONCATENATED MODULE: ./src/functions/op.js\n// Limits, symbols\n\n\n\n\n\n\n\n\n\n\n\n// Most operators have a large successor symbol, but these don't.\nvar noSuccessor = [\"\\\\smallint\"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only \"op\", but also\n// \"supsub\" since some of them (like \\int) can affect super/subscripting.\n\nvar op_htmlBuilder = function htmlBuilder(grp, options) {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n var supGroup;\n var subGroup;\n var hasLimits = false;\n var group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"op\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"op\");\n }\n\n var style = options.style;\n var large = false;\n\n if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) {\n // Most symbol operators get larger in displaystyle (rule 13)\n large = true;\n }\n\n var base;\n\n if (group.symbol) {\n // If this is a symbol, create the symbol.\n var fontName = large ? \"Size2-Regular\" : \"Size1-Regular\";\n var stash = \"\";\n\n if (group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") {\n // No font glyphs yet, so use a glyph w/o the oval.\n // TODO: When font glyphs are available, delete this code.\n stash = group.name.slice(1);\n group.name = stash === \"oiint\" ? \"\\\\iint\" : \"\\\\iiint\";\n }\n\n base = buildCommon.makeSymbol(group.name, fontName, \"math\", options, [\"mop\", \"op-symbol\", large ? \"large-op\" : \"small-op\"]);\n\n if (stash.length > 0) {\n // We're in \\oiint or \\oiiint. Overlay the oval.\n // TODO: When font glyphs are available, delete this code.\n var italic = base.italic;\n var oval = buildCommon.staticSvg(stash + \"Size\" + (large ? \"2\" : \"1\"), options);\n base = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: base,\n shift: 0\n }, {\n type: \"elem\",\n elem: oval,\n shift: large ? 0.08 : 0\n }]\n }, options);\n group.name = \"\\\\\" + stash;\n base.classes.unshift(\"mop\"); // $FlowFixMe\n\n base.italic = italic;\n }\n } else if (group.body) {\n // If this is a list, compose that list.\n var inner = buildExpression(group.body, options, true);\n\n if (inner.length === 1 && inner[0] instanceof SymbolNode) {\n base = inner[0];\n base.classes[0] = \"mop\"; // replace old mclass\n } else {\n base = buildCommon.makeSpan([\"mop\"], inner, options);\n }\n } else {\n // Otherwise, this is a text operator. Build the text from the\n // operator's name.\n var output = [];\n\n for (var i = 1; i < group.name.length; i++) {\n output.push(buildCommon.mathsym(group.name[i], group.mode, options));\n }\n\n base = buildCommon.makeSpan([\"mop\"], output, options);\n } // If content of op is a single symbol, shift it vertically.\n\n\n var baseShift = 0;\n var slant = 0;\n\n if ((base instanceof SymbolNode || group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") && !group.suppressBaseShift) {\n // We suppress the shift of the base of \\overset and \\underset. Otherwise,\n // shift the symbol so its center lies on the axis (rule 13). It\n // appears that our fonts have the centers of the symbols already\n // almost on the axis, so these numbers are very small. Note we\n // don't actually apply this here, but instead it is used either in\n // the vlist creation or separately when there are no limits.\n baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction.\n // $FlowFixMe\n\n slant = base.italic;\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift);\n } else {\n if (baseShift) {\n base.style.position = \"relative\";\n base.style.top = makeEm(baseShift);\n }\n\n return base;\n }\n};\n\nvar op_mathmlBuilder = function mathmlBuilder(group, options) {\n var node;\n\n if (group.symbol) {\n // This is a symbol. Just add the symbol.\n node = new MathNode(\"mo\", [makeText(group.name, group.mode)]);\n\n if (utils.contains(noSuccessor, group.name)) {\n node.setAttribute(\"largeop\", \"false\");\n }\n } else if (group.body) {\n // This is an operator with children. Add them.\n node = new MathNode(\"mo\", buildMathML_buildExpression(group.body, options));\n } else {\n // This is a text operator. Add all of the characters from the\n // operator's name.\n node = new MathNode(\"mi\", [new TextNode(group.name.slice(1))]); // Append an .\n // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4\n\n var operator = new MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n node = new MathNode(\"mrow\", [node, operator]);\n } else {\n node = newDocumentFragment([node, operator]);\n }\n }\n\n return node;\n};\n\nvar singleCharBigOps = {\n \"\\u220F\": \"\\\\prod\",\n \"\\u2210\": \"\\\\coprod\",\n \"\\u2211\": \"\\\\sum\",\n \"\\u22C0\": \"\\\\bigwedge\",\n \"\\u22C1\": \"\\\\bigvee\",\n \"\\u22C2\": \"\\\\bigcap\",\n \"\\u22C3\": \"\\\\bigcup\",\n \"\\u2A00\": \"\\\\bigodot\",\n \"\\u2A01\": \"\\\\bigoplus\",\n \"\\u2A02\": \"\\\\bigotimes\",\n \"\\u2A04\": \"\\\\biguplus\",\n \"\\u2A06\": \"\\\\bigsqcup\"\n};\ndefineFunction({\n type: \"op\",\n names: [\"\\\\coprod\", \"\\\\bigvee\", \"\\\\bigwedge\", \"\\\\biguplus\", \"\\\\bigcap\", \"\\\\bigcup\", \"\\\\intop\", \"\\\\prod\", \"\\\\sum\", \"\\\\bigotimes\", \"\\\\bigoplus\", \"\\\\bigodot\", \"\\\\bigsqcup\", \"\\\\smallint\", \"\\u220F\", \"\\u2210\", \"\\u2211\", \"\\u22C0\", \"\\u22C1\", \"\\u22C2\", \"\\u22C3\", \"\\u2A00\", \"\\u2A01\", \"\\u2A02\", \"\\u2A04\", \"\\u2A06\"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharBigOps[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Note: calling defineFunction with a type that's already been defined only\n// works because the same htmlBuilder and mathmlBuilder are being used.\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\mathop\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var body = args[0];\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n body: ordargument(body)\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // There are 2 flags for operators; whether they produce limits in\n// displaystyle, and whether they are symbols and should grow in\n// displaystyle. These four groups cover the four possible choices.\n\nvar singleCharIntegrals = {\n \"\\u222B\": \"\\\\int\",\n \"\\u222C\": \"\\\\iint\",\n \"\\u222D\": \"\\\\iiint\",\n \"\\u222E\": \"\\\\oint\",\n \"\\u222F\": \"\\\\oiint\",\n \"\\u2230\": \"\\\\oiiint\"\n}; // No limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\arcsin\", \"\\\\arccos\", \"\\\\arctan\", \"\\\\arctg\", \"\\\\arcctg\", \"\\\\arg\", \"\\\\ch\", \"\\\\cos\", \"\\\\cosec\", \"\\\\cosh\", \"\\\\cot\", \"\\\\cotg\", \"\\\\coth\", \"\\\\csc\", \"\\\\ctg\", \"\\\\cth\", \"\\\\deg\", \"\\\\dim\", \"\\\\exp\", \"\\\\hom\", \"\\\\ker\", \"\\\\lg\", \"\\\\ln\", \"\\\\log\", \"\\\\sec\", \"\\\\sin\", \"\\\\sinh\", \"\\\\sh\", \"\\\\tan\", \"\\\\tanh\", \"\\\\tg\", \"\\\\th\"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref3) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\det\", \"\\\\gcd\", \"\\\\inf\", \"\\\\lim\", \"\\\\max\", \"\\\\min\", \"\\\\Pr\", \"\\\\sup\"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref4) {\n var parser = _ref4.parser,\n funcName = _ref4.funcName;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // No limits, symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\int\", \"\\\\iint\", \"\\\\iiint\", \"\\\\oint\", \"\\\\oiint\", \"\\\\oiiint\", \"\\u222B\", \"\\u222C\", \"\\u222D\", \"\\u222E\", \"\\u222F\", \"\\u2230\"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref5) {\n var parser = _ref5.parser,\n funcName = _ref5.funcName;\n var fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharIntegrals[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/operatorname.js\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only\n// \"operatorname\", but also \"supsub\" since \\operatorname* can\n// affect super/subscripting.\nvar operatorname_htmlBuilder = function htmlBuilder(grp, options) {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n var supGroup;\n var subGroup;\n var hasLimits = false;\n var group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"operatorname\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"operatorname\");\n }\n\n var base;\n\n if (group.body.length > 0) {\n var body = group.body.map(function (child) {\n // $FlowFixMe: Check if the node has a string `text` property.\n var childText = child.text;\n\n if (typeof childText === \"string\") {\n return {\n type: \"textord\",\n mode: child.mode,\n text: childText\n };\n } else {\n return child;\n }\n }); // Consolidate function names into symbol characters.\n\n var expression = buildExpression(body, options.withFont(\"mathrm\"), true);\n\n for (var i = 0; i < expression.length; i++) {\n var child = expression[i];\n\n if (child instanceof SymbolNode) {\n // Per amsopn package,\n // change minus to hyphen and \\ast to asterisk\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n }\n }\n\n base = buildCommon.makeSpan([\"mop\"], expression, options);\n } else {\n base = buildCommon.makeSpan([\"mop\"], [], options);\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0);\n } else {\n return base;\n }\n};\n\nvar operatorname_mathmlBuilder = function mathmlBuilder(group, options) {\n // The steps taken here are similar to the html version.\n var expression = buildMathML_buildExpression(group.body, options.withFont(\"mathrm\")); // Is expression a string or has it something like a fraction?\n\n var isAllString = true; // default\n\n for (var i = 0; i < expression.length; i++) {\n var node = expression[i];\n\n if (node instanceof mathMLTree.SpaceNode) {// Do nothing\n } else if (node instanceof mathMLTree.MathNode) {\n switch (node.type) {\n case \"mi\":\n case \"mn\":\n case \"ms\":\n case \"mspace\":\n case \"mtext\":\n break;\n // Do nothing yet.\n\n case \"mo\":\n {\n var child = node.children[0];\n\n if (node.children.length === 1 && child instanceof mathMLTree.TextNode) {\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n } else {\n isAllString = false;\n }\n\n break;\n }\n\n default:\n isAllString = false;\n }\n } else {\n isAllString = false;\n }\n }\n\n if (isAllString) {\n // Write a single TextNode instead of multiple nested tags.\n var word = expression.map(function (node) {\n return node.toText();\n }).join(\"\");\n expression = [new mathMLTree.TextNode(word)];\n }\n\n var identifier = new mathMLTree.MathNode(\"mi\", expression);\n identifier.setAttribute(\"mathvariant\", \"normal\"); // \\u2061 is the same as ⁡\n // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp\n\n var operator = new mathMLTree.MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n return new mathMLTree.MathNode(\"mrow\", [identifier, operator]);\n } else {\n return mathMLTree.newDocumentFragment([identifier, operator]);\n }\n}; // \\operatorname\n// amsopn.dtx: \\mathop{#1\\kern\\z@\\operator@font#3}\\newmcodes@\n\n\ndefineFunction({\n type: \"operatorname\",\n names: [\"\\\\operatorname@\", \"\\\\operatornamewithlimits\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: \"operatorname\",\n mode: parser.mode,\n body: ordargument(body),\n alwaysHandleSupSub: funcName === \"\\\\operatornamewithlimits\",\n limits: false,\n parentIsSupSub: false\n };\n },\n htmlBuilder: operatorname_htmlBuilder,\n mathmlBuilder: operatorname_mathmlBuilder\n});\ndefineMacro(\"\\\\operatorname\", \"\\\\@ifstar\\\\operatornamewithlimits\\\\operatorname@\");\n;// CONCATENATED MODULE: ./src/functions/ordgroup.js\n\n\n\n\ndefineFunctionBuilders({\n type: \"ordgroup\",\n htmlBuilder: function htmlBuilder(group, options) {\n if (group.semisimple) {\n return buildCommon.makeFragment(buildExpression(group.body, options, false));\n }\n\n return buildCommon.makeSpan([\"mord\"], buildExpression(group.body, options, true), options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return buildExpressionRow(group.body, options, true);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/overline.js\n\n\n\n\n\ndefineFunction({\n type: \"overline\",\n names: [\"\\\\overline\"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var body = args[0];\n return {\n type: \"overline\",\n mode: parser.mode,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Overlines are handled in the TeXbook pg 443, Rule 9.\n // Build the inner group in the cramped style.\n var innerGroup = buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body\n\n var line = buildCommon.makeLineSpan(\"overline-line\", options); // Generate the vlist, with the appropriate kerns\n\n var defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n var vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: innerGroup\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: defaultRuleThickness\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"overline\"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203E\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n var node = new mathMLTree.MathNode(\"mover\", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/phantom.js\n\n\n\n\n\ndefineFunction({\n type: \"phantom\",\n names: [\"\\\\phantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var body = args[0];\n return {\n type: \"phantom\",\n mode: parser.mode,\n body: ordargument(body)\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildExpression(group.body, options.withPhantom(), false); // \\phantom isn't supposed to affect the elements it contains.\n // See \"color\" for more details.\n\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(group.body, options);\n return new mathMLTree.MathNode(\"mphantom\", inner);\n }\n});\ndefineFunction({\n type: \"hphantom\",\n names: [\"\\\\hphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var body = args[0];\n return {\n type: \"hphantom\",\n mode: parser.mode,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var node = buildCommon.makeSpan([], [buildGroup(group.body, options.withPhantom())]);\n node.height = 0;\n node.depth = 0;\n\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n node.children[i].depth = 0;\n }\n } // See smash for comment re: use of makeVList\n\n\n node = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\smash as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [node], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(ordargument(group.body), options);\n var phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n var node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"height\", \"0px\");\n node.setAttribute(\"depth\", \"0px\");\n return node;\n }\n});\ndefineFunction({\n type: \"vphantom\",\n names: [\"\\\\vphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser;\n var body = args[0];\n return {\n type: \"vphantom\",\n mode: parser.mode,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var inner = buildCommon.makeSpan([\"inner\"], [buildGroup(group.body, options.withPhantom())]);\n var fix = buildCommon.makeSpan([\"fix\"], []);\n return buildCommon.makeSpan([\"mord\", \"rlap\"], [inner, fix], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(ordargument(group.body), options);\n var phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n var node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/raisebox.js\n\n\n\n\n\n\n // Box manipulation\n\ndefineFunction({\n type: \"raisebox\",\n names: [\"\\\\raisebox\"],\n props: {\n numArgs: 2,\n argTypes: [\"size\", \"hbox\"],\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var amount = assertNodeType(args[0], \"size\").value;\n var body = args[1];\n return {\n type: \"raisebox\",\n mode: parser.mode,\n dy: amount,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var body = buildGroup(group.body, options);\n var dy = calculateSize(group.dy, options);\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n var dy = group.dy.number + group.dy.unit;\n node.setAttribute(\"voffset\", dy);\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/relax.js\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\relax\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref) {\n var parser = _ref.parser;\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n});\n;// CONCATENATED MODULE: ./src/functions/rule.js\n\n\n\n\n\ndefineFunction({\n type: \"rule\",\n names: [\"\\\\rule\"],\n props: {\n numArgs: 2,\n numOptionalArgs: 1,\n argTypes: [\"size\", \"size\", \"size\"]\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var shift = optArgs[0];\n var width = assertNodeType(args[0], \"size\");\n var height = assertNodeType(args[1], \"size\");\n return {\n type: \"rule\",\n mode: parser.mode,\n shift: shift && assertNodeType(shift, \"size\").value,\n width: width.value,\n height: height.value\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Make an empty span for the rule\n var rule = buildCommon.makeSpan([\"mord\", \"rule\"], [], options); // Calculate the shift, width, and height of the rule, and account for units\n\n var width = calculateSize(group.width, options);\n var height = calculateSize(group.height, options);\n var shift = group.shift ? calculateSize(group.shift, options) : 0; // Style the rule to the right size\n\n rule.style.borderRightWidth = makeEm(width);\n rule.style.borderTopWidth = makeEm(height);\n rule.style.bottom = makeEm(shift); // Record the height and width\n\n rule.width = width;\n rule.height = height + shift;\n rule.depth = -shift; // Font size is the number large enough that the browser will\n // reserve at least `absHeight` space above the baseline.\n // The 1.125 factor was empirically determined\n\n rule.maxFontSize = height * 1.125 * options.sizeMultiplier;\n return rule;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var width = calculateSize(group.width, options);\n var height = calculateSize(group.height, options);\n var shift = group.shift ? calculateSize(group.shift, options) : 0;\n var color = options.color && options.getColor() || \"black\";\n var rule = new mathMLTree.MathNode(\"mspace\");\n rule.setAttribute(\"mathbackground\", color);\n rule.setAttribute(\"width\", makeEm(width));\n rule.setAttribute(\"height\", makeEm(height));\n var wrapper = new mathMLTree.MathNode(\"mpadded\", [rule]);\n\n if (shift >= 0) {\n wrapper.setAttribute(\"height\", makeEm(shift));\n } else {\n wrapper.setAttribute(\"height\", makeEm(shift));\n wrapper.setAttribute(\"depth\", makeEm(-shift));\n }\n\n wrapper.setAttribute(\"voffset\", makeEm(shift));\n return wrapper;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/sizing.js\n\n\n\n\n\n\nfunction sizingGroup(value, options, baseOptions) {\n var inner = buildExpression(value, options, false);\n var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize\n // manually. Handle nested size changes.\n\n for (var i = 0; i < inner.length; i++) {\n var pos = inner[i].classes.indexOf(\"sizing\");\n\n if (pos < 0) {\n Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions));\n } else if (inner[i].classes[pos + 1] === \"reset-size\" + options.size) {\n // This is a nested size change: e.g., inner[i] is the \"b\" in\n // `\\Huge a \\small b`. Override the old size (the `reset-` class)\n // but not the new size.\n inner[i].classes[pos + 1] = \"reset-size\" + baseOptions.size;\n }\n\n inner[i].height *= multiplier;\n inner[i].depth *= multiplier;\n }\n\n return buildCommon.makeFragment(inner);\n}\nvar sizeFuncs = [\"\\\\tiny\", \"\\\\sixptsize\", \"\\\\scriptsize\", \"\\\\footnotesize\", \"\\\\small\", \"\\\\normalsize\", \"\\\\large\", \"\\\\Large\", \"\\\\LARGE\", \"\\\\huge\", \"\\\\Huge\"];\nvar sizing_htmlBuilder = function htmlBuilder(group, options) {\n // Handle sizing operators like \\Huge. Real TeX doesn't actually allow\n // these functions inside of math expressions, so we do some special\n // handling.\n var newOptions = options.havingSize(group.size);\n return sizingGroup(group.body, newOptions, options);\n};\ndefineFunction({\n type: \"sizing\",\n names: sizeFuncs,\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var breakOnTokenText = _ref.breakOnTokenText,\n funcName = _ref.funcName,\n parser = _ref.parser;\n var body = parser.parseExpression(false, breakOnTokenText);\n return {\n type: \"sizing\",\n mode: parser.mode,\n // Figure out what size to use based on the list of functions above\n size: sizeFuncs.indexOf(funcName) + 1,\n body: body\n };\n },\n htmlBuilder: sizing_htmlBuilder,\n mathmlBuilder: function mathmlBuilder(group, options) {\n var newOptions = options.havingSize(group.size);\n var inner = buildMathML_buildExpression(group.body, newOptions);\n var node = new mathMLTree.MathNode(\"mstyle\", inner); // TODO(emily): This doesn't produce the correct size for nested size\n // changes, because we don't keep state of what style we're currently\n // in, so we can't reset the size to normal before changing it. Now\n // that we're passing an options parameter we should be able to fix\n // this.\n\n node.setAttribute(\"mathsize\", makeEm(newOptions.sizeMultiplier));\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/smash.js\n// smash, with optional [tb], as in AMS\n\n\n\n\n\n\ndefineFunction({\n type: \"smash\",\n names: [\"\\\\smash\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var smashHeight = false;\n var smashDepth = false;\n var tbArg = optArgs[0] && assertNodeType(optArgs[0], \"ordgroup\");\n\n if (tbArg) {\n // Optional [tb] argument is engaged.\n // ref: amsmath: \\renewcommand{\\smash}[1][tb]{%\n // def\\mb@t{\\ht}\\def\\mb@b{\\dp}\\def\\mb@tb{\\ht\\z@\\z@\\dp}%\n var letter = \"\";\n\n for (var i = 0; i < tbArg.body.length; ++i) {\n var node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n letter = node.text;\n\n if (letter === \"t\") {\n smashHeight = true;\n } else if (letter === \"b\") {\n smashDepth = true;\n } else {\n smashHeight = false;\n smashDepth = false;\n break;\n }\n }\n } else {\n smashHeight = true;\n smashDepth = true;\n }\n\n var body = args[0];\n return {\n type: \"smash\",\n mode: parser.mode,\n body: body,\n smashHeight: smashHeight,\n smashDepth: smashDepth\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var node = buildCommon.makeSpan([], [buildGroup(group.body, options)]);\n\n if (!group.smashHeight && !group.smashDepth) {\n return node;\n }\n\n if (group.smashHeight) {\n node.height = 0; // In order to influence makeVList, we have to reset the children.\n\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n }\n }\n }\n\n if (group.smashDepth) {\n node.depth = 0;\n\n if (node.children) {\n for (var _i = 0; _i < node.children.length; _i++) {\n node.children[_i].depth = 0;\n }\n }\n } // At this point, we've reset the TeX-like height and depth values.\n // But the span still has an HTML line height.\n // makeVList applies \"display: table-cell\", which prevents the browser\n // from acting on that line height. So we'll call makeVList now.\n\n\n var smashedNode = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\hphantom as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [smashedNode], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.smashHeight) {\n node.setAttribute(\"height\", \"0px\");\n }\n\n if (group.smashDepth) {\n node.setAttribute(\"depth\", \"0px\");\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/sqrt.js\n\n\n\n\n\n\n\n\ndefineFunction({\n type: \"sqrt\",\n names: [\"\\\\sqrt\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var index = optArgs[0];\n var body = args[0];\n return {\n type: \"sqrt\",\n mode: parser.mode,\n body: body,\n index: index\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Square roots are handled in the TeXbook pg. 443, Rule 11.\n // First, we do the same steps as in overline to build the inner group\n // and line\n var inner = buildGroup(group.body, options.havingCrampedStyle());\n\n if (inner.height === 0) {\n // Render a small surd.\n inner.height = options.fontMetrics().xHeight;\n } // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n\n inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \\surd delimiter\n\n var metrics = options.fontMetrics();\n var theta = metrics.defaultRuleThickness;\n var phi = theta;\n\n if (options.style.id < src_Style.TEXT.id) {\n phi = options.fontMetrics().xHeight;\n } // Calculate the clearance between the body and line\n\n\n var lineClearance = theta + phi / 4;\n var minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size\n\n var _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options),\n img = _delimiter$sqrtImage.span,\n ruleWidth = _delimiter$sqrtImage.ruleWidth,\n advanceWidth = _delimiter$sqrtImage.advanceWidth;\n\n var delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size\n\n if (delimDepth > inner.height + inner.depth + lineClearance) {\n lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2;\n } // Shift the sqrt image\n\n\n var imgShift = img.height - inner.height - lineClearance - ruleWidth;\n inner.style.paddingLeft = makeEm(advanceWidth); // Overlay the image and the argument.\n\n var body = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: inner,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: -(inner.height + imgShift)\n }, {\n type: \"elem\",\n elem: img\n }, {\n type: \"kern\",\n size: ruleWidth\n }]\n }, options);\n\n if (!group.index) {\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [body], options);\n } else {\n // Handle the optional root index\n // The index is always in scriptscript style\n var newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT);\n var rootm = buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX\n // source, in the definition of `\\r@@t`.\n\n var toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly\n\n var rootVList = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -toShift,\n children: [{\n type: \"elem\",\n elem: rootm\n }]\n }, options); // Add a class surrounding it so we can add on the appropriate\n // kerning\n\n var rootVListWrap = buildCommon.makeSpan([\"root\"], [rootVList]);\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [rootVListWrap, body], options);\n }\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var body = group.body,\n index = group.index;\n return index ? new mathMLTree.MathNode(\"mroot\", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode(\"msqrt\", [buildMathML_buildGroup(body, options)]);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/styling.js\n\n\n\n\n\nvar styling_styleMap = {\n \"display\": src_Style.DISPLAY,\n \"text\": src_Style.TEXT,\n \"script\": src_Style.SCRIPT,\n \"scriptscript\": src_Style.SCRIPTSCRIPT\n};\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\displaystyle\", \"\\\\textstyle\", \"\\\\scriptstyle\", \"\\\\scriptscriptstyle\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n handler: function handler(_ref, args) {\n var breakOnTokenText = _ref.breakOnTokenText,\n funcName = _ref.funcName,\n parser = _ref.parser;\n // parse out the implicit body\n var body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g.\n // here and in buildHTML and de-dupe the enumeration of all the styles).\n // $FlowFixMe: The names above exactly match the styles.\n\n var style = funcName.slice(1, funcName.length - 5);\n return {\n type: \"styling\",\n mode: parser.mode,\n // Figure out what style to use by pulling out the style from\n // the function name\n style: style,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Style changes are handled in the TeXbook on pg. 442, Rule 3.\n var newStyle = styling_styleMap[group.style];\n var newOptions = options.havingStyle(newStyle).withFont('');\n return sizingGroup(group.body, newOptions, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // Figure out what style we're changing to.\n var newStyle = styling_styleMap[group.style];\n var newOptions = options.havingStyle(newStyle);\n var inner = buildMathML_buildExpression(group.body, newOptions);\n var node = new mathMLTree.MathNode(\"mstyle\", inner);\n var styleAttributes = {\n \"display\": [\"0\", \"true\"],\n \"text\": [\"0\", \"false\"],\n \"script\": [\"1\", \"false\"],\n \"scriptscript\": [\"2\", \"false\"]\n };\n var attr = styleAttributes[group.style];\n node.setAttribute(\"scriptlevel\", attr[0]);\n node.setAttribute(\"displaystyle\", attr[1]);\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/supsub.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Sometimes, groups perform special rules when they have superscripts or\n * subscripts attached to them. This function lets the `supsub` group know that\n * Sometimes, groups perform special rules when they have superscripts or\n * its inner element should handle the superscripts and subscripts instead of\n * handling them itself.\n */\nvar htmlBuilderDelegate = function htmlBuilderDelegate(group, options) {\n var base = group.base;\n\n if (!base) {\n return null;\n } else if (base.type === \"op\") {\n // Operators handle supsubs differently when they have limits\n // (e.g. `\\displaystyle\\sum_2^3`)\n var delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub);\n return delegate ? op_htmlBuilder : null;\n } else if (base.type === \"operatorname\") {\n var _delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits);\n\n return _delegate ? operatorname_htmlBuilder : null;\n } else if (base.type === \"accent\") {\n return utils.isCharacterBox(base.base) ? htmlBuilder : null;\n } else if (base.type === \"horizBrace\") {\n var isSup = !group.sub;\n return isSup === base.isOver ? horizBrace_htmlBuilder : null;\n } else {\n return null;\n }\n}; // Super scripts and subscripts, whose precise placement can depend on other\n// functions that precede them.\n\n\ndefineFunctionBuilders({\n type: \"supsub\",\n htmlBuilder: function htmlBuilder(group, options) {\n // Superscript and subscripts are handled in the TeXbook on page\n // 445-446, rules 18(a-f).\n // Here is where we defer to the inner group if it should handle\n // superscripts and subscripts itself.\n var builderDelegate = htmlBuilderDelegate(group, options);\n\n if (builderDelegate) {\n return builderDelegate(group, options);\n }\n\n var valueBase = group.base,\n valueSup = group.sup,\n valueSub = group.sub;\n var base = buildGroup(valueBase, options);\n var supm;\n var subm;\n var metrics = options.fontMetrics(); // Rule 18a\n\n var supShift = 0;\n var subShift = 0;\n var isCharacterBox = valueBase && utils.isCharacterBox(valueBase);\n\n if (valueSup) {\n var newOptions = options.havingStyle(options.style.sup());\n supm = buildGroup(valueSup, newOptions, options);\n\n if (!isCharacterBox) {\n supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n if (valueSub) {\n var _newOptions = options.havingStyle(options.style.sub());\n\n subm = buildGroup(valueSub, _newOptions, options);\n\n if (!isCharacterBox) {\n subShift = base.depth + _newOptions.fontMetrics().subDrop * _newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n } // Rule 18c\n\n\n var minSupShift;\n\n if (options.style === src_Style.DISPLAY) {\n minSupShift = metrics.sup1;\n } else if (options.style.cramped) {\n minSupShift = metrics.sup3;\n } else {\n minSupShift = metrics.sup2;\n } // scriptspace is a font-size-independent size, so scale it\n // appropriately for use as the marginRight.\n\n\n var multiplier = options.sizeMultiplier;\n var marginRight = makeEm(0.5 / metrics.ptPerEm / multiplier);\n var marginLeft = null;\n\n if (subm) {\n // Subscripts shouldn't be shifted by the base's italic correction.\n // Account for that by shifting the subscript back the appropriate\n // amount. Note we only do this when the base is a single symbol.\n var isOiint = group.base && group.base.type === \"op\" && group.base.name && (group.base.name === \"\\\\oiint\" || group.base.name === \"\\\\oiiint\");\n\n if (base instanceof SymbolNode || isOiint) {\n // $FlowFixMe\n marginLeft = makeEm(-base.italic);\n }\n }\n\n var supsub;\n\n if (supm && subm) {\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n subShift = Math.max(subShift, metrics.sub2);\n var ruleWidth = metrics.defaultRuleThickness; // Rule 18e\n\n var maxWidth = 4 * ruleWidth;\n\n if (supShift - supm.depth - (subm.height - subShift) < maxWidth) {\n subShift = maxWidth - (supShift - supm.depth) + subm.height;\n var psi = 0.8 * metrics.xHeight - (supShift - supm.depth);\n\n if (psi > 0) {\n supShift += psi;\n subShift -= psi;\n }\n }\n\n var vlistElem = [{\n type: \"elem\",\n elem: subm,\n shift: subShift,\n marginRight: marginRight,\n marginLeft: marginLeft\n }, {\n type: \"elem\",\n elem: supm,\n shift: -supShift,\n marginRight: marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vlistElem\n }, options);\n } else if (subm) {\n // Rule 18b\n subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight);\n var _vlistElem = [{\n type: \"elem\",\n elem: subm,\n marginLeft: marginLeft,\n marginRight: marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: subShift,\n children: _vlistElem\n }, options);\n } else if (supm) {\n // Rule 18c, d\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -supShift,\n children: [{\n type: \"elem\",\n elem: supm,\n marginRight: marginRight\n }]\n }, options);\n } else {\n throw new Error(\"supsub must have either sup or sub.\");\n } // Wrap the supsub vlist in a span.msupsub to reset text-align.\n\n\n var mclass = getTypeOfDomTree(base, \"right\") || \"mord\";\n return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan([\"msupsub\"], [supsub])], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // Is the inner group a relevant horizonal brace?\n var isBrace = false;\n var isOver;\n var isSup;\n\n if (group.base && group.base.type === \"horizBrace\") {\n isSup = !!group.sup;\n\n if (isSup === group.base.isOver) {\n isBrace = true;\n isOver = group.base.isOver;\n }\n }\n\n if (group.base && (group.base.type === \"op\" || group.base.type === \"operatorname\")) {\n group.base.parentIsSupSub = true;\n }\n\n var children = [buildMathML_buildGroup(group.base, options)];\n\n if (group.sub) {\n children.push(buildMathML_buildGroup(group.sub, options));\n }\n\n if (group.sup) {\n children.push(buildMathML_buildGroup(group.sup, options));\n }\n\n var nodeType;\n\n if (isBrace) {\n nodeType = isOver ? \"mover\" : \"munder\";\n } else if (!group.sub) {\n var base = group.base;\n\n if (base && base.type === \"op\" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = \"mover\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = \"mover\";\n } else {\n nodeType = \"msup\";\n }\n } else if (!group.sup) {\n var _base = group.base;\n\n if (_base && _base.type === \"op\" && _base.limits && (options.style === src_Style.DISPLAY || _base.alwaysHandleSupSub)) {\n nodeType = \"munder\";\n } else if (_base && _base.type === \"operatorname\" && _base.alwaysHandleSupSub && (_base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = \"munder\";\n } else {\n nodeType = \"msub\";\n }\n } else {\n var _base2 = group.base;\n\n if (_base2 && _base2.type === \"op\" && _base2.limits && options.style === src_Style.DISPLAY) {\n nodeType = \"munderover\";\n } else if (_base2 && _base2.type === \"operatorname\" && _base2.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || _base2.limits)) {\n nodeType = \"munderover\";\n } else {\n nodeType = \"msubsup\";\n }\n }\n\n return new mathMLTree.MathNode(nodeType, children);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsOp.js\n\n\n\n // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"atom\",\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.mathsym(group.text, group.mode, options, [\"m\" + group.family]);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mo\", [makeText(group.text, group.mode)]);\n\n if (group.family === \"bin\") {\n var variant = getVariant(group, options);\n\n if (variant === \"bold-italic\") {\n node.setAttribute(\"mathvariant\", variant);\n }\n } else if (group.family === \"punct\") {\n node.setAttribute(\"separator\", \"true\");\n } else if (group.family === \"open\" || group.family === \"close\") {\n // Delims built here should not stretch vertically.\n // See delimsizing.js for stretchy delims.\n node.setAttribute(\"stretchy\", \"false\");\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsOrd.js\n\n\n\n\n// \"mathord\" and \"textord\" ParseNodes created in Parser.js from symbol Groups in\n// src/symbols.js.\nvar defaultVariant = {\n \"mi\": \"italic\",\n \"mn\": \"normal\",\n \"mtext\": \"normal\"\n};\ndefineFunctionBuilders({\n type: \"mathord\",\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"mathord\");\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mi\", [makeText(group.text, group.mode, options)]);\n var variant = getVariant(group, options) || \"italic\";\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n});\ndefineFunctionBuilders({\n type: \"textord\",\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"textord\");\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var text = makeText(group.text, group.mode, options);\n var variant = getVariant(group, options) || \"normal\";\n var node;\n\n if (group.mode === 'text') {\n node = new mathMLTree.MathNode(\"mtext\", [text]);\n } else if (/[0-9]/.test(group.text)) {\n node = new mathMLTree.MathNode(\"mn\", [text]);\n } else if (group.text === \"\\\\prime\") {\n node = new mathMLTree.MathNode(\"mo\", [text]);\n } else {\n node = new mathMLTree.MathNode(\"mi\", [text]);\n }\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js\n\n\n\n // A map of CSS-based spacing functions to their CSS class.\n\nvar cssSpace = {\n \"\\\\nobreak\": \"nobreak\",\n \"\\\\allowbreak\": \"allowbreak\"\n}; // A lookup table to determine whether a spacing function/symbol should be\n// treated like a regular space character. If a symbol or command is a key\n// in this table, then it should be a regular space character. Furthermore,\n// the associated value may have a `className` specifying an extra CSS class\n// to add to the created `span`.\n\nvar regularSpace = {\n \" \": {},\n \"\\\\ \": {},\n \"~\": {\n className: \"nobreak\"\n },\n \"\\\\space\": {},\n \"\\\\nobreakspace\": {\n className: \"nobreak\"\n }\n}; // ParseNode<\"spacing\"> created in Parser.js from the \"spacing\" symbol Groups in\n// src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"spacing\",\n htmlBuilder: function htmlBuilder(group, options) {\n if (regularSpace.hasOwnProperty(group.text)) {\n var className = regularSpace[group.text].className || \"\"; // Spaces are generated by adding an actual space. Each of these\n // things has an entry in the symbols table, so these will be turned\n // into appropriate outputs.\n\n if (group.mode === \"text\") {\n var ord = buildCommon.makeOrd(group, options, \"textord\");\n ord.classes.push(className);\n return ord;\n } else {\n return buildCommon.makeSpan([\"mspace\", className], [buildCommon.mathsym(group.text, group.mode, options)], options);\n }\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // Spaces based on just a CSS class.\n return buildCommon.makeSpan([\"mspace\", cssSpace[group.text]], [], options);\n } else {\n throw new src_ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node;\n\n if (regularSpace.hasOwnProperty(group.text)) {\n node = new mathMLTree.MathNode(\"mtext\", [new mathMLTree.TextNode(\"\\xA0\")]);\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // CSS-based MathML spaces (\\nobreak, \\allowbreak) are ignored\n return new mathMLTree.MathNode(\"mspace\");\n } else {\n throw new src_ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/tag.js\n\n\n\n\nvar pad = function pad() {\n var padNode = new mathMLTree.MathNode(\"mtd\", []);\n padNode.setAttribute(\"width\", \"50%\");\n return padNode;\n};\n\ndefineFunctionBuilders({\n type: \"tag\",\n mathmlBuilder: function mathmlBuilder(group, options) {\n var table = new mathMLTree.MathNode(\"mtable\", [new mathMLTree.MathNode(\"mtr\", [pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.body, options)]), pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.tag, options)])])]);\n table.setAttribute(\"width\", \"100%\");\n return table; // TODO: Left-aligned tags.\n // Currently, the group and options passed here do not contain\n // enough info to set tag alignment. `leqno` is in Settings but it is\n // not passed to Options. On the HTML side, leqno is\n // set by a CSS class applied in buildTree.js. That would have worked\n // in MathML if browsers supported . Since they don't, we\n // need to rewrite the way this function is called.\n }\n});\n;// CONCATENATED MODULE: ./src/functions/text.js\n\n\n\n // Non-mathy text, possibly in a font\n\nvar textFontFamilies = {\n \"\\\\text\": undefined,\n \"\\\\textrm\": \"textrm\",\n \"\\\\textsf\": \"textsf\",\n \"\\\\texttt\": \"texttt\",\n \"\\\\textnormal\": \"textrm\"\n};\nvar textFontWeights = {\n \"\\\\textbf\": \"textbf\",\n \"\\\\textmd\": \"textmd\"\n};\nvar textFontShapes = {\n \"\\\\textit\": \"textit\",\n \"\\\\textup\": \"textup\"\n};\n\nvar optionsWithFont = function optionsWithFont(group, options) {\n var font = group.font; // Checks if the argument is a font family or a font style.\n\n if (!font) {\n return options;\n } else if (textFontFamilies[font]) {\n return options.withTextFontFamily(textFontFamilies[font]);\n } else if (textFontWeights[font]) {\n return options.withTextFontWeight(textFontWeights[font]);\n } else {\n return options.withTextFontShape(textFontShapes[font]);\n }\n};\n\ndefineFunction({\n type: \"text\",\n names: [// Font families\n \"\\\\text\", \"\\\\textrm\", \"\\\\textsf\", \"\\\\texttt\", \"\\\\textnormal\", // Font weights\n \"\\\\textbf\", \"\\\\textmd\", // Font Shapes\n \"\\\\textit\", \"\\\\textup\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInArgument: true,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: \"text\",\n mode: parser.mode,\n body: ordargument(body),\n font: funcName\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var newOptions = optionsWithFont(group, options);\n var inner = buildExpression(group.body, newOptions, true);\n return buildCommon.makeSpan([\"mord\", \"text\"], inner, newOptions);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var newOptions = optionsWithFont(group, options);\n return buildExpressionRow(group.body, newOptions);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/underline.js\n\n\n\n\n\ndefineFunction({\n type: \"underline\",\n names: [\"\\\\underline\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: \"underline\",\n mode: parser.mode,\n body: args[0]\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Underlines are handled in the TeXbook pg 443, Rule 10.\n // Build the inner group.\n var innerGroup = buildGroup(group.body, options); // Create the line to go below the body\n\n var line = buildCommon.makeLineSpan(\"underline-line\", options); // Generate the vlist, with the appropriate kerns\n\n var defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n var vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"kern\",\n size: defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"underline\"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203E\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n var node = new mathMLTree.MathNode(\"munder\", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/vcenter.js\n\n\n\n\n // \\vcenter: Vertically center the argument group on the math axis.\n\ndefineFunction({\n type: \"vcenter\",\n names: [\"\\\\vcenter\"],\n props: {\n numArgs: 1,\n argTypes: [\"original\"],\n // In LaTeX, \\vcenter can act only on a box.\n allowedInText: false\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: \"vcenter\",\n mode: parser.mode,\n body: args[0]\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var body = buildGroup(group.body, options);\n var axisHeight = options.fontMetrics().axisHeight;\n var dy = 0.5 * (body.height - axisHeight - (body.depth + axisHeight));\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // There is no way to do this in MathML.\n // Write a class as a breadcrumb in case some post-processor wants\n // to perform a vcenter adjustment.\n return new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)], [\"vcenter\"]);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/verb.js\n\n\n\n\ndefineFunction({\n type: \"verb\",\n names: [\"\\\\verb\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(context, args, optArgs) {\n // \\verb and \\verb* are dealt with directly in Parser.js.\n // If we end up here, it's because of a failure to match the two delimiters\n // in the regex in Lexer.js. LaTeX raises the following error when \\verb is\n // terminated by end of line (or file).\n throw new src_ParseError(\"\\\\verb ended by end of line instead of matching delimiter\");\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var text = makeVerb(group);\n var body = []; // \\verb enters text mode and therefore is sized like \\textstyle\n\n var newOptions = options.havingStyle(options.style.text());\n\n for (var i = 0; i < text.length; i++) {\n var c = text[i];\n\n if (c === '~') {\n c = '\\\\textasciitilde';\n }\n\n body.push(buildCommon.makeSymbol(c, \"Typewriter-Regular\", group.mode, newOptions, [\"mord\", \"texttt\"]));\n }\n\n return buildCommon.makeSpan([\"mord\", \"text\"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var text = new mathMLTree.TextNode(makeVerb(group));\n var node = new mathMLTree.MathNode(\"mtext\", [text]);\n node.setAttribute(\"mathvariant\", \"monospace\");\n return node;\n }\n});\n/**\n * Converts verb group into body string.\n *\n * \\verb* replaces each space with an open box \\u2423\n * \\verb replaces each space with a no-break space \\xA0\n */\n\nvar makeVerb = function makeVerb(group) {\n return group.body.replace(/ /g, group.star ? \"\\u2423\" : '\\xA0');\n};\n;// CONCATENATED MODULE: ./src/functions.js\n/** Include this to ensure that all functions are defined. */\n\nvar functions = _functions;\n/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with\n// that object in this file instead of relying on side-effects.\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;// CONCATENATED MODULE: ./src/Lexer.js\n/**\n * The Lexer class handles tokenizing the input in various ways. Since our\n * parser expects us to be able to backtrack, the lexer allows lexing from any\n * given starting point.\n *\n * Its main exposed function is the `lex` function, which takes a position to\n * lex from and a type of token to lex. It defers to the appropriate `_innerLex`\n * function.\n *\n * The various `_innerLex` functions perform the actual lexing of different\n * kinds.\n */\n\n\n\n\n/* The following tokenRegex\n * - matches typical whitespace (but not NBSP etc.) using its first group\n * - does not match any control character \\x00-\\x1f except whitespace\n * - does not match a bare backslash\n * - matches any ASCII character except those just mentioned\n * - does not match the BMP private use area \\uE000-\\uF8FF\n * - does not match bare surrogate code units\n * - matches any BMP character except for those just described\n * - matches any valid Unicode surrogate pair\n * - matches a backslash followed by one or more whitespace characters\n * - matches a backslash followed by one or more letters then whitespace\n * - matches a backslash followed by any BMP character\n * Capturing groups:\n * [1] regular whitespace\n * [2] backslash followed by whitespace\n * [3] anything else, which may include:\n * [4] left character of \\verb*\n * [5] left character of \\verb\n * [6] backslash followed by word, excluding any trailing whitespace\n * Just because the Lexer matches something doesn't mean it's valid input:\n * If there is no matching function or symbol definition, the Parser will\n * still reject the input.\n */\nvar spaceRegexString = \"[ \\r\\n\\t]\";\nvar controlWordRegexString = \"\\\\\\\\[a-zA-Z@]+\";\nvar controlSymbolRegexString = \"\\\\\\\\[^\\uD800-\\uDFFF]\";\nvar controlWordWhitespaceRegexString = \"(\" + controlWordRegexString + \")\" + spaceRegexString + \"*\";\nvar controlSpaceRegexString = \"\\\\\\\\(\\n|[ \\r\\t]+\\n?)[ \\r\\t]*\";\nvar combiningDiacriticalMarkString = \"[\\u0300-\\u036F]\";\nvar combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + \"+$\");\nvar tokenRegexString = \"(\" + spaceRegexString + \"+)|\" + ( // whitespace\ncontrolSpaceRegexString + \"|\") + // \\whitespace\n\"([!-\\\\[\\\\]-\\u2027\\u202A-\\uD7FF\\uF900-\\uFFFF]\" + ( // single codepoint\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\" + ( // surrogate pair\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|\\\\\\\\verb\\\\*([^]).*?\\\\4\" + // \\verb*\n\"|\\\\\\\\verb([^*a-zA-Z]).*?\\\\5\" + ( // \\verb unstarred\n\"|\" + controlWordWhitespaceRegexString) + ( // \\macroName + spaces\n\"|\" + controlSymbolRegexString + \")\"); // \\\\, \\', etc.\n\n/** Main Lexer class */\n\nvar Lexer = /*#__PURE__*/function () {\n // Category codes. The lexer only supports comment characters (14) for now.\n // MacroExpander additionally distinguishes active (13).\n function Lexer(input, settings) {\n this.input = void 0;\n this.settings = void 0;\n this.tokenRegex = void 0;\n this.catcodes = void 0;\n // Separate accents from characters\n this.input = input;\n this.settings = settings;\n this.tokenRegex = new RegExp(tokenRegexString, 'g');\n this.catcodes = {\n \"%\": 14,\n // comment character\n \"~\": 13 // active character\n\n };\n }\n\n var _proto = Lexer.prototype;\n\n _proto.setCatcode = function setCatcode(char, code) {\n this.catcodes[char] = code;\n }\n /**\n * This function lexes a single token.\n */\n ;\n\n _proto.lex = function lex() {\n var input = this.input;\n var pos = this.tokenRegex.lastIndex;\n\n if (pos === input.length) {\n return new Token(\"EOF\", new SourceLocation(this, pos, pos));\n }\n\n var match = this.tokenRegex.exec(input);\n\n if (match === null || match.index !== pos) {\n throw new src_ParseError(\"Unexpected character: '\" + input[pos] + \"'\", new Token(input[pos], new SourceLocation(this, pos, pos + 1)));\n }\n\n var text = match[6] || match[3] || (match[2] ? \"\\\\ \" : \" \");\n\n if (this.catcodes[text] === 14) {\n // comment character\n var nlIndex = input.indexOf('\\n', this.tokenRegex.lastIndex);\n\n if (nlIndex === -1) {\n this.tokenRegex.lastIndex = input.length; // EOF\n\n this.settings.reportNonstrict(\"commentAtEnd\", \"% comment has no terminating newline; LaTeX would \" + \"fail because of commenting the end of math mode (e.g. $)\");\n } else {\n this.tokenRegex.lastIndex = nlIndex + 1;\n }\n\n return this.lex();\n }\n\n return new Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex));\n };\n\n return Lexer;\n}();\n\n\n;// CONCATENATED MODULE: ./src/Namespace.js\n/**\n * A `Namespace` refers to a space of nameable things like macros or lengths,\n * which can be `set` either globally or local to a nested group, using an\n * undo stack similar to how TeX implements this functionality.\n * Performance-wise, `get` and local `set` take constant time, while global\n * `set` takes time proportional to the depth of group nesting.\n */\n\n\nvar Namespace = /*#__PURE__*/function () {\n /**\n * Both arguments are optional. The first argument is an object of\n * built-in mappings which never change. The second argument is an object\n * of initial (global-level) mappings, which will constantly change\n * according to any global/top-level `set`s done.\n */\n function Namespace(builtins, globalMacros) {\n if (builtins === void 0) {\n builtins = {};\n }\n\n if (globalMacros === void 0) {\n globalMacros = {};\n }\n\n this.current = void 0;\n this.builtins = void 0;\n this.undefStack = void 0;\n this.current = globalMacros;\n this.builtins = builtins;\n this.undefStack = [];\n }\n /**\n * Start a new nested group, affecting future local `set`s.\n */\n\n\n var _proto = Namespace.prototype;\n\n _proto.beginGroup = function beginGroup() {\n this.undefStack.push({});\n }\n /**\n * End current nested group, restoring values before the group began.\n */\n ;\n\n _proto.endGroup = function endGroup() {\n if (this.undefStack.length === 0) {\n throw new src_ParseError(\"Unbalanced namespace destruction: attempt \" + \"to pop global namespace; please report this as a bug\");\n }\n\n var undefs = this.undefStack.pop();\n\n for (var undef in undefs) {\n if (undefs.hasOwnProperty(undef)) {\n if (undefs[undef] == null) {\n delete this.current[undef];\n } else {\n this.current[undef] = undefs[undef];\n }\n }\n }\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n ;\n\n _proto.endGroups = function endGroups() {\n while (this.undefStack.length > 0) {\n this.endGroup();\n }\n }\n /**\n * Detect whether `name` has a definition. Equivalent to\n * `get(name) != null`.\n */\n ;\n\n _proto.has = function has(name) {\n return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name);\n }\n /**\n * Get the current value of a name, or `undefined` if there is no value.\n *\n * Note: Do not use `if (namespace.get(...))` to detect whether a macro\n * is defined, as the definition may be the empty string which evaluates\n * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or\n * `if (namespace.has(...))`.\n */\n ;\n\n _proto.get = function get(name) {\n if (this.current.hasOwnProperty(name)) {\n return this.current[name];\n } else {\n return this.builtins[name];\n }\n }\n /**\n * Set the current value of a name, and optionally set it globally too.\n * Local set() sets the current value and (when appropriate) adds an undo\n * operation to the undo stack. Global set() may change the undo\n * operation at every level, so takes time linear in their number.\n * A value of undefined means to delete existing definitions.\n */\n ;\n\n _proto.set = function set(name, value, global) {\n if (global === void 0) {\n global = false;\n }\n\n if (global) {\n // Global set is equivalent to setting in all groups. Simulate this\n // by destroying any undos currently scheduled for this name,\n // and adding an undo with the *new* value (in case it later gets\n // locally reset within this environment).\n for (var i = 0; i < this.undefStack.length; i++) {\n delete this.undefStack[i][name];\n }\n\n if (this.undefStack.length > 0) {\n this.undefStack[this.undefStack.length - 1][name] = value;\n }\n } else {\n // Undo this set at end of this group (possibly to `undefined`),\n // unless an undo is already in place, in which case that older\n // value is the correct one.\n var top = this.undefStack[this.undefStack.length - 1];\n\n if (top && !top.hasOwnProperty(name)) {\n top[name] = this.current[name];\n }\n }\n\n if (value == null) {\n delete this.current[name];\n } else {\n this.current[name] = value;\n }\n };\n\n return Namespace;\n}();\n\n\n;// CONCATENATED MODULE: ./src/macros.js\n/**\n * Predefined macros for KaTeX.\n * This can be used to define some commands in terms of others.\n */\n// Export global macros object from defineMacro\n\nvar macros = _macros;\n/* harmony default export */ var src_macros = (macros);\n\n\n\n\n\n //////////////////////////////////////////////////////////////////////\n// macro tools\n\ndefineMacro(\"\\\\noexpand\", function (context) {\n // The expansion is the token itself; but that token is interpreted\n // as if its meaning were ‘\\relax’ if it is a control sequence that\n // would ordinarily be expanded by TeX’s expansion rules.\n var t = context.popToken();\n\n if (context.isExpandable(t.text)) {\n t.noexpand = true;\n t.treatAsRelax = true;\n }\n\n return {\n tokens: [t],\n numArgs: 0\n };\n});\ndefineMacro(\"\\\\expandafter\", function (context) {\n // TeX first reads the token that comes immediately after \\expandafter,\n // without expanding it; let’s call this token t. Then TeX reads the\n // token that comes after t (and possibly more tokens, if that token\n // has an argument), replacing it by its expansion. Finally TeX puts\n // t back in front of that expansion.\n var t = context.popToken();\n context.expandOnce(true); // expand only an expandable token\n\n return {\n tokens: [t],\n numArgs: 0\n };\n}); // LaTeX's \\@firstoftwo{#1}{#2} expands to #1, skipping #2\n// TeX source: \\long\\def\\@firstoftwo#1#2{#1}\n\ndefineMacro(\"\\\\@firstoftwo\", function (context) {\n var args = context.consumeArgs(2);\n return {\n tokens: args[0],\n numArgs: 0\n };\n}); // LaTeX's \\@secondoftwo{#1}{#2} expands to #2, skipping #1\n// TeX source: \\long\\def\\@secondoftwo#1#2{#2}\n\ndefineMacro(\"\\\\@secondoftwo\", function (context) {\n var args = context.consumeArgs(2);\n return {\n tokens: args[1],\n numArgs: 0\n };\n}); // LaTeX's \\@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded)\n// symbol that isn't a space, consuming any spaces but not consuming the\n// first nonspace character. If that nonspace character matches #1, then\n// the macro expands to #2; otherwise, it expands to #3.\n\ndefineMacro(\"\\\\@ifnextchar\", function (context) {\n var args = context.consumeArgs(3); // symbol, if, else\n\n context.consumeSpaces();\n var nextToken = context.future();\n\n if (args[0].length === 1 && args[0][0].text === nextToken.text) {\n return {\n tokens: args[1],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[2],\n numArgs: 0\n };\n }\n}); // LaTeX's \\@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol.\n// If it is `*`, then it consumes the symbol, and the macro expands to #1;\n// otherwise, the macro expands to #2 (without consuming the symbol).\n// TeX source: \\def\\@ifstar#1{\\@ifnextchar *{\\@firstoftwo{#1}}}\n\ndefineMacro(\"\\\\@ifstar\", \"\\\\@ifnextchar *{\\\\@firstoftwo{#1}}\"); // LaTeX's \\TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode\n\ndefineMacro(\"\\\\TextOrMath\", function (context) {\n var args = context.consumeArgs(2);\n\n if (context.mode === 'text') {\n return {\n tokens: args[0],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[1],\n numArgs: 0\n };\n }\n}); // Lookup table for parsing numbers in base 8 through 16\n\nvar digitToNumber = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"a\": 10,\n \"A\": 10,\n \"b\": 11,\n \"B\": 11,\n \"c\": 12,\n \"C\": 12,\n \"d\": 13,\n \"D\": 13,\n \"e\": 14,\n \"E\": 14,\n \"f\": 15,\n \"F\": 15\n}; // TeX \\char makes a literal character (catcode 12) using the following forms:\n// (see The TeXBook, p. 43)\n// \\char123 -- decimal\n// \\char'123 -- octal\n// \\char\"123 -- hex\n// \\char`x -- character that can be written (i.e. isn't active)\n// \\char`\\x -- character that cannot be written (e.g. %)\n// These all refer to characters from the font, so we turn them into special\n// calls to a function \\@char dealt with in the Parser.\n\ndefineMacro(\"\\\\char\", function (context) {\n var token = context.popToken();\n var base;\n var number = '';\n\n if (token.text === \"'\") {\n base = 8;\n token = context.popToken();\n } else if (token.text === '\"') {\n base = 16;\n token = context.popToken();\n } else if (token.text === \"`\") {\n token = context.popToken();\n\n if (token.text[0] === \"\\\\\") {\n number = token.text.charCodeAt(1);\n } else if (token.text === \"EOF\") {\n throw new src_ParseError(\"\\\\char` missing argument\");\n } else {\n number = token.text.charCodeAt(0);\n }\n } else {\n base = 10;\n }\n\n if (base) {\n // Parse a number in the given base, starting with first `token`.\n number = digitToNumber[token.text];\n\n if (number == null || number >= base) {\n throw new src_ParseError(\"Invalid base-\" + base + \" digit \" + token.text);\n }\n\n var digit;\n\n while ((digit = digitToNumber[context.future().text]) != null && digit < base) {\n number *= base;\n number += digit;\n context.popToken();\n }\n }\n\n return \"\\\\@char{\" + number + \"}\";\n}); // \\newcommand{\\macro}[args]{definition}\n// \\renewcommand{\\macro}[args]{definition}\n// TODO: Optional arguments: \\newcommand{\\macro}[args][default]{definition}\n\nvar newcommand = function newcommand(context, existsOK, nonexistsOK) {\n var arg = context.consumeArg().tokens;\n\n if (arg.length !== 1) {\n throw new src_ParseError(\"\\\\newcommand's first argument must be a macro name\");\n }\n\n var name = arg[0].text;\n var exists = context.isDefined(name);\n\n if (exists && !existsOK) {\n throw new src_ParseError(\"\\\\newcommand{\" + name + \"} attempting to redefine \" + (name + \"; use \\\\renewcommand\"));\n }\n\n if (!exists && !nonexistsOK) {\n throw new src_ParseError(\"\\\\renewcommand{\" + name + \"} when command \" + name + \" \" + \"does not yet exist; use \\\\newcommand\");\n }\n\n var numArgs = 0;\n arg = context.consumeArg().tokens;\n\n if (arg.length === 1 && arg[0].text === \"[\") {\n var argText = '';\n var token = context.expandNextToken();\n\n while (token.text !== \"]\" && token.text !== \"EOF\") {\n // TODO: Should properly expand arg, e.g., ignore {}s\n argText += token.text;\n token = context.expandNextToken();\n }\n\n if (!argText.match(/^\\s*[0-9]+\\s*$/)) {\n throw new src_ParseError(\"Invalid number of arguments: \" + argText);\n }\n\n numArgs = parseInt(argText);\n arg = context.consumeArg().tokens;\n } // Final arg is the expansion of the macro\n\n\n context.macros.set(name, {\n tokens: arg,\n numArgs: numArgs\n });\n return '';\n};\n\ndefineMacro(\"\\\\newcommand\", function (context) {\n return newcommand(context, false, true);\n});\ndefineMacro(\"\\\\renewcommand\", function (context) {\n return newcommand(context, true, false);\n});\ndefineMacro(\"\\\\providecommand\", function (context) {\n return newcommand(context, true, true);\n}); // terminal (console) tools\n\ndefineMacro(\"\\\\message\", function (context) {\n var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.log(arg.reverse().map(function (token) {\n return token.text;\n }).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\errmessage\", function (context) {\n var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.error(arg.reverse().map(function (token) {\n return token.text;\n }).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\show\", function (context) {\n var tok = context.popToken();\n var name = tok.text; // eslint-disable-next-line no-console\n\n console.log(tok, context.macros.get(name), src_functions[name], src_symbols.math[name], src_symbols.text[name]);\n return '';\n}); //////////////////////////////////////////////////////////////////////\n// Grouping\n// \\let\\bgroup={ \\let\\egroup=}\n\ndefineMacro(\"\\\\bgroup\", \"{\");\ndefineMacro(\"\\\\egroup\", \"}\"); // Symbols from latex.ltx:\n// \\def~{\\nobreakspace{}}\n// \\def\\lq{`}\n// \\def\\rq{'}\n// \\def \\aa {\\r a}\n// \\def \\AA {\\r A}\n\ndefineMacro(\"~\", \"\\\\nobreakspace\");\ndefineMacro(\"\\\\lq\", \"`\");\ndefineMacro(\"\\\\rq\", \"'\");\ndefineMacro(\"\\\\aa\", \"\\\\r a\");\ndefineMacro(\"\\\\AA\", \"\\\\r A\"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML.\n// \\DeclareTextCommandDefault{\\textcopyright}{\\textcircled{c}}\n// \\DeclareTextCommandDefault{\\textregistered}{\\textcircled{%\n// \\check@mathfonts\\fontsize\\sf@size\\z@\\math@fontsfalse\\selectfont R}}\n// \\DeclareRobustCommand{\\copyright}{%\n// \\ifmmode{\\nfss@text{\\textcopyright}}\\else\\textcopyright\\fi}\n\ndefineMacro(\"\\\\textcopyright\", \"\\\\html@mathml{\\\\textcircled{c}}{\\\\char`©}\");\ndefineMacro(\"\\\\copyright\", \"\\\\TextOrMath{\\\\textcopyright}{\\\\text{\\\\textcopyright}}\");\ndefineMacro(\"\\\\textregistered\", \"\\\\html@mathml{\\\\textcircled{\\\\scriptsize R}}{\\\\char`®}\"); // Characters omitted from Unicode range 1D400–1D7FF\n\ndefineMacro(\"\\u212C\", \"\\\\mathscr{B}\"); // script\n\ndefineMacro(\"\\u2130\", \"\\\\mathscr{E}\");\ndefineMacro(\"\\u2131\", \"\\\\mathscr{F}\");\ndefineMacro(\"\\u210B\", \"\\\\mathscr{H}\");\ndefineMacro(\"\\u2110\", \"\\\\mathscr{I}\");\ndefineMacro(\"\\u2112\", \"\\\\mathscr{L}\");\ndefineMacro(\"\\u2133\", \"\\\\mathscr{M}\");\ndefineMacro(\"\\u211B\", \"\\\\mathscr{R}\");\ndefineMacro(\"\\u212D\", \"\\\\mathfrak{C}\"); // Fraktur\n\ndefineMacro(\"\\u210C\", \"\\\\mathfrak{H}\");\ndefineMacro(\"\\u2128\", \"\\\\mathfrak{Z}\"); // Define \\Bbbk with a macro that works in both HTML and MathML.\n\ndefineMacro(\"\\\\Bbbk\", \"\\\\Bbb{k}\"); // Unicode middle dot\n// The KaTeX fonts do not contain U+00B7. Instead, \\cdotp displays\n// the dot at U+22C5 and gives it punct spacing.\n\ndefineMacro(\"\\xB7\", \"\\\\cdotp\"); // \\llap and \\rlap render their contents in text mode\n\ndefineMacro(\"\\\\llap\", \"\\\\mathllap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\rlap\", \"\\\\mathrlap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\clap\", \"\\\\mathclap{\\\\textrm{#1}}\"); // \\mathstrut from the TeXbook, p 360\n\ndefineMacro(\"\\\\mathstrut\", \"\\\\vphantom{(}\"); // \\underbar from TeXbook p 353\n\ndefineMacro(\"\\\\underbar\", \"\\\\underline{\\\\text{#1}}\"); // \\not is defined by base/fontmath.ltx via\n// \\DeclareMathSymbol{\\not}{\\mathrel}{symbols}{\"36}\n// It's thus treated like a \\mathrel, but defined by a symbol that has zero\n// width but extends to the right. We use \\rlap to get that spacing.\n// For MathML we write U+0338 here. buildMathML.js will then do the overlay.\n\ndefineMacro(\"\\\\not\", '\\\\html@mathml{\\\\mathrel{\\\\mathrlap\\\\@not}}{\\\\char\"338}'); // Negated symbols from base/fontmath.ltx:\n// \\def\\neq{\\not=} \\let\\ne=\\neq\n// \\DeclareRobustCommand\n// \\notin{\\mathrel{\\m@th\\mathpalette\\c@ncel\\in}}\n// \\def\\c@ncel#1#2{\\m@th\\ooalign{$\\hfil#1\\mkern1mu/\\hfil$\\crcr$#1#2$}}\n\ndefineMacro(\"\\\\neq\", \"\\\\html@mathml{\\\\mathrel{\\\\not=}}{\\\\mathrel{\\\\char`≠}}\");\ndefineMacro(\"\\\\ne\", \"\\\\neq\");\ndefineMacro(\"\\u2260\", \"\\\\neq\");\ndefineMacro(\"\\\\notin\", \"\\\\html@mathml{\\\\mathrel{{\\\\in}\\\\mathllap{/\\\\mskip1mu}}}\" + \"{\\\\mathrel{\\\\char`∉}}\");\ndefineMacro(\"\\u2209\", \"\\\\notin\"); // Unicode stacked relations\n\ndefineMacro(\"\\u2258\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\kern{-1em}\\\\raisebox{0.4em}{$\\\\scriptsize\\\\frown$}}\" + \"}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u2259\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\wedge}{=}}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u225A\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\vee}{=}}{\\\\mathrel{\\\\char`\\u225A}}\");\ndefineMacro(\"\\u225B\", \"\\\\html@mathml{\\\\stackrel{\\\\scriptsize\\\\star}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225B}}\");\ndefineMacro(\"\\u225D\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{def}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225D}}\");\ndefineMacro(\"\\u225E\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{m}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225E}}\");\ndefineMacro(\"\\u225F\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny?}{=}}{\\\\mathrel{\\\\char`\\u225F}}\"); // Misc Unicode\n\ndefineMacro(\"\\u27C2\", \"\\\\perp\");\ndefineMacro(\"\\u203C\", \"\\\\mathclose{!\\\\mkern-0.8mu!}\");\ndefineMacro(\"\\u220C\", \"\\\\notni\");\ndefineMacro(\"\\u231C\", \"\\\\ulcorner\");\ndefineMacro(\"\\u231D\", \"\\\\urcorner\");\ndefineMacro(\"\\u231E\", \"\\\\llcorner\");\ndefineMacro(\"\\u231F\", \"\\\\lrcorner\");\ndefineMacro(\"\\xA9\", \"\\\\copyright\");\ndefineMacro(\"\\xAE\", \"\\\\textregistered\");\ndefineMacro(\"\\uFE0F\", \"\\\\textregistered\"); // The KaTeX fonts have corners at codepoints that don't match Unicode.\n// For MathML purposes, use the Unicode code point.\n\ndefineMacro(\"\\\\ulcorner\", \"\\\\html@mathml{\\\\@ulcorner}{\\\\mathop{\\\\char\\\"231c}}\");\ndefineMacro(\"\\\\urcorner\", \"\\\\html@mathml{\\\\@urcorner}{\\\\mathop{\\\\char\\\"231d}}\");\ndefineMacro(\"\\\\llcorner\", \"\\\\html@mathml{\\\\@llcorner}{\\\\mathop{\\\\char\\\"231e}}\");\ndefineMacro(\"\\\\lrcorner\", \"\\\\html@mathml{\\\\@lrcorner}{\\\\mathop{\\\\char\\\"231f}}\"); //////////////////////////////////////////////////////////////////////\n// LaTeX_2ε\n// \\vdots{\\vbox{\\baselineskip4\\p@ \\lineskiplimit\\z@\n// \\kern6\\p@\\hbox{.}\\hbox{.}\\hbox{.}}}\n// We'll call \\varvdots, which gets a glyph from symbols.js.\n// The zero-width rule gets us an equivalent to the vertical 6pt kern.\n\ndefineMacro(\"\\\\vdots\", \"\\\\mathord{\\\\varvdots\\\\rule{0pt}{15pt}}\");\ndefineMacro(\"\\u22EE\", \"\\\\vdots\"); //////////////////////////////////////////////////////////////////////\n// amsmath.sty\n// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf\n// Italic Greek capital letters. AMS defines these with \\DeclareMathSymbol,\n// but they are equivalent to \\mathit{\\Letter}.\n\ndefineMacro(\"\\\\varGamma\", \"\\\\mathit{\\\\Gamma}\");\ndefineMacro(\"\\\\varDelta\", \"\\\\mathit{\\\\Delta}\");\ndefineMacro(\"\\\\varTheta\", \"\\\\mathit{\\\\Theta}\");\ndefineMacro(\"\\\\varLambda\", \"\\\\mathit{\\\\Lambda}\");\ndefineMacro(\"\\\\varXi\", \"\\\\mathit{\\\\Xi}\");\ndefineMacro(\"\\\\varPi\", \"\\\\mathit{\\\\Pi}\");\ndefineMacro(\"\\\\varSigma\", \"\\\\mathit{\\\\Sigma}\");\ndefineMacro(\"\\\\varUpsilon\", \"\\\\mathit{\\\\Upsilon}\");\ndefineMacro(\"\\\\varPhi\", \"\\\\mathit{\\\\Phi}\");\ndefineMacro(\"\\\\varPsi\", \"\\\\mathit{\\\\Psi}\");\ndefineMacro(\"\\\\varOmega\", \"\\\\mathit{\\\\Omega}\"); //\\newcommand{\\substack}[1]{\\subarray{c}#1\\endsubarray}\n\ndefineMacro(\"\\\\substack\", \"\\\\begin{subarray}{c}#1\\\\end{subarray}\"); // \\renewcommand{\\colon}{\\nobreak\\mskip2mu\\mathpunct{}\\nonscript\n// \\mkern-\\thinmuskip{:}\\mskip6muplus1mu\\relax}\n\ndefineMacro(\"\\\\colon\", \"\\\\nobreak\\\\mskip2mu\\\\mathpunct{}\" + \"\\\\mathchoice{\\\\mkern-3mu}{\\\\mkern-3mu}{}{}{:}\\\\mskip6mu\\\\relax\"); // \\newcommand{\\boxed}[1]{\\fbox{\\m@th$\\displaystyle#1$}}\n\ndefineMacro(\"\\\\boxed\", \"\\\\fbox{$\\\\displaystyle{#1}$}\"); // \\def\\iff{\\DOTSB\\;\\Longleftrightarrow\\;}\n// \\def\\implies{\\DOTSB\\;\\Longrightarrow\\;}\n// \\def\\impliedby{\\DOTSB\\;\\Longleftarrow\\;}\n\ndefineMacro(\"\\\\iff\", \"\\\\DOTSB\\\\;\\\\Longleftrightarrow\\\\;\");\ndefineMacro(\"\\\\implies\", \"\\\\DOTSB\\\\;\\\\Longrightarrow\\\\;\");\ndefineMacro(\"\\\\impliedby\", \"\\\\DOTSB\\\\;\\\\Longleftarrow\\\\;\"); // AMSMath's automatic \\dots, based on \\mdots@@ macro.\n\nvar dotsByToken = {\n ',': '\\\\dotsc',\n '\\\\not': '\\\\dotsb',\n // \\keybin@ checks for the following:\n '+': '\\\\dotsb',\n '=': '\\\\dotsb',\n '<': '\\\\dotsb',\n '>': '\\\\dotsb',\n '-': '\\\\dotsb',\n '*': '\\\\dotsb',\n ':': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSB:\n '\\\\DOTSB': '\\\\dotsb',\n '\\\\coprod': '\\\\dotsb',\n '\\\\bigvee': '\\\\dotsb',\n '\\\\bigwedge': '\\\\dotsb',\n '\\\\biguplus': '\\\\dotsb',\n '\\\\bigcap': '\\\\dotsb',\n '\\\\bigcup': '\\\\dotsb',\n '\\\\prod': '\\\\dotsb',\n '\\\\sum': '\\\\dotsb',\n '\\\\bigotimes': '\\\\dotsb',\n '\\\\bigoplus': '\\\\dotsb',\n '\\\\bigodot': '\\\\dotsb',\n '\\\\bigsqcup': '\\\\dotsb',\n '\\\\And': '\\\\dotsb',\n '\\\\longrightarrow': '\\\\dotsb',\n '\\\\Longrightarrow': '\\\\dotsb',\n '\\\\longleftarrow': '\\\\dotsb',\n '\\\\Longleftarrow': '\\\\dotsb',\n '\\\\longleftrightarrow': '\\\\dotsb',\n '\\\\Longleftrightarrow': '\\\\dotsb',\n '\\\\mapsto': '\\\\dotsb',\n '\\\\longmapsto': '\\\\dotsb',\n '\\\\hookrightarrow': '\\\\dotsb',\n '\\\\doteq': '\\\\dotsb',\n // Symbols whose definition starts with \\mathbin:\n '\\\\mathbin': '\\\\dotsb',\n // Symbols whose definition starts with \\mathrel:\n '\\\\mathrel': '\\\\dotsb',\n '\\\\relbar': '\\\\dotsb',\n '\\\\Relbar': '\\\\dotsb',\n '\\\\xrightarrow': '\\\\dotsb',\n '\\\\xleftarrow': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSI:\n '\\\\DOTSI': '\\\\dotsi',\n '\\\\int': '\\\\dotsi',\n '\\\\oint': '\\\\dotsi',\n '\\\\iint': '\\\\dotsi',\n '\\\\iiint': '\\\\dotsi',\n '\\\\iiiint': '\\\\dotsi',\n '\\\\idotsint': '\\\\dotsi',\n // Symbols whose definition starts with \\DOTSX:\n '\\\\DOTSX': '\\\\dotsx'\n};\ndefineMacro(\"\\\\dots\", function (context) {\n // TODO: If used in text mode, should expand to \\textellipsis.\n // However, in KaTeX, \\textellipsis and \\ldots behave the same\n // (in text mode), and it's unlikely we'd see any of the math commands\n // that affect the behavior of \\dots when in text mode. So fine for now\n // (until we support \\ifmmode ... \\else ... \\fi).\n var thedots = '\\\\dotso';\n var next = context.expandAfterFuture().text;\n\n if (next in dotsByToken) {\n thedots = dotsByToken[next];\n } else if (next.slice(0, 4) === '\\\\not') {\n thedots = '\\\\dotsb';\n } else if (next in src_symbols.math) {\n if (utils.contains(['bin', 'rel'], src_symbols.math[next].group)) {\n thedots = '\\\\dotsb';\n }\n }\n\n return thedots;\n});\nvar spaceAfterDots = {\n // \\rightdelim@ checks for the following:\n ')': true,\n ']': true,\n '\\\\rbrack': true,\n '\\\\}': true,\n '\\\\rbrace': true,\n '\\\\rangle': true,\n '\\\\rceil': true,\n '\\\\rfloor': true,\n '\\\\rgroup': true,\n '\\\\rmoustache': true,\n '\\\\right': true,\n '\\\\bigr': true,\n '\\\\biggr': true,\n '\\\\Bigr': true,\n '\\\\Biggr': true,\n // \\extra@ also tests for the following:\n '$': true,\n // \\extrap@ checks for the following:\n ';': true,\n '.': true,\n ',': true\n};\ndefineMacro(\"\\\\dotso\", function (context) {\n var next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\dotsc\", function (context) {\n var next = context.future().text; // \\dotsc uses \\extra@ but not \\extrap@, instead specially checking for\n // ';' and '.', but doesn't check for ','.\n\n if (next in spaceAfterDots && next !== ',') {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\cdots\", function (context) {\n var next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\@cdots\\\\,\";\n } else {\n return \"\\\\@cdots\";\n }\n});\ndefineMacro(\"\\\\dotsb\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsm\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsi\", \"\\\\!\\\\cdots\"); // amsmath doesn't actually define \\dotsx, but \\dots followed by a macro\n// starting with \\DOTSX implies \\dotso, and then \\extra@ detects this case\n// and forces the added `\\,`.\n\ndefineMacro(\"\\\\dotsx\", \"\\\\ldots\\\\,\"); // \\let\\DOTSI\\relax\n// \\let\\DOTSB\\relax\n// \\let\\DOTSX\\relax\n\ndefineMacro(\"\\\\DOTSI\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSB\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSX\", \"\\\\relax\"); // Spacing, based on amsmath.sty's override of LaTeX defaults\n// \\DeclareRobustCommand{\\tmspace}[3]{%\n// \\ifmmode\\mskip#1#2\\else\\kern#1#3\\fi\\relax}\n\ndefineMacro(\"\\\\tmspace\", \"\\\\TextOrMath{\\\\kern#1#3}{\\\\mskip#1#2}\\\\relax\"); // \\renewcommand{\\,}{\\tmspace+\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\,\", \"\\\\tmspace+{3mu}{.1667em}\"); // \\let\\thinspace\\,\n\ndefineMacro(\"\\\\thinspace\", \"\\\\,\"); // \\def\\>{\\mskip\\medmuskip}\n// \\renewcommand{\\:}{\\tmspace+\\medmuskip{.2222em}}\n// TODO: \\> and math mode of \\: should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\>\", \"\\\\mskip{4mu}\");\ndefineMacro(\"\\\\:\", \"\\\\tmspace+{4mu}{.2222em}\"); // \\let\\medspace\\:\n\ndefineMacro(\"\\\\medspace\", \"\\\\:\"); // \\renewcommand{\\;}{\\tmspace+\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip = 5mu plus 5mu\n\ndefineMacro(\"\\\\;\", \"\\\\tmspace+{5mu}{.2777em}\"); // \\let\\thickspace\\;\n\ndefineMacro(\"\\\\thickspace\", \"\\\\;\"); // \\renewcommand{\\!}{\\tmspace-\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\!\", \"\\\\tmspace-{3mu}{.1667em}\"); // \\let\\negthinspace\\!\n\ndefineMacro(\"\\\\negthinspace\", \"\\\\!\"); // \\newcommand{\\negmedspace}{\\tmspace-\\medmuskip{.2222em}}\n// TODO: math mode should use \\medmuskip\n\ndefineMacro(\"\\\\negmedspace\", \"\\\\tmspace-{4mu}{.2222em}\"); // \\newcommand{\\negthickspace}{\\tmspace-\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip\n\ndefineMacro(\"\\\\negthickspace\", \"\\\\tmspace-{5mu}{.277em}\"); // \\def\\enspace{\\kern.5em }\n\ndefineMacro(\"\\\\enspace\", \"\\\\kern.5em \"); // \\def\\enskip{\\hskip.5em\\relax}\n\ndefineMacro(\"\\\\enskip\", \"\\\\hskip.5em\\\\relax\"); // \\def\\quad{\\hskip1em\\relax}\n\ndefineMacro(\"\\\\quad\", \"\\\\hskip1em\\\\relax\"); // \\def\\qquad{\\hskip2em\\relax}\n\ndefineMacro(\"\\\\qquad\", \"\\\\hskip2em\\\\relax\"); // \\tag@in@display form of \\tag\n\ndefineMacro(\"\\\\tag\", \"\\\\@ifstar\\\\tag@literal\\\\tag@paren\");\ndefineMacro(\"\\\\tag@paren\", \"\\\\tag@literal{({#1})}\");\ndefineMacro(\"\\\\tag@literal\", function (context) {\n if (context.macros.get(\"\\\\df@tag\")) {\n throw new src_ParseError(\"Multiple \\\\tag\");\n }\n\n return \"\\\\gdef\\\\df@tag{\\\\text{#1}}\";\n}); // \\renewcommand{\\bmod}{\\nonscript\\mskip-\\medmuskip\\mkern5mu\\mathbin\n// {\\operator@font mod}\\penalty900\n// \\mkern5mu\\nonscript\\mskip-\\medmuskip}\n// \\newcommand{\\pod}[1]{\\allowbreak\n// \\if@display\\mkern18mu\\else\\mkern8mu\\fi(#1)}\n// \\renewcommand{\\pmod}[1]{\\pod{{\\operator@font mod}\\mkern6mu#1}}\n// \\newcommand{\\mod}[1]{\\allowbreak\\if@display\\mkern18mu\n// \\else\\mkern12mu\\fi{\\operator@font mod}\\,\\,#1}\n// TODO: math mode should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\bmod\", \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\" + \"\\\\mathbin{\\\\rm mod}\" + \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\");\ndefineMacro(\"\\\\pod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern8mu}{\\\\mkern8mu}{\\\\mkern8mu}(#1)\");\ndefineMacro(\"\\\\pmod\", \"\\\\pod{{\\\\rm mod}\\\\mkern6mu#1}\");\ndefineMacro(\"\\\\mod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern12mu}{\\\\mkern12mu}{\\\\mkern12mu}\" + \"{\\\\rm mod}\\\\,\\\\,#1\"); //////////////////////////////////////////////////////////////////////\n// LaTeX source2e\n// \\expandafter\\let\\expandafter\\@normalcr\n// \\csname\\expandafter\\@gobble\\string\\\\ \\endcsname\n// \\DeclareRobustCommand\\newline{\\@normalcr\\relax}\n\ndefineMacro(\"\\\\newline\", \"\\\\\\\\\\\\relax\"); // \\def\\TeX{T\\kern-.1667em\\lower.5ex\\hbox{E}\\kern-.125emX\\@}\n// TODO: Doesn't normally work in math mode because \\@ fails. KaTeX doesn't\n// support \\@ yet, so that's omitted, and we add \\text so that the result\n// doesn't look funny in math mode.\n\ndefineMacro(\"\\\\TeX\", \"\\\\textrm{\\\\html@mathml{\" + \"T\\\\kern-.1667em\\\\raisebox{-.5ex}{E}\\\\kern-.125emX\" + \"}{TeX}}\"); // \\DeclareRobustCommand{\\LaTeX}{L\\kern-.36em%\n// {\\sbox\\z@ T%\n// \\vbox to\\ht\\z@{\\hbox{\\check@mathfonts\n// \\fontsize\\sf@size\\z@\n// \\math@fontsfalse\\selectfont\n// A}%\n// \\vss}%\n// }%\n// \\kern-.15em%\n// \\TeX}\n// This code aligns the top of the A with the T (from the perspective of TeX's\n// boxes, though visually the A appears to extend above slightly).\n// We compute the corresponding \\raisebox when A is rendered in \\normalsize\n// \\scriptstyle, which has a scale factor of 0.7 (see Options.js).\n\nvar latexRaiseA = makeEm(fontMetricsData[\"Main-Regular\"][\"T\".charCodeAt(0)][1] - 0.7 * fontMetricsData[\"Main-Regular\"][\"A\".charCodeAt(0)][1]);\ndefineMacro(\"\\\\LaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"L\\\\kern-.36em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{LaTeX}}\"); // New KaTeX logo based on tweaking LaTeX logo\n\ndefineMacro(\"\\\\KaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"K\\\\kern-.17em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{KaTeX}}\"); // \\DeclareRobustCommand\\hspace{\\@ifstar\\@hspacer\\@hspace}\n// \\def\\@hspace#1{\\hskip #1\\relax}\n// \\def\\@hspacer#1{\\vrule \\@width\\z@\\nobreak\n// \\hskip #1\\hskip \\z@skip}\n\ndefineMacro(\"\\\\hspace\", \"\\\\@ifstar\\\\@hspacer\\\\@hspace\");\ndefineMacro(\"\\\\@hspace\", \"\\\\hskip #1\\\\relax\");\ndefineMacro(\"\\\\@hspacer\", \"\\\\rule{0pt}{0pt}\\\\hskip #1\\\\relax\"); //////////////////////////////////////////////////////////////////////\n// mathtools.sty\n//\\providecommand\\ordinarycolon{:}\n\ndefineMacro(\"\\\\ordinarycolon\", \":\"); //\\def\\vcentcolon{\\mathrel{\\mathop\\ordinarycolon}}\n//TODO(edemaine): Not yet centered. Fix via \\raisebox or #726\n\ndefineMacro(\"\\\\vcentcolon\", \"\\\\mathrel{\\\\mathop\\\\ordinarycolon}\"); // \\providecommand*\\dblcolon{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}\n\ndefineMacro(\"\\\\dblcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-.9mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2237}}\"); // \\providecommand*\\coloneqq{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2254}}\"); // ≔\n// \\providecommand*\\Coloneqq{\\dblcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\Coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"3d}}\"); // \\providecommand*\\coloneq{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2212}}\"); // \\providecommand*\\Coloneq{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\Coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2212}}\"); // \\providecommand*\\eqqcolon{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2255}}\"); // ≕\n// \\providecommand*\\Eqqcolon{=\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"3d\\\\char\\\"2237}}\"); // \\providecommand*\\eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2239}}\"); // \\providecommand*\\Eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"2212\\\\char\\\"2237}}\"); // \\providecommand*\\colonapprox{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2248}}\"); // \\providecommand*\\Colonapprox{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\Colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2248}}\"); // \\providecommand*\\colonsim{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"223c}}\"); // \\providecommand*\\Colonsim{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\Colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"223c}}\"); // Some Unicode characters are implemented with macros to mathtools functions.\n\ndefineMacro(\"\\u2237\", \"\\\\dblcolon\"); // ::\n\ndefineMacro(\"\\u2239\", \"\\\\eqcolon\"); // -:\n\ndefineMacro(\"\\u2254\", \"\\\\coloneqq\"); // :=\n\ndefineMacro(\"\\u2255\", \"\\\\eqqcolon\"); // =:\n\ndefineMacro(\"\\u2A74\", \"\\\\Coloneqq\"); // ::=\n//////////////////////////////////////////////////////////////////////\n// colonequals.sty\n// Alternate names for mathtools's macros:\n\ndefineMacro(\"\\\\ratio\", \"\\\\vcentcolon\");\ndefineMacro(\"\\\\coloncolon\", \"\\\\dblcolon\");\ndefineMacro(\"\\\\colonequals\", \"\\\\coloneqq\");\ndefineMacro(\"\\\\coloncolonequals\", \"\\\\Coloneqq\");\ndefineMacro(\"\\\\equalscolon\", \"\\\\eqqcolon\");\ndefineMacro(\"\\\\equalscoloncolon\", \"\\\\Eqqcolon\");\ndefineMacro(\"\\\\colonminus\", \"\\\\coloneq\");\ndefineMacro(\"\\\\coloncolonminus\", \"\\\\Coloneq\");\ndefineMacro(\"\\\\minuscolon\", \"\\\\eqcolon\");\ndefineMacro(\"\\\\minuscoloncolon\", \"\\\\Eqcolon\"); // \\colonapprox name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonapprox\", \"\\\\Colonapprox\"); // \\colonsim name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonsim\", \"\\\\Colonsim\"); // Additional macros, implemented by analogy with mathtools definitions:\n\ndefineMacro(\"\\\\simcolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\simcoloncolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\");\ndefineMacro(\"\\\\approxcolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\approxcoloncolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\"); // Present in newtxmath, pxfonts and txfonts\n\ndefineMacro(\"\\\\notni\", \"\\\\html@mathml{\\\\not\\\\ni}{\\\\mathrel{\\\\char`\\u220C}}\");\ndefineMacro(\"\\\\limsup\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,sup}\");\ndefineMacro(\"\\\\liminf\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,inf}\"); //////////////////////////////////////////////////////////////////////\n// From amsopn.sty\n\ndefineMacro(\"\\\\injlim\", \"\\\\DOTSB\\\\operatorname*{inj\\\\,lim}\");\ndefineMacro(\"\\\\projlim\", \"\\\\DOTSB\\\\operatorname*{proj\\\\,lim}\");\ndefineMacro(\"\\\\varlimsup\", \"\\\\DOTSB\\\\operatorname*{\\\\overline{lim}}\");\ndefineMacro(\"\\\\varliminf\", \"\\\\DOTSB\\\\operatorname*{\\\\underline{lim}}\");\ndefineMacro(\"\\\\varinjlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underrightarrow{lim}}\");\ndefineMacro(\"\\\\varprojlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underleftarrow{lim}}\"); //////////////////////////////////////////////////////////////////////\n// MathML alternates for KaTeX glyphs in the Unicode private area\n\ndefineMacro(\"\\\\gvertneqq\", \"\\\\html@mathml{\\\\@gvertneqq}{\\u2269}\");\ndefineMacro(\"\\\\lvertneqq\", \"\\\\html@mathml{\\\\@lvertneqq}{\\u2268}\");\ndefineMacro(\"\\\\ngeqq\", \"\\\\html@mathml{\\\\@ngeqq}{\\u2271}\");\ndefineMacro(\"\\\\ngeqslant\", \"\\\\html@mathml{\\\\@ngeqslant}{\\u2271}\");\ndefineMacro(\"\\\\nleqq\", \"\\\\html@mathml{\\\\@nleqq}{\\u2270}\");\ndefineMacro(\"\\\\nleqslant\", \"\\\\html@mathml{\\\\@nleqslant}{\\u2270}\");\ndefineMacro(\"\\\\nshortmid\", \"\\\\html@mathml{\\\\@nshortmid}{∤}\");\ndefineMacro(\"\\\\nshortparallel\", \"\\\\html@mathml{\\\\@nshortparallel}{∦}\");\ndefineMacro(\"\\\\nsubseteqq\", \"\\\\html@mathml{\\\\@nsubseteqq}{\\u2288}\");\ndefineMacro(\"\\\\nsupseteqq\", \"\\\\html@mathml{\\\\@nsupseteqq}{\\u2289}\");\ndefineMacro(\"\\\\varsubsetneq\", \"\\\\html@mathml{\\\\@varsubsetneq}{⊊}\");\ndefineMacro(\"\\\\varsubsetneqq\", \"\\\\html@mathml{\\\\@varsubsetneqq}{⫋}\");\ndefineMacro(\"\\\\varsupsetneq\", \"\\\\html@mathml{\\\\@varsupsetneq}{⊋}\");\ndefineMacro(\"\\\\varsupsetneqq\", \"\\\\html@mathml{\\\\@varsupsetneqq}{⫌}\");\ndefineMacro(\"\\\\imath\", \"\\\\html@mathml{\\\\@imath}{\\u0131}\");\ndefineMacro(\"\\\\jmath\", \"\\\\html@mathml{\\\\@jmath}{\\u0237}\"); //////////////////////////////////////////////////////////////////////\n// stmaryrd and semantic\n// The stmaryrd and semantic packages render the next four items by calling a\n// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros.\n\ndefineMacro(\"\\\\llbracket\", \"\\\\html@mathml{\" + \"\\\\mathopen{[\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u27E6}}\");\ndefineMacro(\"\\\\rrbracket\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu]}}\" + \"{\\\\mathclose{\\\\char`\\u27E7}}\");\ndefineMacro(\"\\u27E6\", \"\\\\llbracket\"); // blackboard bold [\n\ndefineMacro(\"\\u27E7\", \"\\\\rrbracket\"); // blackboard bold ]\n\ndefineMacro(\"\\\\lBrace\", \"\\\\html@mathml{\" + \"\\\\mathopen{\\\\{\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u2983}}\");\ndefineMacro(\"\\\\rBrace\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu\\\\}}}\" + \"{\\\\mathclose{\\\\char`\\u2984}}\");\ndefineMacro(\"\\u2983\", \"\\\\lBrace\"); // blackboard bold {\n\ndefineMacro(\"\\u2984\", \"\\\\rBrace\"); // blackboard bold }\n// TODO: Create variable sized versions of the last two items. I believe that\n// will require new font glyphs.\n// The stmaryrd function `\\minuso` provides a \"Plimsoll\" symbol that\n// superimposes the characters \\circ and \\mathminus. Used in chemistry.\n\ndefineMacro(\"\\\\minuso\", \"\\\\mathbin{\\\\html@mathml{\" + \"{\\\\mathrlap{\\\\mathchoice{\\\\kern{0.145em}}{\\\\kern{0.145em}}\" + \"{\\\\kern{0.1015em}}{\\\\kern{0.0725em}}\\\\circ}{-}}}\" + \"{\\\\char`⦵}}\");\ndefineMacro(\"⦵\", \"\\\\minuso\"); //////////////////////////////////////////////////////////////////////\n// texvc.sty\n// The texvc package contains macros available in mediawiki pages.\n// We omit the functions deprecated at\n// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax\n// We also omit texvc's \\O, which conflicts with \\text{\\O}\n\ndefineMacro(\"\\\\darr\", \"\\\\downarrow\");\ndefineMacro(\"\\\\dArr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\Darr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\lang\", \"\\\\langle\");\ndefineMacro(\"\\\\rang\", \"\\\\rangle\");\ndefineMacro(\"\\\\uarr\", \"\\\\uparrow\");\ndefineMacro(\"\\\\uArr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\Uarr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\N\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\R\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Z\", \"\\\\mathbb{Z}\");\ndefineMacro(\"\\\\alef\", \"\\\\aleph\");\ndefineMacro(\"\\\\alefsym\", \"\\\\aleph\");\ndefineMacro(\"\\\\Alpha\", \"\\\\mathrm{A}\");\ndefineMacro(\"\\\\Beta\", \"\\\\mathrm{B}\");\ndefineMacro(\"\\\\bull\", \"\\\\bullet\");\ndefineMacro(\"\\\\Chi\", \"\\\\mathrm{X}\");\ndefineMacro(\"\\\\clubs\", \"\\\\clubsuit\");\ndefineMacro(\"\\\\cnums\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Complex\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Dagger\", \"\\\\ddagger\");\ndefineMacro(\"\\\\diamonds\", \"\\\\diamondsuit\");\ndefineMacro(\"\\\\empty\", \"\\\\emptyset\");\ndefineMacro(\"\\\\Epsilon\", \"\\\\mathrm{E}\");\ndefineMacro(\"\\\\Eta\", \"\\\\mathrm{H}\");\ndefineMacro(\"\\\\exist\", \"\\\\exists\");\ndefineMacro(\"\\\\harr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\hArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Harr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\hearts\", \"\\\\heartsuit\");\ndefineMacro(\"\\\\image\", \"\\\\Im\");\ndefineMacro(\"\\\\infin\", \"\\\\infty\");\ndefineMacro(\"\\\\Iota\", \"\\\\mathrm{I}\");\ndefineMacro(\"\\\\isin\", \"\\\\in\");\ndefineMacro(\"\\\\Kappa\", \"\\\\mathrm{K}\");\ndefineMacro(\"\\\\larr\", \"\\\\leftarrow\");\ndefineMacro(\"\\\\lArr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\Larr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\lrarr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\lrArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Lrarr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Mu\", \"\\\\mathrm{M}\");\ndefineMacro(\"\\\\natnums\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\Nu\", \"\\\\mathrm{N}\");\ndefineMacro(\"\\\\Omicron\", \"\\\\mathrm{O}\");\ndefineMacro(\"\\\\plusmn\", \"\\\\pm\");\ndefineMacro(\"\\\\rarr\", \"\\\\rightarrow\");\ndefineMacro(\"\\\\rArr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\Rarr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\real\", \"\\\\Re\");\ndefineMacro(\"\\\\reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Rho\", \"\\\\mathrm{P}\");\ndefineMacro(\"\\\\sdot\", \"\\\\cdot\");\ndefineMacro(\"\\\\sect\", \"\\\\S\");\ndefineMacro(\"\\\\spades\", \"\\\\spadesuit\");\ndefineMacro(\"\\\\sub\", \"\\\\subset\");\ndefineMacro(\"\\\\sube\", \"\\\\subseteq\");\ndefineMacro(\"\\\\supe\", \"\\\\supseteq\");\ndefineMacro(\"\\\\Tau\", \"\\\\mathrm{T}\");\ndefineMacro(\"\\\\thetasym\", \"\\\\vartheta\"); // TODO: defineMacro(\"\\\\varcoppa\", \"\\\\\\mbox{\\\\coppa}\");\n\ndefineMacro(\"\\\\weierp\", \"\\\\wp\");\ndefineMacro(\"\\\\Zeta\", \"\\\\mathrm{Z}\"); //////////////////////////////////////////////////////////////////////\n// statmath.sty\n// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf\n\ndefineMacro(\"\\\\argmin\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,min}\");\ndefineMacro(\"\\\\argmax\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,max}\");\ndefineMacro(\"\\\\plim\", \"\\\\DOTSB\\\\mathop{\\\\operatorname{plim}}\\\\limits\"); //////////////////////////////////////////////////////////////////////\n// braket.sty\n// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf\n\ndefineMacro(\"\\\\bra\", \"\\\\mathinner{\\\\langle{#1}|}\");\ndefineMacro(\"\\\\ket\", \"\\\\mathinner{|{#1}\\\\rangle}\");\ndefineMacro(\"\\\\braket\", \"\\\\mathinner{\\\\langle{#1}\\\\rangle}\");\ndefineMacro(\"\\\\Bra\", \"\\\\left\\\\langle#1\\\\right|\");\ndefineMacro(\"\\\\Ket\", \"\\\\left|#1\\\\right\\\\rangle\");\n\nvar braketHelper = function braketHelper(one) {\n return function (context) {\n var left = context.consumeArg().tokens;\n var middle = context.consumeArg().tokens;\n var middleDouble = context.consumeArg().tokens;\n var right = context.consumeArg().tokens;\n var oldMiddle = context.macros.get(\"|\");\n var oldMiddleDouble = context.macros.get(\"\\\\|\");\n context.macros.beginGroup();\n\n var midMacro = function midMacro(double) {\n return function (context) {\n if (one) {\n // Only modify the first instance of | or \\|\n context.macros.set(\"|\", oldMiddle);\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", oldMiddleDouble);\n }\n }\n\n var doubled = double;\n\n if (!double && middleDouble.length) {\n // Mimic \\@ifnextchar\n var nextToken = context.future();\n\n if (nextToken.text === \"|\") {\n context.popToken();\n doubled = true;\n }\n }\n\n return {\n tokens: doubled ? middleDouble : middle,\n numArgs: 0\n };\n };\n };\n\n context.macros.set(\"|\", midMacro(false));\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", midMacro(true));\n }\n\n var arg = context.consumeArg().tokens;\n var expanded = context.expandTokens([].concat(right, arg, left));\n context.macros.endGroup();\n return {\n tokens: expanded.reverse(),\n numArgs: 0\n };\n };\n};\n\ndefineMacro(\"\\\\bra@ket\", braketHelper(false));\ndefineMacro(\"\\\\bra@set\", braketHelper(true));\ndefineMacro(\"\\\\Braket\", \"\\\\bra@ket{\\\\left\\\\langle}\" + \"{\\\\,\\\\middle\\\\vert\\\\,}{\\\\,\\\\middle\\\\vert\\\\,}{\\\\right\\\\rangle}\");\ndefineMacro(\"\\\\Set\", \"\\\\bra@set{\\\\left\\\\{\\\\:}\" + \"{\\\\;\\\\middle\\\\vert\\\\;}{\\\\;\\\\middle\\\\Vert\\\\;}{\\\\:\\\\right\\\\}}\");\ndefineMacro(\"\\\\set\", \"\\\\bra@set{\\\\{\\\\,}{\\\\mid}{}{\\\\,\\\\}}\"); // has no support for special || or \\|\n//////////////////////////////////////////////////////////////////////\n// actuarialangle.dtx\n\ndefineMacro(\"\\\\angln\", \"{\\\\angl n}\"); // Custom Khan Academy colors, should be moved to an optional package\n\ndefineMacro(\"\\\\blue\", \"\\\\textcolor{##6495ed}{#1}\");\ndefineMacro(\"\\\\orange\", \"\\\\textcolor{##ffa500}{#1}\");\ndefineMacro(\"\\\\pink\", \"\\\\textcolor{##ff00af}{#1}\");\ndefineMacro(\"\\\\red\", \"\\\\textcolor{##df0030}{#1}\");\ndefineMacro(\"\\\\green\", \"\\\\textcolor{##28ae7b}{#1}\");\ndefineMacro(\"\\\\gray\", \"\\\\textcolor{gray}{#1}\");\ndefineMacro(\"\\\\purple\", \"\\\\textcolor{##9d38bd}{#1}\");\ndefineMacro(\"\\\\blueA\", \"\\\\textcolor{##ccfaff}{#1}\");\ndefineMacro(\"\\\\blueB\", \"\\\\textcolor{##80f6ff}{#1}\");\ndefineMacro(\"\\\\blueC\", \"\\\\textcolor{##63d9ea}{#1}\");\ndefineMacro(\"\\\\blueD\", \"\\\\textcolor{##11accd}{#1}\");\ndefineMacro(\"\\\\blueE\", \"\\\\textcolor{##0c7f99}{#1}\");\ndefineMacro(\"\\\\tealA\", \"\\\\textcolor{##94fff5}{#1}\");\ndefineMacro(\"\\\\tealB\", \"\\\\textcolor{##26edd5}{#1}\");\ndefineMacro(\"\\\\tealC\", \"\\\\textcolor{##01d1c1}{#1}\");\ndefineMacro(\"\\\\tealD\", \"\\\\textcolor{##01a995}{#1}\");\ndefineMacro(\"\\\\tealE\", \"\\\\textcolor{##208170}{#1}\");\ndefineMacro(\"\\\\greenA\", \"\\\\textcolor{##b6ffb0}{#1}\");\ndefineMacro(\"\\\\greenB\", \"\\\\textcolor{##8af281}{#1}\");\ndefineMacro(\"\\\\greenC\", \"\\\\textcolor{##74cf70}{#1}\");\ndefineMacro(\"\\\\greenD\", \"\\\\textcolor{##1fab54}{#1}\");\ndefineMacro(\"\\\\greenE\", \"\\\\textcolor{##0d923f}{#1}\");\ndefineMacro(\"\\\\goldA\", \"\\\\textcolor{##ffd0a9}{#1}\");\ndefineMacro(\"\\\\goldB\", \"\\\\textcolor{##ffbb71}{#1}\");\ndefineMacro(\"\\\\goldC\", \"\\\\textcolor{##ff9c39}{#1}\");\ndefineMacro(\"\\\\goldD\", \"\\\\textcolor{##e07d10}{#1}\");\ndefineMacro(\"\\\\goldE\", \"\\\\textcolor{##a75a05}{#1}\");\ndefineMacro(\"\\\\redA\", \"\\\\textcolor{##fca9a9}{#1}\");\ndefineMacro(\"\\\\redB\", \"\\\\textcolor{##ff8482}{#1}\");\ndefineMacro(\"\\\\redC\", \"\\\\textcolor{##f9685d}{#1}\");\ndefineMacro(\"\\\\redD\", \"\\\\textcolor{##e84d39}{#1}\");\ndefineMacro(\"\\\\redE\", \"\\\\textcolor{##bc2612}{#1}\");\ndefineMacro(\"\\\\maroonA\", \"\\\\textcolor{##ffbde0}{#1}\");\ndefineMacro(\"\\\\maroonB\", \"\\\\textcolor{##ff92c6}{#1}\");\ndefineMacro(\"\\\\maroonC\", \"\\\\textcolor{##ed5fa6}{#1}\");\ndefineMacro(\"\\\\maroonD\", \"\\\\textcolor{##ca337c}{#1}\");\ndefineMacro(\"\\\\maroonE\", \"\\\\textcolor{##9e034e}{#1}\");\ndefineMacro(\"\\\\purpleA\", \"\\\\textcolor{##ddd7ff}{#1}\");\ndefineMacro(\"\\\\purpleB\", \"\\\\textcolor{##c6b9fc}{#1}\");\ndefineMacro(\"\\\\purpleC\", \"\\\\textcolor{##aa87ff}{#1}\");\ndefineMacro(\"\\\\purpleD\", \"\\\\textcolor{##7854ab}{#1}\");\ndefineMacro(\"\\\\purpleE\", \"\\\\textcolor{##543b78}{#1}\");\ndefineMacro(\"\\\\mintA\", \"\\\\textcolor{##f5f9e8}{#1}\");\ndefineMacro(\"\\\\mintB\", \"\\\\textcolor{##edf2df}{#1}\");\ndefineMacro(\"\\\\mintC\", \"\\\\textcolor{##e0e5cc}{#1}\");\ndefineMacro(\"\\\\grayA\", \"\\\\textcolor{##f6f7f7}{#1}\");\ndefineMacro(\"\\\\grayB\", \"\\\\textcolor{##f0f1f2}{#1}\");\ndefineMacro(\"\\\\grayC\", \"\\\\textcolor{##e3e5e6}{#1}\");\ndefineMacro(\"\\\\grayD\", \"\\\\textcolor{##d6d8da}{#1}\");\ndefineMacro(\"\\\\grayE\", \"\\\\textcolor{##babec2}{#1}\");\ndefineMacro(\"\\\\grayF\", \"\\\\textcolor{##888d93}{#1}\");\ndefineMacro(\"\\\\grayG\", \"\\\\textcolor{##626569}{#1}\");\ndefineMacro(\"\\\\grayH\", \"\\\\textcolor{##3b3e40}{#1}\");\ndefineMacro(\"\\\\grayI\", \"\\\\textcolor{##21242c}{#1}\");\ndefineMacro(\"\\\\kaBlue\", \"\\\\textcolor{##314453}{#1}\");\ndefineMacro(\"\\\\kaGreen\", \"\\\\textcolor{##71B307}{#1}\");\n;// CONCATENATED MODULE: ./src/MacroExpander.js\n/**\n * This file contains the “gullet” where macros are expanded\n * until only non-macro tokens remain.\n */\n\n\n\n\n\n\n\n// List of commands that act like macros but aren't defined as a macro,\n// function, or symbol. Used in `isDefined`.\nvar implicitCommands = {\n \"^\": true,\n // Parser.js\n \"_\": true,\n // Parser.js\n \"\\\\limits\": true,\n // Parser.js\n \"\\\\nolimits\": true // Parser.js\n\n};\n\nvar MacroExpander = /*#__PURE__*/function () {\n function MacroExpander(input, settings, mode) {\n this.settings = void 0;\n this.expansionCount = void 0;\n this.lexer = void 0;\n this.macros = void 0;\n this.stack = void 0;\n this.mode = void 0;\n this.settings = settings;\n this.expansionCount = 0;\n this.feed(input); // Make new global namespace\n\n this.macros = new Namespace(src_macros, settings.macros);\n this.mode = mode;\n this.stack = []; // contains tokens in REVERSE order\n }\n /**\n * Feed a new input string to the same MacroExpander\n * (with existing macros etc.).\n */\n\n\n var _proto = MacroExpander.prototype;\n\n _proto.feed = function feed(input) {\n this.lexer = new Lexer(input, this.settings);\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n ;\n\n _proto.switchMode = function switchMode(newMode) {\n this.mode = newMode;\n }\n /**\n * Start a new group nesting within all namespaces.\n */\n ;\n\n _proto.beginGroup = function beginGroup() {\n this.macros.beginGroup();\n }\n /**\n * End current group nesting within all namespaces.\n */\n ;\n\n _proto.endGroup = function endGroup() {\n this.macros.endGroup();\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n ;\n\n _proto.endGroups = function endGroups() {\n this.macros.endGroups();\n }\n /**\n * Returns the topmost token on the stack, without expanding it.\n * Similar in behavior to TeX's `\\futurelet`.\n */\n ;\n\n _proto.future = function future() {\n if (this.stack.length === 0) {\n this.pushToken(this.lexer.lex());\n }\n\n return this.stack[this.stack.length - 1];\n }\n /**\n * Remove and return the next unexpanded token.\n */\n ;\n\n _proto.popToken = function popToken() {\n this.future(); // ensure non-empty stack\n\n return this.stack.pop();\n }\n /**\n * Add a given token to the token stack. In particular, this get be used\n * to put back a token returned from one of the other methods.\n */\n ;\n\n _proto.pushToken = function pushToken(token) {\n this.stack.push(token);\n }\n /**\n * Append an array of tokens to the token stack.\n */\n ;\n\n _proto.pushTokens = function pushTokens(tokens) {\n var _this$stack;\n\n (_this$stack = this.stack).push.apply(_this$stack, tokens);\n }\n /**\n * Find an macro argument without expanding tokens and append the array of\n * tokens to the token stack. Uses Token as a container for the result.\n */\n ;\n\n _proto.scanArgument = function scanArgument(isOptional) {\n var start;\n var end;\n var tokens;\n\n if (isOptional) {\n this.consumeSpaces(); // \\@ifnextchar gobbles any space following it\n\n if (this.future().text !== \"[\") {\n return null;\n }\n\n start = this.popToken(); // don't include [ in tokens\n\n var _this$consumeArg = this.consumeArg([\"]\"]);\n\n tokens = _this$consumeArg.tokens;\n end = _this$consumeArg.end;\n } else {\n var _this$consumeArg2 = this.consumeArg();\n\n tokens = _this$consumeArg2.tokens;\n start = _this$consumeArg2.start;\n end = _this$consumeArg2.end;\n } // indicate the end of an argument\n\n\n this.pushToken(new Token(\"EOF\", end.loc));\n this.pushTokens(tokens);\n return start.range(end, \"\");\n }\n /**\n * Consume all following space tokens, without expansion.\n */\n ;\n\n _proto.consumeSpaces = function consumeSpaces() {\n for (;;) {\n var token = this.future();\n\n if (token.text === \" \") {\n this.stack.pop();\n } else {\n break;\n }\n }\n }\n /**\n * Consume an argument from the token stream, and return the resulting array\n * of tokens and start/end token.\n */\n ;\n\n _proto.consumeArg = function consumeArg(delims) {\n // The argument for a delimited parameter is the shortest (possibly\n // empty) sequence of tokens with properly nested {...} groups that is\n // followed ... by this particular list of non-parameter tokens.\n // The argument for an undelimited parameter is the next nonblank\n // token, unless that token is ‘{’, when the argument will be the\n // entire {...} group that follows.\n var tokens = [];\n var isDelimited = delims && delims.length > 0;\n\n if (!isDelimited) {\n // Ignore spaces between arguments. As the TeXbook says:\n // \"After you have said ‘\\def\\row#1#2{...}’, you are allowed to\n // put spaces between the arguments (e.g., ‘\\row x n’), because\n // TeX doesn’t use single spaces as undelimited arguments.\"\n this.consumeSpaces();\n }\n\n var start = this.future();\n var tok;\n var depth = 0;\n var match = 0;\n\n do {\n tok = this.popToken();\n tokens.push(tok);\n\n if (tok.text === \"{\") {\n ++depth;\n } else if (tok.text === \"}\") {\n --depth;\n\n if (depth === -1) {\n throw new src_ParseError(\"Extra }\", tok);\n }\n } else if (tok.text === \"EOF\") {\n throw new src_ParseError(\"Unexpected end of input in a macro argument\" + \", expected '\" + (delims && isDelimited ? delims[match] : \"}\") + \"'\", tok);\n }\n\n if (delims && isDelimited) {\n if ((depth === 0 || depth === 1 && delims[match] === \"{\") && tok.text === delims[match]) {\n ++match;\n\n if (match === delims.length) {\n // don't include delims in tokens\n tokens.splice(-match, match);\n break;\n }\n } else {\n match = 0;\n }\n }\n } while (depth !== 0 || isDelimited); // If the argument found ... has the form ‘{}’,\n // ... the outermost braces enclosing the argument are removed\n\n\n if (start.text === \"{\" && tokens[tokens.length - 1].text === \"}\") {\n tokens.pop();\n tokens.shift();\n }\n\n tokens.reverse(); // to fit in with stack order\n\n return {\n tokens: tokens,\n start: start,\n end: tok\n };\n }\n /**\n * Consume the specified number of (delimited) arguments from the token\n * stream and return the resulting array of arguments.\n */\n ;\n\n _proto.consumeArgs = function consumeArgs(numArgs, delimiters) {\n if (delimiters) {\n if (delimiters.length !== numArgs + 1) {\n throw new src_ParseError(\"The length of delimiters doesn't match the number of args!\");\n }\n\n var delims = delimiters[0];\n\n for (var i = 0; i < delims.length; i++) {\n var tok = this.popToken();\n\n if (delims[i] !== tok.text) {\n throw new src_ParseError(\"Use of the macro doesn't match its definition\", tok);\n }\n }\n }\n\n var args = [];\n\n for (var _i = 0; _i < numArgs; _i++) {\n args.push(this.consumeArg(delimiters && delimiters[_i + 1]).tokens);\n }\n\n return args;\n }\n /**\n * Expand the next token only once if possible.\n *\n * If the token is expanded, the resulting tokens will be pushed onto\n * the stack in reverse order, and the number of such tokens will be\n * returned. This number might be zero or positive.\n *\n * If not, the return value is `false`, and the next token remains at the\n * top of the stack.\n *\n * In either case, the next token will be on the top of the stack,\n * or the stack will be empty (in case of empty expansion\n * and no other tokens).\n *\n * Used to implement `expandAfterFuture` and `expandNextToken`.\n *\n * If expandableOnly, only expandable tokens are expanded and\n * an undefined control sequence results in an error.\n */\n ;\n\n _proto.expandOnce = function expandOnce(expandableOnly) {\n var topToken = this.popToken();\n var name = topToken.text;\n var expansion = !topToken.noexpand ? this._getExpansion(name) : null;\n\n if (expansion == null || expandableOnly && expansion.unexpandable) {\n if (expandableOnly && expansion == null && name[0] === \"\\\\\" && !this.isDefined(name)) {\n throw new src_ParseError(\"Undefined control sequence: \" + name);\n }\n\n this.pushToken(topToken);\n return false;\n }\n\n this.expansionCount++;\n\n if (this.expansionCount > this.settings.maxExpand) {\n throw new src_ParseError(\"Too many expansions: infinite loop or \" + \"need to increase maxExpand setting\");\n }\n\n var tokens = expansion.tokens;\n var args = this.consumeArgs(expansion.numArgs, expansion.delimiters);\n\n if (expansion.numArgs) {\n // paste arguments in place of the placeholders\n tokens = tokens.slice(); // make a shallow copy\n\n for (var i = tokens.length - 1; i >= 0; --i) {\n var tok = tokens[i];\n\n if (tok.text === \"#\") {\n if (i === 0) {\n throw new src_ParseError(\"Incomplete placeholder at end of macro body\", tok);\n }\n\n tok = tokens[--i]; // next token on stack\n\n if (tok.text === \"#\") {\n // ## → #\n tokens.splice(i + 1, 1); // drop first #\n } else if (/^[1-9]$/.test(tok.text)) {\n var _tokens;\n\n // replace the placeholder with the indicated argument\n (_tokens = tokens).splice.apply(_tokens, [i, 2].concat(args[+tok.text - 1]));\n } else {\n throw new src_ParseError(\"Not a valid argument number\", tok);\n }\n }\n }\n } // Concatenate expansion onto top of stack.\n\n\n this.pushTokens(tokens);\n return tokens.length;\n }\n /**\n * Expand the next token only once (if possible), and return the resulting\n * top token on the stack (without removing anything from the stack).\n * Similar in behavior to TeX's `\\expandafter\\futurelet`.\n * Equivalent to expandOnce() followed by future().\n */\n ;\n\n _proto.expandAfterFuture = function expandAfterFuture() {\n this.expandOnce();\n return this.future();\n }\n /**\n * Recursively expand first token, then return first non-expandable token.\n */\n ;\n\n _proto.expandNextToken = function expandNextToken() {\n for (;;) {\n if (this.expandOnce() === false) {\n // fully expanded\n var token = this.stack.pop(); // the token after \\noexpand is interpreted as if its meaning\n // were ‘\\relax’\n\n if (token.treatAsRelax) {\n token.text = \"\\\\relax\";\n }\n\n return token;\n }\n } // Flow unable to figure out that this pathway is impossible.\n // https://github.com/facebook/flow/issues/4808\n\n\n throw new Error(); // eslint-disable-line no-unreachable\n }\n /**\n * Fully expand the given macro name and return the resulting list of\n * tokens, or return `undefined` if no such macro is defined.\n */\n ;\n\n _proto.expandMacro = function expandMacro(name) {\n return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined;\n }\n /**\n * Fully expand the given token stream and return the resulting list of\n * tokens. Note that the input tokens are in reverse order, but the\n * output tokens are in forward order.\n */\n ;\n\n _proto.expandTokens = function expandTokens(tokens) {\n var output = [];\n var oldStackLength = this.stack.length;\n this.pushTokens(tokens);\n\n while (this.stack.length > oldStackLength) {\n // Expand only expandable tokens\n if (this.expandOnce(true) === false) {\n // fully expanded\n var token = this.stack.pop();\n\n if (token.treatAsRelax) {\n // the expansion of \\noexpand is the token itself\n token.noexpand = false;\n token.treatAsRelax = false;\n }\n\n output.push(token);\n }\n }\n\n return output;\n }\n /**\n * Fully expand the given macro name and return the result as a string,\n * or return `undefined` if no such macro is defined.\n */\n ;\n\n _proto.expandMacroAsText = function expandMacroAsText(name) {\n var tokens = this.expandMacro(name);\n\n if (tokens) {\n return tokens.map(function (token) {\n return token.text;\n }).join(\"\");\n } else {\n return tokens;\n }\n }\n /**\n * Returns the expanded macro as a reversed array of tokens and a macro\n * argument count. Or returns `null` if no such macro.\n */\n ;\n\n _proto._getExpansion = function _getExpansion(name) {\n var definition = this.macros.get(name);\n\n if (definition == null) {\n // mainly checking for undefined here\n return definition;\n } // If a single character has an associated catcode other than 13\n // (active character), then don't expand it.\n\n\n if (name.length === 1) {\n var catcode = this.lexer.catcodes[name];\n\n if (catcode != null && catcode !== 13) {\n return;\n }\n }\n\n var expansion = typeof definition === \"function\" ? definition(this) : definition;\n\n if (typeof expansion === \"string\") {\n var numArgs = 0;\n\n if (expansion.indexOf(\"#\") !== -1) {\n var stripped = expansion.replace(/##/g, \"\");\n\n while (stripped.indexOf(\"#\" + (numArgs + 1)) !== -1) {\n ++numArgs;\n }\n }\n\n var bodyLexer = new Lexer(expansion, this.settings);\n var tokens = [];\n var tok = bodyLexer.lex();\n\n while (tok.text !== \"EOF\") {\n tokens.push(tok);\n tok = bodyLexer.lex();\n }\n\n tokens.reverse(); // to fit in with stack using push and pop\n\n var expanded = {\n tokens: tokens,\n numArgs: numArgs\n };\n return expanded;\n }\n\n return expansion;\n }\n /**\n * Determine whether a command is currently \"defined\" (has some\n * functionality), meaning that it's a macro (in the current group),\n * a function, a symbol, or one of the special commands listed in\n * `implicitCommands`.\n */\n ;\n\n _proto.isDefined = function isDefined(name) {\n return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name);\n }\n /**\n * Determine whether a command is expandable.\n */\n ;\n\n _proto.isExpandable = function isExpandable(name) {\n var macro = this.macros.get(name);\n return macro != null ? typeof macro === \"string\" || typeof macro === \"function\" || !macro.unexpandable : src_functions.hasOwnProperty(name) && !src_functions[name].primitive;\n };\n\n return MacroExpander;\n}();\n\n\n;// CONCATENATED MODULE: ./src/unicodeSupOrSub.js\n// Helpers for Parser.js handling of Unicode (sub|super)script characters.\nvar unicodeSubRegEx = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/;\nvar uSubsAndSups = Object.freeze({\n '₊': '+',\n '₋': '-',\n '₌': '=',\n '₍': '(',\n '₎': ')',\n '₀': '0',\n '₁': '1',\n '₂': '2',\n '₃': '3',\n '₄': '4',\n '₅': '5',\n '₆': '6',\n '₇': '7',\n '₈': '8',\n '₉': '9',\n \"\\u2090\": 'a',\n \"\\u2091\": 'e',\n \"\\u2095\": 'h',\n \"\\u1D62\": 'i',\n \"\\u2C7C\": 'j',\n \"\\u2096\": 'k',\n \"\\u2097\": 'l',\n \"\\u2098\": 'm',\n \"\\u2099\": 'n',\n \"\\u2092\": 'o',\n \"\\u209A\": 'p',\n \"\\u1D63\": 'r',\n \"\\u209B\": 's',\n \"\\u209C\": 't',\n \"\\u1D64\": 'u',\n \"\\u1D65\": 'v',\n \"\\u2093\": 'x',\n \"\\u1D66\": 'β',\n \"\\u1D67\": 'γ',\n \"\\u1D68\": 'ρ',\n \"\\u1D69\": \"\\u03D5\",\n \"\\u1D6A\": 'χ',\n '⁺': '+',\n '⁻': '-',\n '⁼': '=',\n '⁽': '(',\n '⁾': ')',\n '⁰': '0',\n '¹': '1',\n '²': '2',\n '³': '3',\n '⁴': '4',\n '⁵': '5',\n '⁶': '6',\n '⁷': '7',\n '⁸': '8',\n '⁹': '9',\n \"\\u1D2C\": 'A',\n \"\\u1D2E\": 'B',\n \"\\u1D30\": 'D',\n \"\\u1D31\": 'E',\n \"\\u1D33\": 'G',\n \"\\u1D34\": 'H',\n \"\\u1D35\": 'I',\n \"\\u1D36\": 'J',\n \"\\u1D37\": 'K',\n \"\\u1D38\": 'L',\n \"\\u1D39\": 'M',\n \"\\u1D3A\": 'N',\n \"\\u1D3C\": 'O',\n \"\\u1D3E\": 'P',\n \"\\u1D3F\": 'R',\n \"\\u1D40\": 'T',\n \"\\u1D41\": 'U',\n \"\\u2C7D\": 'V',\n \"\\u1D42\": 'W',\n \"\\u1D43\": 'a',\n \"\\u1D47\": 'b',\n \"\\u1D9C\": 'c',\n \"\\u1D48\": 'd',\n \"\\u1D49\": 'e',\n \"\\u1DA0\": 'f',\n \"\\u1D4D\": 'g',\n \"\\u02B0\": 'h',\n \"\\u2071\": 'i',\n \"\\u02B2\": 'j',\n \"\\u1D4F\": 'k',\n \"\\u02E1\": 'l',\n \"\\u1D50\": 'm',\n \"\\u207F\": 'n',\n \"\\u1D52\": 'o',\n \"\\u1D56\": 'p',\n \"\\u02B3\": 'r',\n \"\\u02E2\": 's',\n \"\\u1D57\": 't',\n \"\\u1D58\": 'u',\n \"\\u1D5B\": 'v',\n \"\\u02B7\": 'w',\n \"\\u02E3\": 'x',\n \"\\u02B8\": 'y',\n \"\\u1DBB\": 'z',\n \"\\u1D5D\": 'β',\n \"\\u1D5E\": 'γ',\n \"\\u1D5F\": 'δ',\n \"\\u1D60\": \"\\u03D5\",\n \"\\u1D61\": 'χ',\n \"\\u1DBF\": 'θ'\n});\n;// CONCATENATED MODULE: ./src/Parser.js\n/* eslint no-constant-condition:0 */\n\n\n\n\n\n\n\n\n\n\n // Pre-evaluate both modules as unicodeSymbols require String.normalize()\n\nvar unicodeAccents = {\n \"́\": {\n \"text\": \"\\\\'\",\n \"math\": \"\\\\acute\"\n },\n \"̀\": {\n \"text\": \"\\\\`\",\n \"math\": \"\\\\grave\"\n },\n \"̈\": {\n \"text\": \"\\\\\\\"\",\n \"math\": \"\\\\ddot\"\n },\n \"̃\": {\n \"text\": \"\\\\~\",\n \"math\": \"\\\\tilde\"\n },\n \"̄\": {\n \"text\": \"\\\\=\",\n \"math\": \"\\\\bar\"\n },\n \"̆\": {\n \"text\": \"\\\\u\",\n \"math\": \"\\\\breve\"\n },\n \"̌\": {\n \"text\": \"\\\\v\",\n \"math\": \"\\\\check\"\n },\n \"̂\": {\n \"text\": \"\\\\^\",\n \"math\": \"\\\\hat\"\n },\n \"̇\": {\n \"text\": \"\\\\.\",\n \"math\": \"\\\\dot\"\n },\n \"̊\": {\n \"text\": \"\\\\r\",\n \"math\": \"\\\\mathring\"\n },\n \"̋\": {\n \"text\": \"\\\\H\"\n },\n \"̧\": {\n \"text\": \"\\\\c\"\n }\n};\nvar unicodeSymbols = {\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 \"ç\": \"ç\",\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 \"ġ\": \"ġ\",\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 \"ń\": \"ń\",\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 \"ṕ\": \"ṕ\",\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 \"ū\": \"ū\",\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 \"ẑ\": \"ẑ\",\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 \"Ċ\": \"Ċ\",\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 \"Ĝ\": \"Ĝ\",\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 \"Ṁ\": \"Ṁ\",\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 \"Ő\": \"Ő\",\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 \"Ū\": \"Ū\",\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 \"ά\": \"ά\",\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 \"Ύ\": \"Ύ\",\n \"Ὺ\": \"Ὺ\",\n \"Ϋ\": \"Ϋ\",\n \"Ῡ\": \"Ῡ\",\n \"Ῠ\": \"Ῠ\",\n \"Ώ\": \"Ώ\",\n \"Ὼ\": \"Ὼ\"\n};\n\n/**\n * This file contains the parser used to parse out a TeX expression from the\n * input. Since TeX isn't context-free, standard parsers don't work particularly\n * well.\n *\n * The strategy of this parser is as such:\n *\n * The main functions (the `.parse...` ones) take a position in the current\n * parse string to parse tokens from. The lexer (found in Lexer.js, stored at\n * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When\n * individual tokens are needed at a position, the lexer is called to pull out a\n * token, which is then used.\n *\n * The parser has a property called \"mode\" indicating the mode that\n * the parser is currently in. Currently it has to be one of \"math\" or\n * \"text\", which denotes whether the current environment is a math-y\n * one or a text-y one (e.g. inside \\text). Currently, this serves to\n * limit the functions which can be used in text mode.\n *\n * The main functions then return an object which contains the useful data that\n * was parsed at its given point, and a new position at the end of the parsed\n * data. The main functions can call each other and continue the parsing by\n * using the returned position as a new starting point.\n *\n * There are also extra `.handle...` functions, which pull out some reused\n * functionality into self-contained functions.\n *\n * The functions return ParseNodes.\n */\nvar Parser = /*#__PURE__*/function () {\n function Parser(input, settings) {\n this.mode = void 0;\n this.gullet = void 0;\n this.settings = void 0;\n this.leftrightDepth = void 0;\n this.nextToken = void 0;\n // Start in math mode\n this.mode = \"math\"; // Create a new macro expander (gullet) and (indirectly via that) also a\n // new lexer (mouth) for this parser (stomach, in the language of TeX)\n\n this.gullet = new MacroExpander(input, settings, this.mode); // Store the settings for use in parsing\n\n this.settings = settings; // Count leftright depth (for \\middle errors)\n\n this.leftrightDepth = 0;\n }\n /**\n * Checks a result to make sure it has the right type, and throws an\n * appropriate error otherwise.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.expect = function expect(text, consume) {\n if (consume === void 0) {\n consume = true;\n }\n\n if (this.fetch().text !== text) {\n throw new src_ParseError(\"Expected '\" + text + \"', got '\" + this.fetch().text + \"'\", this.fetch());\n }\n\n if (consume) {\n this.consume();\n }\n }\n /**\n * Discards the current lookahead token, considering it consumed.\n */\n ;\n\n _proto.consume = function consume() {\n this.nextToken = null;\n }\n /**\n * Return the current lookahead token, or if there isn't one (at the\n * beginning, or if the previous lookahead token was consume()d),\n * fetch the next token as the new lookahead token and return it.\n */\n ;\n\n _proto.fetch = function fetch() {\n if (this.nextToken == null) {\n this.nextToken = this.gullet.expandNextToken();\n }\n\n return this.nextToken;\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n ;\n\n _proto.switchMode = function switchMode(newMode) {\n this.mode = newMode;\n this.gullet.switchMode(newMode);\n }\n /**\n * Main parsing function, which parses an entire input.\n */\n ;\n\n _proto.parse = function parse() {\n if (!this.settings.globalGroup) {\n // Create a group namespace for the math expression.\n // (LaTeX creates a new group for every $...$, $$...$$, \\[...\\].)\n this.gullet.beginGroup();\n } // Use old \\color behavior (same as LaTeX's \\textcolor) if requested.\n // We do this within the group for the math expression, so it doesn't\n // pollute settings.macros.\n\n\n if (this.settings.colorIsTextColor) {\n this.gullet.macros.set(\"\\\\color\", \"\\\\textcolor\");\n }\n\n try {\n // Try to parse the input\n var parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end\n\n this.expect(\"EOF\"); // End the group namespace for the expression\n\n if (!this.settings.globalGroup) {\n this.gullet.endGroup();\n }\n\n return parse; // Close any leftover groups in case of a parse error.\n } finally {\n this.gullet.endGroups();\n }\n }\n /**\n * Fully parse a separate sequence of tokens as a separate job.\n * Tokens should be specified in reverse order, as in a MacroDefinition.\n */\n ;\n\n _proto.subparse = function subparse(tokens) {\n // Save the next token from the current job.\n var oldToken = this.nextToken;\n this.consume(); // Run the new job, terminating it with an excess '}'\n\n this.gullet.pushToken(new Token(\"}\"));\n this.gullet.pushTokens(tokens);\n var parse = this.parseExpression(false);\n this.expect(\"}\"); // Restore the next token from the current job.\n\n this.nextToken = oldToken;\n return parse;\n };\n\n /**\n * Parses an \"expression\", which is a list of atoms.\n *\n * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This\n * happens when functions have higher precedence han infix\n * nodes in implicit parses.\n *\n * `breakOnTokenText`: The text of the token that the expression should end\n * with, or `null` if something else should end the\n * expression.\n */\n _proto.parseExpression = function parseExpression(breakOnInfix, breakOnTokenText) {\n var body = []; // Keep adding atoms to the body until we can't parse any more atoms (either\n // we reached the end, a }, or a \\right)\n\n while (true) {\n // Ignore spaces in math mode\n if (this.mode === \"math\") {\n this.consumeSpaces();\n }\n\n var lex = this.fetch();\n\n if (Parser.endOfExpression.indexOf(lex.text) !== -1) {\n break;\n }\n\n if (breakOnTokenText && lex.text === breakOnTokenText) {\n break;\n }\n\n if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) {\n break;\n }\n\n var atom = this.parseAtom(breakOnTokenText);\n\n if (!atom) {\n break;\n } else if (atom.type === \"internal\") {\n continue;\n }\n\n body.push(atom);\n }\n\n if (this.mode === \"text\") {\n this.formLigatures(body);\n }\n\n return this.handleInfixNodes(body);\n }\n /**\n * Rewrites infix operators such as \\over with corresponding commands such\n * as \\frac.\n *\n * There can only be one infix operator per group. If there's more than one\n * then the expression is ambiguous. This can be resolved by adding {}.\n */\n ;\n\n _proto.handleInfixNodes = function handleInfixNodes(body) {\n var overIndex = -1;\n var funcName;\n\n for (var i = 0; i < body.length; i++) {\n if (body[i].type === \"infix\") {\n if (overIndex !== -1) {\n throw new src_ParseError(\"only one infix operator per group\", body[i].token);\n }\n\n overIndex = i;\n funcName = body[i].replaceWith;\n }\n }\n\n if (overIndex !== -1 && funcName) {\n var numerNode;\n var denomNode;\n var numerBody = body.slice(0, overIndex);\n var denomBody = body.slice(overIndex + 1);\n\n if (numerBody.length === 1 && numerBody[0].type === \"ordgroup\") {\n numerNode = numerBody[0];\n } else {\n numerNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: numerBody\n };\n }\n\n if (denomBody.length === 1 && denomBody[0].type === \"ordgroup\") {\n denomNode = denomBody[0];\n } else {\n denomNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: denomBody\n };\n }\n\n var node;\n\n if (funcName === \"\\\\\\\\abovefrac\") {\n node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []);\n } else {\n node = this.callFunction(funcName, [numerNode, denomNode], []);\n }\n\n return [node];\n } else {\n return body;\n }\n }\n /**\n * Handle a subscript or superscript with nice errors.\n */\n ;\n\n _proto.handleSupSubscript = function handleSupSubscript(name // For error reporting.\n ) {\n var symbolToken = this.fetch();\n var symbol = symbolToken.text;\n this.consume();\n this.consumeSpaces(); // ignore spaces before sup/subscript argument\n\n var group = this.parseGroup(name);\n\n if (!group) {\n throw new src_ParseError(\"Expected group after '\" + symbol + \"'\", symbolToken);\n }\n\n return group;\n }\n /**\n * Converts the textual input of an unsupported command into a text node\n * contained within a color node whose color is determined by errorColor\n */\n ;\n\n _proto.formatUnsupportedCmd = function formatUnsupportedCmd(text) {\n var textordArray = [];\n\n for (var i = 0; i < text.length; i++) {\n textordArray.push({\n type: \"textord\",\n mode: \"text\",\n text: text[i]\n });\n }\n\n var textNode = {\n type: \"text\",\n mode: this.mode,\n body: textordArray\n };\n var colorNode = {\n type: \"color\",\n mode: this.mode,\n color: this.settings.errorColor,\n body: [textNode]\n };\n return colorNode;\n }\n /**\n * Parses a group with optional super/subscripts.\n */\n ;\n\n _proto.parseAtom = function parseAtom(breakOnTokenText) {\n // The body of an atom is an implicit group, so that things like\n // \\left(x\\right)^2 work correctly.\n var base = this.parseGroup(\"atom\", breakOnTokenText); // In text mode, we don't have superscripts or subscripts\n\n if (this.mode === \"text\") {\n return base;\n } // Note that base may be empty (i.e. null) at this point.\n\n\n var superscript;\n var subscript;\n\n while (true) {\n // Guaranteed in math mode, so eat any spaces first.\n this.consumeSpaces(); // Lex the first token\n\n var lex = this.fetch();\n\n if (lex.text === \"\\\\limits\" || lex.text === \"\\\\nolimits\") {\n // We got a limit control\n if (base && base.type === \"op\") {\n var limits = lex.text === \"\\\\limits\";\n base.limits = limits;\n base.alwaysHandleSupSub = true;\n } else if (base && base.type === \"operatorname\") {\n if (base.alwaysHandleSupSub) {\n base.limits = lex.text === \"\\\\limits\";\n }\n } else {\n throw new src_ParseError(\"Limit controls must follow a math operator\", lex);\n }\n\n this.consume();\n } else if (lex.text === \"^\") {\n // We got a superscript start\n if (superscript) {\n throw new src_ParseError(\"Double superscript\", lex);\n }\n\n superscript = this.handleSupSubscript(\"superscript\");\n } else if (lex.text === \"_\") {\n // We got a subscript start\n if (subscript) {\n throw new src_ParseError(\"Double subscript\", lex);\n }\n\n subscript = this.handleSupSubscript(\"subscript\");\n } else if (lex.text === \"'\") {\n // We got a prime\n if (superscript) {\n throw new src_ParseError(\"Double superscript\", lex);\n }\n\n var prime = {\n type: \"textord\",\n mode: this.mode,\n text: \"\\\\prime\"\n }; // Many primes can be grouped together, so we handle this here\n\n var primes = [prime];\n this.consume(); // Keep lexing tokens until we get something that's not a prime\n\n while (this.fetch().text === \"'\") {\n // For each one, add another prime to the list\n primes.push(prime);\n this.consume();\n } // If there's a superscript following the primes, combine that\n // superscript in with the primes.\n\n\n if (this.fetch().text === \"^\") {\n primes.push(this.handleSupSubscript(\"superscript\"));\n } // Put everything into an ordgroup as the superscript\n\n\n superscript = {\n type: \"ordgroup\",\n mode: this.mode,\n body: primes\n };\n } else if (uSubsAndSups[lex.text]) {\n // A Unicode subscript or superscript character.\n // We treat these similarly to the unicode-math package.\n // So we render a string of Unicode (sub|super)scripts the\n // same as a (sub|super)script of regular characters.\n var str = uSubsAndSups[lex.text];\n var isSub = unicodeSubRegEx.test(lex.text);\n this.consume(); // Continue fetching tokens to fill out the string.\n\n while (true) {\n var token = this.fetch().text;\n\n if (!uSubsAndSups[token]) {\n break;\n }\n\n if (unicodeSubRegEx.test(token) !== isSub) {\n break;\n }\n\n this.consume();\n str += uSubsAndSups[token];\n } // Now create a (sub|super)script.\n\n\n var body = new Parser(str, this.settings).parse();\n\n if (isSub) {\n subscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body: body\n };\n } else {\n superscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body: body\n };\n }\n } else {\n // If it wasn't ^, _, or ', stop parsing super/subscripts\n break;\n }\n } // Base must be set if superscript or subscript are set per logic above,\n // but need to check here for type check to pass.\n\n\n if (superscript || subscript) {\n // If we got either a superscript or subscript, create a supsub\n return {\n type: \"supsub\",\n mode: this.mode,\n base: base,\n sup: superscript,\n sub: subscript\n };\n } else {\n // Otherwise return the original body\n return base;\n }\n }\n /**\n * Parses an entire function, including its base and all of its arguments.\n */\n ;\n\n _proto.parseFunction = function parseFunction(breakOnTokenText, name // For determining its context\n ) {\n var token = this.fetch();\n var func = token.text;\n var funcData = src_functions[func];\n\n if (!funcData) {\n return null;\n }\n\n this.consume(); // consume command token\n\n if (name && name !== \"atom\" && !funcData.allowedInArgument) {\n throw new src_ParseError(\"Got function '\" + func + \"' with no arguments\" + (name ? \" as \" + name : \"\"), token);\n } else if (this.mode === \"text\" && !funcData.allowedInText) {\n throw new src_ParseError(\"Can't use function '\" + func + \"' in text mode\", token);\n } else if (this.mode === \"math\" && funcData.allowedInMath === false) {\n throw new src_ParseError(\"Can't use function '\" + func + \"' in math mode\", token);\n }\n\n var _this$parseArguments = this.parseArguments(func, funcData),\n args = _this$parseArguments.args,\n optArgs = _this$parseArguments.optArgs;\n\n return this.callFunction(func, args, optArgs, token, breakOnTokenText);\n }\n /**\n * Call a function handler with a suitable context and arguments.\n */\n ;\n\n _proto.callFunction = function callFunction(name, args, optArgs, token, breakOnTokenText) {\n var context = {\n funcName: name,\n parser: this,\n token: token,\n breakOnTokenText: breakOnTokenText\n };\n var func = src_functions[name];\n\n if (func && func.handler) {\n return func.handler(context, args, optArgs);\n } else {\n throw new src_ParseError(\"No function handler for \" + name);\n }\n }\n /**\n * Parses the arguments of a function or environment\n */\n ;\n\n _proto.parseArguments = function parseArguments(func, // Should look like \"\\name\" or \"\\begin{name}\".\n funcData) {\n var totalArgs = funcData.numArgs + funcData.numOptionalArgs;\n\n if (totalArgs === 0) {\n return {\n args: [],\n optArgs: []\n };\n }\n\n var args = [];\n var optArgs = [];\n\n for (var i = 0; i < totalArgs; i++) {\n var argType = funcData.argTypes && funcData.argTypes[i];\n var isOptional = i < funcData.numOptionalArgs;\n\n if (funcData.primitive && argType == null || // \\sqrt expands into primitive if optional argument doesn't exist\n funcData.type === \"sqrt\" && i === 1 && optArgs[0] == null) {\n argType = \"primitive\";\n }\n\n var arg = this.parseGroupOfType(\"argument to '\" + func + \"'\", argType, isOptional);\n\n if (isOptional) {\n optArgs.push(arg);\n } else if (arg != null) {\n args.push(arg);\n } else {\n // should be unreachable\n throw new src_ParseError(\"Null argument, please report this as a bug\");\n }\n }\n\n return {\n args: args,\n optArgs: optArgs\n };\n }\n /**\n * Parses a group when the mode is changing.\n */\n ;\n\n _proto.parseGroupOfType = function parseGroupOfType(name, type, optional) {\n switch (type) {\n case \"color\":\n return this.parseColorGroup(optional);\n\n case \"size\":\n return this.parseSizeGroup(optional);\n\n case \"url\":\n return this.parseUrlGroup(optional);\n\n case \"math\":\n case \"text\":\n return this.parseArgumentGroup(optional, type);\n\n case \"hbox\":\n {\n // hbox argument type wraps the argument in the equivalent of\n // \\hbox, which is like \\text but switching to \\textstyle size.\n var group = this.parseArgumentGroup(optional, \"text\");\n return group != null ? {\n type: \"styling\",\n mode: group.mode,\n body: [group],\n style: \"text\" // simulate \\textstyle\n\n } : null;\n }\n\n case \"raw\":\n {\n var token = this.parseStringGroup(\"raw\", optional);\n return token != null ? {\n type: \"raw\",\n mode: \"text\",\n string: token.text\n } : null;\n }\n\n case \"primitive\":\n {\n if (optional) {\n throw new src_ParseError(\"A primitive argument cannot be optional\");\n }\n\n var _group = this.parseGroup(name);\n\n if (_group == null) {\n throw new src_ParseError(\"Expected group as \" + name, this.fetch());\n }\n\n return _group;\n }\n\n case \"original\":\n case null:\n case undefined:\n return this.parseArgumentGroup(optional);\n\n default:\n throw new src_ParseError(\"Unknown group type as \" + name, this.fetch());\n }\n }\n /**\n * Discard any space tokens, fetching the next non-space token.\n */\n ;\n\n _proto.consumeSpaces = function consumeSpaces() {\n while (this.fetch().text === \" \") {\n this.consume();\n }\n }\n /**\n * Parses a group, essentially returning the string formed by the\n * brace-enclosed tokens plus some position information.\n */\n ;\n\n _proto.parseStringGroup = function parseStringGroup(modeName, // Used to describe the mode in error messages.\n optional) {\n var argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n var str = \"\";\n var nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\") {\n str += nextToken.text;\n this.consume();\n }\n\n this.consume(); // consume the end of the argument\n\n argToken.text = str;\n return argToken;\n }\n /**\n * Parses a regex-delimited group: the largest sequence of tokens\n * whose concatenated strings match `regex`. Returns the string\n * formed by the tokens plus some position information.\n */\n ;\n\n _proto.parseRegexGroup = function parseRegexGroup(regex, modeName // Used to describe the mode in error messages.\n ) {\n var firstToken = this.fetch();\n var lastToken = firstToken;\n var str = \"\";\n var nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\" && regex.test(str + nextToken.text)) {\n lastToken = nextToken;\n str += lastToken.text;\n this.consume();\n }\n\n if (str === \"\") {\n throw new src_ParseError(\"Invalid \" + modeName + \": '\" + firstToken.text + \"'\", firstToken);\n }\n\n return firstToken.range(lastToken, str);\n }\n /**\n * Parses a color description.\n */\n ;\n\n _proto.parseColorGroup = function parseColorGroup(optional) {\n var res = this.parseStringGroup(\"color\", optional);\n\n if (res == null) {\n return null;\n }\n\n var match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text);\n\n if (!match) {\n throw new src_ParseError(\"Invalid color: '\" + res.text + \"'\", res);\n }\n\n var color = match[0];\n\n if (/^[0-9a-f]{6}$/i.test(color)) {\n // We allow a 6-digit HTML color spec without a leading \"#\".\n // This follows the xcolor package's HTML color model.\n // Predefined color names are all missed by this RegEx pattern.\n color = \"#\" + color;\n }\n\n return {\n type: \"color-token\",\n mode: this.mode,\n color: color\n };\n }\n /**\n * Parses a size specification, consisting of magnitude and unit.\n */\n ;\n\n _proto.parseSizeGroup = function parseSizeGroup(optional) {\n var res;\n var isBlank = false; // don't expand before parseStringGroup\n\n this.gullet.consumeSpaces();\n\n if (!optional && this.gullet.future().text !== \"{\") {\n res = this.parseRegexGroup(/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2} *$/, \"size\");\n } else {\n res = this.parseStringGroup(\"size\", optional);\n }\n\n if (!res) {\n return null;\n }\n\n if (!optional && res.text.length === 0) {\n // Because we've tested for what is !optional, this block won't\n // affect \\kern, \\hspace, etc. It will capture the mandatory arguments\n // to \\genfrac and \\above.\n res.text = \"0pt\"; // Enable \\above{}\n\n isBlank = true; // This is here specifically for \\genfrac\n }\n\n var match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(res.text);\n\n if (!match) {\n throw new src_ParseError(\"Invalid size: '\" + res.text + \"'\", res);\n }\n\n var data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError(\"Invalid unit: '\" + data.unit + \"'\", res);\n }\n\n return {\n type: \"size\",\n mode: this.mode,\n value: data,\n isBlank: isBlank\n };\n }\n /**\n * Parses an URL, checking escaped letters and allowed protocols,\n * and setting the catcode of % as an active character (as in \\hyperref).\n */\n ;\n\n _proto.parseUrlGroup = function parseUrlGroup(optional) {\n this.gullet.lexer.setCatcode(\"%\", 13); // active character\n\n this.gullet.lexer.setCatcode(\"~\", 12); // other character\n\n var res = this.parseStringGroup(\"url\", optional);\n this.gullet.lexer.setCatcode(\"%\", 14); // comment character\n\n this.gullet.lexer.setCatcode(\"~\", 13); // active character\n\n if (res == null) {\n return null;\n } // hyperref package allows backslashes alone in href, but doesn't\n // generate valid links in such cases; we interpret this as\n // \"undefined\" behaviour, and keep them as-is. Some browser will\n // replace backslashes with forward slashes.\n\n\n var url = res.text.replace(/\\\\([#$%&~_^{}])/g, '$1');\n return {\n type: \"url\",\n mode: this.mode,\n url: url\n };\n }\n /**\n * Parses an argument with the mode specified.\n */\n ;\n\n _proto.parseArgumentGroup = function parseArgumentGroup(optional, mode) {\n var argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n var outerMode = this.mode;\n\n if (mode) {\n // Switch to specified mode\n this.switchMode(mode);\n }\n\n this.gullet.beginGroup();\n var expression = this.parseExpression(false, \"EOF\"); // TODO: find an alternative way to denote the end\n\n this.expect(\"EOF\"); // expect the end of the argument\n\n this.gullet.endGroup();\n var result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: argToken.loc,\n body: expression\n };\n\n if (mode) {\n // Switch mode back\n this.switchMode(outerMode);\n }\n\n return result;\n }\n /**\n * Parses an ordinary group, which is either a single nucleus (like \"x\")\n * or an expression in braces (like \"{x+y}\") or an implicit group, a group\n * that starts at the current position, and ends right before a higher explicit\n * group ends, or at EOF.\n */\n ;\n\n _proto.parseGroup = function parseGroup(name, // For error reporting.\n breakOnTokenText) {\n var firstToken = this.fetch();\n var text = firstToken.text;\n var result; // Try to parse an open brace or \\begingroup\n\n if (text === \"{\" || text === \"\\\\begingroup\") {\n this.consume();\n var groupEnd = text === \"{\" ? \"}\" : \"\\\\endgroup\";\n this.gullet.beginGroup(); // If we get a brace, parse an expression\n\n var expression = this.parseExpression(false, groupEnd);\n var lastToken = this.fetch();\n this.expect(groupEnd); // Check that we got a matching closing brace\n\n this.gullet.endGroup();\n result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: SourceLocation.range(firstToken, lastToken),\n body: expression,\n // A group formed by \\begingroup...\\endgroup is a semi-simple group\n // which doesn't affect spacing in math mode, i.e., is transparent.\n // https://tex.stackexchange.com/questions/1930/when-should-one-\n // use-begingroup-instead-of-bgroup\n semisimple: text === \"\\\\begingroup\" || undefined\n };\n } else {\n // If there exists a function with this name, parse the function.\n // Otherwise, just return a nucleus\n result = this.parseFunction(breakOnTokenText, name) || this.parseSymbol();\n\n if (result == null && text[0] === \"\\\\\" && !implicitCommands.hasOwnProperty(text)) {\n if (this.settings.throwOnError) {\n throw new src_ParseError(\"Undefined control sequence: \" + text, firstToken);\n }\n\n result = this.formatUnsupportedCmd(text);\n this.consume();\n }\n }\n\n return result;\n }\n /**\n * Form ligature-like combinations of characters for text mode.\n * This includes inputs like \"--\", \"---\", \"``\" and \"''\".\n * The result will simply replace multiple textord nodes with a single\n * character in each value by a single textord node having multiple\n * characters in its value. The representation is still ASCII source.\n * The group will be modified in place.\n */\n ;\n\n _proto.formLigatures = function formLigatures(group) {\n var n = group.length - 1;\n\n for (var i = 0; i < n; ++i) {\n var a = group[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n var v = a.text;\n\n if (v === \"-\" && group[i + 1].text === \"-\") {\n if (i + 1 < n && group[i + 2].text === \"-\") {\n group.splice(i, 3, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 2]),\n text: \"---\"\n });\n n -= 2;\n } else {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: \"--\"\n });\n n -= 1;\n }\n }\n\n if ((v === \"'\" || v === \"`\") && group[i + 1].text === v) {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: v + v\n });\n n -= 1;\n }\n }\n }\n /**\n * Parse a single symbol out of the string. Here, we handle single character\n * symbols and special functions like \\verb.\n */\n ;\n\n _proto.parseSymbol = function parseSymbol() {\n var nucleus = this.fetch();\n var text = nucleus.text;\n\n if (/^\\\\verb[^a-zA-Z]/.test(text)) {\n this.consume();\n var arg = text.slice(5);\n var star = arg.charAt(0) === \"*\";\n\n if (star) {\n arg = arg.slice(1);\n } // Lexer's tokenRegex is constructed to always have matching\n // first/last characters.\n\n\n if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) {\n throw new src_ParseError(\"\\\\verb assertion failed --\\n please report what input caused this bug\");\n }\n\n arg = arg.slice(1, -1); // remove first and last char\n\n return {\n type: \"verb\",\n mode: \"text\",\n body: arg,\n star: star\n };\n } // At this point, we should have a symbol, possibly with accents.\n // First expand any accented base symbol according to unicodeSymbols.\n\n\n if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) {\n // This behavior is not strict (XeTeX-compatible) in math mode.\n if (this.settings.strict && this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Accented Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n text = unicodeSymbols[text[0]] + text.slice(1);\n } // Strip off any combining characters\n\n\n var match = combiningDiacriticalMarksEndRegex.exec(text);\n\n if (match) {\n text = text.substring(0, match.index);\n\n if (text === 'i') {\n text = \"\\u0131\"; // dotless i, in math and text mode\n } else if (text === 'j') {\n text = \"\\u0237\"; // dotless j, in math and text mode\n }\n } // Recognize base symbol\n\n\n var symbol;\n\n if (src_symbols[this.mode][text]) {\n if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Latin-1/Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n var group = src_symbols[this.mode][text].group;\n var loc = SourceLocation.range(nucleus);\n var s;\n\n if (ATOMS.hasOwnProperty(group)) {\n // $FlowFixMe\n var family = group;\n s = {\n type: \"atom\",\n mode: this.mode,\n family: family,\n loc: loc,\n text: text\n };\n } else {\n // $FlowFixMe\n s = {\n type: group,\n mode: this.mode,\n loc: loc,\n text: text\n };\n } // $FlowFixMe\n\n\n symbol = s;\n } else if (text.charCodeAt(0) >= 0x80) {\n // no symbol for e.g. ^\n if (this.settings.strict) {\n if (!supportedCodepoint(text.charCodeAt(0))) {\n this.settings.reportNonstrict(\"unknownSymbol\", \"Unrecognized Unicode character \\\"\" + text[0] + \"\\\"\" + (\" (\" + text.charCodeAt(0) + \")\"), nucleus);\n } else if (this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Unicode text character \\\"\" + text[0] + \"\\\" used in math mode\", nucleus);\n }\n } // All nonmathematical Unicode characters are rendered as if they\n // are in text mode (wrapped in \\text) because that's what it\n // takes to render them in LaTeX. Setting `mode: this.mode` is\n // another natural choice (the user requested math mode), but\n // this makes it more difficult for getCharacterMetrics() to\n // distinguish Unicode characters without metrics and those for\n // which we want to simulate the letter M.\n\n\n symbol = {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(nucleus),\n text: text\n };\n } else {\n return null; // EOF, ^, _, {, }, etc.\n }\n\n this.consume(); // Transform combining characters into accents\n\n if (match) {\n for (var i = 0; i < match[0].length; i++) {\n var accent = match[0][i];\n\n if (!unicodeAccents[accent]) {\n throw new src_ParseError(\"Unknown accent ' \" + accent + \"'\", nucleus);\n }\n\n var command = unicodeAccents[accent][this.mode] || unicodeAccents[accent].text;\n\n if (!command) {\n throw new src_ParseError(\"Accent \" + accent + \" unsupported in \" + this.mode + \" mode\", nucleus);\n }\n\n symbol = {\n type: \"accent\",\n mode: this.mode,\n loc: SourceLocation.range(nucleus),\n label: command,\n isStretchy: false,\n isShifty: true,\n // $FlowFixMe\n base: symbol\n };\n }\n } // $FlowFixMe\n\n\n return symbol;\n };\n\n return Parser;\n}();\n\nParser.endOfExpression = [\"}\", \"\\\\endgroup\", \"\\\\end\", \"\\\\right\", \"&\"];\n\n;// CONCATENATED MODULE: ./src/parseTree.js\n/**\n * Provides a single function for parsing an expression using a Parser\n * TODO(emily): Remove this\n */\n\n\n\n\n/**\n * Parses an expression using a Parser, then returns the parsed result.\n */\nvar parseTree = function parseTree(toParse, settings) {\n if (!(typeof toParse === 'string' || toParse instanceof String)) {\n throw new TypeError('KaTeX can only parse string typed expression');\n }\n\n var parser = new Parser(toParse, settings); // Blank out any \\df@tag to avoid spurious \"Duplicate \\tag\" errors\n\n delete parser.gullet.macros.current[\"\\\\df@tag\"];\n var tree = parser.parse(); // Prevent a color definition from persisting between calls to katex.render().\n\n delete parser.gullet.macros.current[\"\\\\current@color\"];\n delete parser.gullet.macros.current[\"\\\\color\"]; // If the input used \\tag, it will set the \\df@tag macro to the tag.\n // In this case, we separately parse the tag and wrap the tree.\n\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n if (!settings.displayMode) {\n throw new src_ParseError(\"\\\\tag works only in display equations\");\n }\n\n tree = [{\n type: \"tag\",\n mode: \"text\",\n body: tree,\n tag: parser.subparse([new Token(\"\\\\df@tag\")])\n }];\n }\n\n return tree;\n};\n\n/* harmony default export */ var src_parseTree = (parseTree);\n;// CONCATENATED MODULE: ./katex.js\n/* eslint no-console:0 */\n\n/**\n * This is the main entry point for KaTeX. Here, we expose functions for\n * rendering expressions either to DOM nodes or to markup strings.\n *\n * We also expose the ParseError class to check if errors thrown from KaTeX are\n * errors in the expression, or errors in javascript handling.\n */\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Parse and build an expression, and place that expression in the DOM node\n * given.\n */\nvar render = function render(expression, baseNode, options) {\n baseNode.textContent = \"\";\n var node = renderToDomTree(expression, options).toNode();\n baseNode.appendChild(node);\n}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and\n// disable rendering.\n\n\nif (typeof document !== \"undefined\") {\n if (document.compatMode !== \"CSS1Compat\") {\n typeof console !== \"undefined\" && console.warn(\"Warning: KaTeX doesn't work in quirks mode. Make sure your \" + \"website has a suitable doctype.\");\n\n render = function render() {\n throw new src_ParseError(\"KaTeX doesn't work in quirks mode.\");\n };\n }\n}\n/**\n * Parse and build an expression, and return the markup for that.\n */\n\n\nvar renderToString = function renderToString(expression, options) {\n var markup = renderToDomTree(expression, options).toMarkup();\n return markup;\n};\n/**\n * Parse an expression and return the parse tree.\n */\n\n\nvar generateParseTree = function generateParseTree(expression, options) {\n var settings = new Settings(options);\n return src_parseTree(expression, settings);\n};\n/**\n * If the given error is a KaTeX ParseError and options.throwOnError is false,\n * renders the invalid LaTeX as a span with hover title giving the KaTeX\n * error message. Otherwise, simply throws the error.\n */\n\n\nvar renderError = function renderError(error, expression, options) {\n if (options.throwOnError || !(error instanceof src_ParseError)) {\n throw error;\n }\n\n var node = buildCommon.makeSpan([\"katex-error\"], [new SymbolNode(expression)]);\n node.setAttribute(\"title\", error.toString());\n node.setAttribute(\"style\", \"color:\" + options.errorColor);\n return node;\n};\n/**\n * Generates and returns the katex build tree. This is used for advanced\n * use cases (like rendering to custom output).\n */\n\n\nvar renderToDomTree = function renderToDomTree(expression, options) {\n var settings = new Settings(options);\n\n try {\n var tree = src_parseTree(expression, settings);\n return buildTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n/**\n * Generates and returns the katex build tree, with just HTML (no MathML).\n * This is used for advanced use cases (like rendering to custom output).\n */\n\n\nvar renderToHTMLTree = function renderToHTMLTree(expression, options) {\n var settings = new Settings(options);\n\n try {\n var tree = src_parseTree(expression, settings);\n return buildHTMLTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n\n/* harmony default export */ var katex = ({\n /**\n * Current KaTeX version\n */\n version: \"0.16.9\",\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination, and adds\n * it as a child to the specified DOM node.\n */\n render: render,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination string,\n * for sending to the client.\n */\n renderToString: renderToString,\n\n /**\n * KaTeX error, usually during parsing.\n */\n ParseError: src_ParseError,\n\n /**\n * The shema of Settings\n */\n SETTINGS_SCHEMA: SETTINGS_SCHEMA,\n\n /**\n * Parses the given LaTeX into KaTeX's internal parse tree structure,\n * without rendering to HTML or MathML.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __parse: generateParseTree,\n\n /**\n * Renders the given LaTeX into an HTML+MathML internal DOM tree\n * representation, without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToDomTree: renderToDomTree,\n\n /**\n * Renders the given LaTeX into an HTML internal DOM tree representation,\n * without MathML and without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToHTMLTree: renderToHTMLTree,\n\n /**\n * extends internal font metrics object with a new object\n * each key in the new object represents a font name\n */\n __setFontMetrics: setFontMetrics,\n\n /**\n * adds a new symbol to builtin symbols table\n */\n __defineSymbol: defineSymbol,\n\n /**\n * adds a new function to builtin function list,\n * which directly produce parse tree elements\n * and have their own html/mathml builders\n */\n __defineFunction: defineFunction,\n\n /**\n * adds a new macro to builtin macro list\n */\n __defineMacro: defineMacro,\n\n /**\n * Expose the dom tree node types, which can be useful for type checking nodes.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __domTree: {\n Span: Span,\n Anchor: Anchor,\n SymbolNode: SymbolNode,\n SvgNode: SvgNode,\n PathNode: PathNode,\n LineNode: LineNode\n }\n});\n;// CONCATENATED MODULE: ./katex.webpack.js\n/**\n * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2]\n * doesn't support CSS modules natively, a separate entry point is used and\n * it is not flowtyped.\n *\n * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef\n * [2] https://facebook.github.io/jest/docs/en/webpack.html\n */\n\n\n/* harmony default export */ var katex_webpack = (katex);\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nmodule.exports = baseFilter;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var apply = require('./_apply'),\n castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\nfunction baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n}\n\nmodule.exports = baseInvoke;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsEndIndex;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsStartIndex;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = compact;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n});\n\nmodule.exports = difference;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","module.exports = require('./head');\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nmodule.exports = head;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseInvoke = require('./_baseInvoke'),\n baseRest = require('./_baseRest');\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = baseRest(baseInvoke);\n\nmodule.exports = invoke;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseSum = require('./_baseSum'),\n identity = require('./identity');\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n}\n\nmodule.exports = sum;\n","var baseSlice = require('./_baseSlice'),\n toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\nfunction take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n}\n\nmodule.exports = take;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var baseToString = require('./_baseToString'),\n baseTrim = require('./_baseTrim'),\n castSlice = require('./_castSlice'),\n charsEndIndex = require('./_charsEndIndex'),\n charsStartIndex = require('./_charsStartIndex'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\nfunction trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return baseTrim(string);\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n}\n\nmodule.exports = trim;\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\nimport { AgentConfig } from \"./src/common.speech/Exports.js\";\r\n\r\n// Note: this instantiation ensures the above import isn't\r\n// removed on compile. The import being absent causes an error on running\r\nvoid new AgentConfig();\r\n\r\n// Speech SDK API\r\nexport * from \"./src/sdk/Exports.js\";\r\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport * as fs from \"fs\";\r\nimport { LogLevel } from \"../sdk/LogLevel.js\";\r\nimport { IEventListener, PlatformEvent } from \"../common/Exports.js\";\r\nimport { Contracts } from \"../sdk/Contracts.js\";\r\n\r\nexport class ConsoleLoggingListener implements IEventListener {\r\n private privLogLevelFilter: LogLevel;\r\n private privLogPath: fs.PathLike = undefined;\r\n private privEnableConsoleOutput: boolean = true;\r\n\r\n public constructor(logLevelFilter: LogLevel = LogLevel.None) { // Console output disabled by default\r\n this.privLogLevelFilter = logLevelFilter;\r\n }\r\n\r\n public set logPath(path: fs.PathLike) {\r\n Contracts.throwIfNullOrUndefined(fs.openSync, \"\\nFile System access not available\");\r\n this.privLogPath = path;\r\n }\r\n\r\n public set enableConsoleOutput(enableOutput: boolean) {\r\n this.privEnableConsoleOutput = enableOutput;\r\n }\r\n\r\n public onEvent(event: PlatformEvent): void {\r\n if (event.eventType >= this.privLogLevelFilter) {\r\n const log = this.toString(event);\r\n if (!!this.privLogPath) {\r\n fs.writeFileSync(this.privLogPath, log + \"\\n\", { flag: \"a+\" });\r\n }\r\n\r\n if (this.privEnableConsoleOutput) {\r\n switch (event.eventType) {\r\n case LogLevel.Debug:\r\n // eslint-disable-next-line no-console\r\n console.debug(log);\r\n break;\r\n case LogLevel.Info:\r\n // eslint-disable-next-line no-console\r\n console.info(log);\r\n break;\r\n case LogLevel.Warning:\r\n // eslint-disable-next-line no-console\r\n console.warn(log);\r\n break;\r\n case LogLevel.Error:\r\n // eslint-disable-next-line no-console\r\n console.error(log);\r\n break;\r\n default:\r\n // eslint-disable-next-line no-console\r\n console.log(log);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private toString(event: PlatformEvent): string {\r\n const logFragments = [\r\n `${event.eventTime}`,\r\n `${event.name}`,\r\n ];\r\n\r\n const e: any = event as any;\r\n for (const prop in e) {\r\n if (prop && event.hasOwnProperty(prop) &&\r\n prop !== \"eventTime\" && prop !== \"eventType\" &&\r\n prop !== \"eventId\" && prop !== \"name\" &&\r\n prop !== \"constructor\") {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n const value = e[prop];\r\n let valueToLog = \"\";\r\n if (value !== undefined && value !== null) {\r\n if (typeof (value) === \"number\" || typeof (value) === \"string\") {\r\n valueToLog = value.toString();\r\n } else {\r\n valueToLog = JSON.stringify(value);\r\n }\r\n }\r\n\r\n logFragments.push(`${prop}: ${valueToLog}`);\r\n }\r\n\r\n }\r\n\r\n return logFragments.join(\" | \");\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport * from \"./ConsoleLoggingListener.js\";\r\nexport * from \"./IRecorder.js\";\r\nexport * from \"./MicAudioSource.js\";\r\nexport * from \"./FileAudioSource.js\";\r\nexport * from \"./PCMRecorder.js\";\r\nexport * from \"./WebsocketConnection.js\";\r\nexport * from \"./WebsocketMessageAdapter.js\";\r\nexport * from \"./ReplayableAudioNode.js\";\r\nexport * from \"./ProxyInfo.js\";\r\nexport * from \"./RestMessageAdapter.js\";\r\nexport * from \"./RestConfigBase.js\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n connectivity,\r\n ISpeechConfigAudioDevice,\r\n type,\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n AudioSourceErrorEvent,\r\n AudioSourceEvent,\r\n AudioSourceInitializingEvent,\r\n AudioSourceOffEvent,\r\n AudioSourceReadyEvent,\r\n AudioStreamNodeAttachedEvent,\r\n AudioStreamNodeAttachingEvent,\r\n AudioStreamNodeDetachedEvent,\r\n AudioStreamNodeErrorEvent,\r\n ChunkedArrayBufferStream,\r\n createNoDashGuid,\r\n Deferred,\r\n Events,\r\n EventSource,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IStreamChunk,\r\n IStringDictionary,\r\n Stream,\r\n} from \"../common/Exports.js\";\r\nimport { AudioStreamFormat, AudioStreamFormatImpl } from \"../sdk/Audio/AudioStreamFormat.js\";\r\n\r\nexport class FileAudioSource implements IAudioSource {\r\n\r\n private privAudioFormatPromise: Promise;\r\n\r\n private privStreams: IStringDictionary> = {};\r\n\r\n private privId: string;\r\n\r\n private privEvents: EventSource;\r\n\r\n private privSource: Blob | Buffer;\r\n\r\n private privFilename: string;\r\n\r\n private privHeaderEnd: number = 44;\r\n\r\n public constructor(file: File | Buffer, filename?: string, audioSourceId?: string) {\r\n this.privId = audioSourceId ? audioSourceId : createNoDashGuid();\r\n this.privEvents = new EventSource();\r\n this.privSource = file;\r\n if (typeof window !== \"undefined\" && typeof Blob !== \"undefined\" && this.privSource instanceof Blob) {\r\n this.privFilename = (file as File).name;\r\n } else {\r\n this.privFilename = filename || \"unknown.wav\";\r\n }\r\n\r\n // Read the header.\r\n this.privAudioFormatPromise = this.readHeader();\r\n }\r\n\r\n public get format(): Promise {\r\n return this.privAudioFormatPromise;\r\n }\r\n\r\n public turnOn(): Promise {\r\n if (this.privFilename.lastIndexOf(\".wav\") !== this.privFilename.length - 4) {\r\n const errorMsg = this.privFilename + \" is not supported. Only WAVE files are allowed at the moment.\";\r\n this.onEvent(new AudioSourceErrorEvent(errorMsg, \"\"));\r\n return Promise.reject(errorMsg);\r\n }\r\n\r\n this.onEvent(new AudioSourceInitializingEvent(this.privId)); // no stream id\r\n this.onEvent(new AudioSourceReadyEvent(this.privId));\r\n return;\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n\r\n public async attach(audioNodeId: string): Promise {\r\n this.onEvent(new AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\r\n\r\n const stream: Stream = await this.upload(audioNodeId);\r\n\r\n this.onEvent(new AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\r\n return Promise.resolve({\r\n detach: async (): Promise => {\r\n stream.readEnded();\r\n delete this.privStreams[audioNodeId];\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n await this.turnOff();\r\n },\r\n id: (): string => audioNodeId,\r\n read: (): Promise> => stream.read(),\r\n });\r\n }\r\n\r\n public detach(audioNodeId: string): void {\r\n if (audioNodeId && this.privStreams[audioNodeId]) {\r\n this.privStreams[audioNodeId].close();\r\n delete this.privStreams[audioNodeId];\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n }\r\n }\r\n\r\n public turnOff(): Promise {\r\n for (const streamId in this.privStreams) {\r\n if (streamId) {\r\n const stream = this.privStreams[streamId];\r\n if (stream && !stream.isClosed) {\r\n stream.close();\r\n }\r\n }\r\n }\r\n\r\n this.onEvent(new AudioSourceOffEvent(this.privId)); // no stream now\r\n return Promise.resolve();\r\n }\r\n\r\n public get events(): EventSource {\r\n return this.privEvents;\r\n }\r\n\r\n public get deviceInfo(): Promise {\r\n return this.privAudioFormatPromise.then((result: AudioStreamFormatImpl): Promise<{\r\n bitspersample: number;\r\n channelcount: number;\r\n connectivity: connectivity.Unknown;\r\n manufacturer: string;\r\n model: string;\r\n samplerate: number;\r\n type: type.File;\r\n }> => ( Promise.resolve({\r\n bitspersample: result.bitsPerSample,\r\n channelcount: result.channels,\r\n connectivity: connectivity.Unknown,\r\n manufacturer: \"Speech SDK\",\r\n model: \"File\",\r\n samplerate: result.samplesPerSec,\r\n type: type.File,\r\n })\r\n ));\r\n }\r\n\r\n private readHeader(): Promise {\r\n // Read the wave header.\r\n const maxHeaderSize: number = 4296;\r\n const header: Blob | Buffer = this.privSource.slice(0, maxHeaderSize);\r\n\r\n const headerResult: Deferred = new Deferred();\r\n\r\n const processHeader = (header: ArrayBuffer): void => {\r\n const view: DataView = new DataView(header);\r\n\r\n const getWord = (index: number): string => String.fromCharCode(view.getUint8(index), view.getUint8(index + 1), view.getUint8(index + 2), view.getUint8(index + 3));\r\n\r\n // RIFF 4 bytes.\r\n if (\"RIFF\" !== getWord(0)) {\r\n headerResult.reject(\"Invalid WAV header in file, RIFF was not found\");\r\n return;\r\n }\r\n\r\n // length, 4 bytes\r\n // RIFF Type & fmt 8 bytes\r\n if (\"WAVE\" !== getWord(8) || \"fmt \" !== getWord(12)) {\r\n headerResult.reject(\"Invalid WAV header in file, WAVEfmt was not found\");\r\n return;\r\n }\r\n\r\n const formatSize: number = view.getInt32(16, true);\r\n const channelCount: number = view.getUint16(22, true);\r\n const sampleRate: number = view.getUint32(24, true);\r\n const bitsPerSample: number = view.getUint16(34, true);\r\n // Confirm if header is 44 bytes long.\r\n let pos: number = 36 + Math.max(formatSize - 16, 0);\r\n for (; getWord(pos) !== \"data\"; pos += 2) {\r\n if (pos > maxHeaderSize - 8) {\r\n headerResult.reject(\"Invalid WAV header in file, data block was not found\");\r\n return;\r\n }\r\n }\r\n this.privHeaderEnd = pos + 8;\r\n headerResult.resolve(AudioStreamFormat.getWaveFormatPCM(sampleRate, bitsPerSample, channelCount) as AudioStreamFormatImpl);\r\n };\r\n\r\n if (typeof window !== \"undefined\" && typeof Blob !== \"undefined\" && header instanceof Blob) {\r\n const reader: FileReader = new FileReader();\r\n\r\n reader.onload = (event: Event): void => {\r\n const header: ArrayBuffer = (event.target as FileReader).result as ArrayBuffer;\r\n processHeader(header);\r\n };\r\n\r\n reader.readAsArrayBuffer(header);\r\n } else {\r\n const h: Buffer = header as Buffer;\r\n processHeader(h.buffer.slice(h.byteOffset, h.byteOffset + h.byteLength));\r\n }\r\n return headerResult.promise;\r\n }\r\n\r\n private async upload(audioNodeId: string): Promise> {\r\n const onerror = (error: string): void => {\r\n const errorMsg = `Error occurred while processing '${this.privFilename}'. ${error}`;\r\n this.onEvent(new AudioStreamNodeErrorEvent(this.privId, audioNodeId, errorMsg));\r\n throw new Error(errorMsg);\r\n };\r\n\r\n try {\r\n await this.turnOn();\r\n\r\n const format: AudioStreamFormatImpl = await this.privAudioFormatPromise;\r\n const stream = new ChunkedArrayBufferStream(format.avgBytesPerSec / 10, audioNodeId);\r\n\r\n this.privStreams[audioNodeId] = stream;\r\n const chunk: Blob | Buffer = this.privSource.slice(this.privHeaderEnd);\r\n\r\n const processFile = (buff: ArrayBuffer): void => {\r\n if (stream.isClosed) {\r\n return; // output stream was closed (somebody called TurnOff). We're done here.\r\n }\r\n\r\n stream.writeStreamChunk({\r\n buffer: buff,\r\n isEnd: false,\r\n timeReceived: Date.now(),\r\n });\r\n stream.close();\r\n };\r\n\r\n if (typeof window !== \"undefined\" && typeof Blob !== \"undefined\" && chunk instanceof Blob) {\r\n const reader: FileReader = new FileReader();\r\n reader.onerror = (ev: ProgressEvent): void => onerror(ev.toString());\r\n\r\n reader.onload = (event: Event): void => {\r\n const fileBuffer: ArrayBuffer = (event.target as FileReader).result as ArrayBuffer;\r\n processFile(fileBuffer);\r\n };\r\n\r\n reader.readAsArrayBuffer(chunk);\r\n } else {\r\n const c: Buffer = chunk as Buffer;\r\n processFile(c.buffer.slice(c.byteOffset, c.byteOffset + c.byteLength));\r\n }\r\n\r\n return stream;\r\n } catch (e) {\r\n onerror(e as string);\r\n }\r\n }\r\n\r\n private onEvent(event: AudioSourceEvent): void {\r\n this.privEvents.onEvent(event);\r\n Events.instance.onEvent(event);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n connectivity,\r\n ISpeechConfigAudioDevice,\r\n type\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n AudioSourceErrorEvent,\r\n AudioSourceEvent,\r\n AudioSourceInitializingEvent,\r\n AudioSourceOffEvent,\r\n AudioSourceReadyEvent,\r\n AudioStreamNodeAttachedEvent,\r\n AudioStreamNodeAttachingEvent,\r\n AudioStreamNodeDetachedEvent,\r\n AudioStreamNodeErrorEvent,\r\n ChunkedArrayBufferStream,\r\n createNoDashGuid,\r\n Deferred,\r\n Events,\r\n EventSource,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IStringDictionary,\r\n Stream,\r\n} from \"../common/Exports.js\";\r\nimport { IStreamChunk } from \"../common/Stream.js\";\r\nimport {\r\n AudioStreamFormat,\r\n AudioStreamFormatImpl,\r\n} from \"../sdk/Audio/AudioStreamFormat.js\";\r\nimport { IRecorder } from \"./IRecorder.js\";\r\n\r\n// Extending the default definition with browser specific definitions for backward compatibility\r\ninterface INavigator extends Navigator {\r\n webkitGetUserMedia: (constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback | undefined, errorCallback: NavigatorUserMediaErrorCallback) => void;\r\n mozGetUserMedia: (constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback | undefined, errorCallback: NavigatorUserMediaErrorCallback) => void;\r\n msGetUserMedia: (constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback) => void;\r\n}\r\n\r\nexport const AudioWorkletSourceURLPropertyName = \"MICROPHONE-WorkletSourceUrl\";\r\n\r\nexport class MicAudioSource implements IAudioSource {\r\n\r\n private static readonly AUDIOFORMAT: AudioStreamFormatImpl = AudioStreamFormat.getDefaultInputFormat() as AudioStreamFormatImpl;\r\n\r\n private privStreams: IStringDictionary> = {};\r\n\r\n private privId: string;\r\n\r\n private privEvents: EventSource;\r\n\r\n private privInitializeDeferral: Deferred;\r\n\r\n private privMediaStream: MediaStream;\r\n\r\n private privContext: AudioContext;\r\n\r\n private privMicrophoneLabel: string;\r\n\r\n private privOutputChunkSize: number;\r\n\r\n private privIsClosing: boolean;\r\n\r\n public constructor(\r\n private readonly privRecorder: IRecorder,\r\n private readonly deviceId?: string,\r\n audioSourceId?: string,\r\n mediaStream?: MediaStream\r\n ) {\r\n\r\n this.privOutputChunkSize = MicAudioSource.AUDIOFORMAT.avgBytesPerSec / 10;\r\n this.privId = audioSourceId ? audioSourceId : createNoDashGuid();\r\n this.privEvents = new EventSource();\r\n this.privMediaStream = mediaStream || null;\r\n this.privIsClosing = false;\r\n }\r\n\r\n public get format(): Promise {\r\n return Promise.resolve(MicAudioSource.AUDIOFORMAT);\r\n }\r\n\r\n public turnOn(): Promise {\r\n if (this.privInitializeDeferral) {\r\n return this.privInitializeDeferral.promise;\r\n }\r\n\r\n this.privInitializeDeferral = new Deferred();\r\n\r\n try {\r\n this.createAudioContext();\r\n } catch (error) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n this.privInitializeDeferral.reject(typedError.name + \": \" + typedError.message);\r\n } else {\r\n this.privInitializeDeferral.reject(error as string);\r\n }\r\n return this.privInitializeDeferral.promise;\r\n }\r\n\r\n const nav = window.navigator as INavigator;\r\n\r\n let getUserMedia = (\r\n // eslint-disable-next-line\r\n nav.getUserMedia ||\r\n nav.webkitGetUserMedia ||\r\n nav.mozGetUserMedia ||\r\n nav.msGetUserMedia\r\n );\r\n\r\n if (!!nav.mediaDevices) {\r\n getUserMedia = (constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void => {\r\n nav.mediaDevices\r\n .getUserMedia(constraints)\r\n .then(successCallback)\r\n .catch(errorCallback);\r\n };\r\n }\r\n\r\n if (!getUserMedia) {\r\n const errorMsg = \"Browser does not support getUserMedia.\";\r\n this.privInitializeDeferral.reject(errorMsg);\r\n this.onEvent(new AudioSourceErrorEvent(errorMsg, \"\")); // mic initialized error - no streamid at this point\r\n } else {\r\n const next = (): void => {\r\n this.onEvent(new AudioSourceInitializingEvent(this.privId)); // no stream id\r\n if (this.privMediaStream && this.privMediaStream.active) {\r\n this.onEvent(new AudioSourceReadyEvent(this.privId));\r\n this.privInitializeDeferral.resolve();\r\n } else {\r\n getUserMedia(\r\n { audio: this.deviceId ? { deviceId: this.deviceId } : true, video: false },\r\n (mediaStream: MediaStream): void => {\r\n this.privMediaStream = mediaStream;\r\n this.onEvent(new AudioSourceReadyEvent(this.privId));\r\n this.privInitializeDeferral.resolve();\r\n }, (error: any): void => {\r\n const errorMsg = `Error occurred during microphone initialization: ${error as string}`;\r\n this.privInitializeDeferral.reject(errorMsg);\r\n this.onEvent(new AudioSourceErrorEvent(this.privId, errorMsg));\r\n });\r\n }\r\n };\r\n\r\n if (this.privContext.state === \"suspended\") {\r\n // NOTE: On iOS, the Web Audio API requires sounds to be triggered from an explicit user action.\r\n // https://github.com/WebAudio/web-audio-api/issues/790\r\n this.privContext.resume()\r\n .then(next)\r\n .catch((reason: any): void => {\r\n this.privInitializeDeferral.reject(`Failed to initialize audio context: ${reason as string}`);\r\n });\r\n } else {\r\n next();\r\n }\r\n }\r\n\r\n return this.privInitializeDeferral.promise;\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n\r\n public attach(audioNodeId: string): Promise {\r\n this.onEvent(new AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\r\n\r\n return this.listen(audioNodeId).then(\r\n (stream: Stream): IAudioStreamNode => {\r\n this.onEvent(new AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\r\n return {\r\n detach: async (): Promise => {\r\n stream.readEnded();\r\n delete this.privStreams[audioNodeId];\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n return this.turnOff();\r\n },\r\n id: (): string => audioNodeId,\r\n read: (): Promise> => stream.read(),\r\n };\r\n });\r\n }\r\n\r\n public detach(audioNodeId: string): void {\r\n if (audioNodeId && this.privStreams[audioNodeId]) {\r\n this.privStreams[audioNodeId].close();\r\n delete this.privStreams[audioNodeId];\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n }\r\n }\r\n\r\n public async turnOff(): Promise {\r\n for (const streamId in this.privStreams) {\r\n if (streamId) {\r\n const stream = this.privStreams[streamId];\r\n if (stream) {\r\n stream.close();\r\n }\r\n }\r\n }\r\n\r\n this.onEvent(new AudioSourceOffEvent(this.privId)); // no stream now\r\n if (this.privInitializeDeferral) {\r\n // Correctly handle when browser forces mic off before turnOn() completes\r\n // eslint-disable-next-line @typescript-eslint/await-thenable\r\n await this.privInitializeDeferral;\r\n this.privInitializeDeferral = null;\r\n }\r\n\r\n await this.destroyAudioContext();\r\n\r\n return;\r\n }\r\n\r\n public get events(): EventSource {\r\n return this.privEvents;\r\n }\r\n\r\n public get deviceInfo(): Promise {\r\n return this.getMicrophoneLabel().then((label: string): ISpeechConfigAudioDevice => (\r\n {\r\n bitspersample: MicAudioSource.AUDIOFORMAT.bitsPerSample,\r\n channelcount: MicAudioSource.AUDIOFORMAT.channels,\r\n connectivity: connectivity.Unknown,\r\n manufacturer: \"Speech SDK\",\r\n model: label,\r\n samplerate: MicAudioSource.AUDIOFORMAT.samplesPerSec,\r\n type: type.Microphones,\r\n }\r\n ));\r\n }\r\n\r\n public setProperty(name: string, value: string): void {\r\n if (name === AudioWorkletSourceURLPropertyName) {\r\n this.privRecorder.setWorkletUrl(value);\r\n } else {\r\n throw new Error(\"Property '\" + name + \"' is not supported on Microphone.\");\r\n }\r\n }\r\n\r\n private getMicrophoneLabel(): Promise {\r\n const defaultMicrophoneName: string = \"microphone\";\r\n\r\n // If we did this already, return the value.\r\n if (this.privMicrophoneLabel !== undefined) {\r\n return Promise.resolve(this.privMicrophoneLabel);\r\n }\r\n\r\n // If the stream isn't currently running, we can't query devices because security.\r\n if (this.privMediaStream === undefined || !this.privMediaStream.active) {\r\n return Promise.resolve(defaultMicrophoneName);\r\n }\r\n\r\n // Setup a default\r\n this.privMicrophoneLabel = defaultMicrophoneName;\r\n\r\n // Get the id of the device running the audio track.\r\n const microphoneDeviceId: string = this.privMediaStream.getTracks()[0].getSettings().deviceId;\r\n\r\n // If the browser doesn't support getting the device ID, set a default and return.\r\n if (undefined === microphoneDeviceId) {\r\n return Promise.resolve(this.privMicrophoneLabel);\r\n }\r\n\r\n const deferred: Deferred = new Deferred();\r\n\r\n // Enumerate the media devices.\r\n navigator.mediaDevices.enumerateDevices().then((devices: MediaDeviceInfo[]): void => {\r\n for (const device of devices) {\r\n if (device.deviceId === microphoneDeviceId) {\r\n // Found the device\r\n this.privMicrophoneLabel = device.label;\r\n break;\r\n }\r\n }\r\n deferred.resolve(this.privMicrophoneLabel);\r\n }, (): Deferred => deferred.resolve(this.privMicrophoneLabel));\r\n\r\n return deferred.promise;\r\n }\r\n\r\n private async listen(audioNodeId: string): Promise> {\r\n await this.turnOn();\r\n const stream = new ChunkedArrayBufferStream(this.privOutputChunkSize, audioNodeId);\r\n this.privStreams[audioNodeId] = stream;\r\n try {\r\n this.privRecorder.record(this.privContext, this.privMediaStream, stream);\r\n } catch (error) {\r\n this.onEvent(new AudioStreamNodeErrorEvent(this.privId, audioNodeId, error as string));\r\n throw error;\r\n }\r\n const result: Stream = stream;\r\n return result;\r\n }\r\n\r\n private onEvent(event: AudioSourceEvent): void {\r\n this.privEvents.onEvent(event);\r\n Events.instance.onEvent(event);\r\n }\r\n\r\n private createAudioContext(): void {\r\n if (!!this.privContext) {\r\n return;\r\n }\r\n\r\n this.privContext = AudioStreamFormatImpl.getAudioContext(MicAudioSource.AUDIOFORMAT.samplesPerSec);\r\n }\r\n\r\n private async destroyAudioContext(): Promise {\r\n if (!this.privContext) {\r\n return;\r\n }\r\n\r\n this.privRecorder.releaseMediaResources(this.privContext);\r\n\r\n // This pattern brought to you by a bug in the TypeScript compiler where it\r\n // confuses the (\"close\" in this.privContext) with this.privContext always being null as the alternate.\r\n // https://github.com/Microsoft/TypeScript/issues/11498\r\n let hasClose: boolean = false;\r\n if (\"close\" in this.privContext) {\r\n hasClose = true;\r\n }\r\n\r\n if (hasClose) {\r\n if (!this.privIsClosing) {\r\n // The audio context close may take enough time that the close is called twice\r\n this.privIsClosing = true;\r\n await this.privContext.close();\r\n this.privContext = null;\r\n this.privIsClosing = false;\r\n }\r\n } else if (null !== this.privContext && this.privContext.state === \"running\") {\r\n // Suspend actually takes a callback, but analogous to the\r\n // resume method, it'll be only fired if suspend is called\r\n // in a direct response to a user action. The later is not always\r\n // the case, as TurnOff is also called, when we receive an\r\n // end-of-speech message from the service. So, doing a best effort\r\n // fire-and-forget here.\r\n await this.privContext.suspend();\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { RiffPcmEncoder, Stream } from \"../common/Exports\";\r\nimport { IRecorder } from \"./IRecorder\";\r\n\r\nexport class PcmRecorder implements IRecorder {\r\n private privMediaResources: IMediaResources;\r\n private privSpeechProcessorScript: string; // speech-processor.js Url\r\n private privStopInputOnRelease: boolean;\r\n\r\n public constructor(stopInputOnRelease: boolean) {\r\n this.privStopInputOnRelease = stopInputOnRelease;\r\n }\r\n\r\n public record(context: AudioContext, mediaStream: MediaStream, outputStream: Stream): void {\r\n const desiredSampleRate = 16000;\r\n\r\n const waveStreamEncoder = new RiffPcmEncoder(context.sampleRate, desiredSampleRate);\r\n\r\n const micInput = context.createMediaStreamSource(mediaStream);\r\n\r\n const attachScriptProcessor = (): void => {\r\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\r\n const scriptNode = (() => {\r\n let bufferSize = 0;\r\n try {\r\n return context.createScriptProcessor(bufferSize, 1, 1);\r\n } catch (error) {\r\n // Webkit (<= version 31) requires a valid bufferSize.\r\n bufferSize = 2048;\r\n let audioSampleRate = context.sampleRate;\r\n while (bufferSize < 16384 && audioSampleRate >= (2 * desiredSampleRate)) {\r\n bufferSize <<= 1;\r\n audioSampleRate >>= 1;\r\n }\r\n return context.createScriptProcessor(bufferSize, 1, 1);\r\n }\r\n })();\r\n scriptNode.onaudioprocess = (event: AudioProcessingEvent): void => {\r\n const inputFrame = event.inputBuffer.getChannelData(0);\r\n\r\n if (outputStream && !outputStream.isClosed) {\r\n const waveFrame = waveStreamEncoder.encode(inputFrame);\r\n if (!!waveFrame) {\r\n outputStream.writeStreamChunk({\r\n buffer: waveFrame,\r\n isEnd: false,\r\n timeReceived: Date.now(),\r\n });\r\n }\r\n }\r\n };\r\n micInput.connect(scriptNode);\r\n scriptNode.connect(context.destination);\r\n this.privMediaResources = {\r\n scriptProcessorNode: scriptNode,\r\n source: micInput,\r\n stream: mediaStream,\r\n };\r\n };\r\n\r\n // https://webaudio.github.io/web-audio-api/#audioworklet\r\n // Using AudioWorklet to improve audio quality and avoid audio glitches due to blocking the UI thread\r\n const skipAudioWorklet = !!this.privSpeechProcessorScript && this.privSpeechProcessorScript.toLowerCase() === \"ignore\";\r\n\r\n if (!!context.audioWorklet && !skipAudioWorklet) {\r\n if (!this.privSpeechProcessorScript) {\r\n const workletScript = `class SP extends AudioWorkletProcessor {\r\n constructor(options) {\r\n super(options);\r\n }\r\n process(inputs, outputs) {\r\n const input = inputs[0];\r\n const output = [];\r\n for (let channel = 0; channel < input.length; channel += 1) {\r\n output[channel] = input[channel];\r\n }\r\n this.port.postMessage(output[0]);\r\n return true;\r\n }\r\n }\r\n registerProcessor('speech-processor', SP);`;\r\n const blob = new Blob([workletScript], { type: \"application/javascript; charset=utf-8\" });\r\n this.privSpeechProcessorScript = URL.createObjectURL(blob);\r\n }\r\n\r\n context.audioWorklet\r\n .addModule(this.privSpeechProcessorScript)\r\n .then((): void => {\r\n const workletNode = new AudioWorkletNode(context, \"speech-processor\");\r\n workletNode.port.onmessage = (ev: MessageEvent): void => {\r\n const inputFrame: Float32Array = ev.data as Float32Array;\r\n\r\n if (outputStream && !outputStream.isClosed) {\r\n const waveFrame = waveStreamEncoder.encode(inputFrame);\r\n if (!!waveFrame) {\r\n outputStream.writeStreamChunk({\r\n buffer: waveFrame,\r\n isEnd: false,\r\n timeReceived: Date.now(),\r\n });\r\n }\r\n }\r\n };\r\n micInput.connect(workletNode);\r\n workletNode.connect(context.destination);\r\n this.privMediaResources = {\r\n scriptProcessorNode: workletNode,\r\n source: micInput,\r\n stream: mediaStream,\r\n };\r\n })\r\n .catch((): void => {\r\n attachScriptProcessor();\r\n });\r\n } else {\r\n try {\r\n attachScriptProcessor();\r\n } catch (err) {\r\n throw new Error(`Unable to start audio worklet node for PCMRecorder: ${err as string}`);\r\n }\r\n }\r\n }\r\n\r\n public releaseMediaResources(context: AudioContext): void {\r\n if (this.privMediaResources) {\r\n if (this.privMediaResources.scriptProcessorNode) {\r\n this.privMediaResources.scriptProcessorNode.disconnect(context.destination);\r\n this.privMediaResources.scriptProcessorNode = null;\r\n }\r\n if (this.privMediaResources.source) {\r\n this.privMediaResources.source.disconnect();\r\n if (this.privStopInputOnRelease) {\r\n this.privMediaResources.stream.getTracks().forEach((track: MediaStreamTrack): void => track.stop());\r\n }\r\n this.privMediaResources.source = null;\r\n }\r\n }\r\n }\r\n\r\n public setWorkletUrl(url: string): void {\r\n this.privSpeechProcessorScript = url;\r\n }\r\n}\r\n\r\ninterface IMediaResources {\r\n source: MediaStreamAudioSourceNode;\r\n scriptProcessorNode: ScriptProcessorNode | AudioWorkletNode;\r\n stream: MediaStream;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { RecognizerConfig } from \"../common.speech/Exports.js\";\r\nimport { PropertyCollection, PropertyId } from \"../sdk/Exports.js\";\r\n\r\nexport class ProxyInfo {\r\n private privProxyHostName: string;\r\n private privProxyPort: number;\r\n private privProxyUserName: string;\r\n private privProxyPassword: string;\r\n\r\n private constructor(proxyHostName: string, proxyPort: number, proxyUserName: string, proxyPassword: string) {\r\n this.privProxyHostName = proxyHostName;\r\n this.privProxyPort = proxyPort;\r\n this.privProxyUserName = proxyUserName;\r\n this.privProxyPassword = proxyPassword;\r\n }\r\n\r\n public static fromParameters(parameters: PropertyCollection): ProxyInfo {\r\n return new ProxyInfo(parameters.getProperty(PropertyId.SpeechServiceConnection_ProxyHostName),\r\n parseInt(parameters.getProperty(PropertyId.SpeechServiceConnection_ProxyPort), 10),\r\n parameters.getProperty(PropertyId.SpeechServiceConnection_ProxyUserName),\r\n parameters.getProperty(PropertyId.SpeechServiceConnection_ProxyPassword));\r\n }\r\n\r\n public static fromRecognizerConfig(config: RecognizerConfig): ProxyInfo {\r\n return this.fromParameters(config.parameters);\r\n }\r\n\r\n public get HostName(): string {\r\n return this.privProxyHostName;\r\n }\r\n\r\n public get Port(): number {\r\n return this.privProxyPort;\r\n }\r\n\r\n public get UserName(): string {\r\n return this.privProxyUserName;\r\n }\r\n\r\n public get Password(): string {\r\n return this.privProxyPassword;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nimport {\r\n IAudioStreamNode,\r\n IStreamChunk,\r\n} from \"../common/Exports.js\";\r\n\r\nexport class ReplayableAudioNode implements IAudioStreamNode {\r\n private privAudioNode: IAudioStreamNode;\r\n private privBytesPerSecond: number;\r\n private privBuffers: BufferEntry[] = [];\r\n private privReplayOffset: number = 0;\r\n private privLastShrinkOffset: number = 0;\r\n private privBufferStartOffset: number = 0;\r\n private privBufferSerial: number = 0;\r\n private privBufferedBytes: number = 0;\r\n private privReplay: boolean = false;\r\n private privLastChunkAcquiredTime: number = 0;\r\n\r\n public constructor(audioSource: IAudioStreamNode, bytesPerSecond: number) {\r\n this.privAudioNode = audioSource;\r\n this.privBytesPerSecond = bytesPerSecond;\r\n }\r\n\r\n public id(): string {\r\n return this.privAudioNode.id();\r\n }\r\n\r\n // Reads and returns the next chunk of audio buffer.\r\n // If replay of existing buffers are needed, read() will first seek and replay\r\n // existing content, and upoin completion it will read new content from the underlying\r\n // audio node, saving that content into the replayable buffers.\r\n public read(): Promise> {\r\n // if there is a replay request to honor.\r\n if (!!this.privReplay && this.privBuffers.length !== 0) {\r\n // Find the start point in the buffers.\r\n // Offsets are in 100ns increments.\r\n // So how many bytes do we need to seek to get the right offset?\r\n const offsetToSeek: number = this.privReplayOffset - this.privBufferStartOffset;\r\n\r\n let bytesToSeek: number = Math.round(offsetToSeek * this.privBytesPerSecond * 1e-7);\r\n if (0 !== (bytesToSeek % 2)) {\r\n bytesToSeek++;\r\n }\r\n\r\n let i: number = 0;\r\n\r\n while (i < this.privBuffers.length && bytesToSeek >= this.privBuffers[i].chunk.buffer.byteLength) {\r\n bytesToSeek -= this.privBuffers[i++].chunk.buffer.byteLength;\r\n }\r\n\r\n if (i < this.privBuffers.length) {\r\n const retVal: ArrayBuffer = this.privBuffers[i].chunk.buffer.slice(bytesToSeek);\r\n\r\n this.privReplayOffset += (retVal.byteLength / this.privBytesPerSecond) * 1e+7;\r\n\r\n // If we've reached the end of the buffers, stop replaying.\r\n if (i === this.privBuffers.length - 1) {\r\n this.privReplay = false;\r\n }\r\n\r\n return Promise.resolve>({\r\n buffer: retVal,\r\n isEnd: false,\r\n timeReceived: this.privBuffers[i].chunk.timeReceived,\r\n });\r\n }\r\n }\r\n\r\n return this.privAudioNode.read()\r\n .then((result: IStreamChunk): IStreamChunk => {\r\n if (result && result.buffer) {\r\n this.privBuffers.push(new BufferEntry(result, this.privBufferSerial++, this.privBufferedBytes));\r\n this.privBufferedBytes += result.buffer.byteLength;\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n public detach(): Promise {\r\n this.privBuffers = undefined;\r\n return this.privAudioNode.detach();\r\n }\r\n\r\n public replay(): void {\r\n if (this.privBuffers && 0 !== this.privBuffers.length) {\r\n this.privReplay = true;\r\n this.privReplayOffset = this.privLastShrinkOffset;\r\n }\r\n }\r\n\r\n // Shrinks the existing audio buffers to start at the new offset, or at the\r\n // beginning of the buffer closest to the requested offset.\r\n // A replay request will start from the last shrink point.\r\n public shrinkBuffers(offset: number): void {\r\n if (this.privBuffers === undefined || this.privBuffers.length === 0) {\r\n return;\r\n }\r\n\r\n this.privLastShrinkOffset = offset;\r\n\r\n // Find the start point in the buffers.\r\n // Offsets are in 100ns increments.\r\n // So how many bytes do we need to seek to get the right offset?\r\n const offsetToSeek: number = offset - this.privBufferStartOffset;\r\n\r\n let bytesToSeek: number = Math.round(offsetToSeek * this.privBytesPerSecond * 1e-7);\r\n\r\n let i: number = 0;\r\n\r\n while (i < this.privBuffers.length && bytesToSeek >= this.privBuffers[i].chunk.buffer.byteLength) {\r\n bytesToSeek -= this.privBuffers[i++].chunk.buffer.byteLength;\r\n }\r\n this.privBufferStartOffset = Math.round(offset - ((bytesToSeek / this.privBytesPerSecond) * 1e+7));\r\n this.privBuffers = this.privBuffers.slice(i);\r\n }\r\n\r\n // Finds the time a buffer of audio was first seen by offset.\r\n public findTimeAtOffset(offset: number): number {\r\n if (offset < this.privBufferStartOffset || this.privBuffers === undefined) {\r\n return 0;\r\n }\r\n\r\n for (const value of this.privBuffers) {\r\n const startOffset: number = (value.byteOffset / this.privBytesPerSecond) * 1e7;\r\n const endOffset: number = startOffset + ((value.chunk.buffer.byteLength / this.privBytesPerSecond) * 1e7);\r\n\r\n if (offset >= startOffset && offset <= endOffset) {\r\n return value.chunk.timeReceived;\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n}\r\n\r\n// Primary use of this class is to help debugging problems with the replay\r\n// code. If the memory cost of alloc / dealloc gets too much, drop it and just use\r\n// the ArrayBuffer directly.\r\nclass BufferEntry {\r\n public chunk: IStreamChunk;\r\n public serial: number;\r\n public byteOffset: number;\r\n\r\n public constructor(chunk: IStreamChunk, serial: number, byteOffset: number) {\r\n this.chunk = chunk;\r\n this.serial = serial;\r\n this.byteOffset = byteOffset;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IErrorMessages } from \"../common/Exports.js\";\r\n/**\r\n * HTTP request helper\r\n */\r\nexport interface IRequestOptions {\r\n headers?: {[key: string]: string};\r\n ignoreCache?: boolean;\r\n timeout?: number;\r\n}\r\n\r\nexport interface IRestParams {\r\n apiVersion: string;\r\n authorization: string;\r\n clientAppId: string;\r\n contentTypeKey: string;\r\n correlationId: string;\r\n languageCode: string;\r\n nickname: string;\r\n profanity: string;\r\n requestId: string;\r\n roomId: string;\r\n sessionToken: string;\r\n subscriptionKey: string;\r\n subscriptionRegion: string;\r\n token: string;\r\n}\r\n\r\nexport class RestConfigBase {\r\n\r\n public static get requestOptions(): IRequestOptions {\r\n return RestConfigBase.privDefaultRequestOptions;\r\n }\r\n\r\n public static get configParams(): IRestParams {\r\n return RestConfigBase.privDefaultParams;\r\n }\r\n\r\n public static get restErrors(): IErrorMessages {\r\n return RestConfigBase.privRestErrors;\r\n }\r\n\r\n private static readonly privDefaultRequestOptions: IRequestOptions = {\r\n headers: {\r\n Accept: \"application/json\",\r\n },\r\n ignoreCache: false,\r\n timeout: 10000,\r\n };\r\n\r\n private static readonly privRestErrors: IErrorMessages = {\r\n authInvalidSubscriptionKey: \"You must specify either an authentication token to use, or a Cognitive Speech subscription key.\",\r\n authInvalidSubscriptionRegion: \"You must specify the Cognitive Speech region to use.\",\r\n invalidArgs: \"Required input not found: {arg}.\",\r\n invalidCreateJoinConversationResponse: \"Creating/Joining conversation failed with HTTP {status}.\",\r\n invalidParticipantRequest: \"The requested participant was not found.\",\r\n permissionDeniedConnect: \"Required credentials not found.\",\r\n permissionDeniedConversation: \"Invalid operation: only the host can {command} the conversation.\",\r\n permissionDeniedParticipant: \"Invalid operation: only the host can {command} a participant.\",\r\n permissionDeniedSend: \"Invalid operation: the conversation is not in a connected state.\",\r\n permissionDeniedStart: \"Invalid operation: there is already an active conversation.\",\r\n };\r\n\r\n private static readonly privDefaultParams: IRestParams = {\r\n apiVersion: \"api-version\",\r\n authorization: \"Authorization\",\r\n clientAppId: \"X-ClientAppId\",\r\n contentTypeKey: \"Content-Type\",\r\n correlationId: \"X-CorrelationId\",\r\n languageCode: \"language\",\r\n nickname: \"nickname\",\r\n profanity: \"profanity\",\r\n requestId: \"X-RequestId\",\r\n roomId: \"roomid\",\r\n sessionToken: \"token\",\r\n subscriptionKey: \"Ocp-Apim-Subscription-Key\",\r\n subscriptionRegion: \"Ocp-Apim-Subscription-Region\",\r\n token: \"X-CapitoToken\",\r\n };\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport bent, { BentResponse, RequestBody } from \"bent\";\r\nimport {\r\n ArgumentNullError,\r\n Deferred\r\n} from \"../common/Exports.js\";\r\nimport { IRequestOptions } from \"./Exports.js\";\r\n\r\nexport enum RestRequestType {\r\n Get = \"GET\",\r\n Post = \"POST\",\r\n Delete = \"DELETE\",\r\n File = \"file\",\r\n}\r\n\r\nexport interface IRestResponse {\r\n ok: boolean;\r\n status: number;\r\n statusText: string;\r\n data: string;\r\n json: any;\r\n headers: string;\r\n}\r\n\r\ninterface JsonError {\r\n error?: {\r\n message: string;\r\n };\r\n}\r\n\r\n// accept rest operations via request method and return abstracted objects from server response\r\nexport class RestMessageAdapter {\r\n\r\n private privIgnoreCache: boolean;\r\n private privHeaders: { [key: string]: string };\r\n\r\n public constructor(\r\n configParams: IRequestOptions\r\n ) {\r\n\r\n if (!configParams) {\r\n throw new ArgumentNullError(\"configParams\");\r\n }\r\n\r\n this.privHeaders = configParams.headers;\r\n this.privIgnoreCache = configParams.ignoreCache;\r\n }\r\n\r\n public static extractHeaderValue(headerKey: string, headers: string): string {\r\n let headerValue: string = \"\";\r\n\r\n try {\r\n const arr = headers.trim().split(/[\\r\\n]+/);\r\n const headerMap: { [key: string]: string } = {};\r\n arr.forEach((line: string): void => {\r\n const parts = line.split(\": \");\r\n const header = parts.shift().toLowerCase();\r\n const value = parts.join(\": \");\r\n headerMap[header] = value;\r\n });\r\n\r\n headerValue = headerMap[headerKey.toLowerCase()];\r\n } catch (e) {\r\n // ignore the error\r\n }\r\n\r\n return headerValue;\r\n }\r\n\r\n public set options(configParams: IRequestOptions) {\r\n this.privHeaders = configParams.headers;\r\n this.privIgnoreCache = configParams.ignoreCache;\r\n }\r\n\r\n public setHeaders(key: string, value: string): void {\r\n this.privHeaders[key] = value;\r\n }\r\n\r\n public request(\r\n method: RestRequestType,\r\n uri: string,\r\n queryParams: { [key: string]: any } = {},\r\n body: any = null,\r\n ): Promise {\r\n\r\n const responseReceivedDeferral = new Deferred();\r\n\r\n const requestCommand = method === RestRequestType.File ? \"POST\" : method;\r\n const handleRestResponse = (data: BentResponse, j: JsonError = {}): IRestResponse => {\r\n const d: { statusText?: string; statusMessage?: string } = data;\r\n return {\r\n data: JSON.stringify(j),\r\n headers: JSON.stringify(data.headers),\r\n json: j,\r\n ok: data.statusCode >= 200 && data.statusCode < 300,\r\n status: data.statusCode,\r\n statusText: j.error ? j.error.message : d.statusText ? d.statusText : d.statusMessage\r\n };\r\n };\r\n\r\n const send = (postData: RequestBody): void => {\r\n const sendRequest = bent(uri, requestCommand, this.privHeaders, 200, 201, 202, 204, 400, 401, 402, 403, 404);\r\n const params = this.queryParams(queryParams) === \"\" ? \"\" : `?${this.queryParams(queryParams)}`;\r\n sendRequest(params, postData).then( async (data: BentResponse): Promise => {\r\n if (method === RestRequestType.Delete || data.statusCode === 204) {\r\n // No JSON from Delete and reset (204) operations\r\n responseReceivedDeferral.resolve(handleRestResponse(data));\r\n } else {\r\n try {\r\n const j: JsonError = await data.json() as JsonError;\r\n responseReceivedDeferral.resolve(handleRestResponse(data, j));\r\n } catch {\r\n responseReceivedDeferral.resolve(handleRestResponse(data));\r\n }\r\n }\r\n }).catch((error: string): void => {\r\n responseReceivedDeferral.reject(error);\r\n });\r\n };\r\n\r\n if (this.privIgnoreCache) {\r\n this.privHeaders[\"Cache-Control\"] = \"no-cache\";\r\n }\r\n\r\n if (method === RestRequestType.Post && body) {\r\n this.privHeaders[\"content-type\"] = \"application/json\";\r\n this.privHeaders[\"Content-Type\"] = \"application/json\";\r\n }\r\n send(body as RequestBody);\r\n return responseReceivedDeferral.promise;\r\n }\r\n\r\n private queryParams(params: { [key: string]: string } = {}): string {\r\n return Object.keys(params)\r\n .map((k: string): string => encodeURIComponent(k) + \"=\" + encodeURIComponent(params[k]))\r\n .join(\"&\");\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ArgumentNullError,\r\n ConnectionEvent,\r\n ConnectionMessage,\r\n ConnectionOpenResponse,\r\n ConnectionState,\r\n createNoDashGuid,\r\n EventSource,\r\n IConnection,\r\n IStringDictionary,\r\n IWebsocketMessageFormatter,\r\n} from \"../common/Exports.js\";\r\nimport { ProxyInfo } from \"./ProxyInfo.js\";\r\nimport { WebsocketMessageAdapter } from \"./WebsocketMessageAdapter.js\";\r\n\r\nexport class WebsocketConnection implements IConnection {\r\n\r\n private privUri: string;\r\n private privMessageFormatter: IWebsocketMessageFormatter;\r\n private privConnectionMessageAdapter: WebsocketMessageAdapter;\r\n private privId: string;\r\n private privIsDisposed: boolean = false;\r\n\r\n public constructor(\r\n uri: string,\r\n queryParameters: IStringDictionary,\r\n headers: IStringDictionary,\r\n messageFormatter: IWebsocketMessageFormatter,\r\n proxyInfo: ProxyInfo,\r\n enableCompression: boolean = false,\r\n connectionId?: string) {\r\n\r\n if (!uri) {\r\n throw new ArgumentNullError(\"uri\");\r\n }\r\n\r\n if (!messageFormatter) {\r\n throw new ArgumentNullError(\"messageFormatter\");\r\n }\r\n\r\n this.privMessageFormatter = messageFormatter;\r\n\r\n let queryParams = \"\";\r\n let i = 0;\r\n\r\n if (queryParameters) {\r\n for (const paramName in queryParameters) {\r\n if (paramName) {\r\n queryParams += ((i === 0) && (uri.indexOf(\"?\") === -1)) ? \"?\" : \"&\";\r\n\r\n const key = encodeURIComponent(paramName);\r\n queryParams += key;\r\n\r\n let val = queryParameters[paramName];\r\n if (val) {\r\n val = encodeURIComponent(val);\r\n queryParams += `=${val}`;\r\n }\r\n\r\n i++;\r\n }\r\n }\r\n }\r\n\r\n if (headers) {\r\n for (const headerName in headers) {\r\n if (headerName) {\r\n queryParams += ((i === 0) && (uri.indexOf(\"?\") === -1)) ? \"?\" : \"&\";\r\n const val = encodeURIComponent(headers[headerName]);\r\n queryParams += `${headerName}=${val}`;\r\n i++;\r\n }\r\n }\r\n }\r\n\r\n this.privUri = uri + queryParams;\r\n this.privId = connectionId ? connectionId : createNoDashGuid();\r\n\r\n this.privConnectionMessageAdapter = new WebsocketMessageAdapter(\r\n this.privUri,\r\n this.id,\r\n this.privMessageFormatter,\r\n proxyInfo,\r\n headers,\r\n enableCompression);\r\n }\r\n\r\n public async dispose(): Promise {\r\n this.privIsDisposed = true;\r\n\r\n if (this.privConnectionMessageAdapter) {\r\n await this.privConnectionMessageAdapter.close();\r\n }\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public get id(): string {\r\n return this.privId;\r\n }\r\n\r\n public get uri(): string {\r\n return this.privUri;\r\n }\r\n\r\n public state(): ConnectionState {\r\n return this.privConnectionMessageAdapter.state;\r\n }\r\n\r\n public open(): Promise {\r\n return this.privConnectionMessageAdapter.open();\r\n }\r\n\r\n public send(message: ConnectionMessage): Promise {\r\n return this.privConnectionMessageAdapter.send(message);\r\n }\r\n\r\n public read(): Promise {\r\n return this.privConnectionMessageAdapter.read();\r\n }\r\n\r\n public get events(): EventSource {\r\n return this.privConnectionMessageAdapter.events;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// Node.JS specific web socket / browser support.\r\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\nimport * as http from \"http\";\r\nimport * as net from \"net\";\r\nimport * as tls from \"tls\";\r\nimport Agent from \"agent-base\";\r\nimport HttpsProxyAgent from \"https-proxy-agent\";\r\n\r\nimport ws from \"ws\";\r\nimport { HeaderNames } from \"../common.speech/HeaderNames.js\";\r\nimport {\r\n ArgumentNullError,\r\n BackgroundEvent,\r\n ConnectionClosedEvent,\r\n ConnectionErrorEvent,\r\n ConnectionEstablishedEvent,\r\n ConnectionEvent,\r\n ConnectionMessage,\r\n ConnectionMessageReceivedEvent,\r\n ConnectionMessageSentEvent,\r\n ConnectionOpenResponse,\r\n ConnectionStartEvent,\r\n ConnectionState,\r\n Deferred,\r\n Events,\r\n EventSource,\r\n IWebsocketMessageFormatter,\r\n MessageType,\r\n Queue,\r\n RawWebsocketMessage,\r\n} from \"../common/Exports.js\";\r\nimport { ProxyInfo } from \"./ProxyInfo.js\";\r\n\r\ninterface ISendItem {\r\n Message: ConnectionMessage;\r\n RawWebsocketMessage: RawWebsocketMessage;\r\n sendStatusDeferral: Deferred;\r\n}\r\n\r\nexport class WebsocketMessageAdapter {\r\n private privConnectionState: ConnectionState;\r\n private privMessageFormatter: IWebsocketMessageFormatter;\r\n private privWebsocketClient: WebSocket | ws;\r\n\r\n private privSendMessageQueue: Queue;\r\n private privReceivingMessageQueue: Queue;\r\n private privConnectionEstablishDeferral: Deferred;\r\n private privCertificateValidatedDeferral: Deferred;\r\n private privDisconnectDeferral: Deferred;\r\n private privConnectionEvents: EventSource;\r\n private privConnectionId: string;\r\n private privUri: string;\r\n private proxyInfo: ProxyInfo;\r\n private privHeaders: { [key: string]: string };\r\n private privLastErrorReceived: string;\r\n private privEnableCompression: boolean;\r\n\r\n public static forceNpmWebSocket: boolean = false;\r\n\r\n public constructor(\r\n uri: string,\r\n connectionId: string,\r\n messageFormatter: IWebsocketMessageFormatter,\r\n proxyInfo: ProxyInfo,\r\n headers: { [key: string]: string },\r\n enableCompression: boolean) {\r\n\r\n if (!uri) {\r\n throw new ArgumentNullError(\"uri\");\r\n }\r\n\r\n if (!messageFormatter) {\r\n throw new ArgumentNullError(\"messageFormatter\");\r\n }\r\n\r\n this.proxyInfo = proxyInfo;\r\n this.privConnectionEvents = new EventSource();\r\n this.privConnectionId = connectionId;\r\n this.privMessageFormatter = messageFormatter;\r\n this.privConnectionState = ConnectionState.None;\r\n this.privUri = uri;\r\n this.privHeaders = headers;\r\n this.privEnableCompression = enableCompression;\r\n\r\n // Add the connection ID to the headers\r\n this.privHeaders[HeaderNames.ConnectionId] = this.privConnectionId;\r\n\r\n this.privLastErrorReceived = \"\";\r\n }\r\n\r\n public get state(): ConnectionState {\r\n return this.privConnectionState;\r\n }\r\n\r\n public open(): Promise {\r\n if (this.privConnectionState === ConnectionState.Disconnected) {\r\n return Promise.reject(`Cannot open a connection that is in ${this.privConnectionState} state`);\r\n }\r\n\r\n if (this.privConnectionEstablishDeferral) {\r\n return this.privConnectionEstablishDeferral.promise;\r\n }\r\n\r\n this.privConnectionEstablishDeferral = new Deferred();\r\n this.privCertificateValidatedDeferral = new Deferred();\r\n\r\n this.privConnectionState = ConnectionState.Connecting;\r\n\r\n try {\r\n\r\n if (typeof WebSocket !== \"undefined\" && !WebsocketMessageAdapter.forceNpmWebSocket) {\r\n // Browser handles cert checks.\r\n this.privCertificateValidatedDeferral.resolve();\r\n\r\n this.privWebsocketClient = new WebSocket(this.privUri);\r\n } else {\r\n const options: ws.ClientOptions = { headers: this.privHeaders, perMessageDeflate: this.privEnableCompression };\r\n // The ocsp library will handle validation for us and fail the connection if needed.\r\n this.privCertificateValidatedDeferral.resolve();\r\n\r\n options.agent = this.getAgent();\r\n // Workaround for https://github.com/microsoft/cognitive-services-speech-sdk-js/issues/465\r\n // Which is root caused by https://github.com/TooTallNate/node-agent-base/issues/61\r\n const uri = new URL(this.privUri);\r\n let protocol: string = uri.protocol;\r\n\r\n if (protocol?.toLocaleLowerCase() === \"wss:\") {\r\n protocol = \"https:\";\r\n } else if (protocol?.toLocaleLowerCase() === \"ws:\") {\r\n protocol = \"http:\";\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n (options.agent as any).protocol = protocol;\r\n this.privWebsocketClient = new ws(this.privUri, options);\r\n }\r\n\r\n this.privWebsocketClient.binaryType = \"arraybuffer\";\r\n this.privReceivingMessageQueue = new Queue();\r\n this.privDisconnectDeferral = new Deferred();\r\n this.privSendMessageQueue = new Queue();\r\n this.processSendQueue().catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n } catch (error) {\r\n this.privConnectionEstablishDeferral.resolve(new ConnectionOpenResponse(500, error as string));\r\n return this.privConnectionEstablishDeferral.promise;\r\n }\r\n\r\n this.onEvent(new ConnectionStartEvent(this.privConnectionId, this.privUri));\r\n\r\n this.privWebsocketClient.onopen = (): void => {\r\n this.privCertificateValidatedDeferral.promise.then((): void => {\r\n this.privConnectionState = ConnectionState.Connected;\r\n this.onEvent(new ConnectionEstablishedEvent(this.privConnectionId));\r\n this.privConnectionEstablishDeferral.resolve(new ConnectionOpenResponse(200, \"\"));\r\n }, (error: string): void => {\r\n this.privConnectionEstablishDeferral.reject(error);\r\n });\r\n };\r\n\r\n this.privWebsocketClient.onerror = (e: { error: any; message: string; type: string; target: WebSocket | ws }): void => {\r\n this.onEvent(new ConnectionErrorEvent(this.privConnectionId, e.message, e.type));\r\n this.privLastErrorReceived = e.message;\r\n };\r\n\r\n this.privWebsocketClient.onclose = (e: { wasClean: boolean; code: number; reason: string; target: WebSocket | ws }): void => {\r\n if (this.privConnectionState === ConnectionState.Connecting) {\r\n this.privConnectionState = ConnectionState.Disconnected;\r\n // this.onEvent(new ConnectionEstablishErrorEvent(this.connectionId, e.code, e.reason));\r\n this.privConnectionEstablishDeferral.resolve(new ConnectionOpenResponse(e.code, e.reason + \" \" + this.privLastErrorReceived));\r\n } else {\r\n this.privConnectionState = ConnectionState.Disconnected;\r\n this.privWebsocketClient = null;\r\n this.onEvent(new ConnectionClosedEvent(this.privConnectionId, e.code, e.reason));\r\n }\r\n\r\n this.onClose(e.code, e.reason).catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n };\r\n\r\n this.privWebsocketClient.onmessage = (e: { data: ws.Data; type: string; target: WebSocket | ws }): void => {\r\n const networkReceivedTime = new Date().toISOString();\r\n if (this.privConnectionState === ConnectionState.Connected) {\r\n const deferred = new Deferred();\r\n // let id = ++this.idCounter;\r\n this.privReceivingMessageQueue.enqueueFromPromise(deferred.promise);\r\n if (e.data instanceof ArrayBuffer) {\r\n const rawMessage = new RawWebsocketMessage(MessageType.Binary, e.data);\r\n this.privMessageFormatter\r\n .toConnectionMessage(rawMessage)\r\n .then((connectionMessage: ConnectionMessage): void => {\r\n this.onEvent(new ConnectionMessageReceivedEvent(this.privConnectionId, networkReceivedTime, connectionMessage));\r\n deferred.resolve(connectionMessage);\r\n }, (error: string): void => {\r\n // TODO: Events for these ?\r\n deferred.reject(`Invalid binary message format. Error: ${error}`);\r\n });\r\n } else {\r\n const rawMessage = new RawWebsocketMessage(MessageType.Text, e.data);\r\n this.privMessageFormatter\r\n .toConnectionMessage(rawMessage)\r\n .then((connectionMessage: ConnectionMessage): void => {\r\n this.onEvent(new ConnectionMessageReceivedEvent(this.privConnectionId, networkReceivedTime, connectionMessage));\r\n deferred.resolve(connectionMessage);\r\n }, (error: string): void => {\r\n // TODO: Events for these ?\r\n deferred.reject(`Invalid text message format. Error: ${error}`);\r\n });\r\n }\r\n }\r\n };\r\n\r\n return this.privConnectionEstablishDeferral.promise;\r\n }\r\n\r\n public send(message: ConnectionMessage): Promise {\r\n if (this.privConnectionState !== ConnectionState.Connected) {\r\n return Promise.reject(`Cannot send on connection that is in ${ConnectionState[this.privConnectionState]} state`);\r\n }\r\n\r\n const messageSendStatusDeferral = new Deferred();\r\n const messageSendDeferral = new Deferred();\r\n\r\n this.privSendMessageQueue.enqueueFromPromise(messageSendDeferral.promise);\r\n\r\n this.privMessageFormatter\r\n .fromConnectionMessage(message)\r\n .then((rawMessage: RawWebsocketMessage): void => {\r\n messageSendDeferral.resolve({\r\n Message: message,\r\n RawWebsocketMessage: rawMessage,\r\n sendStatusDeferral: messageSendStatusDeferral,\r\n });\r\n }, (error: string): void => {\r\n messageSendDeferral.reject(`Error formatting the message. ${error}`);\r\n });\r\n\r\n return messageSendStatusDeferral.promise;\r\n }\r\n\r\n public read(): Promise {\r\n if (this.privConnectionState !== ConnectionState.Connected) {\r\n return Promise.reject(`Cannot read on connection that is in ${this.privConnectionState} state`);\r\n }\r\n\r\n return this.privReceivingMessageQueue.dequeue();\r\n }\r\n\r\n public close(reason?: string): Promise {\r\n if (this.privWebsocketClient) {\r\n if (this.privConnectionState !== ConnectionState.Disconnected) {\r\n this.privWebsocketClient.close(1000, reason ? reason : \"Normal closure by client\");\r\n }\r\n } else {\r\n return Promise.resolve();\r\n }\r\n\r\n return this.privDisconnectDeferral.promise;\r\n }\r\n\r\n public get events(): EventSource {\r\n return this.privConnectionEvents;\r\n }\r\n\r\n private sendRawMessage(sendItem: ISendItem): Promise {\r\n try {\r\n // indicates we are draining the queue and it came with no message;\r\n if (!sendItem) {\r\n return Promise.resolve();\r\n }\r\n\r\n this.onEvent(new ConnectionMessageSentEvent(this.privConnectionId, new Date().toISOString(), sendItem.Message));\r\n\r\n // add a check for the ws readystate in order to stop the red console error 'WebSocket is already in CLOSING or CLOSED state' appearing\r\n if (this.isWebsocketOpen) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n this.privWebsocketClient.send(sendItem.RawWebsocketMessage.payload);\r\n } else {\r\n return Promise.reject(\"websocket send error: Websocket not ready \" + this.privConnectionId + \" \" + sendItem.Message.id + \" \" + new Error().stack);\r\n }\r\n return Promise.resolve();\r\n\r\n } catch (e) {\r\n return Promise.reject(`websocket send error: ${e as string}`);\r\n }\r\n }\r\n\r\n private async onClose(code: number, reason: string): Promise {\r\n const closeReason = `Connection closed. ${code}: ${reason}`;\r\n this.privConnectionState = ConnectionState.Disconnected;\r\n this.privDisconnectDeferral.resolve();\r\n await this.privReceivingMessageQueue.drainAndDispose((): void => {\r\n // TODO: Events for these ?\r\n // Logger.instance.onEvent(new LoggingEvent(LogType.Warning, null, `Failed to process received message. Reason: ${closeReason}, Message: ${JSON.stringify(pendingReceiveItem)}`));\r\n }, closeReason);\r\n\r\n await this.privSendMessageQueue.drainAndDispose((pendingSendItem: ISendItem): void => {\r\n pendingSendItem.sendStatusDeferral.reject(closeReason);\r\n }, closeReason);\r\n }\r\n\r\n private async processSendQueue(): Promise {\r\n while (true) {\r\n const itemToSend: Promise = this.privSendMessageQueue.dequeue();\r\n const sendItem: ISendItem = await itemToSend;\r\n // indicates we are draining the queue and it came with no message;\r\n if (!sendItem) {\r\n return;\r\n }\r\n\r\n try {\r\n await this.sendRawMessage(sendItem);\r\n sendItem.sendStatusDeferral.resolve();\r\n } catch (sendError) {\r\n sendItem.sendStatusDeferral.reject(sendError as string);\r\n }\r\n }\r\n }\r\n\r\n private onEvent(event: ConnectionEvent): void {\r\n this.privConnectionEvents.onEvent(event);\r\n Events.instance.onEvent(event);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private getAgent(): http.Agent {\r\n // eslint-disable-next-line @typescript-eslint/unbound-method\r\n const agent: { proxyInfo: ProxyInfo } = new Agent.Agent(this.createConnection) as unknown as { proxyInfo: ProxyInfo } ;\r\n\r\n if (this.proxyInfo !== undefined &&\r\n this.proxyInfo.HostName !== undefined &&\r\n this.proxyInfo.Port > 0) {\r\n agent.proxyInfo = this.proxyInfo;\r\n }\r\n\r\n return agent as unknown as http.Agent;\r\n }\r\n\r\n private static GetProxyAgent(proxyInfo: ProxyInfo): HttpsProxyAgent {\r\n const httpProxyOptions: HttpsProxyAgent.HttpsProxyAgentOptions = {\r\n host: proxyInfo.HostName,\r\n port: proxyInfo.Port,\r\n };\r\n\r\n if (!!proxyInfo.UserName) {\r\n httpProxyOptions.headers = {\r\n \"Proxy-Authentication\": \"Basic \" + new Buffer(`${proxyInfo.UserName}:${(proxyInfo.Password === undefined) ? \"\" : proxyInfo.Password}`).toString(\"base64\"),\r\n };\r\n } else {\r\n httpProxyOptions.headers = {};\r\n }\r\n\r\n httpProxyOptions.headers.requestOCSP = \"true\";\r\n\r\n const httpProxyAgent: HttpsProxyAgent = new HttpsProxyAgent(httpProxyOptions);\r\n return httpProxyAgent;\r\n }\r\n\r\n private createConnection(request: Agent.ClientRequest, options: Agent.RequestOptions): Promise {\r\n let socketPromise: Promise;\r\n\r\n options = {\r\n ...options,\r\n ...{\r\n requestOCSP: true,\r\n servername: options.host\r\n }\r\n };\r\n\r\n if (!!this.proxyInfo) {\r\n const httpProxyAgent: HttpsProxyAgent = WebsocketMessageAdapter.GetProxyAgent(this.proxyInfo);\r\n const baseAgent: Agent.Agent = httpProxyAgent as unknown as Agent.Agent;\r\n\r\n socketPromise = new Promise((resolve: (value: net.Socket) => void, reject: (error: string | Error) => void): void => {\r\n baseAgent.callback(request, options, (error: Error, socket: net.Socket): void => {\r\n if (!!error) {\r\n reject(error);\r\n } else {\r\n resolve(socket);\r\n }\r\n });\r\n });\r\n } else {\r\n if (!!options.secureEndpoint) {\r\n socketPromise = Promise.resolve(tls.connect(options));\r\n } else {\r\n socketPromise = Promise.resolve(net.connect(options));\r\n }\r\n }\r\n\r\n return socketPromise;\r\n }\r\n\r\n private get isWebsocketOpen(): boolean {\r\n return this.privWebsocketClient && this.privWebsocketClient.readyState === this.privWebsocketClient.OPEN;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { LanguageUnderstandingModelImpl } from \"../sdk/LanguageUnderstandingModel.js\";\r\n\r\n/**\r\n * @class AddedLmIntent\r\n */\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class AddedLmIntent {\r\n public modelImpl: LanguageUnderstandingModelImpl;\r\n public intentName: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param modelImpl - The model.\r\n * @param intentName - The intent name.\r\n */\r\n public constructor(modelImpl: LanguageUnderstandingModelImpl, intentName: string) {\r\n this.modelImpl = modelImpl;\r\n this.intentName = intentName;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Represents the JSON used in the agent.config message sent to the speech service.\r\n */\r\nexport class AgentConfig {\r\n private iPrivConfig: IAgentConfig;\r\n\r\n public toJsonString(): string {\r\n return JSON.stringify(this.iPrivConfig);\r\n }\r\n\r\n public get(): IAgentConfig {\r\n return this.iPrivConfig;\r\n }\r\n\r\n /**\r\n * Setter for the agent.config object.\r\n * @param value a JSON serializable object.\r\n */\r\n public set(value: IAgentConfig): void {\r\n this.iPrivConfig = value;\r\n }\r\n}\r\n\r\nexport interface IAgentConfig {\r\n botInfo: {\r\n commType: string;\r\n connectionId: string;\r\n conversationId: string;\r\n fromId: string;\r\n commandsCulture: string;\r\n ttsAudioFormat: string;\r\n };\r\n version: number;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n AvatarConfig,\r\n AvatarEventArgs,\r\n AvatarSynthesizer,\r\n PropertyId,\r\n Synthesizer,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ISynthesisConnectionFactory,\r\n ISynthesisMetadata,\r\n ISynthesisSectionVideo,\r\n SynthesisAdapterBase,\r\n SynthesizerConfig\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\n\r\nexport class AvatarSynthesisAdapter extends SynthesisAdapterBase {\r\n private readonly privAvatarSynthesizer: AvatarSynthesizer;\r\n private readonly privAvatarConfig: AvatarConfig;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: ISynthesisConnectionFactory,\r\n synthesizerConfig: SynthesizerConfig,\r\n avatarSynthesizer: AvatarSynthesizer,\r\n avatarConfig: AvatarConfig,\r\n ) {\r\n\r\n super(authentication, connectionFactory,\r\n synthesizerConfig, undefined);\r\n this.privAvatarSynthesizer = avatarSynthesizer;\r\n this.privSynthesizer = avatarSynthesizer as Synthesizer;\r\n this.privAvatarConfig = avatarConfig;\r\n }\r\n\r\n protected setSynthesisContextSynthesisSection(): void {\r\n this.privSynthesisContext.setSynthesisSection(undefined);\r\n }\r\n\r\n protected setSpeechConfigSynthesisSection(): void {\r\n this.privSynthesizerConfig.synthesisVideoSection = {\r\n format: {\r\n bitrate: this.privAvatarConfig.videoFormat?.bitrate,\r\n codec: this.privAvatarConfig.videoFormat?.codec,\r\n crop: {\r\n bottomRight: {\r\n x: this.privAvatarConfig.videoFormat?.cropRange?.bottomRight?.x,\r\n y: this.privAvatarConfig.videoFormat?.cropRange?.bottomRight?.y,\r\n },\r\n topLeft: {\r\n x: this.privAvatarConfig.videoFormat?.cropRange?.topLeft?.x,\r\n y: this.privAvatarConfig.videoFormat?.cropRange?.topLeft?.y,\r\n },\r\n },\r\n resolution: {\r\n height: this.privAvatarConfig.videoFormat?.height,\r\n width: this.privAvatarConfig.videoFormat?.width,\r\n },\r\n },\r\n protocol: {\r\n name: \"WebRTC\",\r\n webrtcConfig: {\r\n clientDescription: btoa(this.privSynthesizerConfig.parameters.getProperty(PropertyId.TalkingAvatarService_WebRTC_SDP)),\r\n iceServers: this.privAvatarSynthesizer.iceServers,\r\n },\r\n },\r\n talkingAvatar: {\r\n background: {\r\n color: this.privAvatarConfig.backgroundColor,\r\n },\r\n character: this.privAvatarConfig.character,\r\n customized: this.privAvatarConfig.customized,\r\n style: this.privAvatarConfig.style,\r\n }\r\n } as ISynthesisSectionVideo;\r\n }\r\n\r\n\r\n protected onAvatarEvent(metadata: ISynthesisMetadata): void {\r\n if (!!this.privAvatarSynthesizer.avatarEventReceived) {\r\n const avatarEventArgs: AvatarEventArgs = new AvatarEventArgs(\r\n metadata.Data.Offset,\r\n metadata.Data.Name);\r\n try {\r\n this.privAvatarSynthesizer.avatarEventReceived(this.privAvatarSynthesizer, avatarEventArgs);\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ArgumentNullError,\r\n} from \"../common/Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport {\r\n AuthInfo,\r\n IAuthentication\r\n} from \"./IAuthentication.js\";\r\n\r\n/**\r\n * @class\r\n */\r\nexport class CognitiveSubscriptionKeyAuthentication implements IAuthentication {\r\n private privAuthInfo: AuthInfo;\r\n\r\n /**\r\n * Creates and initializes an instance of the CognitiveSubscriptionKeyAuthentication class.\r\n * @constructor\r\n * @param {string} subscriptionKey - The subscription key\r\n */\r\n public constructor(subscriptionKey: string) {\r\n if (!subscriptionKey) {\r\n throw new ArgumentNullError(\"subscriptionKey\");\r\n }\r\n\r\n this.privAuthInfo = new AuthInfo(HeaderNames.AuthKey, subscriptionKey);\r\n }\r\n\r\n /**\r\n * Fetches the subscription key.\r\n * @member\r\n * @function\r\n * @public\r\n * @param {string} authFetchEventId - The id to fetch.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public fetch(authFetchEventId: string): Promise {\r\n return Promise.resolve(this.privAuthInfo);\r\n }\r\n\r\n /**\r\n * Fetches the subscription key.\r\n * @member\r\n * @function\r\n * @public\r\n * @param {string} authFetchEventId - The id to fetch.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public fetchOnExpiry(authFetchEventId: string): Promise {\r\n return Promise.resolve(this.privAuthInfo);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ArgumentNullError } from \"../common/Exports.js\";\r\nimport { AuthInfo, IAuthentication } from \"./IAuthentication.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\n\r\nexport class CognitiveTokenAuthentication implements IAuthentication {\r\n private static privTokenPrefix: string = \"Bearer \";\r\n private privFetchCallback: (authFetchEventId: string) => Promise;\r\n private privFetchOnExpiryCallback: (authFetchEventId: string) => Promise;\r\n\r\n public constructor(fetchCallback: (authFetchEventId: string) => Promise, fetchOnExpiryCallback: (authFetchEventId: string) => Promise) {\r\n if (!fetchCallback) {\r\n throw new ArgumentNullError(\"fetchCallback\");\r\n }\r\n\r\n if (!fetchOnExpiryCallback) {\r\n throw new ArgumentNullError(\"fetchOnExpiryCallback\");\r\n }\r\n\r\n this.privFetchCallback = fetchCallback;\r\n this.privFetchOnExpiryCallback = fetchOnExpiryCallback;\r\n }\r\n\r\n public fetch(authFetchEventId: string): Promise {\r\n return this.privFetchCallback(authFetchEventId).then((token: string): AuthInfo => new AuthInfo(HeaderNames.Authorization, token === undefined ? undefined : CognitiveTokenAuthentication.privTokenPrefix + token));\r\n }\r\n\r\n public fetchOnExpiry(authFetchEventId: string): Promise {\r\n return this.privFetchOnExpiryCallback(authFetchEventId).then((token: string): AuthInfo => new AuthInfo(HeaderNames.Authorization, token === undefined ? undefined : CognitiveTokenAuthentication.privTokenPrefix + token));\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ServicePropertiesPropertyName,\r\n} from \"../common.speech/Exports.js\";\r\nimport { IConnection, IStringDictionary } from \"../common/Exports.js\";\r\nimport { PropertyId } from \"../sdk/Exports.js\";\r\nimport { AuthInfo, IConnectionFactory, RecognizerConfig } from \"./Exports.js\";\r\nimport { QueryParameterNames } from \"./QueryParameterNames.js\";\r\n\r\nexport abstract class ConnectionFactoryBase implements IConnectionFactory {\r\n\r\n public static getHostSuffix(region: string): string {\r\n if (!!region) {\r\n if (region.toLowerCase().startsWith(\"china\")) {\r\n return \".azure.cn\";\r\n }\r\n if (region.toLowerCase().startsWith(\"usgov\")) {\r\n return \".azure.us\";\r\n }\r\n }\r\n return \".microsoft.com\";\r\n }\r\n\r\n public abstract create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection;\r\n\r\n protected setCommonUrlParams(\r\n config: RecognizerConfig,\r\n queryParams: IStringDictionary,\r\n endpoint: string): void {\r\n\r\n const propertyIdToParameterMap: Map = new Map([\r\n [PropertyId.Speech_SegmentationSilenceTimeoutMs, QueryParameterNames.SegmentationSilenceTimeoutMs],\r\n [PropertyId.SpeechServiceConnection_EnableAudioLogging, QueryParameterNames.EnableAudioLogging],\r\n [PropertyId.SpeechServiceConnection_EndSilenceTimeoutMs, QueryParameterNames.EndSilenceTimeoutMs],\r\n [PropertyId.SpeechServiceConnection_InitialSilenceTimeoutMs, QueryParameterNames.InitialSilenceTimeoutMs],\r\n [PropertyId.SpeechServiceResponse_PostProcessingOption, QueryParameterNames.Postprocessing],\r\n [PropertyId.SpeechServiceResponse_ProfanityOption, QueryParameterNames.Profanity],\r\n [PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, QueryParameterNames.EnableWordLevelTimestamps],\r\n [PropertyId.SpeechServiceResponse_StablePartialResultThreshold, QueryParameterNames.StableIntermediateThreshold],\r\n ]);\r\n\r\n propertyIdToParameterMap.forEach((parameterName: string, propertyId: PropertyId): void => {\r\n this.setUrlParameter(propertyId, parameterName, config, queryParams, endpoint);\r\n });\r\n\r\n\r\n const serviceProperties: IStringDictionary = JSON.parse(config.parameters.getProperty(ServicePropertiesPropertyName, \"{}\")) as IStringDictionary;\r\n\r\n Object.keys(serviceProperties).forEach((value: string): void => {\r\n queryParams[value] = serviceProperties[value];\r\n });\r\n }\r\n\r\n protected setUrlParameter(\r\n propId: PropertyId,\r\n parameterName: string,\r\n config: RecognizerConfig,\r\n queryParams: IStringDictionary,\r\n endpoint: string): void {\r\n\r\n const value: string = config.parameters.getProperty(propId, undefined);\r\n\r\n // FIXME: The .search() check will incorrectly match parameter name anywhere in the string\r\n // including e.g. the path portion, or even as a substring of other query parameters\r\n if (value && (!endpoint || endpoint.search(parameterName) === -1)) {\r\n queryParams[parameterName] = value.toLocaleLowerCase();\r\n }\r\n }\r\n\r\n}\r\n","import { IAudioSource } from \"../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n OutputFormat,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n ResultReason,\r\n SpeechRecognitionResult\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n DetailedSpeechPhrase,\r\n EnumTranslation,\r\n IAuthentication,\r\n IConnectionFactory,\r\n OutputFormatPropertyName,\r\n RecognitionStatus,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SimpleSpeechPhrase,\r\n SpeechHypothesis\r\n} from \"./Exports.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\nexport class ConversationServiceRecognizer extends ServiceRecognizerBase {\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n recognizer: Recognizer) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, recognizer);\r\n this.handleSpeechPhraseMessage = async (textBody: string): Promise => this.handleSpeechPhrase(textBody);\r\n this.handleSpeechHypothesisMessage = (textBody: string): void => this.handleSpeechHypothesis(textBody);\r\n }\r\n\r\n protected processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n void connectionMessage;\r\n return;\r\n }\r\n\r\n protected handleRecognizedCallback(result: SpeechRecognitionResult, offset: number, sessionId: string): void {\r\n void result;\r\n void offset;\r\n void sessionId;\r\n return;\r\n }\r\n\r\n protected handleRecognizingCallback(result: SpeechRecognitionResult, duration: number, sessionId: string): void {\r\n void result;\r\n void duration;\r\n void sessionId;\r\n return;\r\n }\r\n\r\n protected async processSpeechMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n let processed: boolean = false;\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"speech.hypothesis\":\r\n case \"speech.fragment\":\r\n if (!!this.handleSpeechHypothesisMessage) {\r\n this.handleSpeechHypothesisMessage(connectionMessage.textBody);\r\n }\r\n processed = true;\r\n break;\r\n case \"speech.phrase\":\r\n if (!!this.handleSpeechPhraseMessage) {\r\n await this.handleSpeechPhraseMessage(connectionMessage.textBody);\r\n }\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n return processed;\r\n }\r\n\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n // Implementing to allow inheritance\r\n void sessionId;\r\n void requestId;\r\n void cancellationReason;\r\n void errorCode;\r\n void error;\r\n }\r\n\r\n protected async handleSpeechPhrase(textBody: string): Promise {\r\n\r\n const simple: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(textBody);\r\n const resultReason: ResultReason = EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus);\r\n let result: SpeechRecognitionResult;\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, textBody);\r\n const simpleOffset = simple.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n let offset = simpleOffset;\r\n\r\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + simple.Offset + simple.Duration);\r\n\r\n if (ResultReason.Canceled === resultReason) {\r\n const cancelReason: CancellationReason = EnumTranslation.implTranslateCancelResult(simple.RecognitionStatus);\r\n const cancellationErrorCode: CancellationErrorCode = EnumTranslation.implTranslateCancelErrorCode(simple.RecognitionStatus);\r\n\r\n await this.cancelRecognitionLocal(\r\n cancelReason,\r\n cancellationErrorCode,\r\n EnumTranslation.implTranslateErrorDetails(cancellationErrorCode));\r\n\r\n } else {\r\n if (!(this.privRequestSession.isSpeechEnded && resultReason === ResultReason.NoMatch && simple.RecognitionStatus !== RecognitionStatus.InitialSilenceTimeout)) {\r\n if (this.privRecognizerConfig.parameters.getProperty(OutputFormatPropertyName) === OutputFormat[OutputFormat.Simple]) {\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n simple.DisplayText,\r\n simple.Duration,\r\n simpleOffset,\r\n simple.Language,\r\n simple.LanguageDetectionConfidence,\r\n simple.SpeakerId,\r\n undefined,\r\n textBody,\r\n resultProps);\r\n } else {\r\n const detailed: DetailedSpeechPhrase = DetailedSpeechPhrase.fromJSON(textBody);\r\n const totalOffset: number = detailed.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n const offsetCorrectedJson: string = detailed.getJsonWithCorrectedOffsets(totalOffset);\r\n\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n detailed.Text,\r\n detailed.Duration,\r\n totalOffset,\r\n detailed.Language,\r\n detailed.LanguageDetectionConfidence,\r\n detailed.SpeakerId,\r\n undefined,\r\n offsetCorrectedJson,\r\n resultProps);\r\n\r\n offset = result.offset;\r\n }\r\n\r\n this.handleRecognizedCallback(result, offset, this.privRequestSession.sessionId);\r\n }\r\n }\r\n }\r\n\r\n protected handleSpeechHypothesis(textBody: string): void {\r\n const hypothesis: SpeechHypothesis = SpeechHypothesis.fromJSON(textBody);\r\n const offset: number = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, textBody);\r\n\r\n const result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n ResultReason.RecognizingSpeech,\r\n hypothesis.Text,\r\n hypothesis.Duration,\r\n offset,\r\n hypothesis.Language,\r\n hypothesis.LanguageDetectionConfidence,\r\n hypothesis.SpeakerId,\r\n undefined,\r\n textBody,\r\n resultProps);\r\n\r\n this.privRequestSession.onHypothesis(offset);\r\n\r\n this.handleRecognizingCallback(result, hypothesis.Duration, this.privRequestSession.sessionId);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary\r\n} from \"../common/Exports.js\";\r\nimport {\r\n PropertyId\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ServicePropertiesPropertyName\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n RecognizerConfig,\r\n WebsocketMessageFormatter\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport {\r\n QueryParameterNames\r\n} from \"./QueryParameterNames.js\";\r\n\r\nexport class ConversationTranscriberConnectionFactory extends ConnectionFactoryBase {\r\n private readonly universalUri: string = \"/speech/universal/v2\";\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, undefined);\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region, undefined);\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".stt.speech\" + hostSuffix);\r\n const queryParams: IStringDictionary = {};\r\n const endpointId: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_EndpointId, undefined);\r\n const language: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, undefined);\r\n\r\n if (endpointId) {\r\n if (!endpoint || endpoint.search(QueryParameterNames.CustomSpeechDeploymentId) === -1) {\r\n queryParams[QueryParameterNames.CustomSpeechDeploymentId] = endpointId;\r\n }\r\n } else if (language) {\r\n if (!endpoint || endpoint.search(QueryParameterNames.Language) === -1) {\r\n queryParams[QueryParameterNames.Language] = language;\r\n }\r\n }\r\n\r\n if (config.autoDetectSourceLanguages !== undefined) {\r\n queryParams[QueryParameterNames.EnableLanguageId] = \"true\";\r\n }\r\n\r\n this.setV2UrlParams(config, queryParams, endpoint);\r\n\r\n if (!endpoint) {\r\n endpoint = `${host}${this.universalUri}`;\r\n }\r\n\r\n const headers: IStringDictionary = {};\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n\r\n const webSocketConnection = new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n\r\n // Set the value of SpeechServiceConnection_Url to webSocketConnection.uri (and not to `endpoint`), since this value is the final\r\n // URI that was used to make the connection (including query parameters).\r\n const uri: string = webSocketConnection.uri;\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, uri);\r\n\r\n return webSocketConnection;\r\n }\r\n\r\n protected setV2UrlParams(\r\n config: RecognizerConfig,\r\n queryParams: IStringDictionary,\r\n endpoint: string): void {\r\n\r\n const propertyIdToParameterMap: Map = new Map([\r\n [PropertyId.Speech_SegmentationSilenceTimeoutMs, QueryParameterNames.SegmentationSilenceTimeoutMs],\r\n [PropertyId.SpeechServiceConnection_EnableAudioLogging, QueryParameterNames.EnableAudioLogging],\r\n [PropertyId.SpeechServiceConnection_EndSilenceTimeoutMs, QueryParameterNames.EndSilenceTimeoutMs],\r\n [PropertyId.SpeechServiceConnection_InitialSilenceTimeoutMs, QueryParameterNames.InitialSilenceTimeoutMs],\r\n [PropertyId.SpeechServiceResponse_PostProcessingOption, QueryParameterNames.Postprocessing],\r\n [PropertyId.SpeechServiceResponse_ProfanityOption, QueryParameterNames.Profanity],\r\n [PropertyId.SpeechServiceResponse_StablePartialResultThreshold, QueryParameterNames.StableIntermediateThreshold],\r\n ]);\r\n\r\n propertyIdToParameterMap.forEach((parameterName: string, propertyId: PropertyId): void => {\r\n this.setUrlParameter(propertyId, parameterName, config, queryParams, endpoint);\r\n });\r\n\r\n\r\n const serviceProperties: IStringDictionary = JSON.parse(config.parameters.getProperty(ServicePropertiesPropertyName, \"{}\")) as IStringDictionary;\r\n\r\n Object.keys(serviceProperties).forEach((value: string): void => {\r\n queryParams[value] = serviceProperties[value];\r\n });\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IAudioSource } from \"../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n OutputFormat,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n ConversationTranscriptionCanceledEventArgs,\r\n ConversationTranscriptionEventArgs,\r\n ConversationTranscriptionResult,\r\n ConversationTranscriber,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n DetailedSpeechPhrase,\r\n EnumTranslation,\r\n OutputFormatPropertyName,\r\n RecognitionStatus,\r\n ServiceRecognizerBase,\r\n SimpleSpeechPhrase,\r\n SpeechHypothesis,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\nimport { PhraseDetection, SpeakerDiarization } from \"./ServiceRecognizerBase.js\";\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class ConversationTranscriptionServiceRecognizer extends ServiceRecognizerBase {\r\n\r\n private privConversationTranscriber: ConversationTranscriber;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n conversationTranscriber: ConversationTranscriber) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, conversationTranscriber);\r\n this.privConversationTranscriber = conversationTranscriber;\r\n this.setSpeakerDiarizationJson();\r\n }\r\n\r\n protected setSpeakerDiarizationJson(): void {\r\n if (this.privEnableSpeakerId) {\r\n const phraseDetection = this.privSpeechContext.getSection(\"phraseDetection\") as PhraseDetection;\r\n phraseDetection.mode = \"Conversation\";\r\n const speakerDiarization: SpeakerDiarization = {};\r\n speakerDiarization.mode = \"Anonymous\";\r\n speakerDiarization.audioSessionId = this.privDiarizationSessionId;\r\n speakerDiarization.audioOffsetMs = 0;\r\n phraseDetection.speakerDiarization = speakerDiarization;\r\n this.privSpeechContext.setSection(\"phraseDetection\", phraseDetection);\r\n }\r\n }\r\n\r\n protected async processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n let result: ConversationTranscriptionResult;\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n let processed: boolean = false;\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"speech.hypothesis\":\r\n case \"speech.fragment\":\r\n const hypothesis: SpeechHypothesis = SpeechHypothesis.fromJSON(connectionMessage.textBody);\r\n const offset: number = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n\r\n result = new ConversationTranscriptionResult(\r\n this.privRequestSession.requestId,\r\n ResultReason.RecognizingSpeech,\r\n hypothesis.Text,\r\n hypothesis.Duration,\r\n offset,\r\n hypothesis.Language,\r\n hypothesis.LanguageDetectionConfidence,\r\n undefined, // Speaker Id\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n this.privRequestSession.onHypothesis(offset);\r\n\r\n const ev = new ConversationTranscriptionEventArgs(result, hypothesis.Duration, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privConversationTranscriber.transcribing) {\r\n try {\r\n this.privConversationTranscriber.transcribing(this.privConversationTranscriber, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n break;\r\n case \"speech.phrase\":\r\n const simple: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\r\n const resultReason: ResultReason = EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus);\r\n\r\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + simple.Offset + simple.Duration);\r\n\r\n if (ResultReason.Canceled === resultReason) {\r\n const cancelReason: CancellationReason = EnumTranslation.implTranslateCancelResult(simple.RecognitionStatus);\r\n const cancellationErrorCode: CancellationErrorCode = EnumTranslation.implTranslateCancelErrorCode(simple.RecognitionStatus);\r\n\r\n await this.cancelRecognitionLocal(\r\n cancelReason,\r\n cancellationErrorCode,\r\n EnumTranslation.implTranslateErrorDetails(cancellationErrorCode));\r\n\r\n } else {\r\n if (!(this.privRequestSession.isSpeechEnded && resultReason === ResultReason.NoMatch && simple.RecognitionStatus !== RecognitionStatus.InitialSilenceTimeout)) {\r\n if (this.privRecognizerConfig.parameters.getProperty(OutputFormatPropertyName) === OutputFormat[OutputFormat.Simple]) {\r\n result = new ConversationTranscriptionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n simple.DisplayText,\r\n simple.Duration,\r\n simple.Offset + this.privRequestSession.currentTurnAudioOffset,\r\n simple.Language,\r\n simple.LanguageDetectionConfidence,\r\n simple.SpeakerId,\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n } else {\r\n const detailed: DetailedSpeechPhrase = DetailedSpeechPhrase.fromJSON(connectionMessage.textBody);\r\n const totalOffset: number = detailed.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n const offsetCorrectedJson: string = detailed.getJsonWithCorrectedOffsets(totalOffset);\r\n\r\n result = new ConversationTranscriptionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n detailed.RecognitionStatus === RecognitionStatus.Success ? detailed.NBest[0].Display : undefined,\r\n detailed.Duration,\r\n totalOffset,\r\n detailed.Language,\r\n detailed.LanguageDetectionConfidence,\r\n simple.SpeakerId,\r\n undefined,\r\n offsetCorrectedJson,\r\n resultProps);\r\n }\r\n\r\n const event: ConversationTranscriptionEventArgs = new ConversationTranscriptionEventArgs(result, result.offset, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privConversationTranscriber.transcribed) {\r\n try {\r\n this.privConversationTranscriber.transcribed(this.privConversationTranscriber, event);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n }\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n return processed;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n if (!!this.privConversationTranscriber.canceled) {\r\n const cancelEvent: ConversationTranscriptionCanceledEventArgs = new ConversationTranscriptionCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n sessionId);\r\n try {\r\n this.privConversationTranscriber.canceled(this.privConversationTranscriber, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport { OutputFormatPropertyName } from \"../common.speech/Exports.js\";\r\nimport { IConnection, IStringDictionary } from \"../common/Exports.js\";\r\nimport { DialogServiceConfig, OutputFormat, PropertyId } from \"../sdk/Exports.js\";\r\nimport { ConnectionFactoryBase } from \"./ConnectionFactoryBase.js\";\r\nimport { AuthInfo, RecognizerConfig, WebsocketMessageFormatter } from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport { QueryParameterNames } from \"./QueryParameterNames.js\";\r\n\r\nexport class DialogConnectionFactory extends ConnectionFactoryBase {\r\n\r\n private static readonly ApiKey: string = \"api\";\r\n private static readonly BaseUrl: string = \"convai.speech\";\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n const applicationId: string = config.parameters.getProperty(PropertyId.Conversation_ApplicationId, \"\");\r\n const dialogType: string = config.parameters.getProperty(PropertyId.Conversation_DialogType);\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region);\r\n const language: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, \"en-US\");\r\n const requestTurnStatus: string = config.parameters.getProperty(PropertyId.Conversation_Request_Bot_Status_Messages, \"true\");\r\n\r\n const queryParams: IStringDictionary = {};\r\n queryParams[HeaderNames.ConnectionId] = connectionId;\r\n queryParams[QueryParameterNames.Format] = config.parameters.getProperty(OutputFormatPropertyName, OutputFormat[OutputFormat.Simple]).toLowerCase();\r\n queryParams[QueryParameterNames.Language] = language;\r\n queryParams[QueryParameterNames.RequestBotStatusMessages] = requestTurnStatus;\r\n if (applicationId) {\r\n queryParams[QueryParameterNames.BotId] = applicationId;\r\n if (dialogType === DialogServiceConfig.DialogTypes.CustomCommands) {\r\n queryParams[HeaderNames.CustomCommandsAppId] = applicationId;\r\n }\r\n }\r\n\r\n const resourceInfix: string =\r\n dialogType === DialogServiceConfig.DialogTypes.CustomCommands ? \"commands/\"\r\n : \"\";\r\n const version: string =\r\n dialogType === DialogServiceConfig.DialogTypes.CustomCommands ? \"v1\"\r\n : dialogType === DialogServiceConfig.DialogTypes.BotFramework ? \"v3\"\r\n : \"v0\";\r\n\r\n const headers: IStringDictionary = {};\r\n\r\n if (authInfo.token != null && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n\r\n // The URL used for connection is chosen in a priority order of specification:\r\n // 1. If a custom endpoint is provided, that URL is used verbatim.\r\n // 2. If a custom host is provided (e.g. \"wss://my.custom.endpoint.com:1123\"), a URL is constructed from it.\r\n // 3. If no custom connection details are provided, a URL is constructed from default values.\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, \"\");\r\n if (!endpoint) {\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const host: string = config.parameters.getProperty(\r\n PropertyId.SpeechServiceConnection_Host,\r\n `wss://${region}.${DialogConnectionFactory.BaseUrl}${hostSuffix}`);\r\n const standardizedHost: string = host.endsWith(\"/\") ? host : host + \"/\";\r\n endpoint = `${standardizedHost}${resourceInfix}${DialogConnectionFactory.ApiKey}/${version}`;\r\n }\r\n\r\n this.setCommonUrlParams(config, queryParams, endpoint);\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ReplayableAudioNode\r\n} from \"../common.browser/Exports.js\";\r\nimport { SendingAgentContextMessageEvent } from \"../common/DialogEvents.js\";\r\nimport {\r\n BackgroundEvent,\r\n ConnectionEvent,\r\n ConnectionMessage,\r\n createGuid,\r\n createNoDashGuid,\r\n Deferred,\r\n DialogEvent,\r\n Events,\r\n EventSource,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IConnection,\r\n MessageType,\r\n ServiceEvent,\r\n} from \"../common/Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"../sdk/Audio/AudioOutputFormat.js\";\r\nimport { PullAudioOutputStreamImpl } from \"../sdk/Audio/AudioOutputStream.js\";\r\nimport { AudioStreamFormatImpl } from \"../sdk/Audio/AudioStreamFormat.js\";\r\nimport {\r\n ActivityReceivedEventArgs,\r\n CancellationErrorCode,\r\n CancellationReason,\r\n DialogServiceConfig,\r\n DialogServiceConnector,\r\n PropertyCollection,\r\n PropertyId,\r\n RecognitionEventArgs,\r\n ResultReason,\r\n SessionEventArgs,\r\n SpeechRecognitionCanceledEventArgs,\r\n SpeechRecognitionEventArgs,\r\n SpeechRecognitionResult,\r\n TurnStatusReceivedEventArgs,\r\n} from \"../sdk/Exports.js\";\r\nimport { DialogServiceTurnStateManager } from \"./DialogServiceTurnStateManager.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n EnumTranslation,\r\n ISpeechConfigAudioDevice,\r\n RecognitionStatus,\r\n ServiceRecognizerBase,\r\n SimpleSpeechPhrase,\r\n SpeechDetected,\r\n SpeechHypothesis,\r\n SpeechKeyword,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognitionMode, RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { ActivityPayloadResponse } from \"./ServiceMessages/ActivityResponsePayload.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\nexport class DialogServiceAdapter extends ServiceRecognizerBase {\r\n private privDialogServiceConnector: DialogServiceConnector;\r\n\r\n private privDialogAudioSource: IAudioSource;\r\n\r\n private privConnectionLoop: Promise;\r\n private terminateMessageLoop: boolean;\r\n private agentConfigSent: boolean;\r\n private privLastResult: SpeechRecognitionResult;\r\n private privEvents: EventSource;\r\n\r\n // Turns are of two kinds:\r\n // 1: SR turns, end when the SR result is returned and then turn end.\r\n // 2: Service turns where an activity is sent by the service along with the audio.\r\n private privTurnStateManager: DialogServiceTurnStateManager;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n dialogServiceConnector: DialogServiceConnector) {\r\n\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, dialogServiceConnector);\r\n\r\n this.privEvents = new EventSource();\r\n this.privDialogServiceConnector = dialogServiceConnector;\r\n this.receiveMessageOverride = (): Promise => this.receiveDialogMessageOverride();\r\n this.privTurnStateManager = new DialogServiceTurnStateManager();\r\n this.recognizeOverride =\r\n (recoMode: RecognitionMode, successCallback: (e: SpeechRecognitionResult) => void, errorCallback: (e: string) => void): Promise =>\r\n this.listenOnce(recoMode, successCallback, errorCallback);\r\n this.postConnectImplOverride = (connection: Promise): Promise => this.dialogConnectImpl(connection);\r\n this.configConnectionOverride = (connection: IConnection): Promise => this.configConnection(connection);\r\n this.disconnectOverride = (): Promise => this.privDisconnect();\r\n this.privDialogAudioSource = audioSource;\r\n\r\n this.agentConfigSent = false;\r\n this.privLastResult = null;\r\n this.connectionEvents.attach((connectionEvent: ConnectionEvent): void => {\r\n if (connectionEvent.name === \"ConnectionClosedEvent\") {\r\n this.terminateMessageLoop = true;\r\n }\r\n });\r\n }\r\n\r\n public async sendMessage(message: string): Promise {\r\n const interactionGuid: string = createGuid();\r\n const requestId: string = createNoDashGuid();\r\n\r\n const agentMessage: any = {\r\n context: {\r\n interactionId: interactionGuid\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n messagePayload: JSON.parse(message),\r\n version: 0.5\r\n };\r\n\r\n const agentMessageJson = JSON.stringify(agentMessage);\r\n const connection: IConnection = await this.fetchConnection();\r\n await connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"agent\",\r\n requestId,\r\n \"application/json\",\r\n agentMessageJson));\r\n\r\n }\r\n\r\n protected async privDisconnect(): Promise {\r\n await this.cancelRecognition(this.privRequestSession.sessionId,\r\n this.privRequestSession.requestId,\r\n CancellationReason.Error,\r\n CancellationErrorCode.NoError,\r\n \"Disconnecting\");\r\n\r\n this.terminateMessageLoop = true;\r\n this.agentConfigSent = false;\r\n return;\r\n }\r\n\r\n protected processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n if (connectionMessage.messageType === MessageType.Text) {\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n }\r\n\r\n let result: SpeechRecognitionResult;\r\n let processed: boolean;\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"speech.phrase\":\r\n const speechPhrase: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\r\n\r\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + speechPhrase.Offset + speechPhrase.Duration);\r\n\r\n if (speechPhrase.RecognitionStatus !== RecognitionStatus.TooManyRequests && speechPhrase.RecognitionStatus !== RecognitionStatus.Error) {\r\n const args: SpeechRecognitionEventArgs = this.fireEventForResult(speechPhrase, resultProps);\r\n this.privLastResult = args.result;\r\n\r\n if (!!this.privDialogServiceConnector.recognized) {\r\n try {\r\n this.privDialogServiceConnector.recognized(this.privDialogServiceConnector, args);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n processed = true;\r\n break;\r\n case \"speech.hypothesis\":\r\n const hypothesis: SpeechHypothesis = SpeechHypothesis.fromJSON(connectionMessage.textBody);\r\n const offset: number = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n ResultReason.RecognizingSpeech,\r\n hypothesis.Text,\r\n hypothesis.Duration,\r\n offset,\r\n hypothesis.Language,\r\n hypothesis.LanguageDetectionConfidence,\r\n undefined,\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n this.privRequestSession.onHypothesis(offset);\r\n\r\n const ev = new SpeechRecognitionEventArgs(result, hypothesis.Duration, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privDialogServiceConnector.recognizing) {\r\n try {\r\n this.privDialogServiceConnector.recognizing(this.privDialogServiceConnector, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n break;\r\n case \"speech.keyword\":\r\n const keyword: SpeechKeyword = SpeechKeyword.fromJSON(connectionMessage.textBody);\r\n\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n keyword.Status === \"Accepted\" ? ResultReason.RecognizedKeyword : ResultReason.NoMatch,\r\n keyword.Text,\r\n keyword.Duration,\r\n keyword.Offset,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n if (keyword.Status !== \"Accepted\") {\r\n this.privLastResult = result;\r\n }\r\n\r\n const event = new SpeechRecognitionEventArgs(result, result.duration, result.resultId);\r\n\r\n if (!!this.privDialogServiceConnector.recognized) {\r\n try {\r\n this.privDialogServiceConnector.recognized(this.privDialogServiceConnector, event);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n break;\r\n case \"audio\":\r\n {\r\n const audioRequestId = connectionMessage.requestId.toUpperCase();\r\n const turn = this.privTurnStateManager.GetTurn(audioRequestId);\r\n try {\r\n // Empty binary message signals end of stream.\r\n if (!connectionMessage.binaryBody) {\r\n turn.endAudioStream();\r\n } else {\r\n turn.audioStream.write(connectionMessage.binaryBody);\r\n }\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n break;\r\n\r\n case \"response\":\r\n {\r\n this.handleResponseMessage(connectionMessage);\r\n\r\n }\r\n processed = true;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n const defferal = new Deferred();\r\n defferal.resolve(processed);\r\n return defferal.promise;\r\n }\r\n\r\n // Cancels recognition.\r\n protected async cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): Promise {\r\n\r\n this.terminateMessageLoop = true;\r\n\r\n if (!!this.privRequestSession.isRecognizing) {\r\n await this.privRequestSession.onStopRecognizing();\r\n }\r\n\r\n if (!!this.privDialogServiceConnector.canceled) {\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n const cancelEvent: SpeechRecognitionCanceledEventArgs = new SpeechRecognitionCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n sessionId);\r\n\r\n try {\r\n this.privDialogServiceConnector.canceled(this.privDialogServiceConnector, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n\r\n if (!!this.privSuccessCallback) {\r\n const result: SpeechRecognitionResult = new SpeechRecognitionResult(\r\n undefined, // ResultId\r\n ResultReason.Canceled,\r\n undefined, // Text\r\n undefined, // Duration\r\n undefined, // Offset\r\n undefined, // Language\r\n undefined, // Language Detection Confidence\r\n undefined, // Speaker Id\r\n error,\r\n undefined, // Json\r\n properties);\r\n try {\r\n this.privSuccessCallback(result);\r\n this.privSuccessCallback = undefined;\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n }\r\n\r\n protected async listenOnce(\r\n recoMode: RecognitionMode,\r\n successCallback: (e: SpeechRecognitionResult) => void,\r\n errorCallback: (e: string) => void\r\n ): Promise {\r\n this.privRecognizerConfig.recognitionMode = recoMode;\r\n\r\n this.privSuccessCallback = successCallback;\r\n this.privErrorCallback = errorCallback;\r\n\r\n this.privRequestSession.startNewRecognition();\r\n this.privRequestSession.listenForServiceTelemetry(this.privDialogAudioSource.events);\r\n\r\n this.privRecognizerConfig.parameters.setProperty(PropertyId.Speech_SessionId, this.privRequestSession.sessionId);\r\n\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n const conPromise: Promise = this.connectImpl();\r\n\r\n const preAudioPromise: Promise = this.sendPreAudioMessages();\r\n\r\n const node: IAudioStreamNode = await this.privDialogAudioSource.attach(this.privRequestSession.audioNodeId);\r\n const format: AudioStreamFormatImpl = await this.privDialogAudioSource.format;\r\n const deviceInfo: ISpeechConfigAudioDevice = await this.privDialogAudioSource.deviceInfo;\r\n\r\n const audioNode = new ReplayableAudioNode(node, format.avgBytesPerSec);\r\n await this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false);\r\n\r\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\r\n\r\n try {\r\n await conPromise;\r\n await preAudioPromise;\r\n } catch (error) {\r\n await this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.ConnectionFailure, error as string);\r\n return Promise.resolve();\r\n }\r\n\r\n const sessionStartEventArgs: SessionEventArgs = new SessionEventArgs(this.privRequestSession.sessionId);\r\n\r\n if (!!this.privRecognizer.sessionStarted) {\r\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\r\n }\r\n\r\n const audioSendPromise = this.sendAudio(audioNode);\r\n\r\n // /* eslint-disable no-empty */\r\n audioSendPromise.then((): void => { /* add? return true;*/ }, async (error: string): Promise => {\r\n await this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.RuntimeError, error);\r\n });\r\n }\r\n\r\n // Establishes a websocket connection to the end point.\r\n private dialogConnectImpl(connection: Promise): Promise {\r\n this.privConnectionLoop = this.startMessageLoop();\r\n return connection;\r\n }\r\n\r\n private receiveDialogMessageOverride(): Promise {\r\n\r\n // we won't rely on the cascading promises of the connection since we want to continually be available to receive messages\r\n const communicationCustodian: Deferred = new Deferred();\r\n\r\n const loop = async (): Promise => {\r\n try {\r\n const isDisposed: boolean = this.isDisposed();\r\n const terminateMessageLoop = (!this.isDisposed() && this.terminateMessageLoop);\r\n if (isDisposed || terminateMessageLoop) {\r\n // We're done.\r\n communicationCustodian.resolve(undefined);\r\n return;\r\n }\r\n\r\n const connection: IConnection = await this.fetchConnection();\r\n const message: ConnectionMessage = await connection.read();\r\n\r\n if (!message) {\r\n return loop();\r\n }\r\n\r\n const connectionMessage = SpeechConnectionMessage.fromConnectionMessage(message);\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"turn.start\":\r\n {\r\n const turnRequestId = connectionMessage.requestId.toUpperCase();\r\n const audioSessionReqId = this.privRequestSession.requestId.toUpperCase();\r\n\r\n // turn started by the service\r\n if (turnRequestId !== audioSessionReqId) {\r\n this.privTurnStateManager.StartTurn(turnRequestId);\r\n } else {\r\n this.privRequestSession.onServiceTurnStartResponse();\r\n }\r\n }\r\n break;\r\n\r\n case \"speech.startdetected\":\r\n const speechStartDetected: SpeechDetected = SpeechDetected.fromJSON(connectionMessage.textBody);\r\n\r\n const speechStartEventArgs = new RecognitionEventArgs(speechStartDetected.Offset, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privRecognizer.speechStartDetected) {\r\n this.privRecognizer.speechStartDetected(this.privRecognizer, speechStartEventArgs);\r\n }\r\n\r\n break;\r\n\r\n case \"speech.enddetected\":\r\n\r\n let json: string;\r\n\r\n if (connectionMessage.textBody.length > 0) {\r\n json = connectionMessage.textBody;\r\n } else {\r\n // If the request was empty, the JSON returned is empty.\r\n json = \"{ Offset: 0 }\";\r\n }\r\n\r\n const speechStopDetected: SpeechDetected = SpeechDetected.fromJSON(json);\r\n\r\n this.privRequestSession.onServiceRecognized(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset);\r\n\r\n const speechStopEventArgs = new RecognitionEventArgs(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privRecognizer.speechEndDetected) {\r\n this.privRecognizer.speechEndDetected(this.privRecognizer, speechStopEventArgs);\r\n }\r\n break;\r\n\r\n case \"turn.end\":\r\n {\r\n const turnEndRequestId = connectionMessage.requestId.toUpperCase();\r\n\r\n const audioSessionReqId = this.privRequestSession.requestId.toUpperCase();\r\n\r\n // turn started by the service\r\n if (turnEndRequestId !== audioSessionReqId) {\r\n this.privTurnStateManager.CompleteTurn(turnEndRequestId);\r\n } else {\r\n // Audio session turn\r\n\r\n const sessionStopEventArgs: SessionEventArgs = new SessionEventArgs(this.privRequestSession.sessionId);\r\n await this.privRequestSession.onServiceTurnEndResponse(false);\r\n\r\n if (!this.privRecognizerConfig.isContinuousRecognition || this.privRequestSession.isSpeechEnded || !this.privRequestSession.isRecognizing) {\r\n if (!!this.privRecognizer.sessionStopped) {\r\n this.privRecognizer.sessionStopped(this.privRecognizer, sessionStopEventArgs);\r\n }\r\n }\r\n\r\n // report result to promise.\r\n if (!!this.privSuccessCallback && this.privLastResult) {\r\n try {\r\n this.privSuccessCallback(this.privLastResult);\r\n this.privLastResult = null;\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n }\r\n }\r\n break;\r\n\r\n default:\r\n try {\r\n const processed = await this.processTypeSpecificMessages(connectionMessage);\r\n if (!processed) {\r\n if (!!this.serviceEvents) {\r\n this.serviceEvents.onEvent(new ServiceEvent(connectionMessage.path.toLowerCase(), connectionMessage.textBody));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n }\r\n const ret: Promise = loop();\r\n\r\n return ret;\r\n } catch (error) {\r\n this.terminateMessageLoop = true;\r\n communicationCustodian.resolve();\r\n }\r\n };\r\n\r\n loop().catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n\r\n return communicationCustodian.promise;\r\n }\r\n\r\n private async startMessageLoop(): Promise {\r\n\r\n this.terminateMessageLoop = false;\r\n\r\n try {\r\n await this.receiveDialogMessageOverride();\r\n } catch (error) {\r\n await this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.RuntimeError, error as string);\r\n }\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n // Takes an established websocket connection to the endpoint and sends speech configuration information.\r\n private async configConnection(connection: IConnection): Promise {\r\n if (this.terminateMessageLoop) {\r\n this.terminateMessageLoop = false;\r\n return Promise.reject(\"Connection to service terminated.\");\r\n }\r\n\r\n await this.sendSpeechServiceConfig(connection, this.privRequestSession, this.privRecognizerConfig.SpeechServiceConfig.serialize());\r\n await this.sendAgentConfig(connection);\r\n return connection;\r\n }\r\n\r\n private async sendPreAudioMessages(): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n this.addKeywordContextData();\r\n await this.sendSpeechContext(connection, true);\r\n await this.sendAgentContext(connection);\r\n await this.sendWaveHeader(connection);\r\n }\r\n\r\n private sendAgentConfig(connection: IConnection): Promise {\r\n if (this.agentConfig && !this.agentConfigSent) {\r\n\r\n if (this.privRecognizerConfig\r\n .parameters\r\n .getProperty(PropertyId.Conversation_DialogType) === DialogServiceConfig.DialogTypes.CustomCommands) {\r\n const config = this.agentConfig.get();\r\n config.botInfo.commandsCulture = this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, \"en-us\");\r\n this.agentConfig.set(config);\r\n }\r\n this.onEvent(new SendingAgentContextMessageEvent(this.agentConfig));\r\n\r\n const agentConfigJson = this.agentConfig.toJsonString();\r\n\r\n // guard against sending this multiple times on one connection\r\n this.agentConfigSent = true;\r\n\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"agent.config\",\r\n this.privRequestSession.requestId,\r\n \"application/json\",\r\n agentConfigJson));\r\n }\r\n\r\n return;\r\n }\r\n\r\n private sendAgentContext(connection: IConnection): Promise {\r\n const guid: string = createGuid();\r\n\r\n const speechActivityTemplate = this.privDialogServiceConnector.properties.getProperty(PropertyId.Conversation_Speech_Activity_Template);\r\n\r\n const agentContext: any = {\r\n channelData: \"\",\r\n context: {\r\n interactionId: guid\r\n },\r\n messagePayload: typeof speechActivityTemplate === undefined ? undefined : speechActivityTemplate,\r\n version: 0.5\r\n };\r\n\r\n const agentContextJson = JSON.stringify(agentContext);\r\n\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speech.agent.context\",\r\n this.privRequestSession.requestId,\r\n \"application/json\",\r\n agentContextJson));\r\n }\r\n\r\n private fireEventForResult(serviceResult: SimpleSpeechPhrase, properties: PropertyCollection): SpeechRecognitionEventArgs {\r\n const resultReason: ResultReason = EnumTranslation.implTranslateRecognitionResult(serviceResult.RecognitionStatus);\r\n\r\n const offset: number = serviceResult.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n\r\n const result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n serviceResult.DisplayText,\r\n serviceResult.Duration,\r\n offset,\r\n serviceResult.Language,\r\n serviceResult.LanguageDetectionConfidence,\r\n undefined,\r\n undefined,\r\n JSON.stringify(serviceResult),\r\n properties);\r\n\r\n const ev = new SpeechRecognitionEventArgs(result, offset, this.privRequestSession.sessionId);\r\n return ev;\r\n }\r\n\r\n private handleResponseMessage(responseMessage: SpeechConnectionMessage): void {\r\n // \"response\" messages can contain either \"message\" (activity) or \"MessageStatus\" data. Fire the appropriate\r\n // event according to the message type that's specified.\r\n const responsePayload: { messageType: string } = JSON.parse(responseMessage.textBody) as { messageType: string };\r\n switch (responsePayload.messageType.toLowerCase()) {\r\n case \"message\":\r\n const responseRequestId = responseMessage.requestId.toUpperCase();\r\n const activityPayload: ActivityPayloadResponse = ActivityPayloadResponse.fromJSON(responseMessage.textBody);\r\n const turn = this.privTurnStateManager.GetTurn(responseRequestId);\r\n\r\n // update the conversation Id\r\n if (activityPayload.conversationId) {\r\n const updateAgentConfig = this.agentConfig.get();\r\n updateAgentConfig.botInfo.conversationId = activityPayload.conversationId;\r\n this.agentConfig.set(updateAgentConfig);\r\n }\r\n\r\n const pullAudioOutputStream: PullAudioOutputStreamImpl = turn.processActivityPayload(\r\n activityPayload,\r\n AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString(this.privDialogServiceConnector.properties.getProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)));\r\n const activity = new ActivityReceivedEventArgs(activityPayload.messagePayload, pullAudioOutputStream);\r\n if (!!this.privDialogServiceConnector.activityReceived) {\r\n try {\r\n this.privDialogServiceConnector.activityReceived(this.privDialogServiceConnector, activity);\r\n /* eslint-disable-next-line no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n break;\r\n\r\n case \"messagestatus\":\r\n if (!!this.privDialogServiceConnector.turnStatusReceived) {\r\n try {\r\n this.privDialogServiceConnector.turnStatusReceived(\r\n this.privDialogServiceConnector,\r\n new TurnStatusReceivedEventArgs(responseMessage.textBody));\r\n /* eslint-disable-next-line no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n break;\r\n\r\n default:\r\n Events.instance.onEvent(\r\n new BackgroundEvent(`Unexpected response of type ${responsePayload.messageType}. Ignoring.`));\r\n break;\r\n }\r\n }\r\n\r\n private onEvent(event: DialogEvent): void {\r\n this.privEvents.onEvent(event);\r\n Events.instance.onEvent(event);\r\n }\r\n\r\n private addKeywordContextData(): void {\r\n const keywordPropertyValue: string = this.privRecognizerConfig.parameters.getProperty(\"SPEECH-KeywordsToDetect\");\r\n if (keywordPropertyValue === undefined) {\r\n return;\r\n }\r\n\r\n const keywordOffsetPropertyValue: string = this.privRecognizerConfig.parameters\r\n .getProperty(\"SPEECH-KeywordsToDetect-Offsets\");\r\n const keywordDurationPropertyValue: string = this.privRecognizerConfig.parameters\r\n .getProperty(\"SPEECH-KeywordsToDetect-Durations\");\r\n\r\n const keywords = keywordPropertyValue.split(\";\");\r\n const keywordOffsets = keywordOffsetPropertyValue === undefined ? [] : keywordOffsetPropertyValue.split(\";\");\r\n const keywordDurations = keywordDurationPropertyValue === undefined ? [] : keywordDurationPropertyValue.split(\";\");\r\n\r\n const keywordDefinitionArray = [];\r\n for (let i = 0; i < keywords.length; i++) {\r\n const definition: { [section: string]: any } = {};\r\n definition.text = keywords[i];\r\n if (i < keywordOffsets.length) {\r\n definition.offset = Number(keywordOffsets[i]);\r\n }\r\n if (i < keywordDurations.length) {\r\n definition.duration = Number(keywordDurations[i]);\r\n }\r\n keywordDefinitionArray.push(definition);\r\n }\r\n\r\n this.speechContext.setSection(\"invocationSource\", \"VoiceActivationWithKeyword\");\r\n this.speechContext.setSection(\"keywordDetection\", [{\r\n clientDetectedKeywords: keywordDefinitionArray,\r\n onReject: { action: \"EndOfTurn\" },\r\n type: \"startTrigger\"\r\n }]);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { AudioOutputFormatImpl } from \"../sdk/Audio/AudioOutputFormat.js\";\r\nimport { AudioOutputStream, PullAudioOutputStreamImpl } from \"../sdk/Audio/AudioOutputStream.js\";\r\nimport { DialogServiceTurnStateManager } from \"./DialogServiceTurnStateManager.js\";\r\nimport { ActivityPayloadResponse, MessageDataStreamType } from \"./ServiceMessages/ActivityResponsePayload.js\";\r\n\r\nexport class DialogServiceTurnState {\r\n private privRequestId: string;\r\n private privIsCompleted: boolean;\r\n private privAudioStream: PullAudioOutputStreamImpl;\r\n private privTimeoutToken: any;\r\n private privTurnManager: DialogServiceTurnStateManager;\r\n\r\n public constructor(manager: DialogServiceTurnStateManager, requestId: string) {\r\n this.privRequestId = requestId;\r\n this.privIsCompleted = false;\r\n this.privAudioStream = null;\r\n this.privTurnManager = manager;\r\n this.resetTurnEndTimeout();\r\n }\r\n\r\n public get audioStream(): PullAudioOutputStreamImpl {\r\n // Called when is needed to stream.\r\n this.resetTurnEndTimeout();\r\n return this.privAudioStream;\r\n }\r\n\r\n public processActivityPayload(payload: ActivityPayloadResponse, audioFormat?: AudioOutputFormatImpl): PullAudioOutputStreamImpl {\r\n if (payload.messageDataStreamType === MessageDataStreamType.TextToSpeechAudio) {\r\n this.privAudioStream = AudioOutputStream.createPullStream() as PullAudioOutputStreamImpl;\r\n this.privAudioStream.format = (audioFormat !== undefined) ? audioFormat : AudioOutputFormatImpl.getDefaultOutputFormat();\r\n }\r\n return this.privAudioStream;\r\n }\r\n\r\n public endAudioStream(): void {\r\n if (this.privAudioStream !== null && !this.privAudioStream.isClosed) {\r\n this.privAudioStream.close();\r\n }\r\n }\r\n\r\n public complete(): void {\r\n if (this.privTimeoutToken !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n clearTimeout(this.privTimeoutToken);\r\n }\r\n this.endAudioStream();\r\n }\r\n\r\n private resetTurnEndTimeout(): void {\r\n if (this.privTimeoutToken !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n clearTimeout(this.privTimeoutToken);\r\n }\r\n this.privTimeoutToken = setTimeout((): void => {\r\n this.privTurnManager.CompleteTurn(this.privRequestId);\r\n return;\r\n }, 2000);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { InvalidOperationError } from \"../common/Error.js\";\r\nimport { DialogServiceTurnState } from \"./DialogServiceTurnState.js\";\r\n\r\nexport class DialogServiceTurnStateManager {\r\n private privTurnMap: Map;\r\n\r\n public constructor() {\r\n this.privTurnMap = new Map();\r\n return;\r\n }\r\n\r\n public StartTurn(id: string): DialogServiceTurnState {\r\n if (this.privTurnMap.has(id)) {\r\n throw new InvalidOperationError(\"Service error: There is already a turn with id:\" + id);\r\n }\r\n const turnState: DialogServiceTurnState = new DialogServiceTurnState(this, id);\r\n this.privTurnMap.set(id, turnState);\r\n return this.privTurnMap.get(id);\r\n }\r\n\r\n public GetTurn(id: string): DialogServiceTurnState {\r\n return this.privTurnMap.get(id);\r\n }\r\n\r\n public CompleteTurn(id: string): DialogServiceTurnState {\r\n if (!this.privTurnMap.has(id)) {\r\n throw new InvalidOperationError(\"Service error: Received turn end for an unknown turn id:\" + id);\r\n }\r\n const turnState = this.privTurnMap.get(id);\r\n turnState.complete();\r\n this.privTurnMap.delete(id);\r\n return turnState;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IDynamicGrammar,\r\n IDynamicGrammarGeneric,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Responsible for building the object to be sent to the speech service to support dynamic grammars.\r\n * @class DynamicGrammarBuilder\r\n */\r\nexport class DynamicGrammarBuilder {\r\n\r\n private privPhrases: string[];\r\n private privGrammars: string[];\r\n\r\n // Adds one more reference phrases to the dynamic grammar to send.\r\n // All added phrases are generic phrases.\r\n public addPhrase(phrase: string | string[]): void {\r\n if (!this.privPhrases) {\r\n this.privPhrases = [];\r\n }\r\n\r\n if (phrase instanceof Array) {\r\n this.privPhrases = this.privPhrases.concat(phrase);\r\n } else {\r\n this.privPhrases.push(phrase);\r\n }\r\n }\r\n\r\n // Clears all phrases stored in the current object.\r\n public clearPhrases(): void {\r\n this.privPhrases = undefined;\r\n }\r\n\r\n // Adds one or more reference grammars to the current grammar.\r\n public addReferenceGrammar(grammar: string | string[]): void {\r\n if (!this.privGrammars) {\r\n this.privGrammars = [];\r\n }\r\n\r\n if (grammar instanceof Array) {\r\n this.privGrammars = this.privGrammars.concat(grammar);\r\n } else {\r\n this.privGrammars.push(grammar);\r\n }\r\n }\r\n\r\n // clears all grammars stored on the recognizer.\r\n public clearGrammars(): void {\r\n this.privGrammars = undefined;\r\n }\r\n\r\n // Generates an object that represents the dynamic grammar used by the Speech Service.\r\n // This is done by building an object with the correct layout based on the phrases and reference grammars added to this instance\r\n // of a DynamicGrammarBuilder\r\n public generateGrammarObject(): IDynamicGrammar {\r\n if (this.privGrammars === undefined && this.privPhrases === undefined) {\r\n return undefined;\r\n }\r\n\r\n const retObj: IDynamicGrammar = {};\r\n retObj.ReferenceGrammars = this.privGrammars;\r\n\r\n if (undefined !== this.privPhrases && 0 !== this.privPhrases.length) {\r\n const retPhrases: IDynamicGrammarGeneric[] = [];\r\n\r\n this.privPhrases.forEach((value: string): void => {\r\n retPhrases.push({\r\n Text: value,\r\n });\r\n });\r\n\r\n retObj.Groups = [{ Type: \"Generic\", Items: retPhrases }];\r\n }\r\n\r\n return retObj;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n ResultReason\r\n} from \"../sdk/Exports.js\";\r\nimport { RecognitionStatus } from \"./Exports.js\";\r\n\r\nexport class EnumTranslation {\r\n public static implTranslateRecognitionResult(recognitionStatus: RecognitionStatus, expectEndOfDictation: boolean = false): ResultReason {\r\n let reason = ResultReason.Canceled;\r\n switch (recognitionStatus) {\r\n case RecognitionStatus.Success:\r\n reason = ResultReason.RecognizedSpeech;\r\n break;\r\n case RecognitionStatus.EndOfDictation:\r\n // If we need the result in EndOfDictation (typically some session level result),\r\n // translate into RecognizedSpeech, otherwise NoMatch\r\n reason = expectEndOfDictation ? ResultReason.RecognizedSpeech : ResultReason.NoMatch;\r\n break;\r\n case RecognitionStatus.NoMatch:\r\n case RecognitionStatus.InitialSilenceTimeout:\r\n case RecognitionStatus.BabbleTimeout:\r\n reason = ResultReason.NoMatch;\r\n break;\r\n case RecognitionStatus.Error:\r\n case RecognitionStatus.BadRequest:\r\n case RecognitionStatus.Forbidden:\r\n default:\r\n reason = ResultReason.Canceled;\r\n break;\r\n }\r\n return reason;\r\n }\r\n\r\n public static implTranslateCancelResult(recognitionStatus: RecognitionStatus): CancellationReason {\r\n let reason = CancellationReason.EndOfStream;\r\n switch (recognitionStatus) {\r\n case RecognitionStatus.Success:\r\n case RecognitionStatus.EndOfDictation:\r\n case RecognitionStatus.NoMatch:\r\n reason = CancellationReason.EndOfStream;\r\n break;\r\n case RecognitionStatus.InitialSilenceTimeout:\r\n case RecognitionStatus.BabbleTimeout:\r\n case RecognitionStatus.Error:\r\n case RecognitionStatus.BadRequest:\r\n case RecognitionStatus.Forbidden:\r\n default:\r\n reason = CancellationReason.Error;\r\n break;\r\n }\r\n return reason;\r\n }\r\n\r\n public static implTranslateCancelErrorCode(recognitionStatus: RecognitionStatus): CancellationErrorCode {\r\n let reason: CancellationErrorCode = CancellationErrorCode.NoError;\r\n switch (recognitionStatus) {\r\n case RecognitionStatus.Error:\r\n reason = CancellationErrorCode.ServiceError;\r\n break;\r\n case RecognitionStatus.TooManyRequests:\r\n reason = CancellationErrorCode.TooManyRequests;\r\n break;\r\n case RecognitionStatus.BadRequest:\r\n reason = CancellationErrorCode.BadRequestParameters;\r\n break;\r\n case RecognitionStatus.Forbidden:\r\n reason = CancellationErrorCode.Forbidden;\r\n break;\r\n default:\r\n reason = CancellationErrorCode.NoError;\r\n break;\r\n }\r\n\r\n return reason;\r\n\r\n }\r\n\r\n public static implTranslateErrorDetails(cancellationErrorCode: CancellationErrorCode): string {\r\n let errorDetails: string = \"The speech service encountered an internal error and could not continue.\";\r\n switch (cancellationErrorCode) {\r\n case CancellationErrorCode.Forbidden:\r\n errorDetails = \"The recognizer is using a free subscription that ran out of quota.\";\r\n break;\r\n case CancellationErrorCode.BadRequestParameters:\r\n errorDetails = \"Invalid parameter or unsupported audio format in the request.\";\r\n break;\r\n case CancellationErrorCode.TooManyRequests:\r\n errorDetails = \"The number of parallel requests exceeded the number of allowed concurrent transcriptions.\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return errorDetails;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// Make sure not to export internal modules.\r\n//\r\nexport * from \"./CognitiveSubscriptionKeyAuthentication.js\";\r\nexport * from \"./CognitiveTokenAuthentication.js\";\r\nexport * from \"./IAuthentication.js\";\r\nexport * from \"./IConnectionFactory.js\";\r\nexport * from \"./ISynthesisConnectionFactory.js\";\r\nexport * from \"./IntentConnectionFactory.js\";\r\nexport * from \"./SpeakerRecognitionConnectionFactory.js\";\r\nexport * from \"./RecognitionEvents.js\";\r\nexport * from \"./ServiceRecognizerBase.js\";\r\nexport * from \"./ConversationServiceRecognizer.js\";\r\nexport * from \"./RecognizerConfig.js\";\r\nexport * from \"./SpeechServiceInterfaces.js\";\r\nexport * from \"./WebsocketMessageFormatter.js\";\r\nexport * from \"./SpeechConnectionFactory.js\";\r\nexport * from \"./ConversationTranscriberConnectionFactory.js\";\r\nexport * from \"./TranscriberConnectionFactory.js\";\r\nexport * from \"./TranslationConnectionFactory.js\";\r\nexport * from \"./SpeechSynthesisConnectionFactory.js\";\r\nexport * from \"./EnumTranslation.js\";\r\nexport * from \"./ServiceMessages/Enums.js\";\r\nexport * from \"./ServiceMessages/TranslationSynthesisEnd.js\";\r\nexport * from \"./ServiceMessages/TranslationHypothesis.js\";\r\nexport * from \"./ServiceMessages/TranslationPhrase.js\";\r\nexport * from \"./TranslationServiceRecognizer.js\";\r\nexport * from \"./ServiceMessages/SpeechDetected.js\";\r\nexport * from \"./ServiceMessages/SpeechHypothesis.js\";\r\nexport * from \"./ServiceMessages/SpeechKeyword.js\";\r\nexport * from \"./SpeechServiceRecognizer.js\";\r\nexport * from \"./ConversationTranscriptionServiceRecognizer.js\";\r\nexport * from \"./TranscriptionServiceRecognizer.js\";\r\nexport * from \"./ServiceMessages/DetailedSpeechPhrase.js\";\r\nexport * from \"./ServiceMessages/SimpleSpeechPhrase.js\";\r\nexport * from \"./AddedLmIntent.js\";\r\nexport * from \"./IntentServiceRecognizer.js\";\r\nexport * from \"./ServiceMessages/IntentResponse.js\";\r\nexport * from \"./ServiceMessages/SpeakerResponse.js\";\r\nexport * from \"./RequestSession.js\";\r\nexport * from \"./SpeechContext.js\";\r\nexport * from \"./DynamicGrammarBuilder.js\";\r\nexport * from \"./DynamicGrammarInterfaces.js\";\r\nexport * from \"./DialogServiceAdapter.js\";\r\nexport * from \"./AgentConfig.js\";\r\nexport * from \"./Transcription/Exports.js\";\r\nexport * from \"./ServiceMessages/SynthesisAudioMetadata.js\";\r\nexport * from \"./SynthesisTurn.js\";\r\nexport * from \"./SynthesisAdapterBase.js\";\r\nexport { AvatarSynthesisAdapter } from \"./AvatarSynthesisAdapter.js\";\r\nexport { SpeechSynthesisAdapter } from \"./SpeechSynthesisAdapter.js\";\r\nexport * from \"./SynthesisRestAdapter.js\";\r\nexport * from \"./SynthesizerConfig.js\";\r\nexport * from \"./SynthesisContext.js\";\r\nexport * from \"./SpeakerRecognitionConfig.js\";\r\nexport * from \"./SpeakerServiceRecognizer.js\";\r\nexport * from \"./VoiceServiceRecognizer.js\";\r\nexport * from \"./SpeechServiceConfig.js\";\r\n\r\nexport const OutputFormatPropertyName: string = \"OutputFormat\";\r\nexport const CancellationErrorCodePropertyName: string = \"CancellationErrorCode\";\r\nexport const ServicePropertiesPropertyName: string = \"ServiceProperties\";\r\nexport const ForceDictationPropertyName: string = \"ForceDictation\";\r\nexport const AutoDetectSourceLanguagesOpenRangeOptionName: string = \"OpenRange\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport class HeaderNames {\r\n public static AuthKey: string = \"Ocp-Apim-Subscription-Key\";\r\n public static Authorization: string = \"Authorization\";\r\n public static SpIDAuthKey: string = \"Apim-Subscription-Id\";\r\n public static ConnectionId: string = \"X-ConnectionId\";\r\n public static ContentType: string = \"Content-Type\";\r\n public static CustomCommandsAppId: string = \"X-CommandsAppId\";\r\n public static Path: string = \"Path\";\r\n public static RequestId: string = \"X-RequestId\";\r\n public static RequestStreamId: string = \"X-StreamId\";\r\n public static RequestTimestamp: string = \"X-Timestamp\";\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport interface IAuthentication {\r\n fetch(authFetchEventId: string): Promise;\r\n fetchOnExpiry(authFetchEventId: string): Promise;\r\n}\r\n\r\nexport class AuthInfo {\r\n private privHeaderName: string;\r\n private privToken: string;\r\n\r\n public constructor(headerName: string, token: string) {\r\n this.privHeaderName = headerName;\r\n this.privToken = token;\r\n }\r\n\r\n public get headerName(): string {\r\n return this.privHeaderName;\r\n }\r\n\r\n public get token(): string {\r\n return this.privToken;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary\r\n} from \"../common/Exports.js\";\r\nimport {\r\n PropertyId\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n RecognizerConfig,\r\n WebsocketMessageFormatter,\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\n\r\nexport class IntentConnectionFactory extends ConnectionFactoryBase {\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint);\r\n if (!endpoint) {\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_IntentRegion);\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".sr.speech\" + hostSuffix);\r\n endpoint = host + \"/speech/recognition/interactive/cognitiveservices/v1\";\r\n }\r\n\r\n const queryParams: IStringDictionary = {\r\n format: \"simple\",\r\n language: config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage),\r\n };\r\n\r\n this.setCommonUrlParams(config, queryParams, endpoint);\r\n\r\n const headers: IStringDictionary = {};\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, endpoint);\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n\r\n private getSpeechRegionFromIntentRegion(intentRegion: string): string {\r\n switch (intentRegion) {\r\n case \"West US\":\r\n case \"US West\":\r\n case \"westus\":\r\n return \"uswest\";\r\n case \"West US 2\":\r\n case \"US West 2\":\r\n case \"westus2\":\r\n return \"uswest2\";\r\n case \"South Central US\":\r\n case \"US South Central\":\r\n case \"southcentralus\":\r\n return \"ussouthcentral\";\r\n case \"West Central US\":\r\n case \"US West Central\":\r\n case \"westcentralus\":\r\n return \"uswestcentral\";\r\n case \"East US\":\r\n case \"US East\":\r\n case \"eastus\":\r\n return \"useast\";\r\n case \"East US 2\":\r\n case \"US East 2\":\r\n case \"eastus2\":\r\n return \"useast2\";\r\n case \"West Europe\":\r\n case \"Europe West\":\r\n case \"westeurope\":\r\n return \"europewest\";\r\n case \"North Europe\":\r\n case \"Europe North\":\r\n case \"northeurope\":\r\n return \"europenorth\";\r\n case \"Brazil South\":\r\n case \"South Brazil\":\r\n case \"southbrazil\":\r\n return \"brazilsouth\";\r\n case \"Australia East\":\r\n case \"East Australia\":\r\n case \"eastaustralia\":\r\n return \"australiaeast\";\r\n case \"Southeast Asia\":\r\n case \"Asia Southeast\":\r\n case \"southeastasia\":\r\n return \"asiasoutheast\";\r\n case \"East Asia\":\r\n case \"Asia East\":\r\n case \"eastasia\":\r\n return \"asiaeast\";\r\n default:\r\n return intentRegion;\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n Deferred,\r\n IAudioSource,\r\n MessageType,\r\n} from \"../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n IntentRecognitionCanceledEventArgs,\r\n IntentRecognitionEventArgs,\r\n IntentRecognitionResult,\r\n IntentRecognizer,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n AddedLmIntent,\r\n CancellationErrorCodePropertyName,\r\n EnumTranslation,\r\n IntentResponse,\r\n ServiceRecognizerBase,\r\n SimpleSpeechPhrase,\r\n SpeechHypothesis,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class IntentServiceRecognizer extends ServiceRecognizerBase {\r\n private privIntentRecognizer: IntentRecognizer;\r\n private privAddedLmIntents: { [id: string]: AddedLmIntent };\r\n private privIntentDataSent: boolean;\r\n private privUmbrellaIntent: AddedLmIntent;\r\n private privPendingIntentArgs: IntentRecognitionEventArgs;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n recognizer: IntentRecognizer) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, recognizer);\r\n this.privIntentRecognizer = recognizer;\r\n this.privIntentDataSent = false;\r\n }\r\n\r\n public setIntents(addedIntents: { [id: string]: AddedLmIntent }, umbrellaIntent: AddedLmIntent): void {\r\n this.privAddedLmIntents = addedIntents;\r\n this.privUmbrellaIntent = umbrellaIntent;\r\n this.privIntentDataSent = true;\r\n }\r\n\r\n protected processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n let result: IntentRecognitionResult;\r\n let ev: IntentRecognitionEventArgs;\r\n let processed: boolean = false;\r\n\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n if (connectionMessage.messageType === MessageType.Text) {\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n }\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"speech.hypothesis\":\r\n const speechHypothesis: SpeechHypothesis = SpeechHypothesis.fromJSON(connectionMessage.textBody);\r\n\r\n result = new IntentRecognitionResult(\r\n undefined,\r\n this.privRequestSession.requestId,\r\n ResultReason.RecognizingIntent,\r\n speechHypothesis.Text,\r\n speechHypothesis.Duration,\r\n speechHypothesis.Offset + this.privRequestSession.currentTurnAudioOffset,\r\n speechHypothesis.Language,\r\n speechHypothesis.LanguageDetectionConfidence,\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n this.privRequestSession.onHypothesis(result.offset);\r\n\r\n ev = new IntentRecognitionEventArgs(result, speechHypothesis.Offset + this.privRequestSession.currentTurnAudioOffset, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privIntentRecognizer.recognizing) {\r\n try {\r\n this.privIntentRecognizer.recognizing(this.privIntentRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n break;\r\n case \"speech.phrase\":\r\n const simple: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\r\n result = new IntentRecognitionResult(\r\n undefined,\r\n this.privRequestSession.requestId,\r\n EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus),\r\n simple.DisplayText,\r\n simple.Duration,\r\n simple.Offset + this.privRequestSession.currentTurnAudioOffset,\r\n simple.Language,\r\n simple.LanguageDetectionConfidence,\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n ev = new IntentRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\r\n\r\n const sendEvent: () => void = (): void => {\r\n if (!!this.privIntentRecognizer.recognized) {\r\n try {\r\n this.privIntentRecognizer.recognized(this.privIntentRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n // report result to promise.\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(result);\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n };\r\n\r\n // If intent data was sent, the terminal result for this recognizer is an intent being found.\r\n // If no intent data was sent, the terminal event is speech recognition being successful.\r\n if (false === this.privIntentDataSent || ResultReason.NoMatch === ev.result.reason) {\r\n // Advance the buffers.\r\n this.privRequestSession.onPhraseRecognized(ev.offset + ev.result.duration);\r\n sendEvent();\r\n } else {\r\n // Squirrel away the args, when the response event arrives it will build upon them\r\n // and then return\r\n this.privPendingIntentArgs = ev;\r\n }\r\n processed = true;\r\n break;\r\n case \"response\":\r\n // Response from LUIS\r\n ev = this.privPendingIntentArgs;\r\n this.privPendingIntentArgs = undefined;\r\n\r\n if (undefined === ev) {\r\n if (\"\" === connectionMessage.textBody) {\r\n // This condition happens if there is nothing but silence in the\r\n // audio sent to the service.\r\n return;\r\n }\r\n\r\n // Odd... Not sure this can happen\r\n ev = new IntentRecognitionEventArgs(new IntentRecognitionResult(), 0, this.privRequestSession.sessionId);\r\n }\r\n\r\n const intentResponse: IntentResponse = IntentResponse.fromJSON(connectionMessage.textBody);\r\n\r\n // If LUIS didn't return anything, send the existing event, else\r\n // modify it to show the match.\r\n // See if the intent found is in the list of intents asked for.\r\n\r\n if (null !== intentResponse && !!intentResponse.topScoringIntent && !!intentResponse.topScoringIntent.intent) {\r\n let addedIntent: AddedLmIntent = this.privAddedLmIntents[intentResponse.topScoringIntent.intent];\r\n\r\n if (this.privUmbrellaIntent !== undefined) {\r\n addedIntent = this.privUmbrellaIntent;\r\n }\r\n\r\n if (!!addedIntent) {\r\n const intentId = addedIntent === undefined || addedIntent.intentName === undefined ? intentResponse.topScoringIntent.intent : addedIntent.intentName;\r\n let reason = ev.result.reason;\r\n\r\n if (undefined !== intentId) {\r\n reason = ResultReason.RecognizedIntent;\r\n }\r\n\r\n // make sure, properties is set.\r\n const properties = (undefined !== ev.result.properties) ?\r\n ev.result.properties : new PropertyCollection();\r\n\r\n properties.setProperty(PropertyId.LanguageUnderstandingServiceResponse_JsonResult, connectionMessage.textBody);\r\n\r\n ev = new IntentRecognitionEventArgs(\r\n new IntentRecognitionResult(\r\n intentId,\r\n ev.result.resultId,\r\n reason,\r\n ev.result.text,\r\n ev.result.duration,\r\n ev.result.offset,\r\n undefined,\r\n undefined,\r\n ev.result.errorDetails,\r\n ev.result.json,\r\n properties),\r\n ev.offset,\r\n ev.sessionId);\r\n\r\n }\r\n }\r\n this.privRequestSession.onPhraseRecognized(ev.offset + ev.result.duration);\r\n\r\n if (!!this.privIntentRecognizer.recognized) {\r\n try {\r\n this.privIntentRecognizer.recognized(this.privIntentRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n // report result to promise.\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(ev.result);\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n const defferal = new Deferred();\r\n defferal.resolve(processed);\r\n return defferal.promise;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n if (!!this.privIntentRecognizer.canceled) {\r\n\r\n const cancelEvent: IntentRecognitionCanceledEventArgs = new IntentRecognitionCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n undefined,\r\n sessionId);\r\n try {\r\n this.privIntentRecognizer.canceled(this.privIntentRecognizer, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n\r\n if (!!this.privSuccessCallback) {\r\n const result: IntentRecognitionResult = new IntentRecognitionResult(\r\n undefined, // Intent Id\r\n requestId,\r\n ResultReason.Canceled,\r\n undefined, // Text\r\n undefined, // Duration\r\n undefined, // Offset\r\n undefined, // Language\r\n undefined, // LanguageDetectionConfidence\r\n error,\r\n undefined, // Json\r\n properties);\r\n try {\r\n this.privSuccessCallback(result);\r\n this.privSuccessCallback = undefined;\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport class QueryParameterNames {\r\n public static BotId: string = \"botid\";\r\n public static CustomSpeechDeploymentId: string = \"cid\";\r\n public static CustomVoiceDeploymentId: string = \"deploymentId\";\r\n public static EnableAudioLogging: string = \"storeAudio\";\r\n public static EnableLanguageId: string = \"lidEnabled\";\r\n public static EnableWordLevelTimestamps: string = \"wordLevelTimestamps\";\r\n public static EndSilenceTimeoutMs: string = \"endSilenceTimeoutMs\";\r\n public static SegmentationSilenceTimeoutMs: string = \"segmentationSilenceTimeoutMs\";\r\n public static Format: string = \"format\";\r\n public static InitialSilenceTimeoutMs: string = \"initialSilenceTimeoutMs\";\r\n public static Language: string = \"language\";\r\n public static Profanity: string = \"profanity\";\r\n public static RequestBotStatusMessages: string = \"enableBotMessageStatus\";\r\n public static StableIntermediateThreshold: string = \"stableIntermediateThreshold\";\r\n public static StableTranslation: string = \"stableTranslation\";\r\n public static TestHooks: string = \"testhooks\";\r\n public static Postprocessing: string = \"postprocessing\";\r\n public static CtsMeetingId: string = \"meetingId\";\r\n public static CtsDeviceId: string = \"deviceId\";\r\n public static CtsIsParticipant: string = \"isParticipant\";\r\n public static EnableAvatar: string = \"enableTalkingAvatar\";\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { EventType, PlatformEvent } from \"../common/Exports.js\";\r\n\r\nexport class SpeechRecognitionEvent extends PlatformEvent {\r\n private privRequestId: string;\r\n private privSessionId: string;\r\n\r\n public constructor(eventName: string, requestId: string, sessionId: string, eventType: EventType = EventType.Info) {\r\n super(eventName, eventType);\r\n\r\n this.privRequestId = requestId;\r\n this.privSessionId = sessionId;\r\n }\r\n\r\n public get requestId(): string {\r\n return this.privRequestId;\r\n }\r\n\r\n public get sessionId(): string {\r\n return this.privSessionId;\r\n }\r\n}\r\n\r\nexport class RecognitionTriggeredEvent extends SpeechRecognitionEvent {\r\n private privAudioSourceId: string;\r\n private privAudioNodeId: string;\r\n\r\n public constructor(requestId: string, sessionId: string, audioSourceId: string, audioNodeId: string) {\r\n super(\"RecognitionTriggeredEvent\", requestId, sessionId);\r\n\r\n this.privAudioSourceId = audioSourceId;\r\n this.privAudioNodeId = audioNodeId;\r\n }\r\n\r\n public get audioSourceId(): string {\r\n return this.privAudioSourceId;\r\n }\r\n\r\n public get audioNodeId(): string {\r\n return this.privAudioNodeId;\r\n }\r\n}\r\n\r\nexport class ListeningStartedEvent extends SpeechRecognitionEvent {\r\n private privAudioSourceId: string;\r\n private privAudioNodeId: string;\r\n\r\n public constructor(requestId: string, sessionId: string, audioSourceId: string, audioNodeId: string) {\r\n super(\"ListeningStartedEvent\", requestId, sessionId);\r\n this.privAudioSourceId = audioSourceId;\r\n this.privAudioNodeId = audioNodeId;\r\n }\r\n\r\n public get audioSourceId(): string {\r\n return this.privAudioSourceId;\r\n }\r\n\r\n public get audioNodeId(): string {\r\n return this.privAudioNodeId;\r\n }\r\n}\r\n\r\nexport class ConnectingToServiceEvent extends SpeechRecognitionEvent {\r\n private privAuthFetchEventid: string;\r\n\r\n public constructor(requestId: string, authFetchEventid: string, sessionId: string) {\r\n super(\"ConnectingToServiceEvent\", requestId, sessionId);\r\n this.privAuthFetchEventid = authFetchEventid;\r\n }\r\n\r\n public get authFetchEventid(): string {\r\n return this.privAuthFetchEventid;\r\n }\r\n}\r\n\r\nexport class RecognitionStartedEvent extends SpeechRecognitionEvent {\r\n private privAudioSourceId: string;\r\n private privAudioNodeId: string;\r\n private privAuthFetchEventId: string;\r\n\r\n public constructor(requestId: string, audioSourceId: string, audioNodeId: string, authFetchEventId: string, sessionId: string) {\r\n super(\"RecognitionStartedEvent\", requestId, sessionId);\r\n\r\n this.privAudioSourceId = audioSourceId;\r\n this.privAudioNodeId = audioNodeId;\r\n this.privAuthFetchEventId = authFetchEventId;\r\n }\r\n\r\n public get audioSourceId(): string {\r\n return this.privAudioSourceId;\r\n }\r\n\r\n public get audioNodeId(): string {\r\n return this.privAudioNodeId;\r\n }\r\n\r\n public get authFetchEventId(): string {\r\n return this.privAuthFetchEventId;\r\n }\r\n}\r\n\r\nexport enum RecognitionCompletionStatus {\r\n Success,\r\n AudioSourceError,\r\n AudioSourceTimeout,\r\n AuthTokenFetchError,\r\n AuthTokenFetchTimeout,\r\n UnAuthorized,\r\n ConnectTimeout,\r\n ConnectError,\r\n ClientRecognitionActivityTimeout,\r\n UnknownError,\r\n}\r\n\r\nexport class RecognitionEndedEvent extends SpeechRecognitionEvent {\r\n private privAudioSourceId: string;\r\n private privAudioNodeId: string;\r\n private privAuthFetchEventId: string;\r\n private privServiceTag: string;\r\n private privStatus: RecognitionCompletionStatus;\r\n private privError: string;\r\n\r\n public constructor(\r\n requestId: string,\r\n audioSourceId: string,\r\n audioNodeId: string,\r\n authFetchEventId: string,\r\n sessionId: string,\r\n serviceTag: string,\r\n status: RecognitionCompletionStatus,\r\n error: string) {\r\n\r\n super(\"RecognitionEndedEvent\", requestId, sessionId, status === RecognitionCompletionStatus.Success ? EventType.Info : EventType.Error);\r\n\r\n this.privAudioSourceId = audioSourceId;\r\n this.privAudioNodeId = audioNodeId;\r\n this.privAuthFetchEventId = authFetchEventId;\r\n this.privStatus = status;\r\n this.privError = error;\r\n this.privServiceTag = serviceTag;\r\n }\r\n\r\n public get audioSourceId(): string {\r\n return this.privAudioSourceId;\r\n }\r\n\r\n public get audioNodeId(): string {\r\n return this.privAudioNodeId;\r\n }\r\n\r\n public get authFetchEventId(): string {\r\n return this.privAuthFetchEventId;\r\n }\r\n\r\n public get serviceTag(): string {\r\n return this.privServiceTag;\r\n }\r\n\r\n public get status(): RecognitionCompletionStatus {\r\n return this.privStatus;\r\n }\r\n\r\n public get error(): string {\r\n return this.privError;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { PropertyCollection, PropertyId } from \"../sdk/Exports.js\";\r\nimport { Context, SpeechServiceConfig } from \"./Exports.js\";\r\n\r\nexport enum RecognitionMode {\r\n Interactive,\r\n Conversation,\r\n Dictation,\r\n}\r\n\r\nexport enum SpeechResultFormat {\r\n Simple,\r\n Detailed,\r\n}\r\n\r\nexport class RecognizerConfig {\r\n private privRecognitionMode: RecognitionMode;\r\n private privLanguageIdMode: string;\r\n private privSpeechServiceConfig: SpeechServiceConfig;\r\n private privRecognitionActivityTimeout: number;\r\n private privParameters: PropertyCollection;\r\n private privMaxRetryCount: number;\r\n private privEnableSpeakerId: boolean;\r\n\r\n public constructor(\r\n speechServiceConfig: SpeechServiceConfig,\r\n parameters: PropertyCollection) {\r\n this.privSpeechServiceConfig = speechServiceConfig ? speechServiceConfig : new SpeechServiceConfig(new Context(null));\r\n this.privParameters = parameters;\r\n this.privMaxRetryCount = parseInt(parameters.getProperty(\"SPEECH-Error-MaxRetryCount\", \"4\"), 10);\r\n this.privLanguageIdMode = parameters.getProperty(PropertyId.SpeechServiceConnection_LanguageIdMode, undefined);\r\n this.privEnableSpeakerId = false;\r\n }\r\n\r\n public get parameters(): PropertyCollection {\r\n return this.privParameters;\r\n }\r\n\r\n public get recognitionMode(): RecognitionMode {\r\n return this.privRecognitionMode;\r\n }\r\n\r\n public set recognitionMode(value: RecognitionMode) {\r\n this.privRecognitionMode = value;\r\n this.privRecognitionActivityTimeout = value === RecognitionMode.Interactive ? 8000 : 25000;\r\n this.privSpeechServiceConfig.Recognition = RecognitionMode[value];\r\n }\r\n\r\n public get SpeechServiceConfig(): SpeechServiceConfig {\r\n return this.privSpeechServiceConfig;\r\n }\r\n\r\n public get recognitionActivityTimeout(): number {\r\n return this.privRecognitionActivityTimeout;\r\n }\r\n\r\n public get isContinuousRecognition(): boolean {\r\n return this.privRecognitionMode !== RecognitionMode.Interactive;\r\n }\r\n\r\n public get languageIdMode(): string {\r\n return this.privLanguageIdMode;\r\n }\r\n\r\n public get autoDetectSourceLanguages(): string {\r\n return this.parameters.getProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, undefined);\r\n }\r\n\r\n public get recognitionEndpointVersion(): string {\r\n return this.parameters.getProperty(PropertyId.SpeechServiceConnection_RecognitionEndpointVersion, undefined);\r\n }\r\n\r\n public get sourceLanguageModels(): { language: string; endpoint: string }[] {\r\n const models: { language: string; endpoint: string }[] = [];\r\n let modelsExist: boolean = false;\r\n if (this.autoDetectSourceLanguages !== undefined) {\r\n for (const language of this.autoDetectSourceLanguages.split(\",\")) {\r\n const customProperty = language + PropertyId.SpeechServiceConnection_EndpointId.toString();\r\n const modelId: string = this.parameters.getProperty(customProperty, undefined);\r\n if (modelId !== undefined) {\r\n models.push( { language, endpoint: modelId });\r\n modelsExist = true;\r\n } else {\r\n models.push( { language, endpoint: \"\" } );\r\n }\r\n }\r\n }\r\n return modelsExist ? models : undefined;\r\n }\r\n\r\n public get maxRetryCount(): number {\r\n return this.privMaxRetryCount;\r\n }\r\n\r\n public get isSpeakerDiarizationEnabled(): boolean {\r\n return this.privEnableSpeakerId;\r\n }\r\n\r\n public set isSpeakerDiarizationEnabled(value: boolean) {\r\n this.privEnableSpeakerId = value;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ReplayableAudioNode } from \"../common.browser/Exports.js\";\r\nimport {\r\n createNoDashGuid,\r\n Deferred,\r\n Events,\r\n IDetachable,\r\n IEventSource,\r\n PlatformEvent\r\n} from \"../common/Exports.js\";\r\nimport {\r\n ConnectingToServiceEvent,\r\n ListeningStartedEvent,\r\n RecognitionStartedEvent,\r\n RecognitionTriggeredEvent,\r\n SpeechRecognitionEvent,\r\n} from \"./RecognitionEvents.js\";\r\nimport { ServiceTelemetryListener } from \"./ServiceTelemetryListener.Internal.js\";\r\n\r\nexport class RequestSession {\r\n private privIsDisposed: boolean = false;\r\n private privServiceTelemetryListener: ServiceTelemetryListener;\r\n private privDetachables: IDetachable[] = new Array();\r\n private privRequestId: string;\r\n private privAudioSourceId: string;\r\n private privAudioNodeId: string;\r\n private privAudioNode: ReplayableAudioNode;\r\n private privAuthFetchEventId: string;\r\n private privIsAudioNodeDetached: boolean = false;\r\n private privIsRecognizing: boolean = false;\r\n private privIsSpeechEnded: boolean = false;\r\n private privTurnStartAudioOffset: number = 0;\r\n private privLastRecoOffset: number = 0;\r\n private privHypothesisReceived: boolean = false;\r\n private privBytesSent: number = 0;\r\n private privRecognitionBytesSent: number = 0;\r\n private privRecogNumber: number = 0;\r\n private privSessionId: string;\r\n private privTurnDeferral: Deferred;\r\n private privInTurn: boolean = false;\r\n private privConnectionAttempts: number = 0;\r\n\r\n public constructor(audioSourceId: string) {\r\n this.privAudioSourceId = audioSourceId;\r\n this.privRequestId = createNoDashGuid();\r\n this.privAudioNodeId = createNoDashGuid();\r\n this.privTurnDeferral = new Deferred();\r\n\r\n // We're not in a turn, so resolve.\r\n this.privTurnDeferral.resolve();\r\n }\r\n\r\n public get sessionId(): string {\r\n return this.privSessionId;\r\n }\r\n\r\n public get requestId(): string {\r\n return this.privRequestId;\r\n }\r\n\r\n public get audioNodeId(): string {\r\n return this.privAudioNodeId;\r\n }\r\n\r\n public get turnCompletionPromise(): Promise {\r\n return this.privTurnDeferral.promise;\r\n }\r\n\r\n public get isSpeechEnded(): boolean {\r\n return this.privIsSpeechEnded;\r\n }\r\n\r\n public get isRecognizing(): boolean {\r\n return this.privIsRecognizing;\r\n }\r\n\r\n public get currentTurnAudioOffset(): number {\r\n return this.privTurnStartAudioOffset;\r\n }\r\n\r\n public get recogNumber(): number {\r\n return this.privRecogNumber;\r\n }\r\n\r\n public get numConnectionAttempts(): number {\r\n return this.privConnectionAttempts;\r\n }\r\n\r\n // The number of bytes sent for the current connection.\r\n // Counter is reset to 0 each time a connection is established.\r\n public get bytesSent(): number {\r\n return this.privBytesSent;\r\n }\r\n\r\n // The number of bytes sent for the current recognition.\r\n // Counter is reset to 0 each time recognition is started.\r\n public get recognitionBytesSent(): number {\r\n return this.privRecognitionBytesSent;\r\n }\r\n\r\n public listenForServiceTelemetry(eventSource: IEventSource): void {\r\n if (!!this.privServiceTelemetryListener) {\r\n this.privDetachables.push(eventSource.attachListener(this.privServiceTelemetryListener));\r\n }\r\n }\r\n\r\n public startNewRecognition(): void {\r\n this.privRecognitionBytesSent = 0;\r\n this.privIsSpeechEnded = false;\r\n this.privIsRecognizing = true;\r\n this.privTurnStartAudioOffset = 0;\r\n this.privLastRecoOffset = 0;\r\n this.privRecogNumber++;\r\n this.privServiceTelemetryListener = new ServiceTelemetryListener(this.privRequestId, this.privAudioSourceId, this.privAudioNodeId);\r\n this.onEvent(new RecognitionTriggeredEvent(this.requestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\r\n }\r\n\r\n public async onAudioSourceAttachCompleted(audioNode: ReplayableAudioNode, isError: boolean): Promise {\r\n this.privAudioNode = audioNode;\r\n this.privIsAudioNodeDetached = false;\r\n\r\n if (isError) {\r\n await this.onComplete();\r\n } else {\r\n this.onEvent(new ListeningStartedEvent(this.privRequestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\r\n }\r\n }\r\n\r\n public onPreConnectionStart(authFetchEventId: string, connectionId: string): void {\r\n this.privAuthFetchEventId = authFetchEventId;\r\n this.privSessionId = connectionId;\r\n this.onEvent(new ConnectingToServiceEvent(this.privRequestId, this.privAuthFetchEventId, this.privSessionId));\r\n }\r\n\r\n public async onAuthCompleted(isError: boolean): Promise {\r\n if (isError) {\r\n await this.onComplete();\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public async onConnectionEstablishCompleted(statusCode: number, reason?: string): Promise {\r\n if (statusCode === 200) {\r\n this.onEvent(new RecognitionStartedEvent(this.requestId, this.privAudioSourceId, this.privAudioNodeId, this.privAuthFetchEventId, this.privSessionId));\r\n if (!!this.privAudioNode) {\r\n this.privAudioNode.replay();\r\n }\r\n this.privTurnStartAudioOffset = this.privLastRecoOffset;\r\n this.privBytesSent = 0;\r\n return;\r\n } else if (statusCode === 403) {\r\n await this.onComplete();\r\n }\r\n }\r\n\r\n public async onServiceTurnEndResponse(continuousRecognition: boolean): Promise {\r\n this.privTurnDeferral.resolve();\r\n\r\n if (!continuousRecognition || this.isSpeechEnded) {\r\n await this.onComplete();\r\n this.privInTurn = false;\r\n } else {\r\n // Start a new request set.\r\n this.privTurnStartAudioOffset = this.privLastRecoOffset;\r\n this.privAudioNode.replay();\r\n }\r\n }\r\n\r\n public onSpeechContext(): void {\r\n this.privRequestId = createNoDashGuid();\r\n }\r\n\r\n public onServiceTurnStartResponse(): void {\r\n if (!!this.privTurnDeferral && !!this.privInTurn) {\r\n // What? How are we starting a turn with another not done?\r\n this.privTurnDeferral.reject(\"Another turn started before current completed.\");\r\n // Avoid UnhandledPromiseRejection if privTurnDeferral is not being awaited\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.privTurnDeferral.promise.then().catch((): void => { });\r\n }\r\n this.privInTurn = true;\r\n this.privTurnDeferral = new Deferred();\r\n }\r\n\r\n public onHypothesis(offset: number): void {\r\n if (!this.privHypothesisReceived) {\r\n this.privHypothesisReceived = true;\r\n this.privServiceTelemetryListener.hypothesisReceived(this.privAudioNode.findTimeAtOffset(offset));\r\n }\r\n }\r\n\r\n public onPhraseRecognized(offset: number): void {\r\n this.privServiceTelemetryListener.phraseReceived(this.privAudioNode.findTimeAtOffset(offset));\r\n this.onServiceRecognized(offset);\r\n }\r\n\r\n public onServiceRecognized(offset: number): void {\r\n this.privLastRecoOffset = offset;\r\n this.privHypothesisReceived = false;\r\n this.privAudioNode.shrinkBuffers(offset);\r\n this.privConnectionAttempts = 0;\r\n }\r\n\r\n public onAudioSent(bytesSent: number): void {\r\n this.privBytesSent += bytesSent;\r\n this.privRecognitionBytesSent += bytesSent;\r\n }\r\n\r\n public onRetryConnection(): void {\r\n this.privConnectionAttempts++;\r\n }\r\n\r\n public async dispose(): Promise {\r\n if (!this.privIsDisposed) {\r\n // we should have completed by now. If we did not its an unknown error.\r\n this.privIsDisposed = true;\r\n for (const detachable of this.privDetachables) {\r\n await detachable.detach();\r\n }\r\n\r\n if (!!this.privServiceTelemetryListener) {\r\n this.privServiceTelemetryListener.dispose();\r\n }\r\n this.privIsRecognizing = false;\r\n }\r\n }\r\n\r\n public getTelemetry(): string {\r\n if (this.privServiceTelemetryListener.hasTelemetry) {\r\n return this.privServiceTelemetryListener.getTelemetry();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async onStopRecognizing(): Promise {\r\n await this.onComplete();\r\n }\r\n\r\n // Should be called with the audioNode for this session has indicated that it is out of speech.\r\n public onSpeechEnded(): void {\r\n this.privIsSpeechEnded = true;\r\n }\r\n\r\n protected onEvent(event: SpeechRecognitionEvent): void {\r\n if (!!this.privServiceTelemetryListener) {\r\n this.privServiceTelemetryListener.onEvent(event);\r\n }\r\n Events.instance.onEvent(event);\r\n }\r\n\r\n private async onComplete(): Promise {\r\n if (!!this.privIsRecognizing) {\r\n this.privIsRecognizing = false;\r\n await this.detachAudioNode();\r\n }\r\n }\r\n\r\n private async detachAudioNode(): Promise {\r\n if (!this.privIsAudioNodeDetached) {\r\n this.privIsAudioNodeDetached = true;\r\n if (this.privAudioNode) {\r\n await this.privAudioNode.detach();\r\n }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// response\r\n\r\nexport interface IActivityPayloadResponse {\r\n conversationId: string;\r\n messageDataStreamType: number;\r\n messagePayload: string | object;\r\n version: number;\r\n}\r\n\r\nexport class ActivityPayloadResponse implements IActivityPayloadResponse {\r\n private privActivityResponse: IActivityPayloadResponse;\r\n\r\n private constructor(json: string) {\r\n this.privActivityResponse = JSON.parse(json) as IActivityPayloadResponse;\r\n }\r\n\r\n public static fromJSON(json: string): ActivityPayloadResponse {\r\n return new ActivityPayloadResponse(json);\r\n }\r\n\r\n public get conversationId(): string {\r\n return this.privActivityResponse.conversationId;\r\n }\r\n\r\n public get messageDataStreamType(): number {\r\n return this.privActivityResponse.messageDataStreamType;\r\n }\r\n\r\n public get messagePayload(): string | object {\r\n return this.privActivityResponse.messagePayload;\r\n }\r\n\r\n public get version(): number {\r\n return this.privActivityResponse.version;\r\n }\r\n}\r\n\r\nexport enum MessageDataStreamType {\r\n None = 0,\r\n TextToSpeechAudio = 1,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IPrimaryLanguage, RecognitionStatus } from \"../Exports.js\";\r\n\r\n// speech.phrase for detailed\r\nexport interface IDetailedSpeechPhrase {\r\n RecognitionStatus: RecognitionStatus;\r\n NBest: IPhrase[];\r\n Duration?: number;\r\n Offset?: number;\r\n PrimaryLanguage?: IPrimaryLanguage;\r\n DisplayText?: string;\r\n SpeakerId?: string;\r\n}\r\n\r\nexport interface IPhrase {\r\n Confidence?: number;\r\n Lexical: string;\r\n ITN: string;\r\n MaskedITN: string;\r\n Display?: string;\r\n DisplayText?: string;\r\n Words?: IWord[];\r\n DisplayWords?: IWord[];\r\n}\r\n\r\nexport interface IWord {\r\n Word: string;\r\n Offset: number;\r\n Duration: number;\r\n}\r\n\r\nexport class DetailedSpeechPhrase implements IDetailedSpeechPhrase {\r\n private privDetailedSpeechPhrase: IDetailedSpeechPhrase;\r\n\r\n private constructor(json: string) {\r\n this.privDetailedSpeechPhrase = JSON.parse(json) as IDetailedSpeechPhrase;\r\n this.privDetailedSpeechPhrase.RecognitionStatus = RecognitionStatus[this.privDetailedSpeechPhrase.RecognitionStatus as unknown as keyof typeof RecognitionStatus];\r\n }\r\n\r\n public static fromJSON(json: string): DetailedSpeechPhrase {\r\n return new DetailedSpeechPhrase(json);\r\n }\r\n\r\n public getJsonWithCorrectedOffsets(baseOffset: number): string {\r\n if (!!this.privDetailedSpeechPhrase.NBest) {\r\n let firstWordOffset: number;\r\n for (const phrase of this.privDetailedSpeechPhrase.NBest) {\r\n if (!!phrase.Words && !!phrase.Words[0]) {\r\n firstWordOffset = phrase.Words[0].Offset;\r\n break;\r\n }\r\n }\r\n if (!!firstWordOffset && firstWordOffset < baseOffset) {\r\n const offset: number = baseOffset - firstWordOffset;\r\n for (const details of this.privDetailedSpeechPhrase.NBest) {\r\n if (!!details.Words) {\r\n for (const word of details.Words) {\r\n word.Offset += offset;\r\n }\r\n }\r\n if (!!details.DisplayWords) {\r\n for (const word of details.DisplayWords) {\r\n word.Offset += offset;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return JSON.stringify(this.privDetailedSpeechPhrase);\r\n }\r\n\r\n public get RecognitionStatus(): RecognitionStatus {\r\n return this.privDetailedSpeechPhrase.RecognitionStatus;\r\n }\r\n public get NBest(): IPhrase[] {\r\n return this.privDetailedSpeechPhrase.NBest;\r\n }\r\n public get Duration(): number {\r\n return this.privDetailedSpeechPhrase.Duration;\r\n }\r\n public get Offset(): number {\r\n return this.privDetailedSpeechPhrase.Offset;\r\n }\r\n public get Language(): string {\r\n return this.privDetailedSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privDetailedSpeechPhrase.PrimaryLanguage.Language;\r\n }\r\n public get LanguageDetectionConfidence(): string {\r\n return this.privDetailedSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privDetailedSpeechPhrase.PrimaryLanguage.Confidence;\r\n }\r\n public get Text(): string {\r\n if (!!this.privDetailedSpeechPhrase.NBest && this.privDetailedSpeechPhrase.NBest[0]) {\r\n return this.privDetailedSpeechPhrase.NBest[0].Display || this.privDetailedSpeechPhrase.NBest[0].DisplayText;\r\n }\r\n return this.privDetailedSpeechPhrase.DisplayText;\r\n }\r\n public get SpeakerId(): string {\r\n return this.privDetailedSpeechPhrase.SpeakerId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * @class SynthesisStatus\r\n * @private\r\n */\r\nexport enum SynthesisStatus {\r\n /**\r\n * The response contains valid audio data.\r\n * @member SynthesisStatus.Success\r\n */\r\n Success,\r\n\r\n /**\r\n * Indicates the end of audio data. No valid audio data is included in the message.\r\n * @member SynthesisStatus.SynthesisEnd\r\n */\r\n SynthesisEnd,\r\n\r\n /**\r\n * Indicates an error occurred during synthesis data processing.\r\n * @member SynthesisStatus.Error\r\n */\r\n Error,\r\n}\r\n\r\nexport enum RecognitionStatus {\r\n Success,\r\n NoMatch,\r\n InitialSilenceTimeout,\r\n BabbleTimeout,\r\n Error,\r\n EndOfDictation,\r\n TooManyRequests,\r\n BadRequest,\r\n Forbidden,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// response\r\n\r\nexport interface IIntentResponse {\r\n query?: string;\r\n topScoringIntent?: ISingleIntent;\r\n entities?: IIntentEntity[];\r\n}\r\n\r\nexport interface IIntentEntity {\r\n entity: string;\r\n type: string;\r\n startIndex: number;\r\n endIndex: number;\r\n score: number;\r\n}\r\n\r\nexport interface ISingleIntent {\r\n intent: string;\r\n score: number;\r\n}\r\n\r\nexport class IntentResponse implements IIntentResponse {\r\n private privIntentResponse: IIntentResponse;\r\n\r\n private constructor(json: string) {\r\n if (json === \"\") {\r\n this.privIntentResponse = {};\r\n } else {\r\n this.privIntentResponse = JSON.parse(json) as IIntentResponse;\r\n }\r\n }\r\n\r\n public static fromJSON(json: string): IntentResponse {\r\n return new IntentResponse(json);\r\n }\r\n\r\n public get query(): string {\r\n return this.privIntentResponse.query;\r\n }\r\n\r\n public get topScoringIntent(): ISingleIntent {\r\n return this.privIntentResponse.topScoringIntent;\r\n }\r\n\r\n public get entities(): IIntentEntity[] {\r\n return this.privIntentResponse.entities;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { RecognitionStatus } from \"../Exports.js\";\r\n\r\n// speech.phrase\r\nexport interface ISimpleSpeechPhrase {\r\n RecognitionStatus: RecognitionStatus;\r\n DisplayText: string;\r\n Offset?: number;\r\n Duration?: number;\r\n PrimaryLanguage?: IPrimaryLanguage;\r\n SpeakerId?: string;\r\n}\r\n\r\nexport interface IPrimaryLanguage {\r\n Language: string;\r\n Confidence: string;\r\n}\r\n\r\nexport class SimpleSpeechPhrase implements ISimpleSpeechPhrase {\r\n private privSimpleSpeechPhrase: ISimpleSpeechPhrase;\r\n\r\n private constructor(json: string) {\r\n this.privSimpleSpeechPhrase = JSON.parse(json) as ISimpleSpeechPhrase;\r\n this.privSimpleSpeechPhrase.RecognitionStatus = RecognitionStatus[this.privSimpleSpeechPhrase.RecognitionStatus as unknown as keyof typeof RecognitionStatus];\r\n }\r\n\r\n public static fromJSON(json: string): SimpleSpeechPhrase {\r\n return new SimpleSpeechPhrase(json);\r\n }\r\n\r\n public get RecognitionStatus(): RecognitionStatus {\r\n return this.privSimpleSpeechPhrase.RecognitionStatus;\r\n }\r\n\r\n public get DisplayText(): string {\r\n return this.privSimpleSpeechPhrase.DisplayText;\r\n }\r\n\r\n public get Offset(): number {\r\n return this.privSimpleSpeechPhrase.Offset;\r\n }\r\n\r\n public get Duration(): number {\r\n return this.privSimpleSpeechPhrase.Duration;\r\n }\r\n\r\n public get Language(): string {\r\n return this.privSimpleSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privSimpleSpeechPhrase.PrimaryLanguage.Language;\r\n }\r\n\r\n public get LanguageDetectionConfidence(): string {\r\n return this.privSimpleSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privSimpleSpeechPhrase.PrimaryLanguage.Confidence;\r\n }\r\n\r\n public get SpeakerId(): string {\r\n return this.privSimpleSpeechPhrase.SpeakerId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// speech.endDetected\r\nexport interface ISpeechDetected {\r\n Offset: number;\r\n}\r\n\r\nexport class SpeechDetected implements ISpeechDetected {\r\n private privSpeechStartDetected: ISpeechDetected;\r\n\r\n private constructor(json: string) {\r\n this.privSpeechStartDetected = JSON.parse(json) as ISpeechDetected;\r\n }\r\n\r\n public static fromJSON(json: string): SpeechDetected {\r\n return new SpeechDetected(json);\r\n }\r\n\r\n public get Offset(): number {\r\n return this.privSpeechStartDetected.Offset;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IPrimaryLanguage } from \"./SimpleSpeechPhrase.js\";\r\n\r\n// speech.hypothesis\r\nexport interface ISpeechHypothesis {\r\n Text: string;\r\n Offset: number;\r\n Duration: number;\r\n PrimaryLanguage?: IPrimaryLanguage;\r\n SpeakerId?: string;\r\n}\r\n\r\nexport class SpeechHypothesis implements ISpeechHypothesis {\r\n private privSpeechHypothesis: ISpeechHypothesis;\r\n\r\n private constructor(json: string) {\r\n this.privSpeechHypothesis = JSON.parse(json) as ISpeechHypothesis;\r\n }\r\n\r\n public static fromJSON(json: string): SpeechHypothesis {\r\n return new SpeechHypothesis(json);\r\n }\r\n\r\n public get Text(): string {\r\n return this.privSpeechHypothesis.Text;\r\n }\r\n\r\n public get Offset(): number {\r\n return this.privSpeechHypothesis.Offset;\r\n }\r\n\r\n public get Duration(): number {\r\n return this.privSpeechHypothesis.Duration;\r\n }\r\n\r\n public get Language(): string {\r\n return this.privSpeechHypothesis.PrimaryLanguage === undefined ? undefined : this.privSpeechHypothesis.PrimaryLanguage.Language;\r\n }\r\n\r\n public get LanguageDetectionConfidence(): string {\r\n return this.privSpeechHypothesis.PrimaryLanguage === undefined ? undefined : this.privSpeechHypothesis.PrimaryLanguage.Confidence;\r\n }\r\n\r\n public get SpeakerId(): string {\r\n return this.privSpeechHypothesis.SpeakerId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// speech.keyword\r\nexport interface ISpeechKeyword {\r\n Status: string;\r\n Text: string;\r\n Offset: number;\r\n Duration: number;\r\n}\r\n\r\nexport class SpeechKeyword implements ISpeechKeyword {\r\n private privSpeechKeyword: ISpeechKeyword;\r\n\r\n private constructor(json: string) {\r\n this.privSpeechKeyword = JSON.parse(json) as ISpeechKeyword;\r\n }\r\n\r\n public static fromJSON(json: string): SpeechKeyword {\r\n return new SpeechKeyword(json);\r\n }\r\n\r\n public get Status(): string {\r\n return this.privSpeechKeyword.Status;\r\n }\r\n\r\n public get Text(): string {\r\n return this.privSpeechKeyword.Text;\r\n }\r\n\r\n public get Offset(): number {\r\n return this.privSpeechKeyword.Offset;\r\n }\r\n\r\n public get Duration(): number {\r\n return this.privSpeechKeyword.Duration;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SpeechSynthesisBoundaryType } from \"../../sdk/Exports.js\";\r\n\r\nexport enum MetadataType {\r\n WordBoundary = \"WordBoundary\",\r\n Bookmark = \"Bookmark\",\r\n Viseme = \"Viseme\",\r\n SentenceBoundary = \"SentenceBoundary\",\r\n SessionEnd = \"SessionEnd\",\r\n AvatarSignal = \"TalkingAvatarSignal\",\r\n}\r\n\r\nexport interface ISynthesisMetadata {\r\n Type: MetadataType;\r\n Data: {\r\n Offset: number;\r\n Duration: number;\r\n text: {\r\n Text: string;\r\n Length: number;\r\n BoundaryType: SpeechSynthesisBoundaryType;\r\n };\r\n Bookmark: string;\r\n VisemeId: number;\r\n AnimationChunk: string;\r\n IsLastAnimation: boolean;\r\n Name: string;\r\n };\r\n}\r\n\r\n// audio.metadata\r\nexport interface ISynthesisAudioMetadata {\r\n Metadata: ISynthesisMetadata[];\r\n}\r\n\r\nexport class SynthesisAudioMetadata implements ISynthesisAudioMetadata {\r\n private privSynthesisAudioMetadata: ISynthesisAudioMetadata;\r\n\r\n private constructor(json: string) {\r\n this.privSynthesisAudioMetadata = JSON.parse(json) as ISynthesisAudioMetadata;\r\n }\r\n\r\n public static fromJSON(json: string): SynthesisAudioMetadata {\r\n return new SynthesisAudioMetadata(json);\r\n }\r\n\r\n public get Metadata(): ISynthesisMetadata[] {\r\n return this.privSynthesisAudioMetadata.Metadata;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport { IPrimaryLanguage, ITranslations } from \"../Exports.js\";\r\nimport { TranslationStatus } from \"../TranslationStatus.js\";\r\n\r\n// translation.hypothesis\r\nexport interface ITranslationHypothesis {\r\n Duration: number;\r\n Offset: number;\r\n PrimaryLanguage?: IPrimaryLanguage;\r\n Text: string;\r\n Translation: ITranslations;\r\n}\r\n\r\nexport class TranslationHypothesis implements ITranslationHypothesis {\r\n private privTranslationHypothesis: ITranslationHypothesis;\r\n\r\n private constructor(hypothesis: ITranslationHypothesis) {\r\n this.privTranslationHypothesis = hypothesis;\r\n this.privTranslationHypothesis.Translation.TranslationStatus = TranslationStatus[this.privTranslationHypothesis.Translation.TranslationStatus as unknown as keyof typeof TranslationStatus];\r\n }\r\n\r\n public static fromJSON(json: string): TranslationHypothesis {\r\n return new TranslationHypothesis(JSON.parse(json) as ITranslationHypothesis);\r\n }\r\n\r\n public static fromTranslationResponse(translationHypothesis: { SpeechHypothesis: ITranslationHypothesis }): TranslationHypothesis {\r\n Contracts.throwIfNullOrUndefined(translationHypothesis, \"translationHypothesis\");\r\n const hypothesis: ITranslationHypothesis = translationHypothesis.SpeechHypothesis;\r\n translationHypothesis.SpeechHypothesis = undefined;\r\n hypothesis.Translation = (translationHypothesis as unknown as ITranslations);\r\n return new TranslationHypothesis(hypothesis);\r\n }\r\n\r\n public get Duration(): number {\r\n return this.privTranslationHypothesis.Duration;\r\n }\r\n\r\n public get Offset(): number {\r\n return this.privTranslationHypothesis.Offset;\r\n }\r\n\r\n public get Text(): string {\r\n return this.privTranslationHypothesis.Text;\r\n }\r\n\r\n public get Translation(): ITranslations {\r\n return this.privTranslationHypothesis.Translation;\r\n }\r\n\r\n public get Language(): string {\r\n return this.privTranslationHypothesis.PrimaryLanguage?.Language;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport { IPrimaryLanguage, ITranslations, RecognitionStatus } from \"../Exports.js\";\r\nimport { TranslationStatus } from \"../TranslationStatus.js\";\r\n\r\n// translation.phrase\r\nexport interface ITranslationPhrase {\r\n RecognitionStatus: RecognitionStatus;\r\n Offset: number;\r\n Duration: number;\r\n Translation?: ITranslations;\r\n Text?: string;\r\n DisplayText?: string;\r\n PrimaryLanguage?: IPrimaryLanguage;\r\n}\r\n\r\nexport class TranslationPhrase implements ITranslationPhrase {\r\n private privTranslationPhrase: ITranslationPhrase;\r\n\r\n private constructor(phrase: ITranslationPhrase) {\r\n this.privTranslationPhrase = phrase;\r\n this.privTranslationPhrase.RecognitionStatus = RecognitionStatus[this.privTranslationPhrase.RecognitionStatus as unknown as keyof typeof RecognitionStatus];\r\n if (this.privTranslationPhrase.Translation !== undefined) {\r\n this.privTranslationPhrase.Translation.TranslationStatus = TranslationStatus[this.privTranslationPhrase.Translation.TranslationStatus as unknown as keyof typeof TranslationStatus];\r\n }\r\n }\r\n\r\n public static fromJSON(json: string): TranslationPhrase {\r\n return new TranslationPhrase(JSON.parse(json) as ITranslationPhrase);\r\n }\r\n\r\n public static fromTranslationResponse(translationResponse: { SpeechPhrase: ITranslationPhrase }): TranslationPhrase {\r\n Contracts.throwIfNullOrUndefined(translationResponse, \"translationResponse\");\r\n const phrase: ITranslationPhrase = translationResponse.SpeechPhrase;\r\n translationResponse.SpeechPhrase = undefined;\r\n phrase.Translation = (translationResponse as unknown as ITranslations);\r\n phrase.Text = phrase.DisplayText;\r\n return new TranslationPhrase(phrase);\r\n }\r\n\r\n public get RecognitionStatus(): RecognitionStatus {\r\n return this.privTranslationPhrase.RecognitionStatus;\r\n }\r\n\r\n public get Offset(): number {\r\n return this.privTranslationPhrase.Offset;\r\n }\r\n\r\n public get Duration(): number {\r\n return this.privTranslationPhrase.Duration;\r\n }\r\n\r\n public get Text(): string | undefined {\r\n return this.privTranslationPhrase.Text;\r\n }\r\n\r\n public get Language(): string | undefined {\r\n return this.privTranslationPhrase.PrimaryLanguage?.Language;\r\n }\r\n\r\n public get Confidence(): string | undefined {\r\n return this.privTranslationPhrase.PrimaryLanguage?.Confidence;\r\n }\r\n\r\n public get Translation(): ITranslations | undefined {\r\n return this.privTranslationPhrase.Translation;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SynthesisStatus } from \"../Exports.js\";\r\n\r\n// translation.synthesis.end\r\nexport interface ITranslationSynthesisEnd {\r\n SynthesisStatus?: SynthesisStatus;\r\n FailureReason?: string;\r\n Status?: SynthesisStatus;\r\n}\r\n\r\nexport class TranslationSynthesisEnd implements ITranslationSynthesisEnd {\r\n private privSynthesisEnd: ITranslationSynthesisEnd;\r\n\r\n private constructor(json: string) {\r\n this.privSynthesisEnd = JSON.parse(json) as ITranslationSynthesisEnd;\r\n if (!!this.privSynthesisEnd.SynthesisStatus) {\r\n this.privSynthesisEnd.SynthesisStatus = SynthesisStatus[this.privSynthesisEnd.SynthesisStatus as unknown as keyof typeof SynthesisStatus];\r\n }\r\n if (!!this.privSynthesisEnd.Status) {\r\n this.privSynthesisEnd.SynthesisStatus = SynthesisStatus[this.privSynthesisEnd.Status as unknown as keyof typeof SynthesisStatus];\r\n }\r\n }\r\n\r\n public static fromJSON(json: string): TranslationSynthesisEnd {\r\n return new TranslationSynthesisEnd(json);\r\n }\r\n\r\n public get SynthesisStatus(): SynthesisStatus {\r\n return this.privSynthesisEnd.SynthesisStatus;\r\n }\r\n\r\n public get FailureReason(): string {\r\n return this.privSynthesisEnd.FailureReason;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport interface ITurnStatusResponsePayload {\r\n interactionId: string;\r\n conversationId: string;\r\n statusCode: any;\r\n}\r\n\r\nexport class TurnStatusResponsePayload implements ITurnStatusResponsePayload {\r\n private privMessageStatusResponse: ITurnStatusResponsePayload;\r\n\r\n private constructor(json: string) {\r\n this.privMessageStatusResponse = JSON.parse(json) as ITurnStatusResponsePayload;\r\n }\r\n\r\n public static fromJSON(json: string): TurnStatusResponsePayload {\r\n return new TurnStatusResponsePayload(json);\r\n }\r\n\r\n public get interactionId(): string {\r\n return this.privMessageStatusResponse.interactionId;\r\n }\r\n\r\n public get conversationId(): string {\r\n return this.privMessageStatusResponse.conversationId;\r\n }\r\n\r\n public get statusCode(): any {\r\n // Payloads may contain a limited set of textual representations or a numeric status\r\n // code. The textual values are here converted into numeric ones.\r\n switch (this.privMessageStatusResponse.statusCode) {\r\n case \"Success\":\r\n return 200;\r\n case \"Failed\":\r\n return 400;\r\n case \"TimedOut\":\r\n return 429;\r\n default:\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\r\n return this.privMessageStatusResponse.statusCode;\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ReplayableAudioNode } from \"../common.browser/Exports.js\";\r\nimport { ConnectionOpenResponse } from \"../common/ConnectionOpenResponse.js\";\r\nimport {\r\n ArgumentNullError,\r\n ConnectionClosedEvent,\r\n ConnectionEvent,\r\n ConnectionState,\r\n createNoDashGuid,\r\n EventSource,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IConnection,\r\n IDisposable,\r\n IStreamChunk,\r\n MessageType,\r\n ServiceEvent,\r\n Timeout\r\n} from \"../common/Exports.js\";\r\nimport { AudioStreamFormatImpl } from \"../sdk/Audio/AudioStreamFormat.js\";\r\nimport { SpeakerRecognitionModel } from \"../sdk/SpeakerRecognitionModel.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n PropertyId,\r\n RecognitionEventArgs,\r\n Recognizer,\r\n SessionEventArgs,\r\n SpeakerRecognitionResult,\r\n SpeechRecognitionResult,\r\n OutputFormat\r\n} from \"../sdk/Exports.js\";\r\nimport { Callback } from \"../sdk/Transcription/IConversation.js\";\r\nimport {\r\n AgentConfig,\r\n DynamicGrammarBuilder,\r\n ISpeechConfigAudioDevice,\r\n RecognitionMode,\r\n RequestSession,\r\n SpeechContext,\r\n SpeechDetected,\r\n type,\r\n OutputFormatPropertyName\r\n} from \"./Exports.js\";\r\nimport {\r\n AuthInfo,\r\n IAuthentication,\r\n} from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\ninterface CustomModel {\r\n language: string;\r\n endpoint: string;\r\n}\r\n\r\nexport interface PhraseDetection {\r\n customModels?: CustomModel[];\r\n onInterim?: { action: string };\r\n onSuccess?: { action: string };\r\n mode?: string;\r\n INTERACTIVE?: Segmentation;\r\n CONVERSATION?: Segmentation;\r\n DICTATION?: Segmentation;\r\n speakerDiarization?: SpeakerDiarization;\r\n}\r\n\r\nexport interface SpeakerDiarization {\r\n mode?: string;\r\n audioSessionId?: string;\r\n audioOffsetMs?: number;\r\n identityProvider?: string;\r\n}\r\n\r\nexport interface Segmentation {\r\n segmentation: {\r\n mode: \"Custom\";\r\n segmentationSilenceTimeoutMs: number;\r\n };\r\n}\r\n\r\nexport abstract class ServiceRecognizerBase implements IDisposable {\r\n private privAuthentication: IAuthentication;\r\n private privConnectionFactory: IConnectionFactory;\r\n\r\n // A promise for a configured connection.\r\n // Do not consume directly, call fetchConnection instead.\r\n private privConnectionConfigurationPromise: Promise = undefined;\r\n\r\n // A promise for a connection, but one that has not had the speech context sent yet.\r\n // Do not consume directly, call fetchConnection instead.\r\n private privConnectionPromise: Promise = undefined;\r\n private privAuthFetchEventId: string;\r\n private privIsDisposed: boolean;\r\n private privMustReportEndOfStream: boolean;\r\n private privConnectionEvents: EventSource;\r\n private privServiceEvents: EventSource;\r\n private privDynamicGrammar: DynamicGrammarBuilder;\r\n private privAgentConfig: AgentConfig;\r\n private privServiceHasSentMessage: boolean;\r\n private privActivityTemplate: string;\r\n private privSetTimeout: (cb: () => void, delay: number) => number = setTimeout;\r\n private privAudioSource: IAudioSource;\r\n private privIsLiveAudio: boolean = false;\r\n private privAverageBytesPerMs: number = 0;\r\n protected privSpeechContext: SpeechContext;\r\n protected privRequestSession: RequestSession;\r\n protected privConnectionId: string;\r\n protected privDiarizationSessionId: string;\r\n protected privRecognizerConfig: RecognizerConfig;\r\n protected privRecognizer: Recognizer;\r\n protected privSuccessCallback: (e: SpeechRecognitionResult) => void;\r\n protected privErrorCallback: (e: string) => void;\r\n protected privEnableSpeakerId: boolean = false;\r\n protected privExpectContentAssessmentResponse: boolean = false;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n recognizer: Recognizer) {\r\n\r\n if (!authentication) {\r\n throw new ArgumentNullError(\"authentication\");\r\n }\r\n\r\n if (!connectionFactory) {\r\n throw new ArgumentNullError(\"connectionFactory\");\r\n }\r\n\r\n if (!audioSource) {\r\n throw new ArgumentNullError(\"audioSource\");\r\n }\r\n\r\n if (!recognizerConfig) {\r\n throw new ArgumentNullError(\"recognizerConfig\");\r\n }\r\n\r\n this.privEnableSpeakerId = recognizerConfig.isSpeakerDiarizationEnabled;\r\n this.privMustReportEndOfStream = false;\r\n this.privAuthentication = authentication;\r\n this.privConnectionFactory = connectionFactory;\r\n this.privAudioSource = audioSource;\r\n this.privRecognizerConfig = recognizerConfig;\r\n this.privIsDisposed = false;\r\n this.privRecognizer = recognizer;\r\n this.privRequestSession = new RequestSession(this.privAudioSource.id());\r\n this.privConnectionEvents = new EventSource();\r\n this.privServiceEvents = new EventSource();\r\n this.privDynamicGrammar = new DynamicGrammarBuilder();\r\n this.privSpeechContext = new SpeechContext(this.privDynamicGrammar);\r\n this.privAgentConfig = new AgentConfig();\r\n const webWorkerLoadType: string = this.privRecognizerConfig.parameters.getProperty(PropertyId.WebWorkerLoadType, \"on\").toLowerCase();\r\n if (webWorkerLoadType === \"on\" && typeof (Blob) !== \"undefined\" && typeof (Worker) !== \"undefined\") {\r\n this.privSetTimeout = Timeout.setTimeout;\r\n } else {\r\n if (typeof window !== \"undefined\") {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n this.privSetTimeout = window.setTimeout.bind(window);\r\n }\r\n }\r\n\r\n this.connectionEvents.attach((connectionEvent: ConnectionEvent): void => {\r\n if (connectionEvent.name === \"ConnectionClosedEvent\") {\r\n const connectionClosedEvent = connectionEvent as ConnectionClosedEvent;\r\n if (connectionClosedEvent.statusCode === 1003 ||\r\n connectionClosedEvent.statusCode === 1007 ||\r\n connectionClosedEvent.statusCode === 1002 ||\r\n connectionClosedEvent.statusCode === 4000 ||\r\n this.privRequestSession.numConnectionAttempts > this.privRecognizerConfig.maxRetryCount\r\n ) {\r\n void this.cancelRecognitionLocal(CancellationReason.Error,\r\n connectionClosedEvent.statusCode === 1007 ? CancellationErrorCode.BadRequestParameters : CancellationErrorCode.ConnectionFailure,\r\n `${connectionClosedEvent.reason} websocket error code: ${connectionClosedEvent.statusCode}`);\r\n }\r\n }\r\n });\r\n\r\n if (this.privEnableSpeakerId) {\r\n this.privDiarizationSessionId = createNoDashGuid();\r\n }\r\n\r\n this.setLanguageIdJson();\r\n this.setOutputDetailLevelJson();\r\n }\r\n\r\n protected setTranslationJson(): void {\r\n const targetLanguages: string = this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, undefined);\r\n if (targetLanguages !== undefined) {\r\n const languages = targetLanguages.split(\",\");\r\n const translationVoice: string = this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceConnection_TranslationVoice, undefined);\r\n const action = ( translationVoice !== undefined ) ? \"Synthesize\" : \"None\";\r\n this.privSpeechContext.setSection(\"translation\", {\r\n onSuccess: { action },\r\n output: { interimResults: { mode: \"Always\" } },\r\n targetLanguages: languages,\r\n });\r\n\r\n if (translationVoice !== undefined) {\r\n const languageToVoiceMap: { [key: string]: string } = {};\r\n for (const lang of languages) {\r\n languageToVoiceMap[lang] = translationVoice;\r\n }\r\n this.privSpeechContext.setSection(\"synthesis\", {\r\n defaultVoices: languageToVoiceMap\r\n });\r\n }\r\n }\r\n }\r\n\r\n protected setSpeechSegmentationTimeoutJson(): void {\r\n const speechSegmentationTimeout: string = this.privRecognizerConfig.parameters.getProperty(PropertyId.Speech_SegmentationSilenceTimeoutMs, undefined);\r\n if (speechSegmentationTimeout !== undefined) {\r\n const mode = this.recognitionMode === RecognitionMode.Conversation ? \"CONVERSATION\" :\r\n this.recognitionMode === RecognitionMode.Dictation ? \"DICTATION\" : \"INTERACTIVE\";\r\n const segmentationSilenceTimeoutMs: number = parseInt(speechSegmentationTimeout, 10);\r\n const phraseDetection = this.privSpeechContext.getSection(\"phraseDetection\") as PhraseDetection;\r\n phraseDetection.mode = mode;\r\n phraseDetection[mode] = {\r\n segmentation: {\r\n mode: \"Custom\",\r\n segmentationSilenceTimeoutMs\r\n }\r\n };\r\n this.privSpeechContext.setSection(\"phraseDetection\", phraseDetection);\r\n }\r\n }\r\n\r\n protected setLanguageIdJson(): void {\r\n const phraseDetection = this.privSpeechContext.getSection(\"phraseDetection\") as PhraseDetection;\r\n if (this.privRecognizerConfig.autoDetectSourceLanguages !== undefined) {\r\n const sourceLanguages: string[] = this.privRecognizerConfig.autoDetectSourceLanguages.split(\",\");\r\n\r\n let speechContextLidMode;\r\n if (this.privRecognizerConfig.languageIdMode === \"Continuous\") {\r\n speechContextLidMode = \"DetectContinuous\";\r\n } else {// recognizerConfig.languageIdMode === \"AtStart\"\r\n speechContextLidMode = \"DetectAtAudioStart\";\r\n }\r\n\r\n this.privSpeechContext.setSection(\"languageId\", {\r\n Priority: \"PrioritizeLatency\",\r\n languages: sourceLanguages,\r\n mode: speechContextLidMode,\r\n onSuccess: { action: \"Recognize\" },\r\n onUnknown: { action: \"None\" }\r\n });\r\n this.privSpeechContext.setSection(\"phraseOutput\", {\r\n interimResults: {\r\n resultType: \"Auto\"\r\n },\r\n phraseResults: {\r\n resultType: \"Always\"\r\n }\r\n });\r\n const customModels: CustomModel[] = this.privRecognizerConfig.sourceLanguageModels;\r\n if (customModels !== undefined) {\r\n phraseDetection.customModels = customModels;\r\n phraseDetection.onInterim = { action: \"None\" };\r\n phraseDetection.onSuccess = { action: \"None\" };\r\n }\r\n }\r\n const targetLanguages: string = this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, undefined);\r\n if (targetLanguages !== undefined) {\r\n phraseDetection.onInterim = { action: \"Translate\" };\r\n phraseDetection.onSuccess = { action: \"Translate\" };\r\n this.privSpeechContext.setSection(\"phraseOutput\", {\r\n interimResults: {\r\n resultType: \"None\"\r\n },\r\n phraseResults: {\r\n resultType: \"None\"\r\n }\r\n });\r\n }\r\n\r\n this.privSpeechContext.setSection(\"phraseDetection\", phraseDetection);\r\n }\r\n\r\n protected setOutputDetailLevelJson(): void {\r\n if (this.privEnableSpeakerId) {\r\n const requestWordLevelTimestamps: string = this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, \"false\").toLowerCase();\r\n if (requestWordLevelTimestamps === \"true\") {\r\n this.privSpeechContext.setWordLevelTimings();\r\n } else {\r\n const outputFormat: string = this.privRecognizerConfig.parameters.getProperty(OutputFormatPropertyName, OutputFormat[OutputFormat.Simple]).toLowerCase();\r\n if (outputFormat === OutputFormat[OutputFormat.Detailed].toLocaleLowerCase()) {\r\n this.privSpeechContext.setDetailedOutputFormat();\r\n }\r\n }\r\n }\r\n }\r\n\r\n public get isSpeakerDiarizationEnabled(): boolean {\r\n return this.privEnableSpeakerId;\r\n }\r\n\r\n public get audioSource(): IAudioSource {\r\n return this.privAudioSource;\r\n }\r\n\r\n public get speechContext(): SpeechContext {\r\n return this.privSpeechContext;\r\n }\r\n\r\n public get dynamicGrammar(): DynamicGrammarBuilder {\r\n return this.privDynamicGrammar;\r\n }\r\n\r\n public get agentConfig(): AgentConfig {\r\n return this.privAgentConfig;\r\n }\r\n\r\n public set conversationTranslatorToken(token: string) {\r\n this.privRecognizerConfig.parameters.setProperty(PropertyId.ConversationTranslator_Token, token);\r\n }\r\n\r\n public set voiceProfileType(type: string) {\r\n this.privRecognizerConfig.parameters.setProperty(PropertyId.SpeechServiceConnection_SpeakerIdMode, type);\r\n }\r\n\r\n public set authentication(auth: IAuthentication) {\r\n this.privAuthentication = auth;\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public async dispose(reason?: string): Promise {\r\n this.privIsDisposed = true;\r\n if (this.privConnectionConfigurationPromise !== undefined) {\r\n try {\r\n const connection: IConnection = await this.privConnectionConfigurationPromise;\r\n await connection.dispose(reason);\r\n } catch (error) {\r\n // The connection is in a bad state. But we're trying to kill it, so...\r\n return;\r\n }\r\n }\r\n }\r\n\r\n public get connectionEvents(): EventSource {\r\n return this.privConnectionEvents;\r\n }\r\n\r\n public get serviceEvents(): EventSource {\r\n return this.privServiceEvents;\r\n }\r\n\r\n public get recognitionMode(): RecognitionMode {\r\n return this.privRecognizerConfig.recognitionMode;\r\n }\r\n\r\n protected recognizeOverride: (recoMode: RecognitionMode, sc: (e: SpeechRecognitionResult) => void, ec: (e: string) => void) => Promise = undefined;\r\n\r\n public recognizeSpeaker: (model: SpeakerRecognitionModel) => Promise = undefined;\r\n\r\n public async recognize(\r\n recoMode: RecognitionMode,\r\n successCallback: (e: SpeechRecognitionResult) => void,\r\n errorCallBack: (e: string) => void,\r\n ): Promise {\r\n\r\n if (this.recognizeOverride !== undefined) {\r\n await this.recognizeOverride(recoMode, successCallback, errorCallBack);\r\n return;\r\n }\r\n // Clear the existing configuration promise to force a re-transmission of config and context.\r\n this.privConnectionConfigurationPromise = undefined;\r\n this.privRecognizerConfig.recognitionMode = recoMode;\r\n this.setSpeechSegmentationTimeoutJson();\r\n this.setTranslationJson();\r\n\r\n this.privSuccessCallback = successCallback;\r\n this.privErrorCallback = errorCallBack;\r\n\r\n this.privRequestSession.startNewRecognition();\r\n this.privRequestSession.listenForServiceTelemetry(this.privAudioSource.events);\r\n\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n const conPromise: Promise = this.connectImpl();\r\n let audioNode: ReplayableAudioNode;\r\n\r\n try {\r\n const audioStreamNode: IAudioStreamNode = await this.audioSource.attach(this.privRequestSession.audioNodeId);\r\n const format: AudioStreamFormatImpl = await this.audioSource.format;\r\n const deviceInfo: ISpeechConfigAudioDevice = await this.audioSource.deviceInfo;\r\n this.privIsLiveAudio = deviceInfo.type && deviceInfo.type === type.Microphones;\r\n\r\n audioNode = new ReplayableAudioNode(audioStreamNode, format.avgBytesPerSec);\r\n await this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false);\r\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\r\n\r\n } catch (error) {\r\n await this.privRequestSession.onStopRecognizing();\r\n throw error;\r\n }\r\n\r\n try {\r\n await conPromise;\r\n } catch (error) {\r\n await this.cancelRecognitionLocal(CancellationReason.Error, CancellationErrorCode.ConnectionFailure, error as string);\r\n return;\r\n }\r\n\r\n const sessionStartEventArgs: SessionEventArgs = new SessionEventArgs(this.privRequestSession.sessionId);\r\n\r\n if (!!this.privRecognizer.sessionStarted) {\r\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\r\n }\r\n\r\n void this.receiveMessage();\r\n const audioSendPromise = this.sendAudio(audioNode);\r\n\r\n audioSendPromise.catch(async (error: string): Promise => {\r\n await this.cancelRecognitionLocal(CancellationReason.Error, CancellationErrorCode.RuntimeError, error);\r\n });\r\n\r\n return;\r\n }\r\n\r\n public async stopRecognizing(): Promise {\r\n if (this.privRequestSession.isRecognizing) {\r\n try {\r\n await this.audioSource.turnOff();\r\n await this.sendFinalAudio();\r\n await this.privRequestSession.onStopRecognizing();\r\n await this.privRequestSession.turnCompletionPromise;\r\n } finally {\r\n await this.privRequestSession.dispose();\r\n }\r\n }\r\n return;\r\n }\r\n\r\n public async connect(): Promise {\r\n await this.connectImpl();\r\n return Promise.resolve();\r\n }\r\n\r\n public connectAsync(cb?: Callback, err?: Callback): void {\r\n this.connectImpl().then((): void => {\r\n try {\r\n if (!!cb) {\r\n cb();\r\n }\r\n } catch (e) {\r\n if (!!err) {\r\n err(e);\r\n }\r\n }\r\n }, (reason: any): void => {\r\n try {\r\n if (!!err) {\r\n err(reason);\r\n }\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n }\r\n });\r\n }\r\n\r\n protected disconnectOverride: () => Promise = undefined;\r\n\r\n public async disconnect(): Promise {\r\n await this.cancelRecognitionLocal(CancellationReason.Error,\r\n CancellationErrorCode.NoError,\r\n \"Disconnecting\");\r\n\r\n if (this.disconnectOverride !== undefined) {\r\n await this.disconnectOverride();\r\n }\r\n\r\n if (this.privConnectionPromise !== undefined) {\r\n try {\r\n await (await this.privConnectionPromise).dispose();\r\n } catch (error) {\r\n\r\n }\r\n }\r\n this.privConnectionPromise = undefined;\r\n }\r\n\r\n // Called when telemetry data is sent to the service.\r\n // Used for testing Telemetry capture.\r\n public static telemetryData: (json: string) => void;\r\n public static telemetryDataEnabled: boolean = true;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public sendMessage(message: string): Promise {\r\n return;\r\n }\r\n\r\n public async sendNetworkMessage(path: string, payload: string | ArrayBuffer): Promise {\r\n const type: MessageType = typeof payload === \"string\" ? MessageType.Text : MessageType.Binary;\r\n const contentType: string = typeof payload === \"string\" ? \"application/json\" : \"\";\r\n\r\n const connection: IConnection = await this.fetchConnection();\r\n return connection.send(new SpeechConnectionMessage(type, path, this.privRequestSession.requestId, contentType, payload));\r\n }\r\n\r\n public set activityTemplate(messagePayload: string) {\r\n this.privActivityTemplate = messagePayload;\r\n }\r\n\r\n public get activityTemplate(): string {\r\n return this.privActivityTemplate;\r\n }\r\n\r\n public set expectContentAssessmentResponse(value: boolean) {\r\n this.privExpectContentAssessmentResponse = value;\r\n }\r\n\r\n protected abstract processTypeSpecificMessages(\r\n connectionMessage: SpeechConnectionMessage,\r\n successCallback?: (e: SpeechRecognitionResult) => void,\r\n errorCallBack?: (e: string) => void): Promise;\r\n\r\n protected async sendTelemetryData(): Promise {\r\n const telemetryData = this.privRequestSession.getTelemetry();\r\n if (ServiceRecognizerBase.telemetryDataEnabled !== true ||\r\n this.privIsDisposed ||\r\n null === telemetryData) {\r\n return;\r\n }\r\n\r\n if (!!ServiceRecognizerBase.telemetryData) {\r\n try {\r\n ServiceRecognizerBase.telemetryData(telemetryData);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n\r\n const connection: IConnection = await this.fetchConnection();\r\n await connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"telemetry\",\r\n this.privRequestSession.requestId,\r\n \"application/json\",\r\n telemetryData));\r\n }\r\n\r\n // Cancels recognition.\r\n protected abstract cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void;\r\n\r\n // Cancels recognition.\r\n protected async cancelRecognitionLocal(\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): Promise {\r\n\r\n if (!!this.privRequestSession.isRecognizing) {\r\n await this.privRequestSession.onStopRecognizing();\r\n\r\n this.cancelRecognition(\r\n this.privRequestSession.sessionId,\r\n this.privRequestSession.requestId,\r\n cancellationReason,\r\n errorCode,\r\n error);\r\n }\r\n }\r\n\r\n protected receiveMessageOverride: () => Promise = undefined;\r\n\r\n protected async receiveMessage(): Promise {\r\n try {\r\n if (this.privIsDisposed) {\r\n // We're done.\r\n return;\r\n }\r\n\r\n let connection = await this.fetchConnection();\r\n const message = await connection.read();\r\n\r\n if (this.receiveMessageOverride !== undefined) {\r\n return this.receiveMessageOverride();\r\n }\r\n\r\n // indicates we are draining the queue and it came with no message;\r\n if (!message) {\r\n return this.receiveMessage();\r\n }\r\n\r\n this.privServiceHasSentMessage = true;\r\n const connectionMessage = SpeechConnectionMessage.fromConnectionMessage(message);\r\n\r\n if (connectionMessage.requestId.toLowerCase() === this.privRequestSession.requestId.toLowerCase()) {\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"turn.start\":\r\n this.privMustReportEndOfStream = true;\r\n this.privRequestSession.onServiceTurnStartResponse();\r\n break;\r\n\r\n case \"speech.startdetected\":\r\n const speechStartDetected: SpeechDetected = SpeechDetected.fromJSON(connectionMessage.textBody);\r\n const speechStartEventArgs = new RecognitionEventArgs(speechStartDetected.Offset, this.privRequestSession.sessionId);\r\n if (!!this.privRecognizer.speechStartDetected) {\r\n this.privRecognizer.speechStartDetected(this.privRecognizer, speechStartEventArgs);\r\n }\r\n break;\r\n\r\n case \"speech.enddetected\":\r\n let json: string;\r\n if (connectionMessage.textBody.length > 0) {\r\n json = connectionMessage.textBody;\r\n } else {\r\n // If the request was empty, the JSON returned is empty.\r\n json = \"{ Offset: 0 }\";\r\n }\r\n const speechStopDetected: SpeechDetected = SpeechDetected.fromJSON(json);\r\n const speechStopEventArgs = new RecognitionEventArgs(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset, this.privRequestSession.sessionId);\r\n if (!!this.privRecognizer.speechEndDetected) {\r\n this.privRecognizer.speechEndDetected(this.privRecognizer, speechStopEventArgs);\r\n }\r\n break;\r\n\r\n case \"turn.end\":\r\n await this.sendTelemetryData();\r\n if (this.privRequestSession.isSpeechEnded && this.privMustReportEndOfStream) {\r\n this.privMustReportEndOfStream = false;\r\n await this.cancelRecognitionLocal(CancellationReason.EndOfStream, CancellationErrorCode.NoError, undefined);\r\n }\r\n const sessionStopEventArgs: SessionEventArgs = new SessionEventArgs(this.privRequestSession.sessionId);\r\n await this.privRequestSession.onServiceTurnEndResponse(this.privRecognizerConfig.isContinuousRecognition);\r\n if (!this.privRecognizerConfig.isContinuousRecognition || this.privRequestSession.isSpeechEnded || !this.privRequestSession.isRecognizing) {\r\n if (!!this.privRecognizer.sessionStopped) {\r\n this.privRecognizer.sessionStopped(this.privRecognizer, sessionStopEventArgs);\r\n }\r\n return;\r\n } else {\r\n connection = await this.fetchConnection();\r\n await this.sendPrePayloadJSON(connection);\r\n }\r\n break;\r\n\r\n default:\r\n if (!await this.processTypeSpecificMessages(connectionMessage)) {\r\n // here are some messages that the derived class has not processed, dispatch them to connect class\r\n if (!!this.privServiceEvents) {\r\n this.serviceEvents.onEvent(new ServiceEvent(connectionMessage.path.toLowerCase(), connectionMessage.textBody));\r\n }\r\n }\r\n }\r\n }\r\n return this.receiveMessage();\r\n } catch (error) {\r\n return null;\r\n }\r\n }\r\n\r\n private updateSpeakerDiarizationAudioOffset(): void {\r\n const bytesSent: number = this.privRequestSession.recognitionBytesSent;\r\n const audioOffsetMs: number = bytesSent / this.privAverageBytesPerMs;\r\n this.privSpeechContext.setSpeakerDiarizationAudioOffsetMs(audioOffsetMs);\r\n }\r\n\r\n protected sendSpeechContext(connection: IConnection, generateNewRequestId: boolean): Promise {\r\n if (this.privEnableSpeakerId) {\r\n this.updateSpeakerDiarizationAudioOffset();\r\n }\r\n const speechContextJson = this.speechContext.toJSON();\r\n if (generateNewRequestId) {\r\n this.privRequestSession.onSpeechContext();\r\n }\r\n\r\n if (speechContextJson) {\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speech.context\",\r\n this.privRequestSession.requestId,\r\n \"application/json\",\r\n speechContextJson));\r\n }\r\n return;\r\n }\r\n\r\n protected sendPrePayloadJSONOverride: (connection: IConnection) => Promise = undefined;\r\n\r\n protected noOp(): Promise {\r\n // operation not supported\r\n return;\r\n }\r\n\r\n // Encapsulated for derived service recognizers that need to send additional JSON\r\n protected async sendPrePayloadJSON(connection: IConnection, generateNewRequestId: boolean = true): Promise {\r\n if (this.sendPrePayloadJSONOverride !== undefined) {\r\n return this.sendPrePayloadJSONOverride(connection);\r\n }\r\n\r\n await this.sendSpeechContext(connection, generateNewRequestId);\r\n await this.sendWaveHeader(connection);\r\n return;\r\n }\r\n\r\n protected async sendWaveHeader(connection: IConnection): Promise {\r\n const format: AudioStreamFormatImpl = await this.audioSource.format;\r\n // this.writeBufferToConsole(format.header);\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Binary,\r\n \"audio\",\r\n this.privRequestSession.requestId,\r\n \"audio/x-wav\",\r\n format.header\r\n ));\r\n }\r\n\r\n protected postConnectImplOverride: (connection: Promise) => Promise = undefined;\r\n\r\n // Establishes a websocket connection to the end point.\r\n protected connectImpl(): Promise {\r\n if (this.privConnectionPromise !== undefined) {\r\n return this.privConnectionPromise.then((connection: IConnection): Promise => {\r\n if (connection.state() === ConnectionState.Disconnected) {\r\n this.privConnectionId = null;\r\n this.privConnectionPromise = undefined;\r\n this.privServiceHasSentMessage = false;\r\n return this.connectImpl();\r\n }\r\n return this.privConnectionPromise;\r\n }, (): Promise => {\r\n this.privConnectionId = null;\r\n this.privConnectionPromise = undefined;\r\n this.privServiceHasSentMessage = false;\r\n return this.connectImpl();\r\n });\r\n }\r\n\r\n this.privConnectionPromise = this.retryableConnect();\r\n\r\n // Attach an empty handler to allow the promise to run in the background while\r\n // other startup events happen. It'll eventually be awaited on.\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.privConnectionPromise.catch((): void => { });\r\n\r\n if (this.postConnectImplOverride !== undefined) {\r\n return this.postConnectImplOverride(this.privConnectionPromise);\r\n }\r\n\r\n return this.privConnectionPromise;\r\n }\r\n\r\n protected configConnectionOverride: (connection: IConnection) => Promise = undefined;\r\n protected handleSpeechPhraseMessage: (textBody: string) => Promise = undefined;\r\n protected handleSpeechHypothesisMessage: (textBody: string) => void = undefined;\r\n\r\n protected sendSpeechServiceConfig(connection: IConnection, requestSession: RequestSession, SpeechServiceConfigJson: string): Promise {\r\n requestSession.onSpeechContext();\r\n // filter out anything that is not required for the service to work.\r\n if (ServiceRecognizerBase.telemetryDataEnabled !== true) {\r\n const withTelemetry: { context: { system: string } } = JSON.parse(SpeechServiceConfigJson) as { context: { system: string } };\r\n\r\n const replacement: any = {\r\n context: {\r\n system: withTelemetry.context.system,\r\n },\r\n };\r\n\r\n SpeechServiceConfigJson = JSON.stringify(replacement);\r\n }\r\n\r\n if (this.privRecognizerConfig.parameters.getProperty(\"f0f5debc-f8c9-4892-ac4b-90a7ab359fd2\", \"false\").toLowerCase() === \"true\") {\r\n const json: { context: { DisableReferenceChannel: string; MicSpec: string } } = JSON.parse(SpeechServiceConfigJson) as { context: { DisableReferenceChannel: string; MicSpec: string } };\r\n json.context.DisableReferenceChannel = \"True\";\r\n json.context.MicSpec = \"1_0_0\";\r\n SpeechServiceConfigJson = JSON.stringify(json);\r\n }\r\n\r\n if (SpeechServiceConfigJson) {\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speech.config\",\r\n requestSession.requestId,\r\n \"application/json\",\r\n SpeechServiceConfigJson));\r\n }\r\n\r\n return;\r\n }\r\n\r\n protected async fetchConnection(): Promise {\r\n if (this.privConnectionConfigurationPromise !== undefined) {\r\n return this.privConnectionConfigurationPromise.then((connection: IConnection): Promise => {\r\n if (connection.state() === ConnectionState.Disconnected) {\r\n this.privConnectionId = null;\r\n this.privConnectionConfigurationPromise = undefined;\r\n this.privServiceHasSentMessage = false;\r\n return this.fetchConnection();\r\n }\r\n return this.privConnectionConfigurationPromise;\r\n }, (): Promise => {\r\n this.privConnectionId = null;\r\n this.privConnectionConfigurationPromise = undefined;\r\n this.privServiceHasSentMessage = false;\r\n return this.fetchConnection();\r\n });\r\n }\r\n\r\n this.privConnectionConfigurationPromise = this.configureConnection();\r\n return await this.privConnectionConfigurationPromise;\r\n }\r\n\r\n protected async sendAudio(audioStreamNode: IAudioStreamNode): Promise {\r\n const audioFormat: AudioStreamFormatImpl = await this.audioSource.format;\r\n this.privAverageBytesPerMs = audioFormat.avgBytesPerSec / 1000;\r\n // The time we last sent data to the service.\r\n let nextSendTime: number = Date.now();\r\n\r\n // Max amount to send before we start to throttle\r\n const fastLaneSizeMs: string = this.privRecognizerConfig.parameters.getProperty(\"SPEECH-TransmitLengthBeforThrottleMs\", \"5000\");\r\n const maxSendUnthrottledBytes: number = audioFormat.avgBytesPerSec / 1000 * parseInt(fastLaneSizeMs, 10);\r\n const startRecogNumber: number = this.privRequestSession.recogNumber;\r\n\r\n const readAndUploadCycle = async (): Promise => {\r\n // If speech is done, stop sending audio.\r\n if (!this.privIsDisposed &&\r\n !this.privRequestSession.isSpeechEnded &&\r\n this.privRequestSession.isRecognizing &&\r\n this.privRequestSession.recogNumber === startRecogNumber) {\r\n\r\n const connection: IConnection = await this.fetchConnection();\r\n const audioStreamChunk: IStreamChunk = await audioStreamNode.read();\r\n // we have a new audio chunk to upload.\r\n if (this.privRequestSession.isSpeechEnded) {\r\n // If service already recognized audio end then don't send any more audio\r\n return;\r\n }\r\n\r\n let payload: ArrayBuffer;\r\n let sendDelay: number;\r\n\r\n if (!audioStreamChunk || audioStreamChunk.isEnd) {\r\n payload = null;\r\n sendDelay = 0;\r\n } else {\r\n payload = audioStreamChunk.buffer;\r\n\r\n this.privRequestSession.onAudioSent(payload.byteLength);\r\n\r\n if (maxSendUnthrottledBytes >= this.privRequestSession.bytesSent) {\r\n sendDelay = 0;\r\n } else {\r\n sendDelay = Math.max(0, nextSendTime - Date.now());\r\n }\r\n }\r\n\r\n if (0 !== sendDelay) {\r\n await this.delay(sendDelay);\r\n }\r\n\r\n if (payload !== null) {\r\n nextSendTime = Date.now() + (payload.byteLength * 1000 / (audioFormat.avgBytesPerSec * 2));\r\n }\r\n\r\n // Are we still alive?\r\n if (!this.privIsDisposed &&\r\n !this.privRequestSession.isSpeechEnded &&\r\n this.privRequestSession.isRecognizing &&\r\n this.privRequestSession.recogNumber === startRecogNumber) {\r\n connection.send(\r\n new SpeechConnectionMessage(MessageType.Binary, \"audio\", this.privRequestSession.requestId, null, payload)\r\n ).catch((): void => {\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.privRequestSession.onServiceTurnEndResponse(this.privRecognizerConfig.isContinuousRecognition).catch((): void => { });\r\n });\r\n\r\n if (!audioStreamChunk?.isEnd) {\r\n // this.writeBufferToConsole(payload);\r\n // Regardless of success or failure, schedule the next upload.\r\n // If the underlying connection was broken, the next cycle will\r\n // get a new connection and re-transmit missing audio automatically.\r\n return readAndUploadCycle();\r\n } else {\r\n // the audio stream has been closed, no need to schedule next\r\n // read-upload cycle.\r\n if (!this.privIsLiveAudio) {\r\n this.privRequestSession.onSpeechEnded();\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n return readAndUploadCycle();\r\n }\r\n\r\n private async retryableConnect(): Promise {\r\n let isUnAuthorized: boolean = false;\r\n\r\n this.privAuthFetchEventId = createNoDashGuid();\r\n const sessionId: string = this.privRequestSession.sessionId;\r\n this.privConnectionId = (sessionId !== undefined) ? sessionId : createNoDashGuid();\r\n\r\n this.privRequestSession.onPreConnectionStart(this.privAuthFetchEventId, this.privConnectionId);\r\n let lastStatusCode: number = 0;\r\n let lastReason: string = \"\";\r\n\r\n while (this.privRequestSession.numConnectionAttempts <= this.privRecognizerConfig.maxRetryCount) {\r\n\r\n // Get the auth information for the connection. This is a bit of overkill for the current API surface, but leaving the plumbing in place to be able to raise a developer-customer\r\n // facing event when a connection fails to let them try and provide new auth information.\r\n const authPromise = isUnAuthorized ? this.privAuthentication.fetchOnExpiry(this.privAuthFetchEventId) : this.privAuthentication.fetch(this.privAuthFetchEventId);\r\n const auth: AuthInfo = await authPromise;\r\n\r\n await this.privRequestSession.onAuthCompleted(false);\r\n\r\n // Create the connection\r\n const connection: IConnection = this.privConnectionFactory.create(this.privRecognizerConfig, auth, this.privConnectionId);\r\n // Attach the telemetry handlers.\r\n this.privRequestSession.listenForServiceTelemetry(connection.events);\r\n\r\n // Attach to the underlying event. No need to hold onto the detach pointers as in the event the connection goes away,\r\n // it'll stop sending events.\r\n connection.events.attach((event: ConnectionEvent): void => {\r\n this.connectionEvents.onEvent(event);\r\n });\r\n\r\n const response: ConnectionOpenResponse = await connection.open();\r\n // 200 == everything is fine.\r\n if (response.statusCode === 200) {\r\n await this.privRequestSession.onConnectionEstablishCompleted(response.statusCode);\r\n return Promise.resolve(connection);\r\n } else if (response.statusCode === 1006) {\r\n isUnAuthorized = true;\r\n }\r\n\r\n lastStatusCode = response.statusCode;\r\n lastReason = response.reason;\r\n\r\n this.privRequestSession.onRetryConnection();\r\n }\r\n\r\n await this.privRequestSession.onConnectionEstablishCompleted(lastStatusCode, lastReason);\r\n return Promise.reject(`Unable to contact server. StatusCode: ${lastStatusCode}, ${this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint)} Reason: ${lastReason}`);\r\n }\r\n\r\n private delay(delayMs: number): Promise {\r\n return new Promise((resolve: () => void): number => this.privSetTimeout(resolve, delayMs));\r\n }\r\n\r\n private writeBufferToConsole(buffer: ArrayBuffer): void {\r\n let out: string = \"Buffer Size: \";\r\n if (null === buffer) {\r\n out += \"null\";\r\n } else {\r\n const readView: Uint8Array = new Uint8Array(buffer);\r\n out += `${buffer.byteLength}\\r\\n`;\r\n for (let i: number = 0; i < buffer.byteLength; i++) {\r\n out += readView[i].toString(16).padStart(2, \"0\") + \" \";\r\n if (((i + 1) % 16) === 0) {\r\n // eslint-disable-next-line no-console\r\n console.info(out);\r\n out = \"\";\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line no-console\r\n console.info(out);\r\n }\r\n\r\n private async sendFinalAudio(): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n await connection.send(new SpeechConnectionMessage(MessageType.Binary, \"audio\", this.privRequestSession.requestId, null, null));\r\n return;\r\n }\r\n\r\n // Takes an established websocket connection to the endpoint and sends speech configuration information.\r\n private async configureConnection(): Promise {\r\n const connection: IConnection = await this.connectImpl();\r\n if (this.configConnectionOverride !== undefined) {\r\n return this.configConnectionOverride(connection);\r\n }\r\n await this.sendSpeechServiceConfig(connection, this.privRequestSession, this.privRecognizerConfig.SpeechServiceConfig.serialize());\r\n await this.sendPrePayloadJSON(connection, false);\r\n return connection;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n AudioSourceErrorEvent,\r\n AudioStreamNodeAttachedEvent,\r\n AudioStreamNodeAttachingEvent,\r\n AudioStreamNodeDetachedEvent,\r\n AudioStreamNodeErrorEvent,\r\n ConnectionEstablishedEvent,\r\n ConnectionEstablishErrorEvent,\r\n ConnectionMessageReceivedEvent,\r\n ConnectionStartEvent,\r\n IEventListener,\r\n IStringDictionary,\r\n PlatformEvent,\r\n} from \"../common/Exports.js\";\r\nimport { ConnectingToServiceEvent, RecognitionTriggeredEvent } from \"./RecognitionEvents.js\";\r\n\r\nexport interface ITelemetry {\r\n Metrics: IMetric[];\r\n ReceivedMessages: IStringDictionary;\r\n}\r\n\r\nexport interface IMetric {\r\n End?: string;\r\n Error?: string;\r\n Id?: string;\r\n Name?: string;\r\n Start?: string;\r\n PhraseLatencyMs?: number[];\r\n FirstHypothesisLatencyMs?: number[];\r\n}\r\n\r\nexport class ServiceTelemetryListener implements IEventListener {\r\n private privIsDisposed: boolean = false;\r\n\r\n private privRequestId: string;\r\n private privAudioSourceId: string;\r\n private privAudioNodeId: string;\r\n\r\n private privListeningTriggerMetric: IMetric = null;\r\n private privMicMetric: IMetric = null;\r\n private privConnectionEstablishMetric: IMetric = null;\r\n\r\n private privMicStartTime: string;\r\n\r\n private privConnectionId: string;\r\n private privConnectionStartTime: string;\r\n\r\n private privReceivedMessages: IStringDictionary;\r\n private privPhraseLatencies: number[];\r\n private privHypothesisLatencies: number[];\r\n\r\n public constructor(requestId: string, audioSourceId: string, audioNodeId: string) {\r\n this.privRequestId = requestId;\r\n this.privAudioSourceId = audioSourceId;\r\n this.privAudioNodeId = audioNodeId;\r\n\r\n this.privReceivedMessages = {};\r\n this.privPhraseLatencies = [];\r\n this.privHypothesisLatencies = [];\r\n }\r\n\r\n public phraseReceived(audioReceivedTime: number): void {\r\n if (audioReceivedTime > 0) { // 0 indicates the time is unknown. Drop it.\r\n this.privPhraseLatencies.push(Date.now() - audioReceivedTime);\r\n }\r\n }\r\n\r\n public hypothesisReceived(audioReceivedTime: number): void {\r\n if (audioReceivedTime > 0) { // 0 indicates the time is unknown. Drop it.\r\n this.privHypothesisLatencies.push(Date.now() - audioReceivedTime);\r\n }\r\n }\r\n\r\n public onEvent(e: PlatformEvent): void {\r\n if (this.privIsDisposed) {\r\n return;\r\n }\r\n\r\n if (e instanceof RecognitionTriggeredEvent && e.requestId === this.privRequestId) {\r\n this.privListeningTriggerMetric = {\r\n End: e.eventTime,\r\n Name: \"ListeningTrigger\",\r\n Start: e.eventTime,\r\n };\r\n }\r\n\r\n if (e instanceof AudioStreamNodeAttachingEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\r\n this.privMicStartTime = e.eventTime;\r\n }\r\n\r\n if (e instanceof AudioStreamNodeAttachedEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\r\n this.privMicStartTime = e.eventTime;\r\n }\r\n\r\n if (e instanceof AudioSourceErrorEvent && e.audioSourceId === this.privAudioSourceId) {\r\n if (!this.privMicMetric) {\r\n this.privMicMetric = {\r\n End: e.eventTime,\r\n Error: e.error,\r\n Name: \"Microphone\",\r\n Start: this.privMicStartTime,\r\n };\r\n }\r\n }\r\n\r\n if (e instanceof AudioStreamNodeErrorEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\r\n if (!this.privMicMetric) {\r\n this.privMicMetric = {\r\n End: e.eventTime,\r\n Error: e.error,\r\n Name: \"Microphone\",\r\n Start: this.privMicStartTime,\r\n };\r\n }\r\n }\r\n\r\n if (e instanceof AudioStreamNodeDetachedEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\r\n if (!this.privMicMetric) {\r\n this.privMicMetric = {\r\n End: e.eventTime,\r\n Name: \"Microphone\",\r\n Start: this.privMicStartTime,\r\n };\r\n }\r\n }\r\n\r\n if (e instanceof ConnectingToServiceEvent && e.requestId === this.privRequestId) {\r\n this.privConnectionId = e.sessionId;\r\n }\r\n\r\n if (e instanceof ConnectionStartEvent && e.connectionId === this.privConnectionId) {\r\n this.privConnectionStartTime = e.eventTime;\r\n }\r\n\r\n if (e instanceof ConnectionEstablishedEvent && e.connectionId === this.privConnectionId) {\r\n if (!this.privConnectionEstablishMetric) {\r\n this.privConnectionEstablishMetric = {\r\n End: e.eventTime,\r\n Id: this.privConnectionId,\r\n Name: \"Connection\",\r\n Start: this.privConnectionStartTime,\r\n };\r\n }\r\n }\r\n\r\n if (e instanceof ConnectionEstablishErrorEvent && e.connectionId === this.privConnectionId) {\r\n if (!this.privConnectionEstablishMetric) {\r\n this.privConnectionEstablishMetric = {\r\n End: e.eventTime,\r\n Error: this.getConnectionError(e.statusCode),\r\n Id: this.privConnectionId,\r\n Name: \"Connection\",\r\n Start: this.privConnectionStartTime,\r\n };\r\n }\r\n }\r\n\r\n if (e instanceof ConnectionMessageReceivedEvent && e.connectionId === this.privConnectionId) {\r\n if (e.message && e.message.headers && e.message.headers.path) {\r\n if (!this.privReceivedMessages[e.message.headers.path]) {\r\n this.privReceivedMessages[e.message.headers.path] = new Array();\r\n }\r\n const maxMessagesToSend = 50;\r\n if (this.privReceivedMessages[e.message.headers.path].length < maxMessagesToSend) {\r\n this.privReceivedMessages[e.message.headers.path].push(e.networkReceivedTime);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public getTelemetry(): string {\r\n const metrics = new Array();\r\n\r\n if (this.privListeningTriggerMetric) {\r\n metrics.push(this.privListeningTriggerMetric);\r\n }\r\n\r\n if (this.privMicMetric) {\r\n metrics.push(this.privMicMetric);\r\n }\r\n\r\n if (this.privConnectionEstablishMetric) {\r\n metrics.push(this.privConnectionEstablishMetric);\r\n }\r\n\r\n if (this.privPhraseLatencies.length > 0) {\r\n metrics.push({\r\n PhraseLatencyMs: this.privPhraseLatencies,\r\n });\r\n }\r\n\r\n if (this.privHypothesisLatencies.length > 0) {\r\n metrics.push({\r\n FirstHypothesisLatencyMs: this.privHypothesisLatencies,\r\n });\r\n }\r\n\r\n const telemetry: ITelemetry = {\r\n Metrics: metrics,\r\n ReceivedMessages: this.privReceivedMessages,\r\n };\r\n\r\n const json = JSON.stringify(telemetry);\r\n\r\n // We dont want to send the same telemetry again. So clean those out.\r\n this.privReceivedMessages = {};\r\n this.privListeningTriggerMetric = null;\r\n this.privMicMetric = null;\r\n this.privConnectionEstablishMetric = null;\r\n this.privPhraseLatencies = [];\r\n this.privHypothesisLatencies = [];\r\n return json;\r\n }\r\n\r\n // Determines if there are any telemetry events to send to the service.\r\n public get hasTelemetry(): boolean {\r\n return (Object.keys(this.privReceivedMessages).length !== 0 ||\r\n this.privListeningTriggerMetric !== null ||\r\n this.privMicMetric !== null ||\r\n this.privConnectionEstablishMetric !== null ||\r\n this.privPhraseLatencies.length !== 0 ||\r\n this.privHypothesisLatencies.length !== 0);\r\n }\r\n\r\n public dispose(): void {\r\n this.privIsDisposed = true;\r\n }\r\n\r\n private getConnectionError(statusCode: number): string {\r\n /*\r\n -- Websocket status codes --\r\n NormalClosure = 1000,\r\n EndpointUnavailable = 1001,\r\n ProtocolError = 1002,\r\n InvalidMessageType = 1003,\r\n Empty = 1005,\r\n InvalidPayloadData = 1007,\r\n PolicyViolation = 1008,\r\n MessageTooBig = 1009,\r\n MandatoryExtension = 1010,\r\n InternalServerError = 1011\r\n */\r\n\r\n switch (statusCode) {\r\n case 400:\r\n case 1002:\r\n case 1003:\r\n case 1005:\r\n case 1007:\r\n case 1008:\r\n case 1009: return \"BadRequest\";\r\n case 401: return \"Unauthorized\";\r\n case 403: return \"Forbidden\";\r\n case 503:\r\n case 1001: return \"ServerUnavailable\";\r\n case 500:\r\n case 1011: return \"ServerError\";\r\n case 408:\r\n case 504: return \"Timeout\";\r\n default: return \"statuscode:\" + statusCode.toString();\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection } from \"../sdk/Exports.js\";\r\nimport { Context } from \"./Exports.js\";\r\n\r\nexport class SpeakerRecognitionConfig {\r\n private privParameters: PropertyCollection;\r\n private privContext: Context;\r\n\r\n public constructor(\r\n context: Context,\r\n parameters: PropertyCollection) {\r\n this.privContext = context ? context : new Context(null);\r\n this.privParameters = parameters;\r\n }\r\n\r\n public get parameters(): PropertyCollection {\r\n return this.privParameters;\r\n }\r\n\r\n public get Context(): Context {\r\n return this.privContext;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary\r\n} from \"../common/Exports.js\";\r\nimport {\r\n PropertyId\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n RecognizerConfig,\r\n WebsocketMessageFormatter,\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\n\r\nclass SpeakerRecognitionConnectionFactoryBase extends ConnectionFactoryBase {\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n endpointPath: string,\r\n connectionId?: string): IConnection {\r\n\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint);\r\n if (!endpoint) {\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region);\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, `wss://${region}.spr-frontend.speech${hostSuffix}`);\r\n const scenario: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_SpeakerIdMode, \"TextIndependentIdentification\");\r\n endpoint = `${host}/speaker/ws/${this.scenarioToPath(scenario)}/${endpointPath}`;\r\n }\r\n\r\n const queryParams: IStringDictionary = {\r\n format: \"simple\",\r\n language: config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage),\r\n };\r\n\r\n this.setCommonUrlParams(config, queryParams, endpoint);\r\n\r\n const headers: IStringDictionary = {};\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n headers[HeaderNames.SpIDAuthKey] = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Key);\r\n\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, endpoint);\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n\r\n private scenarioToPath(mode: string): string {\r\n switch (mode) {\r\n case \"TextIndependentVerification\":\r\n case \"2\":\r\n return \"verification/text-independent\";\r\n case \"TextDependentVerification\":\r\n case \"1\":\r\n return \"verification/text-dependent\";\r\n default:\r\n return \"identification/text-independent\";\r\n }\r\n }\r\n}\r\n\r\nexport class SpeakerRecognitionConnectionFactory extends SpeakerRecognitionConnectionFactoryBase {\r\n public create( config: RecognizerConfig, authInfo: AuthInfo, connectionId?: string): IConnection {\r\n return super.create(config, authInfo, \"recognition\", connectionId);\r\n }\r\n}\r\n\r\nexport class VoiceProfileConnectionFactory extends SpeakerRecognitionConnectionFactoryBase {\r\n public create( config: RecognizerConfig, authInfo: AuthInfo, connectionId?: string): IConnection {\r\n return super.create(config, authInfo, \"profile\", connectionId);\r\n }\r\n}\r\n\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ReplayableAudioNode } from \"../common.browser/Exports.js\";\r\nimport {\r\n Deferred,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IConnection,\r\n MessageType,\r\n} from \"../common/Exports.js\";\r\nimport { AudioStreamFormatImpl } from \"../sdk/Audio/AudioStreamFormat.js\";\r\nimport { SpeakerRecognitionModel } from \"../sdk/SpeakerRecognitionModel.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n SpeakerRecognitionResult,\r\n SpeakerRecognizer,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SessionEventArgs,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n ISpeechConfigAudioDevice,\r\n SpeakerResponse,\r\n ServiceRecognizerBase,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\ninterface SpeakerContext {\r\n scenario: string;\r\n profileIds: string[];\r\n features: {\r\n interimResult: string;\r\n progressiveDetection: string;\r\n };\r\n}\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class SpeakerServiceRecognizer extends ServiceRecognizerBase {\r\n private privSpeakerRecognizer: SpeakerRecognizer;\r\n private privSpeakerAudioSource: IAudioSource;\r\n private privResultDeferral: Deferred;\r\n private privSpeakerModel: SpeakerRecognitionModel;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n recognizer: SpeakerRecognizer) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, recognizer);\r\n this.privSpeakerRecognizer = recognizer;\r\n this.privSpeakerAudioSource = audioSource;\r\n this.recognizeSpeaker = (model: SpeakerRecognitionModel): Promise => this.recognizeSpeakerOnce(model);\r\n this.sendPrePayloadJSONOverride = (): Promise => this.noOp();\r\n }\r\n\r\n protected processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n let processed: boolean = false;\r\n\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n if (connectionMessage.messageType === MessageType.Text) {\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n }\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"speaker.response\":\r\n const response: SpeakerResponse = JSON.parse(connectionMessage.textBody) as SpeakerResponse;\r\n let result: SpeakerRecognitionResult;\r\n if (response.status.statusCode.toLowerCase() !== \"success\") {\r\n result = new SpeakerRecognitionResult(\r\n response,\r\n ResultReason.Canceled,\r\n CancellationErrorCode.ServiceError,\r\n response.status.reason\r\n );\r\n } else {\r\n result = new SpeakerRecognitionResult(\r\n response,\r\n ResultReason.RecognizedSpeaker,\r\n );\r\n }\r\n if (!!this.privResultDeferral) {\r\n this.privResultDeferral.resolve(result);\r\n }\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n const defferal = new Deferred();\r\n defferal.resolve(processed);\r\n return defferal.promise;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n if (!!this.privResultDeferral) {\r\n const result: SpeakerRecognitionResult = new SpeakerRecognitionResult(\r\n {\r\n scenario: this.privSpeakerModel.scenario,\r\n status: { statusCode: error, reason: error }\r\n },\r\n ResultReason.Canceled,\r\n errorCode,\r\n error\r\n );\r\n try {\r\n this.privResultDeferral.resolve(result);\r\n } catch (error) {\r\n this.privResultDeferral.reject(error as string);\r\n }\r\n }\r\n }\r\n\r\n public async recognizeSpeakerOnce(model: SpeakerRecognitionModel): Promise {\r\n this.privSpeakerModel = model;\r\n this.voiceProfileType = model.scenario;\r\n if (!this.privResultDeferral) {\r\n this.privResultDeferral = new Deferred();\r\n }\r\n this.privRequestSession.startNewRecognition();\r\n this.privRequestSession.listenForServiceTelemetry(this.privSpeakerAudioSource.events);\r\n\r\n this.privRecognizerConfig.parameters.setProperty(PropertyId.Speech_SessionId, this.privRequestSession.sessionId);\r\n\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n const conPromise: Promise = this.connectImpl();\r\n\r\n const preAudioPromise: Promise = this.sendPreAudioMessages(this.extractSpeakerContext(model));\r\n\r\n const node: IAudioStreamNode = await this.privSpeakerAudioSource.attach(this.privRequestSession.audioNodeId);\r\n const format: AudioStreamFormatImpl = await this.privSpeakerAudioSource.format;\r\n const deviceInfo: ISpeechConfigAudioDevice = await this.privSpeakerAudioSource.deviceInfo;\r\n\r\n const audioNode = new ReplayableAudioNode(node, format.avgBytesPerSec);\r\n await this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false);\r\n\r\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\r\n\r\n try {\r\n await conPromise;\r\n await preAudioPromise;\r\n } catch (err) {\r\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.ConnectionFailure, err as string);\r\n }\r\n\r\n const sessionStartEventArgs: SessionEventArgs = new SessionEventArgs(this.privRequestSession.sessionId);\r\n\r\n if (!!this.privRecognizer.sessionStarted) {\r\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\r\n }\r\n\r\n void this.receiveMessage();\r\n const audioSendPromise = this.sendAudio(audioNode);\r\n\r\n // /* eslint-disable no-empty */\r\n audioSendPromise.then((): void => { /* add? return true;*/ }, (error: string): void => {\r\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.RuntimeError, error);\r\n });\r\n\r\n return this.privResultDeferral.promise;\r\n }\r\n\r\n private async sendPreAudioMessages(context: SpeakerContext): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n await this.sendSpeakerRecognition(connection, context);\r\n // await this.sendWaveHeader(connection);\r\n }\r\n\r\n private async sendSpeakerRecognition(connection: IConnection, context: SpeakerContext): Promise {\r\n const speakerContextJson = JSON.stringify(context);\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speaker.context\",\r\n this.privRequestSession.requestId,\r\n \"application/json; charset=utf-8\",\r\n speakerContextJson));\r\n }\r\n\r\n private extractSpeakerContext(model: SpeakerRecognitionModel): SpeakerContext {\r\n return {\r\n features: {\r\n interimResult: \"enabled\",\r\n progressiveDetection: \"disabled\",\r\n },\r\n profileIds: model.profileIds,\r\n scenario: model.scenario,\r\n };\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n ForceDictationPropertyName,\r\n OutputFormatPropertyName,\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary\r\n} from \"../common/Exports.js\";\r\nimport {\r\n OutputFormat,\r\n PropertyId\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n WebsocketMessageFormatter\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport {\r\n QueryParameterNames\r\n} from \"./QueryParameterNames.js\";\r\n\r\nexport class SpeechConnectionFactory extends ConnectionFactoryBase {\r\n\r\n private readonly interactiveRelativeUri: string = \"/speech/recognition/interactive/cognitiveservices/v1\";\r\n private readonly conversationRelativeUri: string = \"/speech/recognition/conversation/cognitiveservices/v1\";\r\n private readonly dictationRelativeUri: string = \"/speech/recognition/dictation/cognitiveservices/v1\";\r\n private readonly universalUri: string = \"/speech/universal/v\";\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, undefined);\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region, undefined);\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".stt.speech\" + hostSuffix);\r\n const queryParams: IStringDictionary = {};\r\n const endpointId: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_EndpointId, undefined);\r\n const language: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, undefined);\r\n\r\n if (endpointId) {\r\n if (!endpoint || endpoint.search(QueryParameterNames.CustomSpeechDeploymentId) === -1) {\r\n queryParams[QueryParameterNames.CustomSpeechDeploymentId] = endpointId;\r\n }\r\n } else if (language) {\r\n if (!endpoint || endpoint.search(QueryParameterNames.Language) === -1) {\r\n queryParams[QueryParameterNames.Language] = language;\r\n }\r\n }\r\n\r\n if (!endpoint || endpoint.search(QueryParameterNames.Format) === -1) {\r\n queryParams[QueryParameterNames.Format] = config.parameters.getProperty(OutputFormatPropertyName, OutputFormat[OutputFormat.Simple]).toLowerCase();\r\n }\r\n\r\n if (config.autoDetectSourceLanguages !== undefined) {\r\n queryParams[QueryParameterNames.EnableLanguageId] = \"true\";\r\n }\r\n\r\n this.setCommonUrlParams(config, queryParams, endpoint);\r\n\r\n if (!endpoint) {\r\n switch (config.recognitionMode) {\r\n case RecognitionMode.Conversation:\r\n if (config.parameters.getProperty(ForceDictationPropertyName, \"false\") === \"true\") {\r\n endpoint = host + this.dictationRelativeUri;\r\n } else {\r\n if (config.recognitionEndpointVersion !== undefined && parseInt(config.recognitionEndpointVersion, 10) > 1) {\r\n endpoint = `${host}${this.universalUri}${config.recognitionEndpointVersion}`;\r\n } else {\r\n endpoint = host + this.conversationRelativeUri;\r\n }\r\n }\r\n break;\r\n case RecognitionMode.Dictation:\r\n endpoint = host + this.dictationRelativeUri;\r\n break;\r\n default:\r\n if (config.recognitionEndpointVersion !== undefined && parseInt(config.recognitionEndpointVersion, 10) > 1) {\r\n endpoint = `${host}${this.universalUri}${config.recognitionEndpointVersion}`;\r\n } else {\r\n endpoint = host + this.interactiveRelativeUri; // default is interactive\r\n }\r\n break;\r\n }\r\n }\r\n\r\n const headers: IStringDictionary = {};\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n\r\n const webSocketConnection = new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n\r\n // Set the value of SpeechServiceConnection_Url to webSocketConnection.uri (and not to `endpoint`), since this value is the final\r\n // URI that was used to make the connection (including query parameters).\r\n const uri: string = webSocketConnection.uri;\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, uri);\r\n\r\n return webSocketConnection;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ArgumentNullError, ConnectionMessage, IStringDictionary, MessageType } from \"../common/Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\n\r\nexport class SpeechConnectionMessage extends ConnectionMessage {\r\n\r\n private privPath: string;\r\n private privRequestId: string;\r\n private privContentType: string;\r\n private privStreamId: string;\r\n private privAdditionalHeaders: IStringDictionary;\r\n\r\n public constructor(\r\n messageType: MessageType,\r\n path: string,\r\n requestId: string,\r\n contentType: string,\r\n body: any,\r\n streamId?: string,\r\n additionalHeaders?: IStringDictionary,\r\n id?: string) {\r\n\r\n if (!path) {\r\n throw new ArgumentNullError(\"path\");\r\n }\r\n\r\n if (!requestId) {\r\n throw new ArgumentNullError(\"requestId\");\r\n }\r\n\r\n const headers: IStringDictionary = {};\r\n headers[HeaderNames.Path] = path;\r\n headers[HeaderNames.RequestId] = requestId;\r\n headers[HeaderNames.RequestTimestamp] = new Date().toISOString();\r\n if (contentType) {\r\n headers[HeaderNames.ContentType] = contentType;\r\n }\r\n\r\n if (streamId) {\r\n headers[HeaderNames.RequestStreamId] = streamId;\r\n }\r\n\r\n if (additionalHeaders) {\r\n for (const headerName in additionalHeaders) {\r\n if (headerName) {\r\n headers[headerName] = additionalHeaders[headerName];\r\n }\r\n\r\n }\r\n }\r\n\r\n if (id) {\r\n super(messageType, body, headers, id);\r\n } else {\r\n super(messageType, body, headers);\r\n }\r\n\r\n this.privPath = path;\r\n this.privRequestId = requestId;\r\n this.privContentType = contentType;\r\n this.privStreamId = streamId;\r\n this.privAdditionalHeaders = additionalHeaders;\r\n }\r\n\r\n public get path(): string {\r\n return this.privPath;\r\n }\r\n\r\n public get requestId(): string {\r\n return this.privRequestId;\r\n }\r\n\r\n public get contentType(): string {\r\n return this.privContentType;\r\n }\r\n\r\n public get streamId(): string {\r\n return this.privStreamId;\r\n }\r\n\r\n public get additionalHeaders(): IStringDictionary {\r\n return this.privAdditionalHeaders;\r\n }\r\n\r\n public static fromConnectionMessage(message: ConnectionMessage): SpeechConnectionMessage {\r\n let path = null;\r\n let requestId = null;\r\n let contentType = null;\r\n // let requestTimestamp = null;\r\n let streamId = null;\r\n const additionalHeaders: IStringDictionary = {};\r\n\r\n if (message.headers) {\r\n for (const headerName in message.headers) {\r\n if (headerName) {\r\n if (headerName.toLowerCase() === HeaderNames.Path.toLowerCase()) {\r\n path = message.headers[headerName];\r\n } else if (headerName.toLowerCase() === HeaderNames.RequestId.toLowerCase()) {\r\n requestId = message.headers[headerName];\r\n // } else if (headerName.toLowerCase() === HeaderNames.RequestTimestamp.toLowerCase()) {\r\n // requestTimestamp = message.headers[headerName];\r\n } else if (headerName.toLowerCase() === HeaderNames.ContentType.toLowerCase()) {\r\n contentType = message.headers[headerName];\r\n } else if (headerName.toLowerCase() === HeaderNames.RequestStreamId.toLowerCase()) {\r\n streamId = message.headers[headerName];\r\n } else {\r\n additionalHeaders[headerName] = message.headers[headerName];\r\n }\r\n }\r\n }\r\n }\r\n\r\n return new SpeechConnectionMessage(\r\n message.messageType,\r\n path,\r\n requestId,\r\n contentType,\r\n message.body,\r\n streamId,\r\n additionalHeaders,\r\n message.id);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n DynamicGrammarBuilder,\r\n IDynamicGrammar,\r\n} from \"./Exports.js\";\r\n\r\ninterface Context {\r\n [section: string]: any;\r\n}\r\n\r\ninterface PhraseContext {\r\n [section: string]: any;\r\n phraseDetection?: {\r\n enrichment?: {\r\n pronunciationAssessment: any;\r\n contentAssessment?: {\r\n topic: string;\r\n };\r\n };\r\n speakerDiarization?: {\r\n mode?: string;\r\n audioSessionId?: string;\r\n audioOffsetMs?: number;\r\n identityProvider?: string;\r\n };\r\n mode?: string;\r\n };\r\n phraseOutput?: {\r\n detailed?: {\r\n options?: string[];\r\n };\r\n format?: any;\r\n };\r\n}\r\n\r\n/**\r\n * Represents the JSON used in the speech.context message sent to the speech service.\r\n * The dynamic grammar is always refreshed from the encapsulated dynamic grammar object.\r\n */\r\nexport class SpeechContext {\r\n private privContext: PhraseContext = {};\r\n private privDynamicGrammar: DynamicGrammarBuilder;\r\n\r\n public constructor(dynamicGrammar: DynamicGrammarBuilder) {\r\n this.privDynamicGrammar = dynamicGrammar;\r\n }\r\n\r\n /**\r\n * Gets a section of the speech.context object.\r\n * @param sectionName Name of the section to get.\r\n * @return string or Context JSON serializable object that represents the value.\r\n */\r\n public getSection(sectionName: string): string | Context {\r\n return (this.privContext[sectionName] || {}) as string | Context;\r\n }\r\n\r\n /**\r\n * Adds a section to the speech.context object.\r\n * @param sectionName Name of the section to add.\r\n * @param value JSON serializable object that represents the value.\r\n */\r\n public setSection(sectionName: string, value: string | Context): void {\r\n this.privContext[sectionName] = value;\r\n }\r\n\r\n /**\r\n * @Internal\r\n * This is only used by pronunciation assessment config.\r\n * Do not use externally, object returned will change without warning or notice.\r\n */\r\n public setPronunciationAssessmentParams(params: string,\r\n contentAssessmentTopic: string,\r\n isSpeakerDiarizationEnabled: boolean = false): void {\r\n if (this.privContext.phraseDetection === undefined) {\r\n this.privContext.phraseDetection = {\r\n enrichment: {\r\n pronunciationAssessment: {}\r\n }\r\n };\r\n }\r\n if (this.privContext.phraseDetection.enrichment === undefined) {\r\n this.privContext.phraseDetection.enrichment = {\r\n pronunciationAssessment: {}\r\n };\r\n }\r\n this.privContext.phraseDetection.enrichment.pronunciationAssessment = JSON.parse(params) as Context;\r\n if (isSpeakerDiarizationEnabled) {\r\n this.privContext.phraseDetection.mode = \"Conversation\";\r\n }\r\n this.setWordLevelTimings();\r\n this.privContext.phraseOutput.detailed.options.push(\"PronunciationAssessment\");\r\n if (this.privContext.phraseOutput.detailed.options.indexOf(\"SNR\") === -1) {\r\n this.privContext.phraseOutput.detailed.options.push(\"SNR\");\r\n }\r\n if (!!contentAssessmentTopic) {\r\n this.privContext.phraseDetection.enrichment.contentAssessment = {\r\n topic: contentAssessmentTopic\r\n };\r\n this.privContext.phraseOutput.detailed.options.push(\"ContentAssessment\");\r\n }\r\n }\r\n\r\n public setDetailedOutputFormat(): void {\r\n if (this.privContext.phraseOutput === undefined) {\r\n this.privContext.phraseOutput = {\r\n detailed: {\r\n options: []\r\n },\r\n format: {}\r\n };\r\n }\r\n if (this.privContext.phraseOutput.detailed === undefined) {\r\n this.privContext.phraseOutput.detailed = {\r\n options: []\r\n };\r\n }\r\n this.privContext.phraseOutput.format = \"Detailed\";\r\n }\r\n\r\n public setWordLevelTimings(): void {\r\n if (this.privContext.phraseOutput === undefined) {\r\n this.privContext.phraseOutput = {\r\n detailed: {\r\n options: []\r\n },\r\n format: {}\r\n };\r\n }\r\n if (this.privContext.phraseOutput.detailed === undefined) {\r\n this.privContext.phraseOutput.detailed = {\r\n options: []\r\n };\r\n }\r\n this.privContext.phraseOutput.format = \"Detailed\";\r\n if (this.privContext.phraseOutput.detailed.options.indexOf(\"WordTimings\") === -1) {\r\n this.privContext.phraseOutput.detailed.options.push(\"WordTimings\");\r\n }\r\n }\r\n\r\n public setSpeakerDiarizationAudioOffsetMs(audioOffsetMs: number): void {\r\n this.privContext.phraseDetection.speakerDiarization.audioOffsetMs = audioOffsetMs;\r\n }\r\n\r\n public toJSON(): string {\r\n\r\n const dgi: IDynamicGrammar = this.privDynamicGrammar.generateGrammarObject();\r\n this.setSection(\"dgi\", dgi);\r\n\r\n const ret: string = JSON.stringify(this.privContext);\r\n return ret;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\n// The config is serialized and sent as the Speech.Config\r\nexport class SpeechServiceConfig {\r\n private context: Context;\r\n private recognition: string;\r\n\r\n public constructor(context: Context) {\r\n this.context = context;\r\n }\r\n\r\n public serialize(): string {\r\n return JSON.stringify(this, (key: any, value: { [k: string]: any }): any => {\r\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\r\n const replacement: { [k: string ]: any } = {};\r\n for (const k in value) {\r\n if (Object.hasOwnProperty.call(value, k)) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n replacement[k && k.charAt(0).toLowerCase() + k.substring(1)] = value[k];\r\n }\r\n }\r\n return replacement;\r\n }\r\n return value;\r\n });\r\n }\r\n\r\n public get Context(): Context {\r\n return this.context;\r\n }\r\n\r\n public get Recognition(): string {\r\n return this.recognition;\r\n }\r\n\r\n public set Recognition(value: string) {\r\n this.recognition = value.toLowerCase();\r\n }\r\n}\r\n\r\nexport class Context {\r\n public system: System;\r\n public os: OS;\r\n public audio: ISpeechConfigAudio;\r\n public synthesis: {\r\n video: ISynthesisSectionVideo;\r\n };\r\n\r\n public constructor(os: OS) {\r\n this.system = new System();\r\n this.os = os;\r\n }\r\n}\r\n\r\nexport class System {\r\n public name: string;\r\n public version: string;\r\n public build: string;\r\n public lang: string;\r\n\r\n public constructor() {\r\n // Note: below will be patched for official builds.\r\n const SPEECHSDK_CLIENTSDK_VERSION = \"1.35.0\";\r\n\r\n this.name = \"SpeechSDK\";\r\n this.version = SPEECHSDK_CLIENTSDK_VERSION;\r\n this.build = \"JavaScript\";\r\n this.lang = \"JavaScript\";\r\n }\r\n}\r\n\r\nexport class OS {\r\n public platform: string;\r\n public name: string;\r\n public version: string;\r\n\r\n public constructor(platform: string, name: string, version: string) {\r\n this.platform = platform;\r\n this.name = name;\r\n this.version = version;\r\n }\r\n}\r\n\r\nexport class Device {\r\n public manufacturer: string;\r\n public model: string;\r\n public version: string;\r\n\r\n public constructor(manufacturer: string, model: string, version: string) {\r\n this.manufacturer = manufacturer;\r\n this.model = model;\r\n this.version = version;\r\n }\r\n}\r\n\r\nexport interface ISpeechConfigAudio {\r\n source?: ISpeechConfigAudioDevice;\r\n playback?: ISpeechConfigAudioDevice;\r\n}\r\n\r\nexport interface ISpeechConfigAudioDevice {\r\n manufacturer: string;\r\n model: string;\r\n connectivity: connectivity;\r\n type: type;\r\n samplerate: number;\r\n bitspersample: number;\r\n channelcount: number;\r\n}\r\n\r\nexport enum connectivity {\r\n Bluetooth = \"Bluetooth\",\r\n Wired = \"Wired\",\r\n WiFi = \"WiFi\",\r\n Cellular = \"Cellular\",\r\n InBuilt = \"InBuilt\",\r\n Unknown = \"Unknown\",\r\n}\r\n\r\nexport enum type {\r\n Phone = \"Phone\",\r\n Speaker = \"Speaker\",\r\n Car = \"Car\",\r\n Headset = \"Headset\",\r\n Thermostat = \"Thermostat\",\r\n Microphones = \"Microphones\",\r\n Deskphone = \"Deskphone\",\r\n RemoteControl = \"RemoteControl\",\r\n Unknown = \"Unknown\",\r\n File = \"File\",\r\n Stream = \"Stream\",\r\n}\r\n\r\nexport interface ICoordinate {\r\n x: number;\r\n y: number;\r\n}\r\n\r\n// For avatar synthesis\r\nexport interface ISynthesisSectionVideo {\r\n protocol: {\r\n name: string;\r\n webrtcConfig: {\r\n clientDescription: string;\r\n iceServers: {\r\n urls: string[];\r\n username: string;\r\n credential: string;\r\n }[];\r\n };\r\n };\r\n format: {\r\n bitrate: number;\r\n codec: string;\r\n crop: {\r\n topLeft: ICoordinate;\r\n bottomRight: ICoordinate;\r\n };\r\n resolution: {\r\n width: number;\r\n height: number;\r\n };\r\n };\r\n talkingAvatar: {\r\n character: string;\r\n customized: boolean;\r\n style: string;\r\n background: {\r\n color: string;\r\n };\r\n };\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IAudioSource } from \"../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n OutputFormat,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SpeechRecognitionCanceledEventArgs,\r\n SpeechRecognitionEventArgs,\r\n SpeechRecognitionResult,\r\n SpeechRecognizer,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n DetailedSpeechPhrase,\r\n EnumTranslation,\r\n OutputFormatPropertyName,\r\n RecognitionStatus,\r\n ServiceRecognizerBase,\r\n SimpleSpeechPhrase,\r\n SpeechHypothesis,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class SpeechServiceRecognizer extends ServiceRecognizerBase {\r\n\r\n private privSpeechRecognizer: SpeechRecognizer;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n speechRecognizer: SpeechRecognizer) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, speechRecognizer);\r\n this.privSpeechRecognizer = speechRecognizer;\r\n\r\n }\r\n\r\n protected async processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n let result: SpeechRecognitionResult;\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n let processed: boolean = false;\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"speech.hypothesis\":\r\n case \"speech.fragment\":\r\n const hypothesis: SpeechHypothesis = SpeechHypothesis.fromJSON(connectionMessage.textBody);\r\n const offset: number = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n ResultReason.RecognizingSpeech,\r\n hypothesis.Text,\r\n hypothesis.Duration,\r\n offset,\r\n hypothesis.Language,\r\n hypothesis.LanguageDetectionConfidence,\r\n undefined, // Speaker Id\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n this.privRequestSession.onHypothesis(offset);\r\n\r\n const ev = new SpeechRecognitionEventArgs(result, hypothesis.Duration, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privSpeechRecognizer.recognizing) {\r\n try {\r\n this.privSpeechRecognizer.recognizing(this.privSpeechRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n break;\r\n case \"speech.phrase\":\r\n const simple: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\r\n const resultReason: ResultReason = EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus, this.privExpectContentAssessmentResponse);\r\n\r\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + simple.Offset + simple.Duration);\r\n\r\n if (ResultReason.Canceled === resultReason) {\r\n const cancelReason: CancellationReason = EnumTranslation.implTranslateCancelResult(simple.RecognitionStatus);\r\n const cancellationErrorCode: CancellationErrorCode = EnumTranslation.implTranslateCancelErrorCode(simple.RecognitionStatus);\r\n\r\n await this.cancelRecognitionLocal(\r\n cancelReason,\r\n cancellationErrorCode,\r\n EnumTranslation.implTranslateErrorDetails(cancellationErrorCode));\r\n\r\n } else {\r\n if (!(this.privRequestSession.isSpeechEnded && resultReason === ResultReason.NoMatch && simple.RecognitionStatus !== RecognitionStatus.InitialSilenceTimeout)) {\r\n if (this.privRecognizerConfig.parameters.getProperty(OutputFormatPropertyName) === OutputFormat[OutputFormat.Simple]) {\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n simple.DisplayText,\r\n simple.Duration,\r\n simple.Offset + this.privRequestSession.currentTurnAudioOffset,\r\n simple.Language,\r\n simple.LanguageDetectionConfidence,\r\n undefined, // Speaker Id\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n } else {\r\n const detailed: DetailedSpeechPhrase = DetailedSpeechPhrase.fromJSON(connectionMessage.textBody);\r\n const totalOffset: number = detailed.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n const offsetCorrectedJson: string = detailed.getJsonWithCorrectedOffsets(totalOffset);\r\n\r\n result = new SpeechRecognitionResult(\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n detailed.RecognitionStatus === RecognitionStatus.Success ? detailed.NBest[0].Display : undefined,\r\n detailed.Duration,\r\n totalOffset,\r\n detailed.Language,\r\n detailed.LanguageDetectionConfidence,\r\n undefined, // Speaker Id\r\n undefined,\r\n offsetCorrectedJson,\r\n resultProps);\r\n }\r\n\r\n const event: SpeechRecognitionEventArgs = new SpeechRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privSpeechRecognizer.recognized) {\r\n try {\r\n this.privSpeechRecognizer.recognized(this.privSpeechRecognizer, event);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(result);\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n }\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n return processed;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n if (!!this.privSpeechRecognizer.canceled) {\r\n const cancelEvent: SpeechRecognitionCanceledEventArgs = new SpeechRecognitionCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n sessionId);\r\n try {\r\n this.privSpeechRecognizer.canceled(this.privSpeechRecognizer, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n\r\n if (!!this.privSuccessCallback) {\r\n const result: SpeechRecognitionResult = new SpeechRecognitionResult(\r\n requestId,\r\n ResultReason.Canceled,\r\n undefined, // Text\r\n undefined, // Duration\r\n undefined, // Offset\r\n undefined, // Language\r\n undefined, // Language Detection Confidence\r\n undefined, // Speaker Id\r\n error,\r\n undefined, // Json\r\n properties);\r\n try {\r\n this.privSuccessCallback(result);\r\n this.privSuccessCallback = undefined;\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IAudioDestination } from \"../common/Exports.js\";\r\nimport {\r\n ResultReason,\r\n SpeechSynthesisBookmarkEventArgs,\r\n SpeechSynthesisEventArgs,\r\n SpeechSynthesisResult,\r\n SpeechSynthesisVisemeEventArgs,\r\n SpeechSynthesisWordBoundaryEventArgs,\r\n SpeechSynthesizer,\r\n Synthesizer,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n IAuthentication,\r\n ISynthesisConnectionFactory,\r\n SynthesisAdapterBase,\r\n SynthesizerConfig\r\n} from \"./Exports.js\";\r\n\r\nexport class SpeechSynthesisAdapter extends SynthesisAdapterBase {\r\n private privSpeechSynthesizer: SpeechSynthesizer;\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: ISynthesisConnectionFactory,\r\n synthesizerConfig: SynthesizerConfig,\r\n speechSynthesizer: SpeechSynthesizer,\r\n audioDestination: IAudioDestination) {\r\n super(authentication, connectionFactory, synthesizerConfig, audioDestination);\r\n this.privSpeechSynthesizer = speechSynthesizer;\r\n this.privSynthesizer = speechSynthesizer as Synthesizer;\r\n }\r\n\r\n protected setSynthesisContextSynthesisSection(): void {\r\n this.privSynthesisContext.setSynthesisSection(this.privSpeechSynthesizer);\r\n }\r\n\r\n protected onSynthesisStarted(requestId: string): void {\r\n const synthesisStartEventArgs: SpeechSynthesisEventArgs = new SpeechSynthesisEventArgs(\r\n new SpeechSynthesisResult(\r\n requestId,\r\n ResultReason.SynthesizingAudioStarted,\r\n )\r\n );\r\n\r\n if (!!this.privSpeechSynthesizer.synthesisStarted) {\r\n this.privSpeechSynthesizer.synthesisStarted(this.privSpeechSynthesizer, synthesisStartEventArgs);\r\n }\r\n }\r\n\r\n protected onSynthesizing(audio: ArrayBuffer): void {\r\n if (!!this.privSpeechSynthesizer.synthesizing) {\r\n try {\r\n const audioWithHeader = this.privSynthesisTurn.audioOutputFormat.addHeader(audio);\r\n const ev: SpeechSynthesisEventArgs = new SpeechSynthesisEventArgs(\r\n new SpeechSynthesisResult(\r\n this.privSynthesisTurn.requestId,\r\n ResultReason.SynthesizingAudio,\r\n audioWithHeader));\r\n this.privSpeechSynthesizer.synthesizing(this.privSpeechSynthesizer, ev);\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n\r\n protected onSynthesisCancelled(result: SpeechSynthesisResult): void {\r\n if (!!this.privSpeechSynthesizer.SynthesisCanceled) {\r\n const cancelEvent: SpeechSynthesisEventArgs = new SpeechSynthesisEventArgs(result);\r\n try {\r\n this.privSpeechSynthesizer.SynthesisCanceled(this.privSpeechSynthesizer, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n\r\n protected onSynthesisCompleted(result: SpeechSynthesisResult): void {\r\n if (this.privSpeechSynthesizer.synthesisCompleted) {\r\n try {\r\n this.privSpeechSynthesizer.synthesisCompleted(\r\n this.privSpeechSynthesizer,\r\n new SpeechSynthesisEventArgs(result)\r\n );\r\n } catch (e) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n\r\n protected onWordBoundary(wordBoundaryEventArgs: SpeechSynthesisWordBoundaryEventArgs): void {\r\n if (!!this.privSpeechSynthesizer.wordBoundary) {\r\n try {\r\n this.privSpeechSynthesizer.wordBoundary(this.privSpeechSynthesizer, wordBoundaryEventArgs);\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n\r\n protected onVisemeReceived(visemeEventArgs: SpeechSynthesisVisemeEventArgs): void {\r\n if (!!this.privSpeechSynthesizer.visemeReceived) {\r\n try {\r\n this.privSpeechSynthesizer.visemeReceived(this.privSpeechSynthesizer, visemeEventArgs);\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n\r\n protected onBookmarkReached(bookmarkEventArgs: SpeechSynthesisBookmarkEventArgs): void {\r\n if (!!this.privSpeechSynthesizer.bookmarkReached) {\r\n try {\r\n this.privSpeechSynthesizer.bookmarkReached(this.privSpeechSynthesizer, bookmarkEventArgs);\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary\r\n} from \"../common/Exports.js\";\r\nimport { PropertyId } from \"../sdk/Exports.js\";\r\nimport { ConnectionFactoryBase } from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n SynthesizerConfig,\r\n WebsocketMessageFormatter\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport { ISynthesisConnectionFactory } from \"./ISynthesisConnectionFactory.js\";\r\nimport {\r\n QueryParameterNames\r\n} from \"./QueryParameterNames.js\";\r\n\r\nexport class SpeechSynthesisConnectionFactory implements ISynthesisConnectionFactory {\r\n\r\n private readonly synthesisUri: string = \"/cognitiveservices/websocket/v1\";\r\n\r\n public create(\r\n config: SynthesizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, undefined);\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region, undefined);\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const endpointId = config.parameters.getProperty(PropertyId.SpeechServiceConnection_EndpointId, undefined);\r\n const hostPrefix = (endpointId === undefined) ? \"tts\" : \"voice\";\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".\" + hostPrefix + \".speech\" + hostSuffix);\r\n\r\n const queryParams: IStringDictionary = {};\r\n const headers: IStringDictionary = {};\r\n\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n if (endpointId !== undefined && endpointId !== \"\") {\r\n if (!endpoint || endpoint.search(QueryParameterNames.CustomVoiceDeploymentId) === -1) {\r\n queryParams[QueryParameterNames.CustomVoiceDeploymentId] = endpointId;\r\n }\r\n }\r\n\r\n if (config.avatarEnabled) {\r\n if (!endpoint || endpoint.search(QueryParameterNames.EnableAvatar) === -1) {\r\n queryParams[QueryParameterNames.EnableAvatar] = \"true\";\r\n }\r\n }\r\n\r\n if (!endpoint) {\r\n endpoint = host + this.synthesisUri;\r\n }\r\n\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, endpoint);\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromParameters(config.parameters), enableCompression, connectionId);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ArgumentNullError,\r\n ConnectionClosedEvent,\r\n ConnectionEvent,\r\n ConnectionMessage,\r\n ConnectionState,\r\n createNoDashGuid,\r\n EventSource,\r\n IAudioDestination,\r\n IConnection,\r\n IDisposable,\r\n MessageType,\r\n ServiceEvent,\r\n} from \"../common/Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"../sdk/Audio/AudioOutputFormat.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SpeechSynthesisBookmarkEventArgs,\r\n SpeechSynthesisResult,\r\n SpeechSynthesisVisemeEventArgs,\r\n SpeechSynthesisWordBoundaryEventArgs,\r\n Synthesizer,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n AgentConfig,\r\n CancellationErrorCodePropertyName,\r\n ISynthesisConnectionFactory,\r\n ISynthesisMetadata,\r\n MetadataType,\r\n SynthesisAudioMetadata,\r\n SynthesisContext,\r\n SynthesisTurn,\r\n SynthesizerConfig\r\n} from \"./Exports.js\";\r\nimport { AuthInfo, IAuthentication } from \"./IAuthentication.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\nexport abstract class SynthesisAdapterBase implements IDisposable {\r\n protected privSynthesisTurn: SynthesisTurn;\r\n protected privConnectionId: string;\r\n protected privSynthesizerConfig: SynthesizerConfig;\r\n protected privSynthesizer: Synthesizer;\r\n protected privSuccessCallback: (e: SpeechSynthesisResult) => void;\r\n protected privErrorCallback: (e: string) => void;\r\n\r\n public get synthesisContext(): SynthesisContext {\r\n return this.privSynthesisContext;\r\n }\r\n\r\n public get agentConfig(): AgentConfig {\r\n return this.privAgentConfig;\r\n }\r\n\r\n public get connectionEvents(): EventSource {\r\n return this.privConnectionEvents;\r\n }\r\n\r\n public get serviceEvents(): EventSource {\r\n return this.privServiceEvents;\r\n }\r\n\r\n protected speakOverride: (ssml: string, requestId: string, sc: (e: SpeechSynthesisResult) => void, ec: (e: string) => void) => void = undefined;\r\n\r\n // Called when telemetry data is sent to the service.\r\n // Used for testing Telemetry capture.\r\n public static telemetryData: (json: string) => void;\r\n public static telemetryDataEnabled: boolean = true;\r\n\r\n public set activityTemplate(messagePayload: string) {\r\n this.privActivityTemplate = messagePayload;\r\n }\r\n public get activityTemplate(): string {\r\n return this.privActivityTemplate;\r\n }\r\n\r\n protected receiveMessageOverride: () => void = undefined;\r\n\r\n protected connectImplOverride: (isUnAuthorized: boolean) => void = undefined;\r\n\r\n protected configConnectionOverride: (connection: IConnection) => Promise = undefined;\r\n\r\n public set audioOutputFormat(format: AudioOutputFormatImpl) {\r\n this.privAudioOutputFormat = format;\r\n this.privSynthesisTurn.audioOutputFormat = format;\r\n if (this.privSessionAudioDestination !== undefined) {\r\n this.privSessionAudioDestination.format = format;\r\n }\r\n if (this.synthesisContext !== undefined) {\r\n this.synthesisContext.audioOutputFormat = format;\r\n }\r\n }\r\n private privAuthentication: IAuthentication;\r\n private privConnectionFactory: ISynthesisConnectionFactory;\r\n\r\n // A promise for a configured connection.\r\n // Do not consume directly, call fetchConnection instead.\r\n private privConnectionConfigurationPromise: Promise = undefined;\r\n\r\n // A promise for a connection, but one that has not had the speech context sent yet.\r\n // Do not consume directly, call fetchConnection instead.\r\n private privConnectionPromise: Promise;\r\n private privAuthFetchEventId: string;\r\n private privIsDisposed: boolean;\r\n private privConnectionEvents: EventSource;\r\n private privServiceEvents: EventSource;\r\n protected privSynthesisContext: SynthesisContext;\r\n private privAgentConfig: AgentConfig;\r\n private privActivityTemplate: string;\r\n protected privAudioOutputFormat: AudioOutputFormatImpl;\r\n private privSessionAudioDestination: IAudioDestination;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: ISynthesisConnectionFactory,\r\n synthesizerConfig: SynthesizerConfig,\r\n audioDestination: IAudioDestination) {\r\n\r\n if (!authentication) {\r\n throw new ArgumentNullError(\"authentication\");\r\n }\r\n\r\n if (!connectionFactory) {\r\n throw new ArgumentNullError(\"connectionFactory\");\r\n }\r\n\r\n if (!synthesizerConfig) {\r\n throw new ArgumentNullError(\"synthesizerConfig\");\r\n }\r\n\r\n this.privAuthentication = authentication;\r\n this.privConnectionFactory = connectionFactory;\r\n this.privSynthesizerConfig = synthesizerConfig;\r\n this.privIsDisposed = false;\r\n this.privSessionAudioDestination = audioDestination;\r\n this.privSynthesisTurn = new SynthesisTurn();\r\n this.privConnectionEvents = new EventSource();\r\n this.privServiceEvents = new EventSource();\r\n this.privSynthesisContext = new SynthesisContext();\r\n this.privAgentConfig = new AgentConfig();\r\n\r\n this.connectionEvents.attach((connectionEvent: ConnectionEvent): void => {\r\n if (connectionEvent.name === \"ConnectionClosedEvent\") {\r\n const connectionClosedEvent = connectionEvent as ConnectionClosedEvent;\r\n if (connectionClosedEvent.statusCode !== 1000) {\r\n this.cancelSynthesisLocal(CancellationReason.Error,\r\n connectionClosedEvent.statusCode === 1007 ? CancellationErrorCode.BadRequestParameters : CancellationErrorCode.ConnectionFailure,\r\n `${connectionClosedEvent.reason} websocket error code: ${connectionClosedEvent.statusCode}`);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public async dispose(reason?: string): Promise {\r\n this.privIsDisposed = true;\r\n if (this.privSessionAudioDestination !== undefined) {\r\n this.privSessionAudioDestination.close();\r\n }\r\n if (this.privConnectionConfigurationPromise !== undefined) {\r\n const connection: IConnection = await this.privConnectionConfigurationPromise;\r\n await connection.dispose(reason);\r\n }\r\n }\r\n\r\n public async connect(): Promise {\r\n await this.connectImpl();\r\n }\r\n\r\n public async sendNetworkMessage(path: string, payload: string | ArrayBuffer): Promise {\r\n const type: MessageType = typeof payload === \"string\" ? MessageType.Text : MessageType.Binary;\r\n const contentType: string = typeof payload === \"string\" ? \"application/json\" : \"\";\r\n\r\n const connection: IConnection = await this.fetchConnection();\r\n return connection.send(new SpeechConnectionMessage(type, path, this.privSynthesisTurn.requestId, contentType, payload));\r\n }\r\n\r\n public async Speak(\r\n text: string,\r\n isSSML: boolean,\r\n requestId: string,\r\n successCallback: (e: SpeechSynthesisResult) => void,\r\n errorCallBack: (e: string) => void,\r\n audioDestination: IAudioDestination,\r\n ): Promise {\r\n\r\n let ssml: string;\r\n\r\n if (isSSML) {\r\n ssml = text;\r\n } else {\r\n ssml = this.privSynthesizer.buildSsml(text);\r\n }\r\n\r\n if (this.speakOverride !== undefined) {\r\n return this.speakOverride(ssml, requestId, successCallback, errorCallBack);\r\n }\r\n\r\n this.privSuccessCallback = successCallback;\r\n this.privErrorCallback = errorCallBack;\r\n\r\n this.privSynthesisTurn.startNewSynthesis(requestId, text, isSSML, audioDestination);\r\n\r\n try {\r\n await this.connectImpl();\r\n const connection: IConnection = await this.fetchConnection();\r\n await this.sendSynthesisContext(connection);\r\n await this.sendSsmlMessage(connection, ssml, requestId);\r\n this.onSynthesisStarted(requestId);\r\n\r\n void this.receiveMessage();\r\n } catch (e) {\r\n this.cancelSynthesisLocal(CancellationReason.Error, CancellationErrorCode.ConnectionFailure, e as string);\r\n return Promise.reject(e);\r\n }\r\n }\r\n\r\n public async stopSpeaking(): Promise {\r\n await this.connectImpl();\r\n const connection: IConnection = await this.fetchConnection();\r\n\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"synthesis.control\",\r\n this.privSynthesisTurn.requestId,\r\n \"application/json\",\r\n JSON.stringify({\r\n action: \"stop\"\r\n })\r\n ));\r\n }\r\n\r\n // Cancels synthesis.\r\n protected cancelSynthesis(\r\n requestId: string,\r\n _cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n const result: SpeechSynthesisResult = new SpeechSynthesisResult(\r\n requestId,\r\n ResultReason.Canceled,\r\n undefined,\r\n error,\r\n properties\r\n );\r\n\r\n this.onSynthesisCancelled(result);\r\n\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(result);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n\r\n // Cancels synthesis.\r\n protected cancelSynthesisLocal(\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n if (!!this.privSynthesisTurn.isSynthesizing) {\r\n this.privSynthesisTurn.onStopSynthesizing();\r\n\r\n this.cancelSynthesis(\r\n this.privSynthesisTurn.requestId,\r\n cancellationReason,\r\n errorCode,\r\n error);\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n protected processTypeSpecificMessages(_connectionMessage: SpeechConnectionMessage): boolean {\r\n return true;\r\n }\r\n\r\n protected async receiveMessage(): Promise {\r\n try {\r\n const connection: IConnection = await this.fetchConnection();\r\n const message: ConnectionMessage = await connection.read();\r\n\r\n if (this.receiveMessageOverride !== undefined) {\r\n return this.receiveMessageOverride();\r\n }\r\n if (this.privIsDisposed) {\r\n // We're done.\r\n return;\r\n }\r\n\r\n // indicates we are draining the queue and it came with no message;\r\n if (!message) {\r\n if (!this.privSynthesisTurn.isSynthesizing) {\r\n return;\r\n } else {\r\n return this.receiveMessage();\r\n }\r\n }\r\n\r\n\r\n const connectionMessage = SpeechConnectionMessage.fromConnectionMessage(message);\r\n\r\n if (connectionMessage.requestId.toLowerCase() === this.privSynthesisTurn.requestId.toLowerCase()) {\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"turn.start\":\r\n this.privSynthesisTurn.onServiceTurnStartResponse(connectionMessage.textBody);\r\n break;\r\n case \"response\":\r\n this.privSynthesisTurn.onServiceResponseMessage(connectionMessage.textBody);\r\n break;\r\n case \"audio\":\r\n if (this.privSynthesisTurn.streamId.toLowerCase() === connectionMessage.streamId.toLowerCase()\r\n && !!connectionMessage.binaryBody) {\r\n this.privSynthesisTurn.onAudioChunkReceived(connectionMessage.binaryBody);\r\n this.onSynthesizing(connectionMessage.binaryBody);\r\n if (this.privSessionAudioDestination !== undefined) {\r\n this.privSessionAudioDestination.write(connectionMessage.binaryBody);\r\n }\r\n }\r\n break;\r\n case \"audio.metadata\":\r\n const metadataList = SynthesisAudioMetadata.fromJSON(connectionMessage.textBody).Metadata;\r\n for (const metadata of metadataList) {\r\n switch (metadata.Type) {\r\n case MetadataType.WordBoundary:\r\n case MetadataType.SentenceBoundary:\r\n this.privSynthesisTurn.onTextBoundaryEvent(metadata);\r\n const wordBoundaryEventArgs: SpeechSynthesisWordBoundaryEventArgs = new SpeechSynthesisWordBoundaryEventArgs(\r\n metadata.Data.Offset,\r\n metadata.Data.Duration,\r\n metadata.Data.text.Text,\r\n metadata.Data.text.Length,\r\n metadata.Type === MetadataType.WordBoundary\r\n ? this.privSynthesisTurn.currentTextOffset : this.privSynthesisTurn.currentSentenceOffset,\r\n metadata.Data.text.BoundaryType);\r\n this.onWordBoundary(wordBoundaryEventArgs);\r\n break;\r\n case MetadataType.Bookmark:\r\n const bookmarkEventArgs: SpeechSynthesisBookmarkEventArgs = new SpeechSynthesisBookmarkEventArgs(\r\n metadata.Data.Offset,\r\n metadata.Data.Bookmark);\r\n this.onBookmarkReached(bookmarkEventArgs);\r\n break;\r\n case MetadataType.Viseme:\r\n this.privSynthesisTurn.onVisemeMetadataReceived(metadata);\r\n if (metadata.Data.IsLastAnimation) {\r\n const visemeEventArgs: SpeechSynthesisVisemeEventArgs = new SpeechSynthesisVisemeEventArgs(\r\n metadata.Data.Offset,\r\n metadata.Data.VisemeId,\r\n this.privSynthesisTurn.getAndClearVisemeAnimation());\r\n this.onVisemeReceived(visemeEventArgs);\r\n }\r\n break;\r\n case MetadataType.AvatarSignal:\r\n this.onAvatarEvent(metadata);\r\n break;\r\n case MetadataType.SessionEnd:\r\n this.privSynthesisTurn.onSessionEnd(metadata);\r\n break;\r\n }\r\n }\r\n break;\r\n case \"turn.end\":\r\n this.privSynthesisTurn.onServiceTurnEndResponse();\r\n let result: SpeechSynthesisResult;\r\n try {\r\n result = await this.privSynthesisTurn.constructSynthesisResult();\r\n if (!!this.privSuccessCallback) {\r\n this.privSuccessCallback(result);\r\n }\r\n } catch (error) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(error as string);\r\n }\r\n }\r\n this.onSynthesisCompleted(result);\r\n break;\r\n\r\n default:\r\n if (!this.processTypeSpecificMessages(connectionMessage)) {\r\n // here are some messages that the derived class has not processed, dispatch them to connect class\r\n if (!!this.privServiceEvents) {\r\n this.serviceEvents.onEvent(new ServiceEvent(connectionMessage.path.toLowerCase(), connectionMessage.textBody));\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n return this.receiveMessage();\r\n\r\n } catch (e) {\r\n // TODO: What goes here?\r\n }\r\n }\r\n\r\n protected sendSynthesisContext(connection: IConnection): Promise {\r\n this.setSynthesisContextSynthesisSection();\r\n const synthesisContextJson = this.synthesisContext.toJSON();\r\n\r\n if (synthesisContextJson) {\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"synthesis.context\",\r\n this.privSynthesisTurn.requestId,\r\n \"application/json\",\r\n synthesisContextJson));\r\n }\r\n return;\r\n }\r\n\r\n protected abstract setSynthesisContextSynthesisSection(): void;\r\n\r\n protected setSpeechConfigSynthesisSection(): void {\r\n return;\r\n }\r\n\r\n protected connectImpl(isUnAuthorized: boolean = false): Promise {\r\n if (this.privConnectionPromise != null) {\r\n return this.privConnectionPromise.then((connection: IConnection): Promise => {\r\n if (connection.state() === ConnectionState.Disconnected) {\r\n this.privConnectionId = null;\r\n this.privConnectionPromise = null;\r\n return this.connectImpl();\r\n }\r\n return this.privConnectionPromise;\r\n }, (): Promise => {\r\n this.privConnectionId = null;\r\n this.privConnectionPromise = null;\r\n return this.connectImpl();\r\n });\r\n }\r\n this.privAuthFetchEventId = createNoDashGuid();\r\n this.privConnectionId = createNoDashGuid();\r\n\r\n this.privSynthesisTurn.onPreConnectionStart(this.privAuthFetchEventId);\r\n\r\n const authPromise = isUnAuthorized ? this.privAuthentication.fetchOnExpiry(this.privAuthFetchEventId) : this.privAuthentication.fetch(this.privAuthFetchEventId);\r\n\r\n this.privConnectionPromise = authPromise.then(async (result: AuthInfo): Promise => {\r\n this.privSynthesisTurn.onAuthCompleted(false);\r\n\r\n const connection: IConnection = this.privConnectionFactory.create(this.privSynthesizerConfig, result, this.privConnectionId);\r\n\r\n // Attach to the underlying event. No need to hold onto the detach pointers as in the event the connection goes away,\r\n // it'll stop sending events.\r\n connection.events.attach((event: ConnectionEvent): void => {\r\n this.connectionEvents.onEvent(event);\r\n });\r\n const response = await connection.open();\r\n if (response.statusCode === 200) {\r\n this.privSynthesisTurn.onConnectionEstablishCompleted(response.statusCode);\r\n return Promise.resolve(connection);\r\n } else if (response.statusCode === 403 && !isUnAuthorized) {\r\n return this.connectImpl(true);\r\n } else {\r\n this.privSynthesisTurn.onConnectionEstablishCompleted(response.statusCode);\r\n return Promise.reject(\r\n `Unable to contact server. StatusCode: ${response.statusCode},\r\n ${this.privSynthesizerConfig.parameters.getProperty(PropertyId.SpeechServiceConnection_Url)} Reason: ${response.reason}`);\r\n }\r\n }, (error: string): Promise => {\r\n this.privSynthesisTurn.onAuthCompleted(true);\r\n throw new Error(error);\r\n });\r\n\r\n // Attach an empty handler to allow the promise to run in the background while\r\n // other startup events happen. It'll eventually be awaited on.\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.privConnectionPromise.catch((): void => { });\r\n\r\n return this.privConnectionPromise;\r\n }\r\n protected sendSpeechServiceConfig(connection: IConnection, SpeechServiceConfigJson: string): Promise {\r\n if (SpeechServiceConfigJson) {\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speech.config\",\r\n this.privSynthesisTurn.requestId,\r\n \"application/json\",\r\n SpeechServiceConfigJson));\r\n }\r\n }\r\n\r\n protected sendSsmlMessage(connection: IConnection, ssml: string, requestId: string): Promise {\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"ssml\",\r\n requestId,\r\n \"application/ssml+xml\",\r\n ssml));\r\n }\r\n\r\n private async fetchConnection(): Promise {\r\n if (this.privConnectionConfigurationPromise !== undefined) {\r\n return this.privConnectionConfigurationPromise.then((connection: IConnection): Promise => {\r\n if (connection.state() === ConnectionState.Disconnected) {\r\n this.privConnectionId = null;\r\n this.privConnectionConfigurationPromise = undefined;\r\n return this.fetchConnection();\r\n }\r\n return this.privConnectionConfigurationPromise;\r\n }, (): Promise => {\r\n this.privConnectionId = null;\r\n this.privConnectionConfigurationPromise = undefined;\r\n return this.fetchConnection();\r\n });\r\n }\r\n this.privConnectionConfigurationPromise = this.configureConnection();\r\n return await this.privConnectionConfigurationPromise;\r\n }\r\n\r\n // Takes an established websocket connection to the endpoint and sends speech configuration information.\r\n private async configureConnection(): Promise {\r\n const connection: IConnection = await this.connectImpl();\r\n if (this.configConnectionOverride !== undefined) {\r\n return this.configConnectionOverride(connection);\r\n }\r\n this.setSpeechConfigSynthesisSection();\r\n await this.sendSpeechServiceConfig(connection, this.privSynthesizerConfig.SpeechServiceConfig.serialize());\r\n return connection;\r\n }\r\n\r\n protected onAvatarEvent(_metadata: ISynthesisMetadata): void {\r\n return;\r\n }\r\n\r\n protected onSynthesisStarted(_requestId: string): void {\r\n return;\r\n }\r\n\r\n protected onSynthesizing(_audio: ArrayBuffer): void {\r\n return;\r\n }\r\n\r\n protected onSynthesisCancelled(_result: SpeechSynthesisResult): void {\r\n return;\r\n }\r\n\r\n protected onSynthesisCompleted(_result: SpeechSynthesisResult): void {\r\n return;\r\n }\r\n\r\n protected onWordBoundary(_wordBoundaryEventArgs: SpeechSynthesisWordBoundaryEventArgs): void {\r\n return;\r\n }\r\n\r\n protected onVisemeReceived(_visemeEventArgs: SpeechSynthesisVisemeEventArgs): void {\r\n return;\r\n }\r\n\r\n protected onBookmarkReached(_bookmarkEventArgs: SpeechSynthesisBookmarkEventArgs): void {\r\n return;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { AudioOutputFormatImpl } from \"../sdk/Audio/AudioOutputFormat.js\";\r\nimport { PropertyId, SpeechSynthesizer } from \"../sdk/Exports.js\";\r\n\r\n/**\r\n * Represents the JSON used in the synthesis.context message sent to the speech service.\r\n * The dynamic grammar is always refreshed from the encapsulated dynamic grammar object.\r\n */\r\nexport class SynthesisContext {\r\n private privContext: { [section: string]: any } = {};\r\n private privAudioOutputFormat: AudioOutputFormatImpl;\r\n\r\n /**\r\n * Adds a section to the synthesis.context object.\r\n * @param sectionName Name of the section to add.\r\n * @param value JSON serializable object that represents the value.\r\n */\r\n public setSection(sectionName: string, value: string | object): void {\r\n this.privContext[sectionName] = value;\r\n }\r\n\r\n /**\r\n * Sets the audio output format for synthesis context generation.\r\n * @param format {AudioOutputFormatImpl} the output format\r\n */\r\n public set audioOutputFormat(format: AudioOutputFormatImpl) {\r\n this.privAudioOutputFormat = format;\r\n }\r\n\r\n public toJSON(): string {\r\n return JSON.stringify(this.privContext);\r\n }\r\n\r\n public setSynthesisSection(speechSynthesizer: SpeechSynthesizer): void {\r\n const synthesisSection: ISynthesisSection = this.buildSynthesisContext(speechSynthesizer);\r\n this.setSection(\"synthesis\", synthesisSection);\r\n }\r\n\r\n private buildSynthesisContext(speechSynthesizer: SpeechSynthesizer): ISynthesisSection {\r\n return {\r\n audio: {\r\n metadataOptions: {\r\n bookmarkEnabled: (!!speechSynthesizer?.bookmarkReached),\r\n punctuationBoundaryEnabled: speechSynthesizer?.properties.getProperty(\r\n PropertyId.SpeechServiceResponse_RequestPunctuationBoundary, (!!speechSynthesizer?.wordBoundary)),\r\n sentenceBoundaryEnabled: speechSynthesizer?.properties.getProperty(\r\n PropertyId.SpeechServiceResponse_RequestSentenceBoundary, false),\r\n sessionEndEnabled: true,\r\n visemeEnabled: (!!speechSynthesizer?.visemeReceived),\r\n wordBoundaryEnabled: speechSynthesizer?.properties.getProperty(\r\n PropertyId.SpeechServiceResponse_RequestWordBoundary, (!!speechSynthesizer?.wordBoundary)),\r\n },\r\n outputFormat: this.privAudioOutputFormat.requestAudioFormatString,\r\n },\r\n language: {\r\n autoDetection: speechSynthesizer?.autoDetectSourceLanguage\r\n }\r\n } as ISynthesisSection;\r\n }\r\n}\r\n\r\ninterface ISynthesisSection {\r\n audio: {\r\n outputFormat: string;\r\n metadataOptions: {\r\n bookmarkEnabled: boolean;\r\n wordBoundaryEnabled: string;\r\n punctuationBoundaryEnabled: string;\r\n visemeEnabled: boolean;\r\n sentenceBoundaryEnabled: string;\r\n sessionEndEnabled: boolean;\r\n };\r\n };\r\n language: {\r\n autoDetection: boolean;\r\n };\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { EventType, PlatformEvent } from \"../common/Exports.js\";\r\n\r\nexport class SpeechSynthesisEvent extends PlatformEvent {\r\n private privRequestId: string;\r\n\r\n public constructor(eventName: string, requestId: string, eventType: EventType = EventType.Info) {\r\n super(eventName, eventType);\r\n\r\n this.privRequestId = requestId;\r\n }\r\n\r\n public get requestId(): string {\r\n return this.privRequestId;\r\n }\r\n}\r\n\r\nexport class SynthesisTriggeredEvent extends SpeechSynthesisEvent {\r\n private privSessionAudioDestinationId: string;\r\n private privTurnAudioDestinationId: string;\r\n\r\n public constructor(requestId: string, sessionAudioDestinationId: string, turnAudioDestinationId: string) {\r\n super(\"SynthesisTriggeredEvent\", requestId);\r\n\r\n this.privSessionAudioDestinationId = sessionAudioDestinationId;\r\n this.privTurnAudioDestinationId = turnAudioDestinationId;\r\n }\r\n\r\n public get audioSessionDestinationId(): string {\r\n return this.privSessionAudioDestinationId;\r\n }\r\n\r\n public get audioTurnDestinationId(): string {\r\n return this.privTurnAudioDestinationId;\r\n }\r\n}\r\n\r\nexport class ConnectingToSynthesisServiceEvent extends SpeechSynthesisEvent {\r\n private privAuthFetchEventId: string;\r\n\r\n public constructor(requestId: string, authFetchEventId: string) {\r\n super(\"ConnectingToSynthesisServiceEvent\", requestId);\r\n this.privAuthFetchEventId = authFetchEventId;\r\n }\r\n\r\n public get authFetchEventId(): string {\r\n return this.privAuthFetchEventId;\r\n }\r\n}\r\n\r\nexport class SynthesisStartedEvent extends SpeechSynthesisEvent {\r\n private privAuthFetchEventId: string;\r\n\r\n public constructor(requestId: string, authFetchEventId: string) {\r\n super(\"SynthesisStartedEvent\", requestId);\r\n\r\n this.privAuthFetchEventId = authFetchEventId;\r\n }\r\n\r\n public get authFetchEventId(): string {\r\n return this.privAuthFetchEventId;\r\n }\r\n}\r\n","import {\r\n IRequestOptions,\r\n IRestResponse,\r\n RestConfigBase,\r\n RestMessageAdapter,\r\n RestRequestType,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n PropertyId,\r\n} from \"../sdk/Exports.js\";\r\nimport { ConnectionFactoryBase } from \"./ConnectionFactoryBase.js\";\r\nimport { AuthInfo, IAuthentication, SynthesizerConfig } from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\n\r\n/**\r\n * Implements methods for speaker recognition classes, sending requests to endpoint\r\n * and parsing response into expected format\r\n * @class SynthesisRestAdapter\r\n */\r\nexport class SynthesisRestAdapter {\r\n private privRestAdapter: RestMessageAdapter;\r\n private privUri: string;\r\n private privAuthentication: IAuthentication;\r\n\r\n public constructor(config: SynthesizerConfig, authentication: IAuthentication) {\r\n\r\n let endpoint = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, undefined);\r\n if (!endpoint) {\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region, \"westus\");\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n endpoint = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, `https://${region}.tts.speech${hostSuffix}`);\r\n }\r\n this.privUri = `${endpoint}/cognitiveservices/voices/list`;\r\n\r\n const options: IRequestOptions = RestConfigBase.requestOptions;\r\n this.privRestAdapter = new RestMessageAdapter(options);\r\n this.privAuthentication = authentication;\r\n }\r\n\r\n /**\r\n * Sends list voices request to endpoint.\r\n * @function\r\n * @public\r\n * @param connectionId - guid for connectionId\r\n * @returns {Promise} rest response to status request\r\n */\r\n public getVoicesList(connectionId: string): Promise {\r\n this.privRestAdapter.setHeaders(HeaderNames.ConnectionId, connectionId);\r\n return this.privAuthentication.fetch(connectionId).then((authInfo: AuthInfo): Promise => {\r\n this.privRestAdapter.setHeaders(authInfo.headerName, authInfo.token);\r\n return this.privRestAdapter.request(RestRequestType.Get, this.privUri);\r\n });\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n createNoDashGuid,\r\n Deferred,\r\n Events,\r\n IAudioDestination\r\n} from \"../common/Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"../sdk/Audio/AudioOutputFormat.js\";\r\nimport { PullAudioOutputStreamImpl } from \"../sdk/Audio/AudioOutputStream.js\";\r\nimport {\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SpeechSynthesisResult,\r\n} from \"../sdk/Exports.js\";\r\nimport { ISynthesisMetadata, MetadataType } from \"./ServiceMessages/SynthesisAudioMetadata.js\";\r\nimport {\r\n ConnectingToSynthesisServiceEvent,\r\n SpeechSynthesisEvent,\r\n SynthesisStartedEvent,\r\n SynthesisTriggeredEvent,\r\n} from \"./SynthesisEvents.js\";\r\n\r\nexport interface ISynthesisResponseContext {\r\n serviceTag: string;\r\n}\r\n\r\nexport interface ISynthesisResponseAudio {\r\n type: string;\r\n streamId: string;\r\n}\r\n\r\nexport interface ISynthesisResponse {\r\n context: ISynthesisResponseContext;\r\n audio: ISynthesisResponseAudio;\r\n webrtc: {\r\n connectionString: string;\r\n };\r\n}\r\n\r\nexport class SynthesisTurn {\r\n\r\n public get requestId(): string {\r\n return this.privRequestId;\r\n }\r\n\r\n public get streamId(): string {\r\n return this.privStreamId;\r\n }\r\n\r\n public set streamId(value: string) {\r\n this.privStreamId = value;\r\n }\r\n\r\n public get audioOutputFormat(): AudioOutputFormatImpl {\r\n return this.privAudioOutputFormat;\r\n }\r\n\r\n public set audioOutputFormat(format: AudioOutputFormatImpl) {\r\n this.privAudioOutputFormat = format;\r\n }\r\n\r\n public get turnCompletionPromise(): Promise {\r\n return this.privTurnDeferral.promise;\r\n }\r\n\r\n public get isSynthesisEnded(): boolean {\r\n return this.privIsSynthesisEnded;\r\n }\r\n\r\n public get isSynthesizing(): boolean {\r\n return this.privIsSynthesizing;\r\n }\r\n\r\n public get currentTextOffset(): number {\r\n return this.privTextOffset;\r\n }\r\n\r\n public get currentSentenceOffset(): number {\r\n return this.privSentenceOffset;\r\n }\r\n\r\n // The number of bytes received for current turn\r\n public get bytesReceived(): number {\r\n return this.privBytesReceived;\r\n }\r\n\r\n public get audioDuration(): number {\r\n return this.privAudioDuration;\r\n }\r\n\r\n public get extraProperties(): PropertyCollection {\r\n if (!!this.privWebRTCSDP) {\r\n const properties = new PropertyCollection();\r\n properties.setProperty(PropertyId.TalkingAvatarService_WebRTC_SDP, this.privWebRTCSDP);\r\n return properties;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private privIsDisposed: boolean = false;\r\n private privAuthFetchEventId: string;\r\n private privIsSynthesizing: boolean = false;\r\n private privIsSynthesisEnded: boolean = false;\r\n private privBytesReceived: number = 0;\r\n private privRequestId: string;\r\n private privStreamId: string;\r\n private privTurnDeferral: Deferred;\r\n private privInTurn: boolean = false;\r\n private privAudioOutputFormat: AudioOutputFormatImpl;\r\n private privAudioOutputStream: PullAudioOutputStreamImpl;\r\n private privReceivedAudio: ArrayBuffer;\r\n private privReceivedAudioWithHeader: ArrayBuffer;\r\n private privTextOffset: number = 0;\r\n private privNextSearchTextIndex: number = 0;\r\n private privSentenceOffset: number = 0;\r\n private privNextSearchSentenceIndex: number = 0;\r\n private privPartialVisemeAnimation: string;\r\n private privRawText: string;\r\n private privIsSSML: boolean;\r\n private privTurnAudioDestination: IAudioDestination;\r\n private privAudioDuration: number;\r\n private privWebRTCSDP: string;\r\n\r\n public constructor() {\r\n this.privRequestId = createNoDashGuid();\r\n this.privTurnDeferral = new Deferred();\r\n\r\n // We're not in a turn, so resolve.\r\n this.privTurnDeferral.resolve();\r\n }\r\n\r\n public async getAllReceivedAudio(): Promise {\r\n if (!!this.privReceivedAudio) {\r\n return Promise.resolve(this.privReceivedAudio);\r\n }\r\n if (!this.privIsSynthesisEnded) {\r\n return null;\r\n }\r\n await this.readAllAudioFromStream();\r\n return Promise.resolve(this.privReceivedAudio);\r\n }\r\n\r\n public async getAllReceivedAudioWithHeader(): Promise {\r\n if (!!this.privReceivedAudioWithHeader) {\r\n return this.privReceivedAudioWithHeader;\r\n }\r\n if (!this.privIsSynthesisEnded) {\r\n return null;\r\n }\r\n if (this.audioOutputFormat.hasHeader) {\r\n const audio: ArrayBuffer = await this.getAllReceivedAudio();\r\n this.privReceivedAudioWithHeader = this.audioOutputFormat.addHeader(audio);\r\n return this.privReceivedAudioWithHeader;\r\n } else {\r\n return this.getAllReceivedAudio();\r\n }\r\n }\r\n\r\n public startNewSynthesis(requestId: string, rawText: string, isSSML: boolean, audioDestination?: IAudioDestination): void {\r\n this.privIsSynthesisEnded = false;\r\n this.privIsSynthesizing = true;\r\n this.privRequestId = requestId;\r\n this.privRawText = rawText;\r\n this.privIsSSML = isSSML;\r\n this.privAudioOutputStream = new PullAudioOutputStreamImpl();\r\n this.privAudioOutputStream.format = this.privAudioOutputFormat;\r\n this.privReceivedAudio = null;\r\n this.privReceivedAudioWithHeader = null;\r\n this.privBytesReceived = 0;\r\n this.privTextOffset = 0;\r\n this.privNextSearchTextIndex = 0;\r\n this.privSentenceOffset = 0;\r\n this.privNextSearchSentenceIndex = 0;\r\n this.privPartialVisemeAnimation = \"\";\r\n this.privWebRTCSDP = \"\";\r\n if (audioDestination !== undefined) {\r\n this.privTurnAudioDestination = audioDestination;\r\n this.privTurnAudioDestination.format = this.privAudioOutputFormat;\r\n }\r\n this.onEvent(new SynthesisTriggeredEvent(this.requestId, undefined, audioDestination === undefined ? undefined : audioDestination.id()));\r\n }\r\n\r\n public onPreConnectionStart(authFetchEventId: string): void {\r\n this.privAuthFetchEventId = authFetchEventId;\r\n this.onEvent(new ConnectingToSynthesisServiceEvent(this.privRequestId, this.privAuthFetchEventId));\r\n }\r\n\r\n public onAuthCompleted(isError: boolean): void {\r\n if (isError) {\r\n this.onComplete();\r\n }\r\n }\r\n\r\n public onConnectionEstablishCompleted(statusCode: number): void {\r\n if (statusCode === 200) {\r\n this.onEvent(new SynthesisStartedEvent(this.requestId, this.privAuthFetchEventId));\r\n this.privBytesReceived = 0;\r\n return;\r\n } else if (statusCode === 403) {\r\n this.onComplete();\r\n }\r\n }\r\n\r\n public onServiceResponseMessage(responseJson: string): void {\r\n const response: ISynthesisResponse = JSON.parse(responseJson) as ISynthesisResponse;\r\n this.streamId = response.audio.streamId;\r\n }\r\n\r\n public onServiceTurnEndResponse(): void {\r\n this.privInTurn = false;\r\n this.privTurnDeferral.resolve();\r\n this.onComplete();\r\n }\r\n\r\n public onServiceTurnStartResponse(responseJson: string): void {\r\n if (!!this.privTurnDeferral && !!this.privInTurn) {\r\n // What? How are we starting a turn with another not done?\r\n this.privTurnDeferral.reject(\"Another turn started before current completed.\");\r\n // Avoid UnhandledPromiseRejection if privTurnDeferral is not being awaited\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.privTurnDeferral.promise.then().catch((): void => { });\r\n }\r\n this.privInTurn = true;\r\n this.privTurnDeferral = new Deferred();\r\n const response: ISynthesisResponse = JSON.parse(responseJson) as ISynthesisResponse;\r\n if (!!response.webrtc) {\r\n this.privWebRTCSDP = response.webrtc.connectionString;\r\n }\r\n }\r\n\r\n public onAudioChunkReceived(data: ArrayBuffer): void {\r\n if (this.isSynthesizing) {\r\n this.privAudioOutputStream.write(data);\r\n this.privBytesReceived += data.byteLength;\r\n if (this.privTurnAudioDestination !== undefined) {\r\n this.privTurnAudioDestination.write(data);\r\n }\r\n }\r\n }\r\n\r\n public onTextBoundaryEvent(metadata: ISynthesisMetadata): void {\r\n this.updateTextOffset(metadata.Data.text.Text, metadata.Type);\r\n }\r\n\r\n public onVisemeMetadataReceived(metadata: ISynthesisMetadata): void {\r\n if (metadata.Data.AnimationChunk !== undefined) {\r\n this.privPartialVisemeAnimation += metadata.Data.AnimationChunk;\r\n }\r\n }\r\n\r\n public onSessionEnd(metadata: ISynthesisMetadata): void {\r\n this.privAudioDuration = metadata.Data.Offset;\r\n }\r\n\r\n public async constructSynthesisResult(): Promise {\r\n const audioBuffer: ArrayBuffer = await this.getAllReceivedAudioWithHeader();\r\n return new SpeechSynthesisResult(\r\n this.requestId,\r\n ResultReason.SynthesizingAudioCompleted,\r\n audioBuffer,\r\n undefined,\r\n this.extraProperties,\r\n this.audioDuration\r\n );\r\n }\r\n\r\n public dispose(): void {\r\n if (!this.privIsDisposed) {\r\n // we should have completed by now. If we did not its an unknown error.\r\n this.privIsDisposed = true;\r\n }\r\n }\r\n\r\n public onStopSynthesizing(): void {\r\n this.onComplete();\r\n }\r\n\r\n /**\r\n * Gets the viseme animation string (merged from animation chunk), and clears the internal\r\n * partial animation.\r\n */\r\n public getAndClearVisemeAnimation(): string {\r\n const animation: string = this.privPartialVisemeAnimation;\r\n this.privPartialVisemeAnimation = \"\";\r\n return animation;\r\n }\r\n\r\n protected onEvent(event: SpeechSynthesisEvent): void {\r\n Events.instance.onEvent(event);\r\n }\r\n\r\n /**\r\n * Check if the text is an XML(SSML) tag\r\n * @param text\r\n * @private\r\n */\r\n private static isXmlTag(text: string): boolean {\r\n return text.length >= 2 && text[0] === \"<\" && text[text.length - 1] === \">\";\r\n }\r\n\r\n private updateTextOffset(text: string, type: MetadataType): void {\r\n if (type === MetadataType.WordBoundary) {\r\n this.privTextOffset = this.privRawText.indexOf(text, this.privNextSearchTextIndex);\r\n if (this.privTextOffset >= 0) {\r\n this.privNextSearchTextIndex = this.privTextOffset + text.length;\r\n if (this.privIsSSML) {\r\n if (this.withinXmlTag(this.privTextOffset) && !SynthesisTurn.isXmlTag(text)) {\r\n this.updateTextOffset(text, type);\r\n }\r\n }\r\n }\r\n } else {\r\n this.privSentenceOffset = this.privRawText.indexOf(text, this.privNextSearchSentenceIndex);\r\n if (this.privSentenceOffset >= 0) {\r\n this.privNextSearchSentenceIndex = this.privSentenceOffset + text.length;\r\n if (this.privIsSSML) {\r\n if (this.withinXmlTag(this.privSentenceOffset) && !SynthesisTurn.isXmlTag(text)) {\r\n this.updateTextOffset(text, type);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private onComplete(): void {\r\n if (this.privIsSynthesizing) {\r\n this.privIsSynthesizing = false;\r\n this.privIsSynthesisEnded = true;\r\n this.privAudioOutputStream.close();\r\n this.privInTurn = false;\r\n if (this.privTurnAudioDestination !== undefined) {\r\n this.privTurnAudioDestination.close();\r\n this.privTurnAudioDestination = undefined;\r\n }\r\n }\r\n }\r\n\r\n private async readAllAudioFromStream(): Promise {\r\n if (this.privIsSynthesisEnded) {\r\n this.privReceivedAudio = new ArrayBuffer(this.bytesReceived);\r\n try {\r\n await this.privAudioOutputStream.read(this.privReceivedAudio);\r\n } catch (e) {\r\n this.privReceivedAudio = new ArrayBuffer(0);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Check if current idx is in XML(SSML) tag\r\n * @param idx\r\n * @private\r\n */\r\n private withinXmlTag(idx: number): boolean {\r\n return this.privRawText.indexOf(\"<\", idx + 1) > this.privRawText.indexOf(\">\", idx + 1);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection } from \"../sdk/Exports.js\";\r\nimport {\r\n Context,\r\n ISynthesisSectionVideo,\r\n SpeechServiceConfig\r\n } from \"./Exports.js\";\r\n\r\nexport enum SynthesisServiceType {\r\n Standard,\r\n Custom,\r\n}\r\n\r\nexport class SynthesizerConfig {\r\n private privSynthesisServiceType: SynthesisServiceType = SynthesisServiceType.Standard;\r\n private privSpeechServiceConfig: SpeechServiceConfig;\r\n private privParameters: PropertyCollection;\r\n public avatarEnabled: boolean = false;\r\n\r\n public constructor(\r\n speechServiceConfig: SpeechServiceConfig,\r\n parameters: PropertyCollection) {\r\n this.privSpeechServiceConfig = speechServiceConfig ? speechServiceConfig : new SpeechServiceConfig(new Context(null));\r\n this.privParameters = parameters;\r\n }\r\n\r\n public get parameters(): PropertyCollection {\r\n return this.privParameters;\r\n }\r\n\r\n public get synthesisServiceType(): SynthesisServiceType {\r\n return this.privSynthesisServiceType;\r\n }\r\n\r\n public set synthesisServiceType(value: SynthesisServiceType) {\r\n this.privSynthesisServiceType = value;\r\n }\r\n\r\n public set synthesisVideoSection(value: ISynthesisSectionVideo) {\r\n this.privSpeechServiceConfig.Context.synthesis = {\r\n video: value\r\n };\r\n }\r\n\r\n public get SpeechServiceConfig(): SpeechServiceConfig {\r\n return this.privSpeechServiceConfig;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary\r\n} from \"../common/Exports.js\";\r\nimport {\r\n OutputFormat,\r\n PropertyId\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n OutputFormatPropertyName,\r\n RecognizerConfig,\r\n WebsocketMessageFormatter\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport {\r\n QueryParameterNames\r\n} from \"./QueryParameterNames.js\";\r\n\r\nexport class TranscriberConnectionFactory extends ConnectionFactoryBase {\r\n\r\n private readonly multiaudioRelativeUri: string = \"/speech/recognition/multiaudio\";\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n let endpoint: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, undefined);\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region, \"centralus\");\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n const hostDefault: string = \"wss://transcribe.\" + region + \".cts.speech\" + hostSuffix + this.multiaudioRelativeUri;\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, hostDefault);\r\n\r\n const queryParams: IStringDictionary = {};\r\n this.setQueryParams(queryParams, config, endpoint);\r\n\r\n if (!endpoint) {\r\n endpoint = host;\r\n }\r\n\r\n const headers: IStringDictionary = {};\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, endpoint);\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n\r\n public setQueryParams(queryParams: IStringDictionary, config: RecognizerConfig, endpointUrl: string): void {\r\n\r\n const endpointId: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_EndpointId, undefined);\r\n const language: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, undefined);\r\n\r\n if (endpointId && !(QueryParameterNames.CustomSpeechDeploymentId in queryParams)) {\r\n queryParams[QueryParameterNames.CustomSpeechDeploymentId] = endpointId;\r\n }\r\n\r\n if (language && !(QueryParameterNames.Language in queryParams)) {\r\n queryParams[QueryParameterNames.Language] = language;\r\n }\r\n\r\n const wordLevelTimings: boolean = config.parameters.getProperty(PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, \"false\").toLowerCase() === \"true\";\r\n const detailed: boolean = config.parameters.getProperty(OutputFormatPropertyName, OutputFormat[OutputFormat.Simple]) !== OutputFormat[OutputFormat.Simple];\r\n if (wordLevelTimings || detailed) {\r\n queryParams[QueryParameterNames.Format] = OutputFormat[OutputFormat.Detailed].toLowerCase();\r\n }\r\n\r\n this.setCommonUrlParams(config, queryParams, endpointUrl);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IAudioSource,\r\n IConnection,\r\n MessageType\r\n} from \"../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n ConversationTranscriptionCanceledEventArgs,\r\n MeetingTranscriptionCanceledEventArgs,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SpeechRecognitionEventArgs,\r\n SpeechRecognitionResult,\r\n} from \"../sdk/Exports.js\";\r\nimport { ConversationInfo, MeetingInfo } from \"../sdk/Transcription/Exports.js\";\r\nimport { ConversationProperties } from \"../sdk/Transcription/IConversation.js\";\r\nimport { MeetingProperties } from \"../sdk/Transcription/IMeeting.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n ConversationServiceRecognizer,\r\n TranscriberRecognizer\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class TranscriptionServiceRecognizer extends ConversationServiceRecognizer {\r\n\r\n private privTranscriberRecognizer: TranscriberRecognizer;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n transcriber: TranscriberRecognizer) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, transcriber);\r\n this.privTranscriberRecognizer = transcriber;\r\n this.sendPrePayloadJSONOverride = (connection: IConnection): Promise => this.sendTranscriptionStartJSON(connection);\r\n if (this.privRecognizerConfig.parameters.getProperty(PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps) === \"true\") {\r\n this.privSpeechContext.setWordLevelTimings();\r\n }\r\n }\r\n\r\n public async sendSpeechEventAsync(info: ConversationInfo, command: string): Promise {\r\n if (!!this.privRequestSession.isRecognizing) {\r\n const connection: IConnection = await this.fetchConnection();\r\n await this.sendSpeechEvent(connection, this.createSpeechEventPayload(info, command));\r\n }\r\n }\r\n\r\n public async sendMeetingSpeechEventAsync(info: MeetingInfo, command: string): Promise {\r\n if (!!this.privRequestSession.isRecognizing) {\r\n const connection: IConnection = await this.fetchConnection();\r\n await this.sendSpeechEvent(connection, this.createMeetingSpeechEventPayload(info, command));\r\n }\r\n }\r\n\r\n protected processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n return this.processSpeechMessages(connectionMessage);\r\n }\r\n\r\n protected handleRecognizedCallback(result: SpeechRecognitionResult, offset: number, sessionId: string): void {\r\n try {\r\n const event: SpeechRecognitionEventArgs = new SpeechRecognitionEventArgs(result, offset, sessionId);\r\n this.privTranscriberRecognizer.recognized(this.privTranscriberRecognizer, event);\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(result);\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n protected handleRecognizingCallback(result: SpeechRecognitionResult, duration: number, sessionId: string): void {\r\n try {\r\n const ev = new SpeechRecognitionEventArgs(result, duration, sessionId);\r\n this.privTranscriberRecognizer.recognizing(this.privTranscriberRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n if (this.privTranscriberRecognizer.IsMeetingRecognizer()) {\r\n if (!!this.privTranscriberRecognizer.canceled) {\r\n const cancelEvent: MeetingTranscriptionCanceledEventArgs = new MeetingTranscriptionCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n sessionId);\r\n try {\r\n this.privTranscriberRecognizer.canceled(this.privTranscriberRecognizer, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n } else {\r\n if (!!this.privTranscriberRecognizer.canceled) {\r\n const cancelEvent: ConversationTranscriptionCanceledEventArgs = new ConversationTranscriptionCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n sessionId);\r\n try {\r\n this.privTranscriberRecognizer.canceled(this.privTranscriberRecognizer, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n\r\n if (!!this.privSuccessCallback) {\r\n const result: SpeechRecognitionResult = new SpeechRecognitionResult(\r\n requestId,\r\n ResultReason.Canceled,\r\n undefined, // Text\r\n undefined, // Duration\r\n undefined, // Offset\r\n undefined, // Language\r\n undefined, // Language Detection Confidence\r\n undefined, // Speaker Id\r\n error,\r\n undefined, // Json\r\n properties);\r\n try {\r\n this.privSuccessCallback(result);\r\n this.privSuccessCallback = undefined;\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n }\r\n\r\n // Encapsulated for derived service recognizers that need to send additional JSON\r\n protected async sendTranscriptionStartJSON(connection: IConnection): Promise {\r\n await this.sendSpeechContext(connection, true);\r\n if (this.privTranscriberRecognizer.IsMeetingRecognizer()) {\r\n const info: MeetingInfo = this.privTranscriberRecognizer.getMeetingInfo();\r\n const payload: { [id: string]: any } = this.createMeetingSpeechEventPayload(info, \"start\");\r\n await this.sendSpeechEvent(connection, payload);\r\n } else {\r\n const info: ConversationInfo = this.privTranscriberRecognizer.getConversationInfo();\r\n const payload: { [id: string]: any } = this.createSpeechEventPayload(info, \"start\");\r\n await this.sendSpeechEvent(connection, payload);\r\n }\r\n await this.sendWaveHeader(connection);\r\n return;\r\n }\r\n\r\n protected sendSpeechEvent(connection: IConnection, payload: { [id: string]: any }): Promise {\r\n const speechEventJson = JSON.stringify(payload);\r\n\r\n if (speechEventJson) {\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speech.event\",\r\n this.privRequestSession.requestId,\r\n \"application/json\",\r\n speechEventJson));\r\n }\r\n return;\r\n }\r\n\r\n private createSpeechEventPayload(info: ConversationInfo, command: string): { [id: string]: any } {\r\n const eventDict: { id: string; name: string; meeting: ConversationProperties } = { id: \"meeting\", name: command, meeting: info.conversationProperties };\r\n eventDict.meeting.id = info.id;\r\n eventDict.meeting.attendees = info.participants;\r\n return eventDict;\r\n }\r\n\r\n private createMeetingSpeechEventPayload(info: MeetingInfo, command: string): { [id: string]: any } {\r\n const eventDict: { id: string; name: string; meeting: MeetingProperties } = { id: \"meeting\", name: command, meeting: info.meetingProperties };\r\n eventDict.meeting.id = info.id;\r\n eventDict.meeting.attendees = info.participants;\r\n return eventDict;\r\n }\r\n\r\n}\r\n","\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n RestConfigBase\r\n} from \"../../common.browser/RestConfigBase.js\";\r\n\r\nexport class ConversationConnectionConfig extends RestConfigBase {\r\n\r\n private static readonly privHost: string = \"dev.microsofttranslator.com\";\r\n private static readonly privRestPath: string = \"/capito/room\";\r\n private static readonly privApiVersion: string = \"2.0\";\r\n private static readonly privDefaultLanguageCode: string = \"en-US\";\r\n private static readonly privClientAppId: string = \"FC539C22-1767-4F1F-84BC-B4D811114F15\";\r\n private static readonly privWebSocketPath: string = \"/capito/translate\";\r\n private static readonly privTranscriptionEventKeys: string[] = [\"iCalUid\", \"callId\", \"organizer\", \"FLAC\", \"MTUri\", \"DifferentiateGuestSpeakers\", \"audiorecording\", \"Threadid\", \"OrganizerMri\", \"OrganizerTenantId\", \"UserToken\"];\r\n\r\n public static get host(): string {\r\n return ConversationConnectionConfig.privHost;\r\n }\r\n\r\n public static get apiVersion(): string {\r\n return ConversationConnectionConfig.privApiVersion;\r\n }\r\n\r\n public static get clientAppId(): string {\r\n return ConversationConnectionConfig.privClientAppId;\r\n }\r\n\r\n public static get defaultLanguageCode(): string {\r\n return ConversationConnectionConfig.privDefaultLanguageCode;\r\n }\r\n\r\n public static get restPath(): string {\r\n return ConversationConnectionConfig.privRestPath;\r\n }\r\n\r\n public static get webSocketPath(): string {\r\n return ConversationConnectionConfig.privWebSocketPath;\r\n }\r\n\r\n public static get transcriptionEventKeys(): string[] {\r\n return ConversationConnectionConfig.privTranscriptionEventKeys;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ProxyInfo, WebsocketConnection } from \"../../common.browser/Exports.js\";\r\nimport { createGuid, IConnection, IStringDictionary } from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport { PropertyId } from \"../../sdk/Exports.js\";\r\nimport { ConnectionFactoryBase } from \"../ConnectionFactoryBase.js\";\r\nimport { AuthInfo, RecognizerConfig } from \"../Exports.js\";\r\nimport { ConversationConnectionConfig } from \"./ConversationConnectionConfig.js\";\r\nimport { ConversationWebsocketMessageFormatter } from \"./ConversationWebsocketMessageFormatter.js\";\r\n\r\n/**\r\n * Create a connection to the Conversation Translator websocket for sending instant messages and commands, and for receiving translated messages.\r\n * The conversation must already have been started or joined.\r\n */\r\nexport class ConversationConnectionFactory extends ConnectionFactoryBase {\r\n\r\n public create(config: RecognizerConfig, authInfo: AuthInfo, connectionId?: string): IConnection {\r\n\r\n const endpointHost: string = config.parameters.getProperty(PropertyId.ConversationTranslator_Host, ConversationConnectionConfig.host);\r\n const correlationId: string = config.parameters.getProperty(PropertyId.ConversationTranslator_CorrelationId, createGuid());\r\n\r\n const endpoint: string = `wss://${endpointHost}${ConversationConnectionConfig.webSocketPath}`;\r\n const token: string = config.parameters.getProperty(PropertyId.ConversationTranslator_Token, undefined);\r\n Contracts.throwIfNullOrUndefined(token, \"token\");\r\n\r\n const queryParams: IStringDictionary = {};\r\n queryParams[ConversationConnectionConfig.configParams.apiVersion] = ConversationConnectionConfig.apiVersion;\r\n queryParams[ConversationConnectionConfig.configParams.token] = token;\r\n queryParams[ConversationConnectionConfig.configParams.correlationId] = correlationId;\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, {}, new ConversationWebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ConnectionMessage, IStringDictionary, MessageType } from \"../../common/Exports.js\";\r\n\r\nexport class ConversationConnectionMessage extends ConnectionMessage {\r\n private privConversationMessageType: string;\r\n\r\n public constructor(\r\n messageType: MessageType,\r\n body: any,\r\n headers?: IStringDictionary,\r\n id?: string) {\r\n super(messageType, body, headers, id);\r\n const json: { type: string } = JSON.parse(this.textBody) as { type: string };\r\n if (json.type !== undefined) {\r\n this.privConversationMessageType = json.type;\r\n }\r\n }\r\n\r\n public get conversationMessageType(): string {\r\n return this.privConversationMessageType;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IRequestOptions,\r\n IRestParams,\r\n IRestResponse,\r\n RestMessageAdapter,\r\n RestRequestType\r\n} from \"../../common.browser/Exports.js\";\r\nimport { IErrorMessages, IStringDictionary } from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport { PropertyCollection, PropertyId } from \"../../sdk/Exports.js\";\r\nimport { ConversationConnectionConfig } from \"./ConversationConnectionConfig.js\";\r\nimport { IConversationResponseError, IInternalConversation } from \"./ConversationTranslatorInterfaces.js\";\r\n\r\nexport class ConversationManager {\r\n\r\n private privRequestParams: IRestParams;\r\n private privErrors: IErrorMessages;\r\n private privHost: string;\r\n private privApiVersion: string;\r\n private privRestPath: string;\r\n private privRestAdapter: RestMessageAdapter;\r\n\r\n public constructor() {\r\n //\r\n this.privRequestParams = ConversationConnectionConfig.configParams;\r\n this.privErrors = ConversationConnectionConfig.restErrors;\r\n this.privHost = ConversationConnectionConfig.host;\r\n this.privApiVersion = ConversationConnectionConfig.apiVersion;\r\n this.privRestPath = ConversationConnectionConfig.restPath;\r\n this.privRestAdapter = new RestMessageAdapter({});\r\n }\r\n\r\n /**\r\n * Make a POST request to the Conversation Manager service endpoint to create or join a conversation.\r\n * @param args\r\n * @param conversationCode\r\n * @param callback\r\n * @param errorCallback\r\n */\r\n public createOrJoin(args: PropertyCollection, conversationCode: string, cb?: (c: any) => void, err?: (e: string) => void): void {\r\n\r\n try {\r\n\r\n Contracts.throwIfNullOrUndefined(args, \"args\");\r\n\r\n const languageCode: string = args.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, ConversationConnectionConfig.defaultLanguageCode);\r\n const nickname: string = args.getProperty(PropertyId.ConversationTranslator_Name, \"conversation_host\");\r\n const endpointHost: string = args.getProperty(PropertyId.ConversationTranslator_Host, this.privHost);\r\n const correlationId: string = args.getProperty(PropertyId.ConversationTranslator_CorrelationId);\r\n const subscriptionKey: string = args.getProperty(PropertyId.SpeechServiceConnection_Key);\r\n const subscriptionRegion: string = args.getProperty(PropertyId.SpeechServiceConnection_Region);\r\n const authToken: string = args.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n\r\n Contracts.throwIfNullOrWhitespace(languageCode, \"languageCode\");\r\n Contracts.throwIfNullOrWhitespace(nickname, \"nickname\");\r\n Contracts.throwIfNullOrWhitespace(endpointHost, \"endpointHost\");\r\n\r\n const queryParams: IStringDictionary = {};\r\n queryParams[this.privRequestParams.apiVersion] = this.privApiVersion;\r\n queryParams[this.privRequestParams.languageCode] = languageCode;\r\n queryParams[this.privRequestParams.nickname] = nickname;\r\n\r\n const headers: IStringDictionary = {};\r\n if (correlationId) {\r\n headers[this.privRequestParams.correlationId] = correlationId;\r\n }\r\n headers[this.privRequestParams.clientAppId] = ConversationConnectionConfig.clientAppId;\r\n\r\n if (conversationCode !== undefined) {\r\n queryParams[this.privRequestParams.roomId] = conversationCode;\r\n } else {\r\n Contracts.throwIfNullOrUndefined(subscriptionRegion, this.privErrors.authInvalidSubscriptionRegion);\r\n headers[this.privRequestParams.subscriptionRegion] = subscriptionRegion;\r\n if (subscriptionKey) {\r\n headers[this.privRequestParams.subscriptionKey] = subscriptionKey;\r\n } else if (authToken) {\r\n headers[this.privRequestParams.authorization] = `Bearer ${authToken}`;\r\n } else {\r\n Contracts.throwIfNullOrUndefined(subscriptionKey, this.privErrors.authInvalidSubscriptionKey);\r\n }\r\n }\r\n\r\n const config: IRequestOptions = {};\r\n config.headers = headers;\r\n this.privRestAdapter.options = config;\r\n\r\n const endpoint: string = `https://${endpointHost}${this.privRestPath}`;\r\n\r\n // TODO: support a proxy and certificate validation\r\n this.privRestAdapter.request(RestRequestType.Post, endpoint, queryParams, null).then((response: IRestResponse): void => {\r\n\r\n const requestId: string = RestMessageAdapter.extractHeaderValue(this.privRequestParams.requestId, response.headers);\r\n\r\n if (!response.ok) {\r\n if (!!err) {\r\n // get the error\r\n let errorMessage: string = this.privErrors.invalidCreateJoinConversationResponse.replace(\"{status}\", response.status.toString());\r\n let errMessageRaw: IConversationResponseError;\r\n try {\r\n errMessageRaw = JSON.parse(response.data) as IConversationResponseError;\r\n errorMessage += ` [${errMessageRaw.error.code}: ${errMessageRaw.error.message}]`;\r\n } catch (e) {\r\n errorMessage += ` [${response.data}]`;\r\n }\r\n if (requestId) {\r\n errorMessage += ` ${requestId}`;\r\n }\r\n\r\n err(errorMessage);\r\n }\r\n return;\r\n }\r\n const conversation: IInternalConversation = JSON.parse(response.data) as IInternalConversation;\r\n if (conversation) {\r\n conversation.requestId = requestId;\r\n }\r\n if (!!cb) {\r\n try {\r\n cb(conversation);\r\n } catch (e) {\r\n if (!!err) {\r\n err(e as string);\r\n }\r\n }\r\n cb = undefined;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n }).catch( (): void => { });\r\n\r\n } catch (error) {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Make a DELETE request to the Conversation Manager service endpoint to leave the conversation.\r\n * @param args\r\n * @param sessionToken\r\n * @param callback\r\n */\r\n public leave(args: PropertyCollection, sessionToken: string): Promise {\r\n return new Promise((resolve: () => void, reject: (reason: string) => void): void => {\r\n try {\r\n\r\n Contracts.throwIfNullOrUndefined(args, this.privErrors.invalidArgs.replace(\"{arg}\", \"config\"));\r\n Contracts.throwIfNullOrWhitespace(sessionToken, this.privErrors.invalidArgs.replace(\"{arg}\", \"token\"));\r\n\r\n const endpointHost: string = args.getProperty(PropertyId.ConversationTranslator_Host, this.privHost);\r\n const correlationId: string = args.getProperty(PropertyId.ConversationTranslator_CorrelationId);\r\n\r\n const queryParams: IStringDictionary = {};\r\n queryParams[this.privRequestParams.apiVersion] = this.privApiVersion;\r\n queryParams[this.privRequestParams.sessionToken] = sessionToken;\r\n\r\n const headers: IStringDictionary = {};\r\n if (correlationId) {\r\n headers[this.privRequestParams.correlationId] = correlationId;\r\n }\r\n\r\n const config: IRequestOptions = {};\r\n config.headers = headers;\r\n this.privRestAdapter.options = config;\r\n\r\n const endpoint: string = `https://${endpointHost}${this.privRestPath}`;\r\n\r\n // TODO: support a proxy and certificate validation\r\n this.privRestAdapter.request(RestRequestType.Delete, endpoint, queryParams, null).then((response: IRestResponse): void => {\r\n\r\n if (!response.ok) {\r\n // ignore errors on delete\r\n }\r\n\r\n resolve();\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n }).catch( (): void => {});\r\n\r\n } catch (error) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n reject(typedError.name + \": \" + typedError.message);\r\n\r\n } else {\r\n reject(error as string);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n createNoDashGuid,\r\n Deferred,\r\n IDetachable,\r\n} from \"../../common/Exports.js\";\r\n\r\n/**\r\n * Placeholder class for the Conversation Request Session. Based off RequestSession.\r\n * TODO: define what telemetry is required.\r\n */\r\nexport class ConversationRequestSession {\r\n private privIsDisposed: boolean = false;\r\n private privDetachables: IDetachable[] = new Array();\r\n private privRequestId: string;\r\n private privRequestCompletionDeferral: Deferred;\r\n private privSessionId: string;\r\n\r\n public constructor(sessionId: string) {\r\n this.privSessionId = sessionId;\r\n this.privRequestId = createNoDashGuid();\r\n this.privRequestCompletionDeferral = new Deferred();\r\n }\r\n\r\n public get sessionId(): string {\r\n return this.privSessionId;\r\n }\r\n\r\n public get requestId(): string {\r\n return this.privRequestId;\r\n }\r\n\r\n public get completionPromise(): Promise {\r\n return this.privRequestCompletionDeferral.promise;\r\n }\r\n\r\n public onPreConnectionStart(authFetchEventId: string, connectionId: string): void {\r\n this.privSessionId = connectionId;\r\n }\r\n\r\n public onAuthCompleted(isError: boolean): void {\r\n if (isError) {\r\n this.onComplete();\r\n }\r\n }\r\n\r\n public onConnectionEstablishCompleted(statusCode: number): void {\r\n if (statusCode === 200) {\r\n return;\r\n } else if (statusCode === 403) {\r\n this.onComplete();\r\n }\r\n }\r\n\r\n public onServiceTurnEndResponse(continuousRecognition: boolean): void {\r\n if (!continuousRecognition) {\r\n this.onComplete();\r\n } else {\r\n this.privRequestId = createNoDashGuid();\r\n }\r\n }\r\n\r\n public async dispose(): Promise {\r\n if (!this.privIsDisposed) {\r\n // we should have completed by now. If we did not its an unknown error.\r\n this.privIsDisposed = true;\r\n for (const detachable of this.privDetachables) {\r\n await detachable.detach();\r\n }\r\n }\r\n }\r\n\r\n private onComplete(): void {\r\n //\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ConnectionState,\r\n createNoDashGuid,\r\n Deferred,\r\n IAudioSource,\r\n IConnection,\r\n MessageType,\r\n} from \"../../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n ConversationExpirationEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n ConversationTranslationResult,\r\n ResultReason,\r\n Translations\r\n} from \"../../sdk/Exports.js\";\r\nimport {\r\n CognitiveTokenAuthentication,\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognizerConfig,\r\n ServiceRecognizerBase\r\n} from \"../Exports.js\";\r\nimport { ConversationConnectionMessage } from \"./ConversationConnectionMessage.js\";\r\nimport { ConversationRequestSession } from \"./ConversationRequestSession.js\";\r\nimport {\r\n ConversationReceivedTranslationEventArgs,\r\n LockRoomEventArgs,\r\n MuteAllEventArgs,\r\n ParticipantAttributeEventArgs,\r\n ParticipantEventArgs,\r\n ParticipantsListEventArgs\r\n} from \"./ConversationTranslatorEventArgs.js\";\r\nimport {\r\n ConversationTranslatorCommandTypes,\r\n ConversationTranslatorMessageTypes,\r\n IInternalParticipant\r\n} from \"./ConversationTranslatorInterfaces.js\";\r\nimport { ConversationTranslatorRecognizer } from \"./ConversationTranslatorRecognizer.js\";\r\nimport {\r\n CommandResponsePayload,\r\n IParticipantPayloadResponse,\r\n IParticipantsListPayloadResponse,\r\n ITranslationResponsePayload,\r\n ParticipantPayloadResponse,\r\n ParticipantsListPayloadResponse,\r\n SpeechResponsePayload,\r\n TextResponsePayload\r\n} from \"./ServiceMessages/Exports.js\";\r\n\r\n/**\r\n * The service adapter handles sending and receiving messages to the Conversation Translator websocket.\r\n */\r\nexport class ConversationServiceAdapter extends ServiceRecognizerBase {\r\n private privConversationServiceConnector: ConversationTranslatorRecognizer;\r\n private privConversationConnectionFactory: IConnectionFactory;\r\n private privConversationAuthFetchEventId: string;\r\n private privConversationAuthentication: IAuthentication;\r\n private privConversationRequestSession: ConversationRequestSession;\r\n private privConnectionConfigPromise: Promise = undefined;\r\n private privConnectionLoop: Promise;\r\n private terminateMessageLoop: boolean;\r\n private privLastPartialUtteranceId: string;\r\n private privConversationIsDisposed: boolean;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n conversationServiceConnector: ConversationTranslatorRecognizer) {\r\n\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, conversationServiceConnector);\r\n\r\n this.privLastPartialUtteranceId = \"\";\r\n this.privConversationServiceConnector = conversationServiceConnector;\r\n this.privConversationAuthentication = authentication;\r\n this.receiveMessageOverride = (): Promise => this.receiveConversationMessageOverride();\r\n this.recognizeOverride = (): Promise => this.noOp();\r\n this.postConnectImplOverride = (connection: Promise): Promise => this.conversationConnectImpl(connection);\r\n this.configConnectionOverride = (): Promise => this.configConnection();\r\n this.disconnectOverride = (): Promise => this.privDisconnect();\r\n this.privConversationRequestSession = new ConversationRequestSession(createNoDashGuid());\r\n this.privConversationConnectionFactory = connectionFactory;\r\n this.privConversationIsDisposed = false;\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return super.isDisposed() || this.privConversationIsDisposed;\r\n }\r\n\r\n public async dispose(reason?: string): Promise {\r\n this.privConversationIsDisposed = true;\r\n if (this.privConnectionConfigPromise !== undefined) {\r\n const connection: IConnection = await this.privConnectionConfigPromise;\r\n await connection.dispose(reason);\r\n }\r\n await super.dispose(reason);\r\n }\r\n\r\n public async sendMessage(message: string): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n return connection.send(new ConversationConnectionMessage(\r\n MessageType.Text,\r\n message));\r\n }\r\n\r\n public async sendMessageAsync(message: string): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n\r\n await connection.send(new ConversationConnectionMessage(MessageType.Text, message));\r\n }\r\n\r\n protected privDisconnect(): Promise {\r\n if (this.terminateMessageLoop) {\r\n return;\r\n }\r\n this.cancelRecognition(this.privConversationRequestSession.sessionId,\r\n this.privConversationRequestSession.requestId,\r\n CancellationReason.Error,\r\n CancellationErrorCode.NoError,\r\n \"Disconnecting\");\r\n\r\n this.terminateMessageLoop = true;\r\n return Promise.resolve();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/require-await\r\n protected async processTypeSpecificMessages(): Promise {\r\n return true;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n this.terminateMessageLoop = true;\r\n\r\n const cancelEvent: ConversationTranslationCanceledEventArgs = new ConversationTranslationCanceledEventArgs(\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined,\r\n sessionId);\r\n\r\n try {\r\n if (!!this.privConversationServiceConnector.canceled) {\r\n this.privConversationServiceConnector.canceled(this.privConversationServiceConnector, cancelEvent);\r\n }\r\n } catch {\r\n // continue on error\r\n }\r\n }\r\n\r\n /**\r\n * Establishes a websocket connection to the end point.\r\n */\r\n protected async conversationConnectImpl(connection: Promise): Promise {\r\n this.privConnectionLoop = this.startMessageLoop();\r\n return connection;\r\n }\r\n\r\n /**\r\n * Process incoming websocket messages\r\n */\r\n private async receiveConversationMessageOverride(): Promise {\r\n if (this.isDisposed() || this.terminateMessageLoop) {\r\n return Promise.resolve();\r\n }\r\n // we won't rely on the cascading promises of the connection since we want to continually be available to receive messages\r\n const communicationCustodian: Deferred = new Deferred();\r\n\r\n try {\r\n const connection: IConnection = await this.fetchConnection();\r\n const message: ConversationConnectionMessage = await connection.read() as ConversationConnectionMessage;\r\n if (this.isDisposed() || this.terminateMessageLoop) {\r\n // We're done.\r\n communicationCustodian.resolve();\r\n return Promise.resolve();\r\n }\r\n\r\n if (!message) {\r\n return this.receiveConversationMessageOverride();\r\n }\r\n\r\n const sessionId: string = this.privConversationRequestSession.sessionId;\r\n const conversationMessageType: string = message.conversationMessageType.toLowerCase();\r\n let sendFinal: boolean = false;\r\n\r\n try {\r\n switch (conversationMessageType) {\r\n case \"info\":\r\n case \"participant_command\":\r\n case \"command\":\r\n const commandPayload: CommandResponsePayload = CommandResponsePayload.fromJSON(message.textBody);\r\n switch (commandPayload.command.toLowerCase()) {\r\n\r\n /**\r\n * 'ParticpantList' is the first message sent to the user after the websocket connection has opened.\r\n * The consuming client must wait for this message to arrive\r\n * before starting to send their own data.\r\n */\r\n case \"participantlist\":\r\n\r\n const participantsPayload: IParticipantsListPayloadResponse = ParticipantsListPayloadResponse.fromJSON(message.textBody);\r\n\r\n const participantsResult: IInternalParticipant[] = participantsPayload.participants.map((p: IParticipantPayloadResponse): IInternalParticipant => {\r\n const participant: IInternalParticipant = {\r\n avatar: p.avatar,\r\n displayName: p.nickname,\r\n id: p.participantId,\r\n isHost: p.ishost,\r\n isMuted: p.ismuted,\r\n isUsingTts: p.usetts,\r\n preferredLanguage: p.locale\r\n };\r\n return participant;\r\n });\r\n\r\n if (!!this.privConversationServiceConnector.participantsListReceived) {\r\n this.privConversationServiceConnector.participantsListReceived(this.privConversationServiceConnector,\r\n new ParticipantsListEventArgs(participantsPayload.roomid, participantsPayload.token,\r\n participantsPayload.translateTo, participantsPayload.profanityFilter,\r\n participantsPayload.roomProfanityFilter, participantsPayload.roomLocked,\r\n participantsPayload.muteAll, participantsResult, sessionId));\r\n }\r\n break;\r\n\r\n /**\r\n * 'SetTranslateToLanguages' represents the list of languages being used in the Conversation by all users(?).\r\n * This is sent at the start of the Conversation\r\n */\r\n case \"settranslatetolanguages\":\r\n\r\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\r\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantAttributeEventArgs(commandPayload.participantId,\r\n ConversationTranslatorCommandTypes.setTranslateToLanguages,\r\n commandPayload.value, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'SetProfanityFiltering' lets the client set the level of profanity filtering.\r\n * If sent by the participant the setting will effect only their own profanity level.\r\n * If sent by the host, the setting will effect all participants including the host.\r\n * Note: the profanity filters differ from Speech Service (?): 'marked', 'raw', 'removed', 'tagged'\r\n */\r\n case \"setprofanityfiltering\":\r\n\r\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\r\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantAttributeEventArgs(commandPayload.participantId,\r\n ConversationTranslatorCommandTypes.setProfanityFiltering,\r\n commandPayload.value, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'SetMute' is sent if the participant has been muted by the host.\r\n * Check the 'participantId' to determine if the current user has been muted.\r\n */\r\n case \"setmute\":\r\n\r\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\r\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantAttributeEventArgs(commandPayload.participantId,\r\n ConversationTranslatorCommandTypes.setMute,\r\n commandPayload.value, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'SetMuteAll' is sent if the Conversation has been muted by the host.\r\n */\r\n case \"setmuteall\":\r\n\r\n if (!!this.privConversationServiceConnector.muteAllCommandReceived) {\r\n this.privConversationServiceConnector.muteAllCommandReceived(this.privConversationServiceConnector,\r\n new MuteAllEventArgs(commandPayload.value as boolean, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'RoomExpirationWarning' is sent towards the end of the Conversation session to give a timeout warning.\r\n */\r\n case \"roomexpirationwarning\":\r\n\r\n if (!!this.privConversationServiceConnector.conversationExpiration) {\r\n this.privConversationServiceConnector.conversationExpiration(this.privConversationServiceConnector,\r\n new ConversationExpirationEventArgs(commandPayload.value as number, this.privConversationRequestSession.sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'SetUseTts' is sent as a confirmation if the user requests TTS to be turned on or off.\r\n */\r\n case \"setusetts\":\r\n\r\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\r\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantAttributeEventArgs(commandPayload.participantId,\r\n ConversationTranslatorCommandTypes.setUseTTS,\r\n commandPayload.value, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'SetLockState' is set if the host has locked or unlocked the Conversation.\r\n */\r\n case \"setlockstate\":\r\n\r\n if (!!this.privConversationServiceConnector.lockRoomCommandReceived) {\r\n this.privConversationServiceConnector.lockRoomCommandReceived(this.privConversationServiceConnector,\r\n new LockRoomEventArgs(commandPayload.value as boolean, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'ChangeNickname' is received if a user changes their display name.\r\n * Any cached particpiants list should be updated to reflect the display name.\r\n */\r\n case \"changenickname\":\r\n\r\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\r\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantAttributeEventArgs(commandPayload.participantId,\r\n ConversationTranslatorCommandTypes.changeNickname,\r\n commandPayload.value, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'JoinSession' is sent when a user joins the Conversation.\r\n */\r\n case \"joinsession\":\r\n\r\n const joinParticipantPayload: ParticipantPayloadResponse = ParticipantPayloadResponse.fromJSON(message.textBody);\r\n\r\n const joiningParticipant: IInternalParticipant = {\r\n avatar: joinParticipantPayload.avatar,\r\n displayName: joinParticipantPayload.nickname,\r\n id: joinParticipantPayload.participantId,\r\n isHost: joinParticipantPayload.ishost,\r\n isMuted: joinParticipantPayload.ismuted,\r\n isUsingTts: joinParticipantPayload.usetts,\r\n preferredLanguage: joinParticipantPayload.locale,\r\n };\r\n\r\n if (!!this.privConversationServiceConnector.participantJoinCommandReceived) {\r\n this.privConversationServiceConnector.participantJoinCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantEventArgs(\r\n joiningParticipant,\r\n sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'LeaveSession' is sent when a user leaves the Conversation'.\r\n */\r\n case \"leavesession\":\r\n\r\n const leavingParticipant: IInternalParticipant = {\r\n id: commandPayload.participantId\r\n };\r\n\r\n if (!!this.privConversationServiceConnector.participantLeaveCommandReceived) {\r\n this.privConversationServiceConnector.participantLeaveCommandReceived(this.privConversationServiceConnector,\r\n new ParticipantEventArgs(leavingParticipant, sessionId));\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * 'DisconnectSession' is sent when a user is disconnected from the session (e.g. network problem).\r\n * Check the 'ParticipantId' to check whether the message is for the current user.\r\n */\r\n case \"disconnectsession\":\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const disconnectParticipant: IInternalParticipant = {\r\n id: commandPayload.participantId\r\n };\r\n\r\n break;\r\n\r\n case \"token\":\r\n const token = new CognitiveTokenAuthentication(\r\n (): Promise => {\r\n const authorizationToken = commandPayload.token;\r\n return Promise.resolve(authorizationToken);\r\n },\r\n (): Promise => {\r\n const authorizationToken = commandPayload.token;\r\n return Promise.resolve(authorizationToken);\r\n });\r\n this.authentication = token;\r\n this.privConversationServiceConnector.onToken(token);\r\n\r\n break;\r\n\r\n /**\r\n * Message not recognized.\r\n */\r\n default:\r\n break;\r\n }\r\n break;\r\n\r\n /**\r\n * 'partial' (or 'hypothesis') represents a unfinalized speech message.\r\n */\r\n case \"partial\":\r\n\r\n /**\r\n * 'final' (or 'phrase') represents a finalized speech message.\r\n */\r\n case \"final\":\r\n\r\n const speechPayload: SpeechResponsePayload = SpeechResponsePayload.fromJSON(message.textBody);\r\n const conversationResultReason: ResultReason = (conversationMessageType === \"final\") ? ResultReason.TranslatedParticipantSpeech : ResultReason.TranslatingParticipantSpeech;\r\n\r\n const speechResult: ConversationTranslationResult = new ConversationTranslationResult(speechPayload.participantId,\r\n this.getTranslations(speechPayload.translations),\r\n speechPayload.language,\r\n speechPayload.id,\r\n conversationResultReason,\r\n speechPayload.recognition,\r\n undefined,\r\n undefined,\r\n message.textBody,\r\n undefined);\r\n\r\n if (speechPayload.isFinal) {\r\n // check the length, sometimes empty finals are returned\r\n if (speechResult.text !== undefined && speechResult.text.length > 0) {\r\n sendFinal = true;\r\n } else if (speechPayload.id === this.privLastPartialUtteranceId) {\r\n // send final as normal. We had a non-empty partial for this same utterance\r\n // so sending the empty final is important\r\n sendFinal = true;\r\n } else {\r\n // suppress unneeded final\r\n }\r\n\r\n if (sendFinal) {\r\n if (!!this.privConversationServiceConnector.translationReceived) {\r\n this.privConversationServiceConnector.translationReceived(this.privConversationServiceConnector,\r\n new ConversationReceivedTranslationEventArgs(ConversationTranslatorMessageTypes.final, speechResult, sessionId));\r\n }\r\n }\r\n } else if (speechResult.text !== undefined) {\r\n this.privLastPartialUtteranceId = speechPayload.id;\r\n if (!!this.privConversationServiceConnector.translationReceived) {\r\n this.privConversationServiceConnector.translationReceived(this.privConversationServiceConnector,\r\n new ConversationReceivedTranslationEventArgs(ConversationTranslatorMessageTypes.partial, speechResult, sessionId));\r\n }\r\n }\r\n\r\n break;\r\n\r\n /**\r\n * \"translated_message\" is a text message or instant message (IM).\r\n */\r\n case \"translated_message\":\r\n\r\n const textPayload: TextResponsePayload = TextResponsePayload.fromJSON(message.textBody);\r\n // TODO: (Native parity) a result reason should be set based whether the participantId is ours or not\r\n\r\n const textResult: ConversationTranslationResult = new ConversationTranslationResult(textPayload.participantId,\r\n this.getTranslations(textPayload.translations),\r\n textPayload.language,\r\n undefined,\r\n undefined,\r\n textPayload.originalText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n message.textBody,\r\n undefined);\r\n\r\n if (!!this.privConversationServiceConnector.translationReceived) {\r\n this.privConversationServiceConnector.translationReceived(this.privConversationServiceConnector,\r\n new ConversationReceivedTranslationEventArgs(ConversationTranslatorMessageTypes.instantMessage, textResult, sessionId));\r\n }\r\n break;\r\n\r\n default:\r\n // ignore any unsupported message types\r\n break;\r\n }\r\n } catch (e) {\r\n // continue\r\n }\r\n return this.receiveConversationMessageOverride();\r\n } catch (e) {\r\n this.terminateMessageLoop = true;\r\n }\r\n\r\n return communicationCustodian.promise;\r\n }\r\n\r\n private async startMessageLoop(): Promise {\r\n if (this.isDisposed()) {\r\n return Promise.resolve();\r\n }\r\n this.terminateMessageLoop = false;\r\n\r\n const messageRetrievalPromise = this.receiveConversationMessageOverride();\r\n\r\n try {\r\n const r = await messageRetrievalPromise;\r\n return r;\r\n } catch (error) {\r\n this.cancelRecognition(this.privRequestSession ? this.privRequestSession.sessionId : \"\", this.privRequestSession ? this.privRequestSession.requestId : \"\", CancellationReason.Error, CancellationErrorCode.RuntimeError, error as string);\r\n return null;\r\n }\r\n }\r\n\r\n // Takes an established websocket connection to the endpoint\r\n private configConnection(): Promise {\r\n if (this.isDisposed()) {\r\n return Promise.resolve(undefined);\r\n }\r\n if (this.privConnectionConfigPromise !== undefined) {\r\n return this.privConnectionConfigPromise.then((connection: IConnection): Promise => {\r\n if (connection.state() === ConnectionState.Disconnected) {\r\n this.privConnectionId = null;\r\n this.privConnectionConfigPromise = undefined;\r\n return this.configConnection();\r\n }\r\n return this.privConnectionConfigPromise;\r\n }, (): Promise => {\r\n this.privConnectionId = null;\r\n this.privConnectionConfigPromise = undefined;\r\n return this.configConnection();\r\n });\r\n }\r\n if (this.terminateMessageLoop) {\r\n return Promise.resolve(undefined);\r\n }\r\n\r\n this.privConnectionConfigPromise = this.connectImpl().then((connection: IConnection): IConnection => connection);\r\n\r\n return this.privConnectionConfigPromise;\r\n }\r\n\r\n private getTranslations(serviceResultTranslations: ITranslationResponsePayload[]): Translations {\r\n let translations: Translations;\r\n\r\n if (undefined !== serviceResultTranslations) {\r\n translations = new Translations();\r\n for (const translation of serviceResultTranslations) {\r\n translations.set(translation.lang, translation.translation);\r\n }\r\n }\r\n\r\n return translations;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n RestConfigBase,\r\n WebsocketConnection,\r\n} from \"../../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary,\r\n} from \"../../common/Exports.js\";\r\nimport { StringUtils } from \"../../common/StringUtils.js\";\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport {\r\n PropertyId\r\n} from \"../../sdk/Exports.js\";\r\nimport {\r\n ConversationImpl\r\n} from \"../../sdk/Transcription/Conversation.js\";\r\nimport { HeaderNames } from \"../HeaderNames.js\";\r\nimport { QueryParameterNames } from \"../QueryParameterNames.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./../ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n RecognizerConfig,\r\n TranscriberConnectionFactory,\r\n TranslationConnectionFactory,\r\n WebsocketMessageFormatter,\r\n} from \"./../Exports.js\";\r\n\r\n/**\r\n * Connection factory for the conversation translator. Handles connecting to the regular translator endpoint,\r\n * as well as the virtual microphone array transcription endpoint\r\n */\r\nexport class ConversationTranslatorConnectionFactory extends ConnectionFactoryBase {\r\n\r\n private static readonly CTS_VIRT_MIC_PATH: string = \"/speech/recognition/dynamicaudio\";\r\n\r\n private privConvGetter: () => ConversationImpl;\r\n\r\n public constructor(convGetter: () => ConversationImpl) {\r\n super();\r\n\r\n Contracts.throwIfNullOrUndefined(convGetter, \"convGetter\");\r\n this.privConvGetter = convGetter;\r\n }\r\n\r\n public create(config: RecognizerConfig, authInfo: AuthInfo, connectionId?: string): IConnection {\r\n const isVirtMicArrayEndpoint = config.parameters.getProperty(\"ConversationTranslator_MultiChannelAudio\", \"\").toUpperCase() === \"TRUE\";\r\n\r\n const convInfo = this.privConvGetter().room;\r\n const region = convInfo.cognitiveSpeechRegion || config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region, \"\");\r\n\r\n const replacementValues: IStringDictionary = {\r\n hostSuffix: ConnectionFactoryBase.getHostSuffix(region),\r\n path: ConversationTranslatorConnectionFactory.CTS_VIRT_MIC_PATH,\r\n region: encodeURIComponent(region)\r\n };\r\n replacementValues[QueryParameterNames.Language] = encodeURIComponent(config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage, \"\"));\r\n replacementValues[QueryParameterNames.CtsMeetingId] = encodeURIComponent(convInfo.roomId);\r\n replacementValues[QueryParameterNames.CtsDeviceId] = encodeURIComponent(convInfo.participantId);\r\n replacementValues[QueryParameterNames.CtsIsParticipant] = convInfo.isHost ? \"\" : (\"&\" + QueryParameterNames.CtsIsParticipant);\r\n\r\n let endpointUrl: string = \"\";\r\n const queryParams: IStringDictionary = {};\r\n const headers: IStringDictionary = {};\r\n\r\n if (isVirtMicArrayEndpoint) {\r\n // connecting to the conversation transcription virtual microphone array endpoint\r\n endpointUrl = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint);\r\n if (!endpointUrl) {\r\n const hostName = config.parameters.getProperty(\r\n PropertyId.SpeechServiceConnection_Host,\r\n \"transcribe.{region}.cts.speech{hostSuffix}\");\r\n\r\n endpointUrl = \"wss://\" + hostName + \"{path}\";\r\n }\r\n\r\n // because the region can change during a session, we support being passed a format string which we can then\r\n // replace with the correct information.\r\n endpointUrl = StringUtils.formatString(endpointUrl, replacementValues);\r\n\r\n const parsedUrl = new URL(endpointUrl);\r\n parsedUrl.searchParams.forEach((val: string, key: string): void => {\r\n queryParams[key] = val;\r\n });\r\n\r\n const connFactory = new TranscriberConnectionFactory();\r\n connFactory.setQueryParams(queryParams, config, endpointUrl);\r\n\r\n // Some query parameters are required for the CTS endpoint, let's explicity set them here\r\n queryParams[QueryParameterNames.CtsMeetingId] = replacementValues[QueryParameterNames.CtsMeetingId];\r\n queryParams[QueryParameterNames.CtsDeviceId] = replacementValues[QueryParameterNames.CtsDeviceId];\r\n if (!convInfo.isHost) {\r\n queryParams[QueryParameterNames.CtsIsParticipant] = \"\"; // this doesn't have a value so set to an empty string\r\n }\r\n\r\n if (!(QueryParameterNames.Format in queryParams)) {\r\n queryParams[QueryParameterNames.Format] = \"simple\";\r\n }\r\n\r\n parsedUrl.searchParams.forEach((val: string, key: string): void => {\r\n parsedUrl.searchParams.set(key, queryParams[key]);\r\n delete queryParams[key];\r\n });\r\n\r\n endpointUrl = parsedUrl.toString();\r\n\r\n } else {\r\n // connecting to regular translation endpoint\r\n const connFactory = new TranslationConnectionFactory();\r\n\r\n endpointUrl = connFactory.getEndpointUrl(config, true);\r\n endpointUrl = StringUtils.formatString(endpointUrl, replacementValues);\r\n\r\n connFactory.setQueryParams(queryParams, config, endpointUrl);\r\n }\r\n\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n headers[RestConfigBase.configParams.token] = convInfo.token;\r\n if (!!authInfo.token) {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n\r\n const enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"\").toUpperCase() === \"TRUE\";\r\n return new WebsocketConnection(endpointUrl, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n/* eslint-disable max-classes-per-file */\r\nimport { ConversationTranslationResult, SessionEventArgs } from \"../../sdk/Exports.js\";\r\nimport { IInternalParticipant } from \"./ConversationTranslatorInterfaces.js\";\r\n\r\nexport class MuteAllEventArgs extends SessionEventArgs {\r\n private privIsMuted: boolean;\r\n\r\n public constructor(isMuted: boolean, sessionId?: string) {\r\n super(sessionId);\r\n\r\n this.privIsMuted = isMuted;\r\n }\r\n\r\n public get isMuted(): boolean {\r\n return this.privIsMuted;\r\n }\r\n}\r\n\r\nexport class LockRoomEventArgs extends SessionEventArgs {\r\n private privIsLocked: boolean;\r\n\r\n public constructor(isLocked: boolean, sessionId?: string) {\r\n super(sessionId);\r\n\r\n this.privIsLocked = isLocked;\r\n }\r\n\r\n public get isMuted(): boolean {\r\n return this.privIsLocked;\r\n }\r\n}\r\n\r\nexport class ParticipantEventArgs extends SessionEventArgs {\r\n private privParticipant: IInternalParticipant;\r\n\r\n public constructor(participant: IInternalParticipant, sessionId?: string) {\r\n super(sessionId);\r\n this.privParticipant = participant;\r\n }\r\n\r\n public get participant(): IInternalParticipant {\r\n return this.privParticipant;\r\n }\r\n}\r\n\r\nexport class ParticipantAttributeEventArgs extends SessionEventArgs {\r\n private privValue: boolean | number | string | string[];\r\n private privKey: string;\r\n private privParticipantId: string;\r\n\r\n public constructor(participantId: string, key: string, value: boolean | number | string | string[], sessionId?: string) {\r\n super(sessionId);\r\n\r\n this.privKey = key;\r\n this.privValue = value;\r\n this.privParticipantId = participantId;\r\n }\r\n\r\n public get value(): boolean | number | string | string[] {\r\n return this.privValue;\r\n }\r\n\r\n public get key(): string {\r\n return this.privKey;\r\n }\r\n public get id(): string {\r\n return this.privParticipantId;\r\n }\r\n}\r\n\r\nexport class ParticipantsListEventArgs extends SessionEventArgs {\r\n\r\n private privRoomId: string;\r\n private privSessionToken: string;\r\n private privTranslateTo: string[];\r\n private privProfanityFilter: string;\r\n private privRoomProfanityFilter: string;\r\n private privIsRoomLocked: boolean;\r\n private privIsMuteAll: boolean;\r\n private privParticipants: IInternalParticipant[];\r\n\r\n public constructor(conversationId: string, token: string, translateTo: string[], profanityFilter: string,\r\n roomProfanityFilter: string, isRoomLocked: boolean, isMuteAll: boolean, participants: IInternalParticipant[], sessionId?: string) {\r\n super(sessionId);\r\n this.privRoomId = conversationId;\r\n this.privSessionToken = token;\r\n this.privTranslateTo = translateTo;\r\n this.privProfanityFilter = profanityFilter;\r\n this.privRoomProfanityFilter = roomProfanityFilter;\r\n this.privIsRoomLocked = isRoomLocked;\r\n this.privIsRoomLocked = isMuteAll;\r\n this.privParticipants = participants;\r\n }\r\n public get sessionToken(): string {\r\n return this.privSessionToken;\r\n }\r\n\r\n public get conversationId(): string {\r\n return this.privRoomId;\r\n }\r\n\r\n public get translateTo(): string[] {\r\n return this.privTranslateTo;\r\n }\r\n\r\n public get profanityFilter(): string {\r\n return this.privProfanityFilter;\r\n }\r\n\r\n public get roomProfanityFilter(): string {\r\n return this.privRoomProfanityFilter;\r\n }\r\n\r\n public get isRoomLocked(): boolean {\r\n return this.privIsRoomLocked;\r\n }\r\n\r\n public get isMuteAll(): boolean {\r\n return this.privIsMuteAll;\r\n }\r\n\r\n public get participants(): IInternalParticipant[] {\r\n return this.privParticipants;\r\n }\r\n}\r\n\r\nexport class ConversationReceivedTranslationEventArgs {\r\n private privPayload: ConversationTranslationResult;\r\n private privCommand: string;\r\n private privSessionId: string;\r\n\r\n public constructor(command: string, payload: ConversationTranslationResult, sessionId?: string) {\r\n this.privPayload = payload;\r\n this.privCommand = command;\r\n this.privSessionId = sessionId;\r\n }\r\n\r\n public get payload(): ConversationTranslationResult {\r\n return this.privPayload;\r\n }\r\n\r\n public get command(): string {\r\n return this.privCommand;\r\n }\r\n\r\n public get sessionId(): string {\r\n return this.privSessionId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ConnectionEventArgs,\r\n ConversationExpirationEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n SessionEventArgs,\r\n } from \"../../sdk/Exports.js\";\r\n// import { ConversationClient } from \"./ConversationConnection\";\r\nimport {\r\n ConversationReceivedTranslationEventArgs,\r\n LockRoomEventArgs,\r\n MuteAllEventArgs,\r\n ParticipantAttributeEventArgs,\r\n ParticipantEventArgs,\r\n ParticipantsListEventArgs } from \"./ConversationTranslatorEventArgs.js\";\r\n\r\n/**\r\n * Internal conversation data\r\n */\r\nexport interface IInternalConversation {\r\n // the token to use for connecting to the Speech Service\r\n cognitiveSpeechAuthToken: string;\r\n // the region to use for connecting to the Speech Service\r\n cognitiveSpeechRegion: string;\r\n // the unique id of the user who started or joined the Conversation\r\n participantId: string;\r\n // a descriptive name for the Conversation\r\n name: string;\r\n // a descriptive name for the Conversation\r\n description: string;\r\n // the speech model ID for custom speech\r\n speechModel: string;\r\n // represents the level of speech supported in the Conversation (0: everyone can speak, 2: only host can speak, 3: no-one can speak)\r\n modalities: number;\r\n // ?\r\n isApproved: boolean;\r\n // the mute flag has been set at conversation level and only the host can speak\r\n isMuted: boolean;\r\n // the 5 character conversation Id\r\n roomId: string;\r\n // the hex color string to represent a user. If there are many users this hex color may be reused (?).\r\n avatar: string;\r\n // the token to use when calling the websocket\r\n token: string;\r\n // used for tracking the session and help with troubleshooting problems in the logs\r\n correlationId: string;\r\n // extracted from the headers\r\n requestId: string;\r\n // set programmatically\r\n isHost: boolean;\r\n}\r\n\r\n/**\r\n * The user who is participating in the conversation.\r\n */\r\nexport interface IInternalParticipant {\r\n avatar?: string;\r\n displayName?: string;\r\n id?: string;\r\n isHost?: boolean;\r\n isMuted?: boolean;\r\n isUsingTts?: boolean;\r\n profanity?: boolean;\r\n preferredLanguage?: string;\r\n translateToLanguages?: string[];\r\n voice?: string;\r\n}\r\n\r\n/** Users participating in the conversation */\r\nexport class InternalParticipants {\r\n\r\n public constructor(public participants: IInternalParticipant[] = [], public meId?: string) {\r\n\r\n }\r\n\r\n /**\r\n * Add or update a participant\r\n * @param value\r\n */\r\n public addOrUpdateParticipant(value: IInternalParticipant): IInternalParticipant {\r\n if (value === undefined) {\r\n return;\r\n }\r\n\r\n const exists: number = this.getParticipantIndex(value.id);\r\n if (exists > -1) {\r\n this.participants.splice(exists, 1, value);\r\n } else {\r\n this.participants.push(value);\r\n }\r\n\r\n // ensure it was added ok\r\n return this.getParticipant(value.id);\r\n }\r\n\r\n /**\r\n * Find the participant's position in the participants list.\r\n * @param id\r\n */\r\n public getParticipantIndex(id: string): number {\r\n return this.participants.findIndex((p: IInternalParticipant): boolean => p.id === id);\r\n }\r\n\r\n /**\r\n * Find the participant by id.\r\n * @param id\r\n */\r\n public getParticipant(id: string): IInternalParticipant {\r\n return this.participants.find((p: IInternalParticipant): boolean => p.id === id);\r\n }\r\n\r\n /**\r\n * Remove a participant from the participants list.\r\n */\r\n public deleteParticipant(id: string): void {\r\n this.participants = this.participants.filter((p: IInternalParticipant): boolean => p.id !== id);\r\n }\r\n\r\n /**\r\n * Helper to return the conversation host.\r\n */\r\n public get host(): IInternalParticipant {\r\n return this.participants.find((p: IInternalParticipant): boolean => p.isHost === true );\r\n }\r\n\r\n /**\r\n * Helper to return the current user.\r\n */\r\n public get me(): IInternalParticipant {\r\n return this.getParticipant(this.meId);\r\n }\r\n}\r\n\r\n/**\r\n * Recognizer for handling Conversation Translator websocket messages\r\n */\r\nexport interface ConversationRecognizer {\r\n isDisposed(): boolean;\r\n sendRequest: (command: string, cb?: () => void, err?: (e: string) => void) => void;\r\n cancelSpeech?: () => Promise;\r\n close?: () => Promise;\r\n conversationExpiration?: (sender: ConversationRecognizer, event: ConversationExpirationEventArgs) => void;\r\n connected?: (e: ConnectionEventArgs) => void;\r\n disconnected?: (e: ConnectionEventArgs) => void;\r\n canceled?: (sender: ConversationRecognizer, event: ConversationTranslationCanceledEventArgs) => void;\r\n connectionOpened?: (sender: ConversationRecognizer, event: SessionEventArgs) => void;\r\n connectionClosed?: (sender: ConversationRecognizer, event: SessionEventArgs) => void;\r\n participantsListReceived?: (sender: ConversationRecognizer, event: ParticipantsListEventArgs) => void;\r\n translationReceived?: (sender: ConversationRecognizer, event: ConversationReceivedTranslationEventArgs) => void;\r\n lockRoomCommandReceived?: (sender: ConversationRecognizer, event: LockRoomEventArgs) => void;\r\n muteAllCommandReceived?: (sender: ConversationRecognizer, event: MuteAllEventArgs) => void;\r\n participantJoinCommandReceived?: (sender: ConversationRecognizer, event: ParticipantEventArgs) => void;\r\n participantLeaveCommandReceived?: (sender: ConversationRecognizer, event: ParticipantEventArgs) => void;\r\n participantUpdateCommandReceived?: (sender: ConversationRecognizer, event: ParticipantAttributeEventArgs) => void;\r\n connect?: (token: string, cb?: () => void, err?: (e: string) => void) => void;\r\n}\r\n\r\n/**\r\n * Error message returned from the Conversation Translator websocket\r\n */\r\nexport interface IConversationResponseErrorMessage {\r\n code: string;\r\n message: string;\r\n}\r\n\r\n/**\r\n * Error returned from the Conversation Translator websocket\r\n */\r\nexport interface IConversationResponseError {\r\n error: IConversationResponseErrorMessage;\r\n}\r\n\r\n/**\r\n * Base message command\r\n */\r\nexport interface IClientMessage {\r\n type: any;\r\n}\r\n\r\n/**\r\n * Command message\r\n */\r\nexport interface ICommandMessage extends IClientMessage {\r\n command?: string;\r\n}\r\n\r\n/**\r\n * Text message command\r\n */\r\nexport interface IInstantMessageCommand extends ICommandMessage {\r\n roomId: string;\r\n nickname?: string;\r\n participantId: string;\r\n text: string;\r\n}\r\n\r\n/**\r\n * Lock command\r\n */\r\nexport interface ILockConversationCommand extends ICommandMessage {\r\n id?: string; // incoming ws\r\n nickname?: string; // incoming ws\r\n participantId: string; // host - incoming ws\r\n roomid: string;\r\n value: boolean;\r\n}\r\n\r\n/**\r\n * Mute all command\r\n */\r\nexport interface IMuteAllCommand extends ICommandMessage {\r\n roomid: string;\r\n nickname?: string; // incoming ws\r\n participantId: string; // host\r\n value: boolean;\r\n id?: string; // incoming ws\r\n}\r\n\r\n/**\r\n * Mute participant command\r\n */\r\nexport interface IMuteCommand extends ICommandMessage {\r\n roomid: string;\r\n nickname?: string;\r\n participantId: string; // participant\r\n value: boolean;\r\n id?: string; // incoming ws\r\n}\r\n\r\n/**\r\n * Remove participant command\r\n */\r\nexport interface IEjectParticipantCommand extends ICommandMessage {\r\n roomid: string;\r\n participantId: string; // participant\r\n}\r\n\r\n/**\r\n * Change nickname command\r\n */\r\nexport interface IChangeNicknameCommand extends ICommandMessage {\r\n roomid: string;\r\n participantId: string;\r\n nickname: string;\r\n value: string;\r\n}\r\n\r\n/**\r\n * List of command message types\r\n */\r\nexport const ConversationTranslatorMessageTypes = {\r\n command: \"command\",\r\n final: \"final\",\r\n info: \"info\",\r\n instantMessage: \"instant_message\",\r\n keepAlive: \"keep_alive\",\r\n partial: \"partial\",\r\n participantCommand: \"participant_command\",\r\n translatedMessage: \"translated_message\"\r\n};\r\n\r\n/**\r\n * List of command types\r\n */\r\nexport const ConversationTranslatorCommandTypes = {\r\n changeNickname: \"ChangeNickname\",\r\n disconnectSession: \"DisconnectSession\",\r\n ejectParticipant: \"EjectParticipant\",\r\n instant_message: \"instant_message\",\r\n joinSession: \"JoinSession\",\r\n leaveSession: \"LeaveSession\",\r\n participantList: \"ParticipantList\",\r\n roomExpirationWarning: \"RoomExpirationWarning\",\r\n setLockState: \"SetLockState\",\r\n setMute: \"SetMute\",\r\n setMuteAll: \"SetMuteAll\",\r\n setProfanityFiltering: \"SetProfanityFiltering\",\r\n setTranslateToLanguages: \"SetTranslateToLanguages\",\r\n setUseTTS: \"SetUseTTS\"\r\n};\r\n\r\n/**\r\n * HTTP response helper\r\n */\r\nexport interface IResponse {\r\n ok: boolean;\r\n status: number;\r\n statusText: string;\r\n data: string;\r\n json: () => T;\r\n headers: string;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig\r\n} from \"../../common.speech/Exports.js\";\r\nimport {\r\n BackgroundEvent,\r\n Events,\r\n Timeout,\r\n} from \"../../common/Exports.js\";\r\nimport { AudioConfigImpl } from \"../../sdk/Audio/AudioConfig.js\";\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n Connection,\r\n ConnectionEventArgs,\r\n ConversationExpirationEventArgs,\r\n ConversationParticipantsChangedEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n SessionEventArgs,\r\n SpeechTranslationConfig\r\n} from \"../../sdk/Exports.js\";\r\nimport { SpeechTranslationConfigImpl } from \"../../sdk/SpeechTranslationConfig.js\";\r\nimport { ConversationImpl } from \"../../sdk/Transcription/Conversation.js\";\r\nimport { Callback, IConversation } from \"../../sdk/Transcription/IConversation.js\";\r\nimport { ConversationConnectionFactory } from \"./ConversationConnectionFactory.js\";\r\nimport { ConversationServiceAdapter } from \"./ConversationServiceAdapter.js\";\r\nimport {\r\n ConversationReceivedTranslationEventArgs,\r\n LockRoomEventArgs,\r\n MuteAllEventArgs,\r\n ParticipantAttributeEventArgs,\r\n ParticipantEventArgs,\r\n ParticipantsListEventArgs\r\n} from \"./ConversationTranslatorEventArgs.js\";\r\nimport {\r\n ConversationRecognizer,\r\n} from \"./ConversationTranslatorInterfaces.js\";\r\n\r\nexport class ConversationRecognizerFactory {\r\n public static fromConfig(conversation: IConversation, speechConfig: SpeechTranslationConfig, audioConfig?: AudioConfig): ConversationRecognizer {\r\n return new ConversationTranslatorRecognizer(conversation, speechConfig, audioConfig);\r\n }\r\n}\r\n\r\n/**\r\n * Sends messages to the Conversation Translator websocket and listens for incoming events containing websocket messages.\r\n * Based off the recognizers in the SDK folder.\r\n */\r\nexport class ConversationTranslatorRecognizer extends Recognizer implements ConversationRecognizer {\r\n\r\n private privIsDisposed: boolean;\r\n private privSpeechRecognitionLanguage: string;\r\n private privConnection: Connection;\r\n private privConversation: ConversationImpl;\r\n private privTimeoutToken: any;\r\n private privSetTimeout: (cb: () => void, delay: number) => number;\r\n private privClearTimeout: (id: number) => void;\r\n\r\n public constructor(conversation: IConversation, speechConfig: SpeechTranslationConfig, audioConfig?: AudioConfig) {\r\n const serviceConfigImpl = speechConfig as SpeechTranslationConfigImpl;\r\n Contracts.throwIfNull(serviceConfigImpl, \"speechConfig\");\r\n const conversationImpl = conversation as ConversationImpl;\r\n Contracts.throwIfNull(conversationImpl, \"conversationImpl\");\r\n\r\n super(audioConfig, serviceConfigImpl.properties, new ConversationConnectionFactory());\r\n\r\n this.privConversation = conversationImpl;\r\n this.privIsDisposed = false;\r\n this.privProperties = serviceConfigImpl.properties.clone();\r\n this.privConnection = Connection.fromRecognizer(this);\r\n const webWorkerLoadType: string = this.privProperties.getProperty(PropertyId.WebWorkerLoadType, \"on\").toLowerCase();\r\n if (webWorkerLoadType === \"on\" && typeof (Blob) !== \"undefined\" && typeof (Worker) !== \"undefined\") {\r\n this.privSetTimeout = Timeout.setTimeout;\r\n this.privClearTimeout = Timeout.clearTimeout;\r\n } else {\r\n if (typeof window !== \"undefined\") {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n this.privSetTimeout = window.setTimeout.bind(window);\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n this.privClearTimeout = window.clearTimeout.bind(window);\r\n } else {\r\n this.privSetTimeout = setTimeout;\r\n this.privClearTimeout = clearTimeout;\r\n }\r\n }\r\n }\r\n\r\n public canceled: (sender: ConversationRecognizer, event: ConversationTranslationCanceledEventArgs) => void;\r\n public conversationExpiration: (sender: ConversationRecognizer, event: ConversationExpirationEventArgs) => void;\r\n public lockRoomCommandReceived: (sender: ConversationRecognizer, event: LockRoomEventArgs) => void;\r\n public muteAllCommandReceived: (sender: ConversationRecognizer, event: MuteAllEventArgs) => void;\r\n public participantJoinCommandReceived: (sender: ConversationRecognizer, event: ParticipantEventArgs) => void;\r\n public participantLeaveCommandReceived: (sender: ConversationRecognizer, event: ParticipantEventArgs) => void;\r\n public participantUpdateCommandReceived: (sender: ConversationRecognizer, event: ParticipantAttributeEventArgs) => void;\r\n public connectionOpened: (sender: ConversationRecognizer, event: SessionEventArgs) => void;\r\n public connectionClosed: (sender: ConversationRecognizer, event: SessionEventArgs) => void;\r\n public translationReceived: (sender: ConversationRecognizer, event: ConversationReceivedTranslationEventArgs) => void;\r\n public participantsListReceived: (sender: ConversationRecognizer, event: ParticipantsListEventArgs) => void;\r\n public participantsChanged: (sender: ConversationRecognizer, event: ConversationParticipantsChangedEventArgs) => void;\r\n\r\n public set connected(cb: (e: ConnectionEventArgs) => void) {\r\n this.privConnection.connected = cb;\r\n }\r\n\r\n public set disconnected(cb: (e: ConnectionEventArgs) => void) {\r\n this.privConnection.disconnected = cb;\r\n }\r\n\r\n /**\r\n * Return the speech language used by the recognizer\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n return this.privSpeechRecognitionLanguage;\r\n }\r\n\r\n /**\r\n * Return the properties for the recognizer\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n /**\r\n * Connect to the recognizer\r\n * @param token\r\n */\r\n public connect(token: string, cb?: () => void, err?: (e: string) => void): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.privReco.conversationTranslatorToken = token;\r\n this.resetConversationTimeout();\r\n this.privReco.connectAsync(cb, err);\r\n } catch (error) {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Disconnect from the recognizer\r\n */\r\n public disconnect(cb?: () => void, err?: (e: string) => void): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n if (this.privTimeoutToken !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n this.privClearTimeout(this.privTimeoutToken);\r\n }\r\n this.privReco.disconnect().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n } catch (error) {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n // Destroy the recognizer.\r\n this.dispose(true).catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Send the mute all participants command to the websocket\r\n * @param conversationId\r\n * @param participantId\r\n * @param isMuted\r\n */\r\n public sendRequest(command: string, cb?: () => void, err?: (e: string) => void): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n this.sendMessage(command, cb, err);\r\n } catch (error) {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n\r\n // Destroy the recognizer.\r\n this.dispose(true).catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Handle update of service auth token (#694)\r\n */\r\n public onToken(token: IAuthentication): void {\r\n this.privConversation.onToken(token);\r\n }\r\n\r\n /**\r\n * Close and dispose the recognizer\r\n */\r\n public async close(): Promise {\r\n if (!this.privIsDisposed) {\r\n if (!!this.privConnection) {\r\n this.privConnection.closeConnection();\r\n this.privConnection.close();\r\n }\r\n this.privConnection = undefined;\r\n await this.dispose(true);\r\n }\r\n }\r\n\r\n /**\r\n * Dispose the recognizer\r\n * @param disposing\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privIsDisposed) {\r\n return;\r\n }\r\n if (disposing) {\r\n if (this.privTimeoutToken !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n this.privClearTimeout(this.privTimeoutToken);\r\n }\r\n this.privIsDisposed = true;\r\n if (!!this.privConnection) {\r\n this.privConnection.closeConnection();\r\n this.privConnection.close();\r\n this.privConnection = undefined;\r\n }\r\n await super.dispose(disposing);\r\n }\r\n }\r\n\r\n /**\r\n * Create the config for the recognizer\r\n * @param speechConfig\r\n */\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n /**\r\n * Create the service recognizer.\r\n * The audio source is redundnant here but is required by the implementation.\r\n * @param authentication\r\n * @param connectionFactory\r\n * @param audioConfig\r\n * @param recognizerConfig\r\n */\r\n protected createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n\r\n const audioSource: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n\r\n return new ConversationServiceAdapter(authentication, connectionFactory, audioSource, recognizerConfig, this);\r\n }\r\n\r\n private sendMessage(msg: string, cb?: Callback, err?: Callback): void {\r\n const withAsync = this.privReco as ConversationServiceAdapter;\r\n const PromiseToEmptyCallback = (promise: Promise, cb?: Callback, err?: Callback): void => {\r\n if (promise !== undefined) {\r\n promise.then((): void => {\r\n try {\r\n if (!!cb) {\r\n cb();\r\n }\r\n } catch (e) {\r\n if (!!err) {\r\n err(`'Unhandled error on promise callback: ${e as string}'`);\r\n }\r\n }\r\n }, (reason: any): void => {\r\n try {\r\n if (!!err) {\r\n err(reason);\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch (error) { }\r\n });\r\n } else {\r\n if (!!err) {\r\n err(\"Null promise\");\r\n }\r\n }\r\n };\r\n\r\n PromiseToEmptyCallback(withAsync.sendMessageAsync(msg), cb, err);\r\n this.resetConversationTimeout();\r\n }\r\n\r\n private resetConversationTimeout(): void {\r\n if (this.privTimeoutToken !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n this.privClearTimeout(this.privTimeoutToken);\r\n }\r\n\r\n this.privTimeoutToken = this.privSetTimeout((): void => {\r\n this.sendRequest(this.privConversation.getKeepAlive());\r\n }, 60000);\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ConnectionMessage,\r\n Deferred,\r\n IWebsocketMessageFormatter,\r\n MessageType,\r\n RawWebsocketMessage,\r\n} from \"../../common/Exports.js\";\r\nimport { ConversationConnectionMessage } from \"./ConversationConnectionMessage.js\";\r\n\r\n/**\r\n * Based off WebsocketMessageFormatter. The messages for Conversation Translator have some variations from the Speech messages.\r\n */\r\nexport class ConversationWebsocketMessageFormatter implements IWebsocketMessageFormatter {\r\n\r\n /**\r\n * Format incoming messages: text (speech partial/final, IM) or binary (tts)\r\n */\r\n public toConnectionMessage(message: RawWebsocketMessage): Promise {\r\n const deferral = new Deferred();\r\n\r\n try {\r\n if (message.messageType === MessageType.Text) {\r\n const incomingMessage: ConversationConnectionMessage = new ConversationConnectionMessage(message.messageType, message.textContent, {}, message.id);\r\n deferral.resolve(incomingMessage);\r\n } else if (message.messageType === MessageType.Binary) {\r\n deferral.resolve(new ConversationConnectionMessage(message.messageType, message.binaryContent, undefined, message.id));\r\n }\r\n } catch (e) {\r\n deferral.reject(`Error formatting the message. Error: ${e as string}`);\r\n }\r\n\r\n return deferral.promise;\r\n }\r\n\r\n /**\r\n * Format outgoing messages: text (commands or IM)\r\n */\r\n public fromConnectionMessage(message: ConnectionMessage): Promise {\r\n\r\n const deferral = new Deferred();\r\n\r\n try {\r\n if (message.messageType === MessageType.Text) {\r\n const payload = `${message.textBody ? message.textBody : \"\"}`;\r\n deferral.resolve(new RawWebsocketMessage(MessageType.Text, payload, message.id));\r\n }\r\n } catch (e) {\r\n deferral.reject(`Error formatting the message. ${e as string}`);\r\n }\r\n\r\n return deferral.promise;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport { ConversationManager } from \"./ConversationManager.js\";\r\nexport { ConversationConnectionConfig } from \"./ConversationConnectionConfig.js\";\r\nexport { ConversationRecognizerFactory } from \"./ConversationTranslatorRecognizer.js\";\r\nexport { TranscriberRecognizer } from \"./TranscriberRecognizer.js\";\r\nexport {\r\n ConversationReceivedTranslationEventArgs,\r\n LockRoomEventArgs,\r\n MuteAllEventArgs,\r\n ParticipantAttributeEventArgs,\r\n ParticipantEventArgs,\r\n ParticipantsListEventArgs } from \"./ConversationTranslatorEventArgs.js\";\r\nexport {\r\n ConversationRecognizer,\r\n ConversationTranslatorCommandTypes,\r\n ConversationTranslatorMessageTypes,\r\n IInternalConversation,\r\n IInternalParticipant,\r\n InternalParticipants} from \"./ConversationTranslatorInterfaces.js\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the payload for incoming websocket commands\r\n */\r\nexport interface ICommandResponsePayload {\r\n type: string;\r\n command?: string;\r\n id?: string; // incoming ws\r\n nickname?: string; // incoming ws\r\n participantId?: string;\r\n roomid?: string;\r\n value: boolean | number | string;\r\n token?: string;\r\n}\r\n\r\nconst parseCommandResponse = (json: string): ICommandResponsePayload => JSON.parse(json) as ICommandResponsePayload;\r\n\r\nexport class CommandResponsePayload implements ICommandResponsePayload {\r\n private privCommandResponse: ICommandResponsePayload;\r\n\r\n public constructor(json: string) {\r\n this.privCommandResponse = parseCommandResponse(json);\r\n }\r\n\r\n public get type(): string {\r\n return this.privCommandResponse.type;\r\n }\r\n public get command(): string {\r\n return this.privCommandResponse.command;\r\n }\r\n public get id(): string {\r\n return this.privCommandResponse.id;\r\n }\r\n public get nickname(): string {\r\n return this.privCommandResponse.nickname;\r\n }\r\n public get participantId(): string {\r\n return this.privCommandResponse.participantId;\r\n }\r\n public get roomid(): string {\r\n return this.privCommandResponse.roomid;\r\n }\r\n public get value(): boolean | number | string {\r\n return this.privCommandResponse.value;\r\n }\r\n public get token(): string {\r\n return this.privCommandResponse.token;\r\n }\r\n\r\n public static fromJSON(json: string): CommandResponsePayload {\r\n return new CommandResponsePayload(json);\r\n }\r\n\r\n}\r\n","export { CommandResponsePayload } from \"./CommandResponsePayload.js\";\r\nexport { IParticipantsListPayloadResponse, IParticipantPayloadResponse, ParticipantsListPayloadResponse, ParticipantPayloadResponse } from \"./ParticipantResponsePayload.js\";\r\nexport { ITranslationResponsePayload, SpeechResponsePayload, TextResponsePayload } from \"./TranslationResponsePayload.js\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n/**\r\n * Defines the payload for incoming list of participants\r\n */\r\nexport interface IParticipantsListPayloadResponse {\r\n roomid: string;\r\n id: string;\r\n command: string;\r\n participants: IParticipantPayloadResponse[];\r\n token: string;\r\n translateTo: string[];\r\n profanityFilter: string;\r\n roomProfanityFilter: string;\r\n roomLocked: boolean;\r\n muteAll: boolean;\r\n type: string;\r\n}\r\n\r\n/**\r\n * Defines the payload for incoming participant\r\n */\r\nexport interface IParticipantPayloadResponse {\r\n nickname: string;\r\n locale: string;\r\n usetts: boolean;\r\n ismuted: boolean;\r\n ishost: boolean;\r\n participantId: string;\r\n avatar?: string;\r\n}\r\n\r\nconst parseListResponse = (json: string): IParticipantsListPayloadResponse => JSON.parse(json) as IParticipantsListPayloadResponse;\r\nconst parseParticipantResponse = (json: string): IParticipantPayloadResponse => JSON.parse(json) as IParticipantPayloadResponse;\r\n\r\nexport class ParticipantsListPayloadResponse implements IParticipantsListPayloadResponse {\r\n private privParticipantsPayloadResponse: IParticipantsListPayloadResponse;\r\n\r\n private constructor(json: string) {\r\n this.privParticipantsPayloadResponse = parseListResponse(json);\r\n }\r\n\r\n public get roomid(): string {\r\n return this.privParticipantsPayloadResponse.roomid;\r\n }\r\n\r\n public get id(): string {\r\n return this.privParticipantsPayloadResponse.id;\r\n }\r\n\r\n public get command(): string {\r\n return this.privParticipantsPayloadResponse.command;\r\n }\r\n\r\n public get participants(): IParticipantPayloadResponse[] {\r\n return this.privParticipantsPayloadResponse.participants;\r\n }\r\n\r\n public get token(): string {\r\n return this.privParticipantsPayloadResponse.token;\r\n }\r\n\r\n public get translateTo(): string[] {\r\n return this.privParticipantsPayloadResponse.translateTo;\r\n }\r\n\r\n public get profanityFilter(): string {\r\n return this.privParticipantsPayloadResponse.profanityFilter;\r\n }\r\n\r\n public get roomProfanityFilter(): string {\r\n return this.privParticipantsPayloadResponse.roomProfanityFilter;\r\n }\r\n\r\n public get roomLocked(): boolean {\r\n return this.privParticipantsPayloadResponse.roomLocked;\r\n }\r\n\r\n public get muteAll(): boolean {\r\n return this.privParticipantsPayloadResponse.muteAll;\r\n }\r\n\r\n public get type(): string {\r\n return this.privParticipantsPayloadResponse.type;\r\n }\r\n\r\n public static fromJSON(json: string): ParticipantsListPayloadResponse {\r\n return new ParticipantsListPayloadResponse(json);\r\n }\r\n\r\n}\r\n\r\nexport class ParticipantPayloadResponse implements IParticipantPayloadResponse {\r\n\r\n private privParticipantPayloadResponse: IParticipantPayloadResponse;\r\n\r\n private constructor(json: string) {\r\n this.privParticipantPayloadResponse = parseParticipantResponse(json);\r\n }\r\n\r\n public get nickname(): string {\r\n return this.privParticipantPayloadResponse.nickname;\r\n }\r\n\r\n public get locale(): string {\r\n return this.privParticipantPayloadResponse.locale;\r\n }\r\n\r\n public get usetts(): boolean {\r\n return this.privParticipantPayloadResponse.usetts;\r\n }\r\n\r\n public get ismuted(): boolean {\r\n return this.privParticipantPayloadResponse.ismuted;\r\n }\r\n\r\n public get ishost(): boolean {\r\n return this.privParticipantPayloadResponse.ishost;\r\n }\r\n\r\n public get participantId(): string {\r\n return this.privParticipantPayloadResponse.participantId;\r\n }\r\n\r\n public get avatar(): string {\r\n return this.privParticipantPayloadResponse.avatar;\r\n }\r\n\r\n public static fromJSON(json: string): ParticipantPayloadResponse {\r\n return new ParticipantPayloadResponse(json);\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n/**\r\n * Defines the payload for incoming translation messages\r\n */\r\nexport interface ITranslationResponsePayload {\r\n lang: string;\r\n translation: string;\r\n}\r\n\r\nexport interface ITranslationCommandMessage {\r\n translations: ITranslationResponsePayload[];\r\n id: string;\r\n language: string;\r\n nickname: string;\r\n participantId: string;\r\n roomid: string;\r\n timestamp: string;\r\n type: string;\r\n}\r\n\r\nexport interface ISpeechResponsePayload extends ITranslationCommandMessage {\r\n recognition: string;\r\n isFinal: boolean;\r\n}\r\n\r\nexport interface ITextResponsePayload extends ITranslationCommandMessage {\r\n originalText: string;\r\n}\r\n\r\nconst parseSpeechResponse = (json: string): ISpeechResponsePayload => JSON.parse(json) as ISpeechResponsePayload;\r\nconst parseTextResponse = (json: string): ITextResponsePayload => JSON.parse(json) as ITextResponsePayload;\r\n\r\nexport class SpeechResponsePayload implements ISpeechResponsePayload {\r\n\r\n private privSpeechResponse: ISpeechResponsePayload;\r\n\r\n private constructor(json: string) {\r\n this.privSpeechResponse = parseSpeechResponse(json);\r\n }\r\n\r\n public get recognition(): string {\r\n return this.privSpeechResponse.recognition;\r\n }\r\n\r\n public get translations(): ITranslationResponsePayload[] {\r\n return this.privSpeechResponse.translations;\r\n }\r\n\r\n public get id(): string {\r\n return this.privSpeechResponse.id;\r\n }\r\n\r\n public get language(): string {\r\n return this.privSpeechResponse.language;\r\n }\r\n\r\n public get nickname(): string {\r\n return this.privSpeechResponse.nickname;\r\n }\r\n\r\n public get participantId(): string {\r\n return this.privSpeechResponse.participantId;\r\n }\r\n\r\n public get roomid(): string {\r\n return this.privSpeechResponse.roomid;\r\n }\r\n\r\n public get timestamp(): string {\r\n return this.privSpeechResponse.timestamp;\r\n }\r\n\r\n public get type(): string {\r\n return this.privSpeechResponse.type;\r\n }\r\n\r\n public get isFinal(): boolean {\r\n return this.privSpeechResponse.type === \"final\";\r\n }\r\n\r\n public static fromJSON(json: string): SpeechResponsePayload {\r\n return new SpeechResponsePayload(json);\r\n }\r\n\r\n}\r\n\r\nexport class TextResponsePayload implements ITextResponsePayload {\r\n\r\n private privTextResponse: ITextResponsePayload;\r\n\r\n private constructor(json: string) {\r\n this.privTextResponse = parseTextResponse(json);\r\n }\r\n\r\n public get originalText(): string {\r\n return this.privTextResponse.originalText;\r\n }\r\n\r\n public get translations(): ITranslationResponsePayload[] {\r\n return this.privTextResponse.translations;\r\n }\r\n\r\n public get id(): string {\r\n return this.privTextResponse.id;\r\n }\r\n\r\n public get language(): string {\r\n return this.privTextResponse.language;\r\n }\r\n\r\n public get nickname(): string {\r\n return this.privTextResponse.nickname;\r\n }\r\n\r\n public get participantId(): string {\r\n return this.privTextResponse.participantId;\r\n }\r\n\r\n public get roomid(): string {\r\n return this.privTextResponse.roomid;\r\n }\r\n\r\n public get timestamp(): string {\r\n return this.privTextResponse.timestamp;\r\n }\r\n\r\n public get type(): string {\r\n return this.privTextResponse.type;\r\n }\r\n\r\n public static fromJSON(json: string): TextResponsePayload {\r\n return new TextResponsePayload(json);\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\nimport { marshalPromiseToCallbacks } from \"../../common/Exports.js\";\r\nimport { AudioConfigImpl } from \"../../sdk/Audio/AudioConfig.js\";\r\nimport { AudioStreamFormatImpl } from \"../../sdk/Audio/AudioStreamFormat.js\";\r\nimport { Contracts } from \"../../sdk/Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n CancellationEventArgs,\r\n Conversation,\r\n ConversationInfo,\r\n Meeting,\r\n MeetingInfo,\r\n MeetingTranscriber,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n SessionEventArgs,\r\n SpeechRecognitionEventArgs,\r\n SpeechTranslationConfig,\r\n SpeechTranslationConfigImpl,\r\n} from \"../../sdk/Exports.js\";\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig,\r\n TranscriberConnectionFactory,\r\n TranscriptionServiceRecognizer,\r\n} from \"../Exports.js\";\r\n\r\nexport class TranscriberRecognizer extends Recognizer {\r\n\r\n public recognizing: (sender: Recognizer, event: SpeechRecognitionEventArgs) => void;\r\n\r\n public recognized: (sender: Recognizer, event: SpeechRecognitionEventArgs) => void;\r\n\r\n public canceled: (sender: Recognizer, event: CancellationEventArgs) => void;\r\n\r\n private privDisposedRecognizer: boolean;\r\n private privConversation: Conversation;\r\n private privMeeting: Meeting;\r\n private isMeetingRecognizer: boolean;\r\n\r\n /**\r\n * TranscriberRecognizer constructor.\r\n * @constructor\r\n * @param {SpeechTranslationConfig} speechTranslationConfig - Non-audio configuration associated with the recognizer\r\n * @param {AudioConfig} audioConfig - An audio configuration associated with the recognizer\r\n */\r\n public constructor(speechTranslationConfig: SpeechTranslationConfig, audioConfig: AudioConfig) {\r\n const speechTranslationConfigImpl: SpeechTranslationConfigImpl = speechTranslationConfig as SpeechTranslationConfigImpl;\r\n Contracts.throwIfNull(speechTranslationConfigImpl, \"speechTranslationConfig\");\r\n\r\n const audioConfigImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n Contracts.throwIfNull(audioConfigImpl, \"audioConfigImpl\");\r\n\r\n Contracts.throwIfNullOrWhitespace(\r\n speechTranslationConfigImpl.speechRecognitionLanguage,\r\n PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n\r\n super(audioConfig, speechTranslationConfigImpl.properties, new TranscriberConnectionFactory());\r\n this.privDisposedRecognizer = false;\r\n this.isMeetingRecognizer = false;\r\n }\r\n\r\n public get speechRecognitionLanguage(): string {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n public set conversation(c: Conversation) {\r\n Contracts.throwIfNullOrUndefined(c, \"Conversation\");\r\n this.isMeetingRecognizer = false;\r\n this.privConversation = c;\r\n }\r\n\r\n public getConversationInfo(): ConversationInfo {\r\n Contracts.throwIfNullOrUndefined(this.privConversation, \"Conversation\");\r\n return this.privConversation.conversationInfo;\r\n }\r\n\r\n public set meeting(m: Meeting) {\r\n Contracts.throwIfNullOrUndefined(m, \"Meeting\");\r\n this.isMeetingRecognizer = true;\r\n this.privMeeting = m;\r\n }\r\n\r\n public getMeetingInfo(): MeetingInfo {\r\n Contracts.throwIfNullOrUndefined(this.privMeeting, \"Meeting\");\r\n return this.privMeeting.meetingInfo;\r\n }\r\n\r\n public IsMeetingRecognizer(): boolean {\r\n return this.isMeetingRecognizer;\r\n }\r\n\r\n public startContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(RecognitionMode.Conversation), cb, err);\r\n }\r\n\r\n public stopContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\r\n }\r\n\r\n public async close(): Promise {\r\n if (!this.privDisposedRecognizer) {\r\n await this.dispose(true);\r\n }\r\n }\r\n\r\n // Push async join/leave conversation message via serviceRecognizer\r\n public async pushConversationEvent(conversationInfo: ConversationInfo, command: string): Promise {\r\n const reco = (this.privReco) as TranscriptionServiceRecognizer;\r\n Contracts.throwIfNullOrUndefined(reco, \"serviceRecognizer\");\r\n await reco.sendSpeechEventAsync(conversationInfo, command);\r\n }\r\n\r\n // Push async join/leave meeting message via serviceRecognizer\r\n public async pushMeetingEvent(meetingInfo: MeetingInfo, command: string): Promise {\r\n const reco = (this.privReco) as TranscriptionServiceRecognizer;\r\n Contracts.throwIfNullOrUndefined(reco, \"serviceRecognizer\");\r\n await reco.sendMeetingSpeechEventAsync(meetingInfo, command);\r\n }\r\n\r\n public async enforceAudioGating(): Promise {\r\n const audioConfigImpl = this.audioConfig as AudioConfigImpl;\r\n const format: AudioStreamFormatImpl = await audioConfigImpl.format;\r\n const channels = format.channels;\r\n if (channels === 1) {\r\n if (this.properties.getProperty(\"f0f5debc-f8c9-4892-ac4b-90a7ab359fd2\", \"false\").toLowerCase() !== \"true\") {\r\n throw new Error(\"Single channel audio configuration for MeetingTranscriber is currently under private preview, please contact diarizationrequest@microsoft.com for more details\");\r\n }\r\n } else if (channels !== 8) {\r\n throw new Error(`Unsupported audio configuration: Detected ${channels}-channel audio`);\r\n }\r\n return;\r\n }\r\n\r\n public connectMeetingCallbacks(transcriber: MeetingTranscriber): void {\r\n this.isMeetingRecognizer = true;\r\n this.canceled = (s: any, e: CancellationEventArgs): void => {\r\n if (!!transcriber.canceled) {\r\n transcriber.canceled(transcriber, e);\r\n }\r\n };\r\n this.recognizing = (s: any, e: SpeechRecognitionEventArgs): void => {\r\n if (!!transcriber.transcribing) {\r\n transcriber.transcribing(transcriber, e);\r\n }\r\n };\r\n this.recognized = (s: any, e: SpeechRecognitionEventArgs): void => {\r\n if (!!transcriber.transcribed) {\r\n transcriber.transcribed(transcriber, e);\r\n }\r\n };\r\n this.sessionStarted = (s: any, e: SessionEventArgs): void => {\r\n if (!!transcriber.sessionStarted) {\r\n transcriber.sessionStarted(transcriber, e);\r\n }\r\n };\r\n this.sessionStopped = (s: any, e: SessionEventArgs): void => {\r\n if (!!transcriber.sessionStopped) {\r\n transcriber.sessionStopped(transcriber, e);\r\n }\r\n };\r\n }\r\n\r\n public disconnectCallbacks(): void {\r\n this.canceled = undefined;\r\n this.recognizing = undefined;\r\n this.recognized = undefined;\r\n this.sessionStarted = undefined;\r\n this.sessionStopped = undefined;\r\n }\r\n\r\n /**\r\n * Disposes any resources held by the object.\r\n * @member ConversationTranscriber.prototype.dispose\r\n * @function\r\n * @public\r\n * @param {boolean} disposing - true if disposing the object.\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedRecognizer) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n this.privDisposedRecognizer = true;\r\n await this.implRecognizerStop();\r\n }\r\n\r\n await super.dispose(disposing);\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(\r\n speechConfig,\r\n this.properties);\r\n }\r\n\r\n protected createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n const configImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n return new TranscriptionServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ProxyInfo,\r\n WebsocketConnection,\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IConnection,\r\n IStringDictionary,\r\n} from \"../common/Exports.js\";\r\nimport { StringUtils } from \"../common/StringUtils.js\";\r\nimport {\r\n PropertyId\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n ConnectionFactoryBase\r\n} from \"./ConnectionFactoryBase.js\";\r\nimport {\r\n AuthInfo,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n WebsocketMessageFormatter,\r\n} from \"./Exports.js\";\r\nimport { HeaderNames } from \"./HeaderNames.js\";\r\nimport { QueryParameterNames } from \"./QueryParameterNames.js\";\r\n\r\nexport class TranslationConnectionFactory extends ConnectionFactoryBase {\r\n\r\n public create(\r\n config: RecognizerConfig,\r\n authInfo: AuthInfo,\r\n connectionId?: string): IConnection {\r\n\r\n const endpoint: string = this.getEndpointUrl(config);\r\n\r\n const queryParams: IStringDictionary = {};\r\n\r\n if (config.autoDetectSourceLanguages !== undefined) {\r\n queryParams[QueryParameterNames.EnableLanguageId] = \"true\";\r\n }\r\n this.setQueryParams(queryParams, config, endpoint);\r\n\r\n const headers: IStringDictionary = {};\r\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\r\n headers[authInfo.headerName] = authInfo.token;\r\n }\r\n headers[HeaderNames.ConnectionId] = connectionId;\r\n\r\n config.parameters.setProperty(PropertyId.SpeechServiceConnection_Url, endpoint);\r\n\r\n const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\r\n return new WebsocketConnection(endpoint, queryParams, headers, new WebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\r\n }\r\n\r\n public getEndpointUrl(config: RecognizerConfig, returnRegionPlaceholder?: boolean): string {\r\n\r\n const region: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Region);\r\n const hostSuffix: string = ConnectionFactoryBase.getHostSuffix(region);\r\n\r\n let endpointUrl: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Endpoint, undefined);\r\n if (!endpointUrl) {\r\n if (config.autoDetectSourceLanguages !== undefined) {\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, \"wss://{region}.stt.speech\" + hostSuffix);\r\n endpointUrl = host + \"/speech/universal/v2\";\r\n } else {\r\n const host: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_Host, \"wss://{region}.s2s.speech\" + hostSuffix);\r\n endpointUrl = host + \"/speech/translation/cognitiveservices/v1\";\r\n }\r\n }\r\n\r\n if (returnRegionPlaceholder === true) {\r\n return endpointUrl;\r\n }\r\n\r\n return StringUtils.formatString(endpointUrl, { region });\r\n }\r\n\r\n public setQueryParams(queryParams: IStringDictionary, config: RecognizerConfig, endpointUrl: string): void {\r\n\r\n queryParams.from = config.parameters.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n queryParams.to = config.parameters.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages);\r\n queryParams.scenario = config.recognitionMode === RecognitionMode.Interactive ? \"interactive\" :\r\n config.recognitionMode === RecognitionMode.Conversation ? \"conversation\" : \"\";\r\n\r\n this.setCommonUrlParams(config, queryParams, endpointUrl);\r\n this.setUrlParameter(\r\n PropertyId.SpeechServiceResponse_TranslationRequestStablePartialResult,\r\n QueryParameterNames.StableTranslation,\r\n config,\r\n queryParams,\r\n endpointUrl\r\n );\r\n\r\n const translationVoice: string = config.parameters.getProperty(PropertyId.SpeechServiceConnection_TranslationVoice, undefined);\r\n if (translationVoice !== undefined) {\r\n queryParams.voice = translationVoice;\r\n queryParams.features = \"texttospeech\";\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ConnectionEvent,\r\n IAudioSource,\r\n MessageType,\r\n TranslationStatus,\r\n} from \"../common/Exports.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SpeechRecognitionResult,\r\n TranslationRecognitionCanceledEventArgs,\r\n TranslationRecognitionEventArgs,\r\n TranslationRecognitionResult,\r\n TranslationRecognizer,\r\n Translations,\r\n TranslationSynthesisEventArgs,\r\n TranslationSynthesisResult,\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n ConversationServiceRecognizer,\r\n EnumTranslation,\r\n ITranslationHypothesis,\r\n RecognitionStatus,\r\n SynthesisStatus,\r\n TranslationHypothesis,\r\n TranslationPhrase,\r\n TranslationSynthesisEnd,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { ITranslationPhrase } from \"./ServiceMessages/TranslationPhrase.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class TranslationServiceRecognizer extends ConversationServiceRecognizer {\r\n private privTranslationRecognizer: TranslationRecognizer;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n translationRecognizer: TranslationRecognizer) {\r\n\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer);\r\n this.privTranslationRecognizer = translationRecognizer;\r\n this.connectionEvents.attach((connectionEvent: ConnectionEvent): void => {\r\n if (connectionEvent.name === \"ConnectionEstablishedEvent\") {\r\n this.privTranslationRecognizer.onConnection();\r\n }\r\n });\r\n\r\n }\r\n\r\n protected async processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n let processed: boolean = await this.processSpeechMessages(connectionMessage);\r\n if (processed) {\r\n return true;\r\n }\r\n\r\n const handleTranslationPhrase = async (translatedPhrase: TranslationPhrase): Promise => {\r\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset + translatedPhrase.Duration);\r\n\r\n if (translatedPhrase.RecognitionStatus === RecognitionStatus.Success) {\r\n\r\n // OK, the recognition was successful. How'd the translation do?\r\n const result: TranslationRecognitionEventArgs = this.fireEventForResult(translatedPhrase, resultProps);\r\n if (!!this.privTranslationRecognizer.recognized) {\r\n try {\r\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, result);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n // report result to promise.\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(result.result);\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n } else {\r\n const reason: ResultReason = EnumTranslation.implTranslateRecognitionResult(translatedPhrase.RecognitionStatus);\r\n\r\n const result = new TranslationRecognitionResult(\r\n undefined,\r\n this.privRequestSession.requestId,\r\n reason,\r\n translatedPhrase.Text,\r\n translatedPhrase.Duration,\r\n this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset,\r\n translatedPhrase.Language,\r\n translatedPhrase.Confidence,\r\n undefined,\r\n connectionMessage.textBody,\r\n resultProps);\r\n\r\n if (reason === ResultReason.Canceled) {\r\n const cancelReason: CancellationReason = EnumTranslation.implTranslateCancelResult(translatedPhrase.RecognitionStatus);\r\n const cancellationErrorCode: CancellationErrorCode = EnumTranslation.implTranslateCancelErrorCode(translatedPhrase.RecognitionStatus);\r\n\r\n await this.cancelRecognitionLocal(\r\n cancelReason,\r\n cancellationErrorCode,\r\n EnumTranslation.implTranslateErrorDetails(cancellationErrorCode));\r\n\r\n } else {\r\n if (!(this.privRequestSession.isSpeechEnded && reason === ResultReason.NoMatch && translatedPhrase.RecognitionStatus !== RecognitionStatus.InitialSilenceTimeout)) {\r\n const ev = new TranslationRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\r\n\r\n if (!!this.privTranslationRecognizer.recognized) {\r\n try {\r\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n }\r\n\r\n // report result to promise.\r\n if (!!this.privSuccessCallback) {\r\n try {\r\n this.privSuccessCallback(result);\r\n } catch (e) {\r\n if (!!this.privErrorCallback) {\r\n this.privErrorCallback(e as string);\r\n }\r\n }\r\n // Only invoke the call back once.\r\n // and if it's successful don't invoke the\r\n // error after that.\r\n this.privSuccessCallback = undefined;\r\n this.privErrorCallback = undefined;\r\n }\r\n }\r\n processed = true;\r\n }\r\n\r\n };\r\n\r\n const handleTranslationHypothesis = (hypothesis: TranslationHypothesis, resultProperties: PropertyCollection): void => {\r\n const result: TranslationRecognitionEventArgs = this.fireEventForResult(hypothesis, resultProperties);\r\n this.privRequestSession.onHypothesis(this.privRequestSession.currentTurnAudioOffset + result.offset);\r\n\r\n if (!!this.privTranslationRecognizer.recognizing) {\r\n try {\r\n this.privTranslationRecognizer.recognizing(this.privTranslationRecognizer, result);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n processed = true;\r\n };\r\n\r\n if (connectionMessage.messageType === MessageType.Text) {\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n }\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n case \"translation.hypothesis\":\r\n handleTranslationHypothesis(TranslationHypothesis.fromJSON(connectionMessage.textBody), resultProps);\r\n break;\r\n\r\n case \"translation.response\":\r\n const phrase: { SpeechPhrase: ITranslationPhrase } = JSON.parse(connectionMessage.textBody) as { SpeechPhrase: ITranslationPhrase };\r\n if (!!phrase.SpeechPhrase) {\r\n await handleTranslationPhrase(TranslationPhrase.fromTranslationResponse(phrase));\r\n } else {\r\n const hypothesis: { SpeechHypothesis: ITranslationHypothesis } = JSON.parse(connectionMessage.textBody) as { SpeechHypothesis: ITranslationHypothesis };\r\n if (!!hypothesis.SpeechHypothesis) {\r\n handleTranslationHypothesis(TranslationHypothesis.fromTranslationResponse(hypothesis), resultProps);\r\n }\r\n }\r\n break;\r\n case \"translation.phrase\":\r\n await handleTranslationPhrase(TranslationPhrase.fromJSON(connectionMessage.textBody));\r\n break;\r\n\r\n case \"translation.synthesis\":\r\n this.sendSynthesisAudio(connectionMessage.binaryBody, this.privRequestSession.sessionId);\r\n processed = true;\r\n break;\r\n\r\n case \"audio.end\":\r\n case \"translation.synthesis.end\":\r\n const synthEnd: TranslationSynthesisEnd = TranslationSynthesisEnd.fromJSON(connectionMessage.textBody);\r\n\r\n switch (synthEnd.SynthesisStatus) {\r\n case SynthesisStatus.Error:\r\n if (!!this.privTranslationRecognizer.synthesizing) {\r\n const result = new TranslationSynthesisResult(ResultReason.Canceled, undefined);\r\n const retEvent: TranslationSynthesisEventArgs = new TranslationSynthesisEventArgs(result, this.privRequestSession.sessionId);\r\n\r\n try {\r\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n if (!!this.privTranslationRecognizer.canceled) {\r\n // And raise a canceled event to send the rich(er) error message back.\r\n const canceledResult: TranslationRecognitionCanceledEventArgs = new TranslationRecognitionCanceledEventArgs(\r\n this.privRequestSession.sessionId,\r\n CancellationReason.Error,\r\n synthEnd.FailureReason,\r\n CancellationErrorCode.ServiceError,\r\n null);\r\n\r\n try {\r\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, canceledResult);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n break;\r\n case SynthesisStatus.Success:\r\n this.sendSynthesisAudio(undefined, this.privRequestSession.sessionId);\r\n break;\r\n default:\r\n break;\r\n }\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n return processed;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n if (!!this.privTranslationRecognizer.canceled) {\r\n\r\n const cancelEvent: TranslationRecognitionCanceledEventArgs = new TranslationRecognitionCanceledEventArgs(\r\n sessionId,\r\n cancellationReason,\r\n error,\r\n errorCode,\r\n undefined);\r\n\r\n try {\r\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, cancelEvent);\r\n /* eslint-disable no-empty */\r\n } catch { }\r\n }\r\n\r\n if (!!this.privSuccessCallback) {\r\n const result: TranslationRecognitionResult = new TranslationRecognitionResult(\r\n undefined, // Translations\r\n requestId,\r\n ResultReason.Canceled,\r\n undefined, // Text\r\n undefined, // Druation\r\n undefined, // Offset\r\n undefined, // Language\r\n undefined, // LanguageDetectionConfidence\r\n error,\r\n undefined, // Json\r\n properties);\r\n try {\r\n this.privSuccessCallback(result);\r\n /* eslint-disable no-empty */\r\n this.privSuccessCallback = undefined;\r\n } catch { }\r\n }\r\n }\r\n\r\n protected handleRecognizingCallback(result: SpeechRecognitionResult, duration: number, sessionId: string): void {\r\n try {\r\n const ev = new TranslationRecognitionEventArgs(TranslationRecognitionResult.fromSpeechRecognitionResult(result), duration, sessionId);\r\n this.privTranslationRecognizer.recognizing(this.privTranslationRecognizer, ev);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n protected handleRecognizedCallback(result: SpeechRecognitionResult, offset: number, sessionId: string): void {\r\n try {\r\n const ev = new TranslationRecognitionEventArgs(TranslationRecognitionResult.fromSpeechRecognitionResult(result), offset, sessionId);\r\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, ev);\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n private fireEventForResult(serviceResult: TranslationHypothesis | TranslationPhrase, properties: PropertyCollection): TranslationRecognitionEventArgs {\r\n let translations: Translations;\r\n\r\n if (undefined !== serviceResult.Translation.Translations) {\r\n translations = new Translations();\r\n for (const translation of serviceResult.Translation.Translations) {\r\n translations.set(translation.Language, translation.Text || translation.DisplayText);\r\n }\r\n }\r\n\r\n let resultReason: ResultReason;\r\n let confidence: string;\r\n if (serviceResult instanceof TranslationPhrase) {\r\n if (!!serviceResult.Translation && serviceResult.Translation.TranslationStatus === TranslationStatus.Success) {\r\n resultReason = ResultReason.TranslatedSpeech;\r\n } else {\r\n resultReason = ResultReason.RecognizedSpeech;\r\n }\r\n confidence = serviceResult.Confidence;\r\n } else {\r\n resultReason = ResultReason.TranslatingSpeech;\r\n }\r\n const language = serviceResult.Language;\r\n\r\n const offset: number = serviceResult.Offset + this.privRequestSession.currentTurnAudioOffset;\r\n\r\n const result = new TranslationRecognitionResult(\r\n translations,\r\n this.privRequestSession.requestId,\r\n resultReason,\r\n serviceResult.Text,\r\n serviceResult.Duration,\r\n offset,\r\n language,\r\n confidence,\r\n serviceResult.Translation.FailureReason,\r\n JSON.stringify(serviceResult),\r\n properties);\r\n\r\n const ev = new TranslationRecognitionEventArgs(result, offset, this.privRequestSession.sessionId);\r\n return ev;\r\n }\r\n\r\n private sendSynthesisAudio(audio: ArrayBuffer, sessionId: string): void {\r\n const reason = (undefined === audio) ? ResultReason.SynthesizingAudioCompleted : ResultReason.SynthesizingAudio;\r\n const result = new TranslationSynthesisResult(reason, audio);\r\n const retEvent: TranslationSynthesisEventArgs = new TranslationSynthesisEventArgs(result, sessionId);\r\n\r\n if (!!this.privTranslationRecognizer.synthesizing) {\r\n try {\r\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\r\n /* eslint-disable no-empty */\r\n } catch (error) {\r\n // Not going to let errors in the event handler\r\n // trip things up.\r\n }\r\n }\r\n\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines translation status.\r\n * @class TranslationStatus\r\n */\r\nexport enum TranslationStatus {\r\n /**\r\n * @member TranslationStatus.Success\r\n */\r\n Success = 0,\r\n\r\n /**\r\n * @member TranslationStatus.Error\r\n */\r\n Error,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ReplayableAudioNode } from \"../common.browser/Exports.js\";\r\nimport {\r\n DeferralMap,\r\n Deferred,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IConnection,\r\n MessageType,\r\n} from \"../common/Exports.js\";\r\nimport { AudioStreamFormatImpl } from \"../sdk/Audio/AudioStreamFormat.js\";\r\nimport { SpeakerRecognitionModel } from \"../sdk/SpeakerRecognitionModel.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n VoiceProfileClient,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SessionEventArgs,\r\n VoiceProfileEnrollmentResult,\r\n VoiceProfilePhraseResult,\r\n VoiceProfileResult,\r\n VoiceProfileType,\r\n VoiceProfile\r\n} from \"../sdk/Exports.js\";\r\nimport {\r\n CancellationErrorCodePropertyName,\r\n EnrollmentResponse,\r\n IProfile,\r\n ISpeechConfigAudioDevice,\r\n ProfilePhraseResponse,\r\n ProfileResponse,\r\n ServiceRecognizerBase,\r\n} from \"./Exports.js\";\r\nimport { IAuthentication } from \"./IAuthentication.js\";\r\nimport { IConnectionFactory } from \"./IConnectionFactory.js\";\r\nimport { RecognizerConfig } from \"./RecognizerConfig.js\";\r\nimport { SpeechConnectionMessage } from \"./SpeechConnectionMessage.Internal.js\";\r\n\r\ninterface CreateProfile {\r\n scenario: string;\r\n locale: string;\r\n number: string;\r\n}\r\n\r\ninterface PhraseRequest {\r\n scenario: string;\r\n locale: string;\r\n}\r\n\r\ninterface SpeakerContext {\r\n scenario: string;\r\n profileIds: string[];\r\n features: {\r\n interimResult: string;\r\n progressiveDetection: string;\r\n };\r\n}\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class VoiceServiceRecognizer extends ServiceRecognizerBase {\r\n private privSpeakerAudioSource: IAudioSource;\r\n private privDeferralMap: DeferralMap = new DeferralMap();\r\n private privExpectedProfileId: string;\r\n\r\n public constructor(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioSource: IAudioSource,\r\n recognizerConfig: RecognizerConfig,\r\n recognizer: VoiceProfileClient) {\r\n super(authentication, connectionFactory, audioSource, recognizerConfig, recognizer);\r\n this.privSpeakerAudioSource = audioSource;\r\n this.sendPrePayloadJSONOverride = (): Promise => this.noOp();\r\n }\r\n\r\n public set SpeakerAudioSource(audioSource: IAudioSource) {\r\n this.privSpeakerAudioSource = audioSource;\r\n }\r\n\r\n protected processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage): Promise {\r\n\r\n let processed: boolean = false;\r\n\r\n const resultProps: PropertyCollection = new PropertyCollection();\r\n if (connectionMessage.messageType === MessageType.Text) {\r\n resultProps.setProperty(PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\r\n }\r\n\r\n switch (connectionMessage.path.toLowerCase()) {\r\n // Profile management response for create, fetch, delete, reset\r\n case \"speaker.profiles\":\r\n const response: ProfileResponse = JSON.parse(connectionMessage.textBody) as ProfileResponse;\r\n switch (response.operation.toLowerCase()) {\r\n case \"create\":\r\n this.handleCreateResponse(response, connectionMessage.requestId);\r\n break;\r\n\r\n case \"delete\":\r\n case \"reset\":\r\n this.handleResultResponse(response, connectionMessage.requestId);\r\n break;\r\n\r\n case \"fetch\":\r\n const enrollmentResponse: EnrollmentResponse = JSON.parse(connectionMessage.textBody) as EnrollmentResponse;\r\n this.handleFetchResponse(enrollmentResponse, connectionMessage.requestId);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n processed = true;\r\n break;\r\n // Activation and authorization phrase response\r\n case \"speaker.phrases\":\r\n const phraseResponse: ProfilePhraseResponse = JSON.parse(connectionMessage.textBody) as ProfilePhraseResponse;\r\n this.handlePhrasesResponse(phraseResponse, connectionMessage.requestId);\r\n processed = true;\r\n break;\r\n // Enrollment response\r\n case \"speaker.profile.enrollment\":\r\n const enrollmentResponse: EnrollmentResponse = JSON.parse(connectionMessage.textBody) as EnrollmentResponse;\r\n const result: VoiceProfileEnrollmentResult = new VoiceProfileEnrollmentResult(\r\n this.enrollmentReasonFrom(!!enrollmentResponse.enrollment ? enrollmentResponse.enrollment.enrollmentStatus : enrollmentResponse.status.statusCode),\r\n !!enrollmentResponse.enrollment ? JSON.stringify(enrollmentResponse.enrollment) : undefined,\r\n enrollmentResponse.status.reason,\r\n );\r\n if (!!this.privDeferralMap.getId(connectionMessage.requestId)) {\r\n this.privDeferralMap.complete(connectionMessage.requestId, result);\r\n }\r\n this.privRequestSession.onSpeechEnded();\r\n processed = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n const defferal = new Deferred();\r\n defferal.resolve(processed);\r\n return defferal.promise;\r\n }\r\n\r\n // Cancels recognition.\r\n protected cancelRecognition(\r\n sessionId: string,\r\n requestId: string,\r\n cancellationReason: CancellationReason,\r\n errorCode: CancellationErrorCode,\r\n error: string): void {\r\n\r\n const properties: PropertyCollection = new PropertyCollection();\r\n // const enrollmentResponse: EnrollmentResponse = JSON.parse(connectionMessage.textBody) as EnrollmentResponse;\r\n properties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[errorCode]);\r\n\r\n const result: VoiceProfileEnrollmentResult = new VoiceProfileEnrollmentResult(\r\n ResultReason.Canceled,\r\n error,\r\n error,\r\n );\r\n if (!!this.privDeferralMap.getId(requestId)) {\r\n this.privDeferralMap.complete(requestId, result);\r\n }\r\n }\r\n\r\n public async createProfile(profileType: VoiceProfileType, locale: string): Promise {\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n this.voiceProfileType = profileType.toString();\r\n const conPromise: Promise = this.connectImpl();\r\n try {\r\n const createProfileDeferral = new Deferred();\r\n await conPromise;\r\n await this.sendCreateProfile(createProfileDeferral, profileType, locale);\r\n void this.receiveMessage();\r\n return createProfileDeferral.promise;\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n public async resetProfile(profile: VoiceProfile): Promise {\r\n this.voiceProfileType = profile.profileType.toString();\r\n return this.sendCommonRequest(\"reset\", profile.profileType, profile);\r\n }\r\n\r\n public async deleteProfile(profile: VoiceProfile): Promise {\r\n this.voiceProfileType = profile.profileType.toString();\r\n return this.sendCommonRequest(\"delete\", profile.profileType, profile);\r\n }\r\n\r\n public async retrieveEnrollmentResult(profile: VoiceProfile): Promise {\r\n this.voiceProfileType = profile.profileType.toString();\r\n this.privExpectedProfileId = profile.profileId;\r\n return this.sendCommonRequest(\"fetch\", profile.profileType, profile);\r\n }\r\n\r\n public async getAllProfiles(profileType: VoiceProfileType): Promise {\r\n this.voiceProfileType = profileType.toString();\r\n return this.sendCommonRequest(\"fetch\", profileType);\r\n }\r\n\r\n public async getActivationPhrases(profileType: VoiceProfileType, lang: string): Promise {\r\n this.voiceProfileType = profileType.toString();\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n const conPromise: Promise = this.connectImpl();\r\n try {\r\n const getPhrasesDeferral = new Deferred();\r\n await conPromise;\r\n await this.sendPhrasesRequest(getPhrasesDeferral, profileType, lang);\r\n void this.receiveMessage();\r\n return getPhrasesDeferral.promise;\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n public async enrollProfile(profile: VoiceProfile): Promise {\r\n this.voiceProfileType = profile.profileType.toString();\r\n const enrollmentDeferral = new Deferred();\r\n this.privRequestSession.startNewRecognition();\r\n this.privRequestSession.listenForServiceTelemetry(this.privSpeakerAudioSource.events);\r\n\r\n this.privRecognizerConfig.parameters.setProperty(PropertyId.Speech_SessionId, this.privRequestSession.sessionId);\r\n\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n const conPromise: Promise = this.connectImpl();\r\n\r\n const preAudioPromise: Promise = this.sendPreAudioMessages(profile, enrollmentDeferral);\r\n\r\n const node: IAudioStreamNode = await this.privSpeakerAudioSource.attach(this.privRequestSession.audioNodeId);\r\n const format: AudioStreamFormatImpl = await this.privSpeakerAudioSource.format;\r\n const deviceInfo: ISpeechConfigAudioDevice = await this.privSpeakerAudioSource.deviceInfo;\r\n\r\n const audioNode = new ReplayableAudioNode(node, format.avgBytesPerSec);\r\n await this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false);\r\n\r\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\r\n\r\n try {\r\n await conPromise;\r\n await preAudioPromise;\r\n } catch (err) {\r\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.ConnectionFailure, err as string);\r\n }\r\n\r\n const sessionStartEventArgs: SessionEventArgs = new SessionEventArgs(this.privRequestSession.sessionId);\r\n\r\n if (!!this.privRecognizer.sessionStarted) {\r\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\r\n }\r\n\r\n void this.receiveMessage();\r\n const audioSendPromise = this.sendAudio(audioNode);\r\n\r\n // /* eslint-disable no-empty */\r\n audioSendPromise.then((): void => { /* add? return true;*/ }, (error: string): void => {\r\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, CancellationReason.Error, CancellationErrorCode.RuntimeError, error);\r\n });\r\n\r\n return enrollmentDeferral.promise;\r\n }\r\n\r\n private async sendPreAudioMessages(profile: VoiceProfile, enrollmentDeferral: Deferred): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n this.privRequestSession.onSpeechContext();\r\n this.privDeferralMap.add(this.privRequestSession.requestId, enrollmentDeferral);\r\n await this.sendBaseRequest(connection, \"enroll\", this.scenarioFrom(profile.profileType), profile);\r\n }\r\n\r\n private async sendPhrasesRequest(getPhrasesDeferral: Deferred, profileType: VoiceProfileType, locale: string): Promise {\r\n const connection: IConnection = await this.fetchConnection();\r\n this.privRequestSession.onSpeechContext();\r\n this.privDeferralMap.add(this.privRequestSession.requestId, getPhrasesDeferral);\r\n const scenario = this.scenarioFrom(profileType);\r\n\r\n const profileCreateRequest: PhraseRequest = {\r\n locale,\r\n scenario,\r\n };\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speaker.profile.phrases\",\r\n this.privRequestSession.requestId,\r\n \"application/json; charset=utf-8\",\r\n JSON.stringify(profileCreateRequest)));\r\n }\r\n\r\n private async sendCreateProfile(createProfileDeferral: Deferred, profileType: VoiceProfileType, locale: string): Promise {\r\n\r\n const connection: IConnection = await this.fetchConnection();\r\n this.privRequestSession.onSpeechContext();\r\n this.privDeferralMap.add(this.privRequestSession.requestId, createProfileDeferral);\r\n const scenario = profileType === VoiceProfileType.TextIndependentIdentification ? \"TextIndependentIdentification\" :\r\n profileType === VoiceProfileType.TextIndependentVerification ? \"TextIndependentVerification\" : \"TextDependentVerification\";\r\n\r\n const profileCreateRequest: CreateProfile = {\r\n locale,\r\n number: \"1\",\r\n scenario,\r\n };\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n \"speaker.profile.create\",\r\n this.privRequestSession.requestId,\r\n \"application/json; charset=utf-8\",\r\n JSON.stringify(profileCreateRequest)));\r\n }\r\n\r\n private async sendCommonRequest(operation: string, profileType: VoiceProfileType, profile: VoiceProfile = undefined): Promise {\r\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\r\n const conPromise: Promise = this.connectImpl();\r\n try {\r\n const deferral = new Deferred();\r\n this.privRequestSession.onSpeechContext();\r\n await conPromise;\r\n const connection: IConnection = await this.fetchConnection();\r\n this.privDeferralMap.add(this.privRequestSession.requestId, deferral);\r\n await this.sendBaseRequest(connection, operation, this.scenarioFrom(profileType), profile);\r\n void this.receiveMessage();\r\n return deferral.promise;\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n private async sendBaseRequest(connection: IConnection, operation: string, scenario: string, profile: VoiceProfile): Promise {\r\n const profileRequest: { maxPageSize?: number; profileIds?: string[]; scenario: string } = {\r\n scenario\r\n };\r\n if (!!profile) {\r\n profileRequest.profileIds = [ profile.profileId ];\r\n } else {\r\n profileRequest.maxPageSize = -1;\r\n }\r\n return connection.send(new SpeechConnectionMessage(\r\n MessageType.Text,\r\n `speaker.profile.${operation}`,\r\n this.privRequestSession.requestId,\r\n \"application/json; charset=utf-8\",\r\n JSON.stringify(profileRequest)));\r\n }\r\n\r\n private extractSpeakerContext(model: SpeakerRecognitionModel): SpeakerContext {\r\n return {\r\n features: {\r\n interimResult: \"enabled\",\r\n progressiveDetection: \"disabled\",\r\n },\r\n profileIds: model.profileIds,\r\n scenario: model.scenario,\r\n };\r\n }\r\n\r\n private handlePhrasesResponse(response: ProfilePhraseResponse, requestId: string): void {\r\n if (!!this.privDeferralMap.getId(requestId)) {\r\n if (response.status.statusCode.toLowerCase() !== \"success\") {\r\n const reason: ResultReason = ResultReason.Canceled;\r\n const result = new VoiceProfilePhraseResult(reason, response.status.statusCode, response.passPhraseType, []);\r\n this.privDeferralMap.complete(requestId, result);\r\n } else if (!!response.phrases && response.phrases.length > 0) {\r\n const reason: ResultReason = ResultReason.EnrollingVoiceProfile;\r\n const result = new VoiceProfilePhraseResult(reason, response.status.statusCode, response.passPhraseType, response.phrases);\r\n this.privDeferralMap.complete(requestId, result);\r\n } else {\r\n throw new Error(\"Voice Profile get activation phrases failed, no phrases received\");\r\n }\r\n } else {\r\n throw new Error(`Voice Profile get activation phrases request for requestID ${requestId} not found`);\r\n }\r\n }\r\n\r\n private handleCreateResponse(response: ProfileResponse, requestId: string): void {\r\n if (!!response.profiles && response.profiles.length > 0) {\r\n if (!!this.privDeferralMap.getId(requestId)) {\r\n const profileIds: string[] = response.profiles.map((profile: IProfile): string => profile.profileId);\r\n this.privDeferralMap.complete(requestId, profileIds);\r\n } else {\r\n throw new Error(`Voice Profile create request for requestID ${requestId} not found`);\r\n }\r\n } else {\r\n throw new Error(\"Voice Profile create failed, no profile id received\");\r\n }\r\n }\r\n\r\n private handleResultResponse(response: ProfileResponse, requestId: string): void {\r\n if (!!this.privDeferralMap.getId(requestId)) {\r\n const successReason: ResultReason = response.operation.toLowerCase() === \"delete\" ? ResultReason.DeletedVoiceProfile : ResultReason.ResetVoiceProfile;\r\n const reason: ResultReason = response.status.statusCode.toLowerCase() === \"success\" ? successReason : ResultReason.Canceled;\r\n const result = new VoiceProfileResult(reason, `statusCode: ${response.status.statusCode}, errorDetails: ${response.status.reason}`);\r\n this.privDeferralMap.complete(requestId, result);\r\n } else {\r\n throw new Error(`Voice Profile create request for requestID ${requestId} not found`);\r\n }\r\n }\r\n\r\n private handleFetchResponse(enrollmentResponse: EnrollmentResponse, requestId: string): void {\r\n if (!!this.privDeferralMap.getId(requestId) && !!enrollmentResponse.profiles[0]) {\r\n if (!!this.privExpectedProfileId && enrollmentResponse.profiles.length === 1 && enrollmentResponse.profiles[0].profileId === this.privExpectedProfileId) {\r\n this.privExpectedProfileId = undefined;\r\n const profileInfo: IProfile = enrollmentResponse.profiles[0];\r\n const result: VoiceProfileEnrollmentResult = new VoiceProfileEnrollmentResult(\r\n this.enrollmentReasonFrom(profileInfo.enrollmentStatus),\r\n JSON.stringify(profileInfo),\r\n enrollmentResponse.status.reason,\r\n );\r\n this.privDeferralMap.complete(requestId, result);\r\n } else if (enrollmentResponse.profiles.length > 0) {\r\n const iProfiles: IProfile[] = enrollmentResponse.profiles;\r\n const profileResults: VoiceProfileEnrollmentResult[] = [];\r\n for (const profile of iProfiles) {\r\n profileResults.push( new VoiceProfileEnrollmentResult(\r\n this.enrollmentReasonFrom(profile.enrollmentStatus),\r\n JSON.stringify(profile),\r\n enrollmentResponse.status.reason,\r\n ));\r\n }\r\n this.privDeferralMap.complete(requestId, profileResults);\r\n }\r\n } else {\r\n throw new Error(`Voice Profile fetch request for requestID ${requestId} not found`);\r\n }\r\n }\r\n\r\n private enrollmentReasonFrom(statusCode: string): ResultReason {\r\n switch (statusCode.toLowerCase()) {\r\n case \"enrolled\":\r\n return ResultReason.EnrolledVoiceProfile;\r\n case \"invalidlocale\":\r\n case \"invalidphrase\":\r\n case \"invalidaudioformat\":\r\n case \"invalidscenario\":\r\n case \"invalidprofilecount\":\r\n case \"invalidoperation\":\r\n case \"audiotooshort\":\r\n case \"audiotoolong\":\r\n case \"toomanyenrollments\":\r\n case \"storageconflict\":\r\n case \"profilenotfound\":\r\n case \"incompatibleprofiles\":\r\n case \"incompleteenrollment\":\r\n return ResultReason.Canceled;\r\n default:\r\n return ResultReason.EnrollingVoiceProfile;\r\n }\r\n }\r\n\r\n private scenarioFrom(profileType: VoiceProfileType): string {\r\n return profileType === VoiceProfileType.TextIndependentIdentification ? \"TextIndependentIdentification\" :\r\n profileType === VoiceProfileType.TextIndependentVerification ? \"TextIndependentVerification\" : \"TextDependentVerification\";\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ConnectionMessage,\r\n Deferred,\r\n IStringDictionary,\r\n IWebsocketMessageFormatter,\r\n MessageType,\r\n RawWebsocketMessage,\r\n} from \"../common/Exports.js\";\r\n\r\nconst CRLF: string = \"\\r\\n\";\r\n\r\nexport class WebsocketMessageFormatter implements IWebsocketMessageFormatter {\r\n\r\n public toConnectionMessage(message: RawWebsocketMessage): Promise {\r\n const deferral = new Deferred();\r\n\r\n try {\r\n if (message.messageType === MessageType.Text) {\r\n const textMessage: string = message.textContent;\r\n let headers: IStringDictionary = {};\r\n let body: string = null;\r\n\r\n if (textMessage) {\r\n const headerBodySplit = textMessage.split(\"\\r\\n\\r\\n\");\r\n if (headerBodySplit && headerBodySplit.length > 0) {\r\n headers = this.parseHeaders(headerBodySplit[0]);\r\n if (headerBodySplit.length > 1) {\r\n body = headerBodySplit[1];\r\n }\r\n }\r\n }\r\n\r\n deferral.resolve(new ConnectionMessage(message.messageType, body, headers, message.id));\r\n } else if (message.messageType === MessageType.Binary) {\r\n const binaryMessage: ArrayBuffer = message.binaryContent;\r\n let headers: IStringDictionary = {};\r\n let body: ArrayBuffer = null;\r\n\r\n if (!binaryMessage || binaryMessage.byteLength < 2) {\r\n throw new Error(\"Invalid binary message format. Header length missing.\");\r\n }\r\n\r\n const dataView = new DataView(binaryMessage);\r\n const headerLength = dataView.getInt16(0);\r\n\r\n if (binaryMessage.byteLength < headerLength + 2) {\r\n throw new Error(\"Invalid binary message format. Header content missing.\");\r\n }\r\n\r\n let headersString = \"\";\r\n for (let i = 0; i < headerLength; i++) {\r\n headersString += String.fromCharCode((dataView).getInt8(i + 2));\r\n }\r\n\r\n headers = this.parseHeaders(headersString);\r\n\r\n if (binaryMessage.byteLength > headerLength + 2) {\r\n body = binaryMessage.slice(2 + headerLength);\r\n }\r\n\r\n deferral.resolve(new ConnectionMessage(message.messageType, body, headers, message.id));\r\n }\r\n } catch (e) {\r\n deferral.reject(`Error formatting the message. Error: ${e as string}`);\r\n }\r\n\r\n return deferral.promise;\r\n }\r\n\r\n public fromConnectionMessage(message: ConnectionMessage): Promise {\r\n const deferral = new Deferred();\r\n\r\n try {\r\n if (message.messageType === MessageType.Text) {\r\n const payload = `${this.makeHeaders(message)}${CRLF}${message.textBody ? message.textBody : \"\"}`;\r\n\r\n deferral.resolve(new RawWebsocketMessage(MessageType.Text, payload, message.id));\r\n\r\n } else if (message.messageType === MessageType.Binary) {\r\n const headersString = this.makeHeaders(message);\r\n const content = message.binaryBody;\r\n\r\n const headerBuffer = this.stringToArrayBuffer(headersString);\r\n const headerInt8Array = new Int8Array(headerBuffer);\r\n const headerLength = headerInt8Array.byteLength;\r\n\r\n const payloadInt8Array = new Int8Array(2 + headerLength + (content ? content.byteLength : 0));\r\n payloadInt8Array[0] = ((headerLength >> 8) & 0xff);\r\n payloadInt8Array[1] = headerLength & 0xff;\r\n payloadInt8Array.set(headerInt8Array, 2);\r\n\r\n if (content) {\r\n const bodyInt8Array = new Int8Array(content);\r\n payloadInt8Array.set(bodyInt8Array, 2 + headerLength);\r\n }\r\n\r\n const payload: ArrayBuffer = payloadInt8Array.buffer;\r\n\r\n deferral.resolve(new RawWebsocketMessage(MessageType.Binary, payload, message.id));\r\n }\r\n } catch (e) {\r\n deferral.reject(`Error formatting the message. ${e as string}`);\r\n }\r\n\r\n return deferral.promise;\r\n }\r\n\r\n private makeHeaders(message: ConnectionMessage): string {\r\n let headersString: string = \"\";\r\n\r\n if (message.headers) {\r\n for (const header in message.headers) {\r\n if (header) {\r\n headersString += `${header}: ${message.headers[header]}${CRLF}`;\r\n }\r\n }\r\n }\r\n\r\n return headersString;\r\n }\r\n\r\n private parseHeaders(headersString: string): IStringDictionary {\r\n const headers: IStringDictionary = {};\r\n\r\n if (headersString) {\r\n const headerMatches = headersString.match(/[^\\r\\n]+/g);\r\n if (headers) {\r\n for (const header of headerMatches) {\r\n if (header) {\r\n const separatorIndex = header.indexOf(\":\");\r\n const headerName = separatorIndex > 0 ? header.substr(0, separatorIndex).trim().toLowerCase() : header;\r\n const headerValue =\r\n separatorIndex > 0 && header.length > (separatorIndex + 1) ?\r\n header.substr(separatorIndex + 1).trim() :\r\n \"\";\r\n\r\n headers[headerName] = headerValue;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return headers;\r\n }\r\n\r\n private stringToArrayBuffer(str: string): ArrayBuffer {\r\n const buffer = new ArrayBuffer(str.length);\r\n const view = new DataView(buffer);\r\n for (let i = 0; i < str.length; i++) {\r\n view.setUint8(i, str.charCodeAt(i));\r\n }\r\n return buffer;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { EventType, PlatformEvent } from \"./PlatformEvent.js\";\r\n\r\nexport class AudioSourceEvent extends PlatformEvent {\r\n private privAudioSourceId: string;\r\n\r\n public constructor(eventName: string, audioSourceId: string, eventType: EventType = EventType.Info) {\r\n super(eventName, eventType);\r\n this.privAudioSourceId = audioSourceId;\r\n }\r\n\r\n public get audioSourceId(): string {\r\n return this.privAudioSourceId;\r\n }\r\n}\r\n\r\nexport class AudioSourceInitializingEvent extends AudioSourceEvent {\r\n public constructor(audioSourceId: string) {\r\n super(\"AudioSourceInitializingEvent\", audioSourceId);\r\n }\r\n}\r\n\r\nexport class AudioSourceReadyEvent extends AudioSourceEvent {\r\n public constructor(audioSourceId: string) {\r\n super(\"AudioSourceReadyEvent\", audioSourceId);\r\n }\r\n}\r\n\r\nexport class AudioSourceOffEvent extends AudioSourceEvent {\r\n public constructor(audioSourceId: string) {\r\n super(\"AudioSourceOffEvent\", audioSourceId);\r\n }\r\n}\r\n\r\nexport class AudioSourceErrorEvent extends AudioSourceEvent {\r\n private privError: string;\r\n\r\n public constructor(audioSourceId: string, error: string) {\r\n super(\"AudioSourceErrorEvent\", audioSourceId, EventType.Error);\r\n this.privError = error;\r\n }\r\n\r\n public get error(): string {\r\n return this.privError;\r\n }\r\n}\r\n\r\nexport class AudioStreamNodeEvent extends AudioSourceEvent {\r\n private privAudioNodeId: string;\r\n\r\n public constructor(eventName: string, audioSourceId: string, audioNodeId: string) {\r\n super(eventName, audioSourceId);\r\n this.privAudioNodeId = audioNodeId;\r\n }\r\n\r\n public get audioNodeId(): string {\r\n return this.privAudioNodeId;\r\n }\r\n}\r\n\r\nexport class AudioStreamNodeAttachingEvent extends AudioStreamNodeEvent {\r\n public constructor(audioSourceId: string, audioNodeId: string) {\r\n super(\"AudioStreamNodeAttachingEvent\", audioSourceId, audioNodeId);\r\n }\r\n}\r\n\r\nexport class AudioStreamNodeAttachedEvent extends AudioStreamNodeEvent {\r\n public constructor(audioSourceId: string, audioNodeId: string) {\r\n super(\"AudioStreamNodeAttachedEvent\", audioSourceId, audioNodeId);\r\n }\r\n}\r\n\r\nexport class AudioStreamNodeDetachedEvent extends AudioStreamNodeEvent {\r\n public constructor(audioSourceId: string, audioNodeId: string) {\r\n super(\"AudioStreamNodeDetachedEvent\", audioSourceId, audioNodeId);\r\n }\r\n}\r\n\r\nexport class AudioStreamNodeErrorEvent extends AudioStreamNodeEvent {\r\n private privError: string;\r\n\r\n public constructor(audioSourceId: string, audioNodeId: string, error: string) {\r\n super(\"AudioStreamNodeErrorEvent\", audioSourceId, audioNodeId);\r\n this.privError = error;\r\n }\r\n\r\n public get error(): string {\r\n return this.privError;\r\n }\r\n}\r\n","\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n EventType,\r\n PlatformEvent\r\n} from \"./Exports.js\";\r\n\r\nexport class BackgroundEvent extends PlatformEvent {\r\n private privError: string;\r\n\r\n public constructor(error: string) {\r\n super(\"BackgroundEvent\", EventType.Error);\r\n this.privError = error;\r\n }\r\n\r\n public get error(): string {\r\n return this.privError;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IStreamChunk, Stream } from \"./Exports.js\";\r\n\r\nexport class ChunkedArrayBufferStream extends Stream {\r\n private privTargetChunkSize: number;\r\n private privNextBufferToWrite: ArrayBuffer;\r\n private privNextBufferStartTime: number;\r\n private privNextBufferReadyBytes: number;\r\n\r\n public constructor(targetChunkSize: number, streamId?: string) {\r\n super(streamId);\r\n this.privTargetChunkSize = targetChunkSize;\r\n this.privNextBufferReadyBytes = 0;\r\n }\r\n\r\n public writeStreamChunk(chunk: IStreamChunk): void {\r\n // No pending write, and the buffer is the right size so write it.\r\n if (chunk.isEnd ||\r\n (0 === this.privNextBufferReadyBytes && chunk.buffer.byteLength === this.privTargetChunkSize)) {\r\n super.writeStreamChunk(chunk);\r\n return;\r\n }\r\n\r\n let bytesCopiedFromBuffer: number = 0;\r\n\r\n while (bytesCopiedFromBuffer < chunk.buffer.byteLength) {\r\n // Fill the next buffer.\r\n if (undefined === this.privNextBufferToWrite) {\r\n this.privNextBufferToWrite = new ArrayBuffer(this.privTargetChunkSize);\r\n this.privNextBufferStartTime = chunk.timeReceived;\r\n }\r\n\r\n // Find out how many bytes we can copy into the read buffer.\r\n const bytesToCopy: number = Math.min(chunk.buffer.byteLength - bytesCopiedFromBuffer, this.privTargetChunkSize - this.privNextBufferReadyBytes);\r\n const targetView: Uint8Array = new Uint8Array(this.privNextBufferToWrite);\r\n const sourceView: Uint8Array = new Uint8Array(chunk.buffer.slice(bytesCopiedFromBuffer, bytesToCopy + bytesCopiedFromBuffer));\r\n\r\n targetView.set(sourceView, this.privNextBufferReadyBytes);\r\n this.privNextBufferReadyBytes += bytesToCopy;\r\n bytesCopiedFromBuffer += bytesToCopy;\r\n\r\n // Are we ready to write?\r\n if (this.privNextBufferReadyBytes === this.privTargetChunkSize) {\r\n super.writeStreamChunk({\r\n buffer: this.privNextBufferToWrite,\r\n isEnd: false,\r\n timeReceived: this.privNextBufferStartTime,\r\n });\r\n this.privNextBufferReadyBytes = 0;\r\n this.privNextBufferToWrite = undefined;\r\n }\r\n }\r\n }\r\n\r\n public close(): void {\r\n // Send whatever is pending, then close the base class.\r\n if (0 !== this.privNextBufferReadyBytes && !this.isClosed) {\r\n super.writeStreamChunk({\r\n buffer: this.privNextBufferToWrite.slice(0, this.privNextBufferReadyBytes),\r\n isEnd: false,\r\n timeReceived: this.privNextBufferStartTime,\r\n });\r\n }\r\n\r\n super.close();\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { ConnectionMessage } from \"./ConnectionMessage.js\";\r\nimport { IStringDictionary } from \"./IDictionary.js\";\r\nimport { EventType, PlatformEvent } from \"./PlatformEvent.js\";\r\n\r\nexport class ServiceEvent extends PlatformEvent {\r\n private privJsonResult: string;\r\n\r\n public constructor(eventName: string, jsonstring: string, eventType: EventType = EventType.Info) {\r\n super(eventName, eventType);\r\n this.privJsonResult = jsonstring;\r\n }\r\n\r\n public get jsonString(): string {\r\n return this.privJsonResult;\r\n }\r\n}\r\n\r\nexport class ConnectionEvent extends PlatformEvent {\r\n private privConnectionId: string;\r\n\r\n public constructor(eventName: string, connectionId: string, eventType: EventType = EventType.Info) {\r\n super(eventName, eventType);\r\n this.privConnectionId = connectionId;\r\n }\r\n\r\n public get connectionId(): string {\r\n return this.privConnectionId;\r\n }\r\n}\r\n\r\nexport class ConnectionStartEvent extends ConnectionEvent {\r\n private privUri: string;\r\n private privHeaders: IStringDictionary;\r\n\r\n public constructor(connectionId: string, uri: string, headers?: IStringDictionary) {\r\n super(\"ConnectionStartEvent\", connectionId);\r\n this.privUri = uri;\r\n this.privHeaders = headers;\r\n }\r\n\r\n public get uri(): string {\r\n return this.privUri;\r\n }\r\n\r\n public get headers(): IStringDictionary {\r\n return this.privHeaders;\r\n }\r\n}\r\n\r\nexport class ConnectionEstablishedEvent extends ConnectionEvent {\r\n public constructor(connectionId: string) {\r\n super(\"ConnectionEstablishedEvent\", connectionId);\r\n }\r\n}\r\n\r\nexport class ConnectionClosedEvent extends ConnectionEvent {\r\n private privReason: string;\r\n private privStatusCode: number;\r\n\r\n public constructor(connectionId: string, statusCode: number, reason: string) {\r\n super(\"ConnectionClosedEvent\", connectionId, EventType.Debug);\r\n this.privReason = reason;\r\n this.privStatusCode = statusCode;\r\n }\r\n\r\n public get reason(): string {\r\n return this.privReason;\r\n }\r\n\r\n public get statusCode(): number {\r\n return this.privStatusCode;\r\n }\r\n}\r\n\r\nexport class ConnectionErrorEvent extends ConnectionEvent {\r\n private readonly privMessage: string;\r\n private readonly privType: string;\r\n\r\n public constructor(connectionId: string, message: string, type: string) {\r\n super(\"ConnectionErrorEvent\", connectionId, EventType.Debug);\r\n this.privMessage = message;\r\n this.privType = type;\r\n }\r\n\r\n public get message(): string {\r\n return this.privMessage;\r\n }\r\n\r\n public get type(): string {\r\n return this.privType;\r\n }\r\n}\r\n\r\nexport class ConnectionEstablishErrorEvent extends ConnectionEvent {\r\n private privStatusCode: number;\r\n private privReason: string;\r\n\r\n public constructor(connectionId: string, statuscode: number, reason: string) {\r\n super(\"ConnectionEstablishErrorEvent\", connectionId, EventType.Error);\r\n this.privStatusCode = statuscode;\r\n this.privReason = reason;\r\n }\r\n\r\n public get reason(): string {\r\n return this.privReason;\r\n }\r\n\r\n public get statusCode(): number {\r\n return this.privStatusCode;\r\n }\r\n}\r\n\r\nexport class ConnectionMessageReceivedEvent extends ConnectionEvent {\r\n private privNetworkReceivedTime: string;\r\n private privMessage: ConnectionMessage;\r\n\r\n public constructor(connectionId: string, networkReceivedTimeISO: string, message: ConnectionMessage) {\r\n super(\"ConnectionMessageReceivedEvent\", connectionId);\r\n this.privNetworkReceivedTime = networkReceivedTimeISO;\r\n this.privMessage = message;\r\n }\r\n\r\n public get networkReceivedTime(): string {\r\n return this.privNetworkReceivedTime;\r\n }\r\n\r\n public get message(): ConnectionMessage {\r\n return this.privMessage;\r\n }\r\n}\r\n\r\nexport class ConnectionMessageSentEvent extends ConnectionEvent {\r\n private privNetworkSentTime: string;\r\n private privMessage: ConnectionMessage;\r\n\r\n public constructor(connectionId: string, networkSentTimeISO: string, message: ConnectionMessage) {\r\n super(\"ConnectionMessageSentEvent\", connectionId);\r\n this.privNetworkSentTime = networkSentTimeISO;\r\n this.privMessage = message;\r\n }\r\n\r\n public get networkSentTime(): string {\r\n return this.privNetworkSentTime;\r\n }\r\n\r\n public get message(): ConnectionMessage {\r\n return this.privMessage;\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unsafe-return */\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { InvalidOperationError } from \"./Error.js\";\r\nimport { createNoDashGuid } from \"./Guid.js\";\r\nimport { IStringDictionary } from \"./IDictionary.js\";\r\n\r\nexport enum MessageType {\r\n Text,\r\n Binary,\r\n}\r\n\r\nexport class ConnectionMessage {\r\n\r\n private privMessageType: MessageType;\r\n private privHeaders: IStringDictionary;\r\n private privBody: any = null;\r\n private privSize: number;\r\n\r\n private privId: string;\r\n\r\n public constructor(\r\n messageType: MessageType,\r\n body: any,\r\n headers?: IStringDictionary,\r\n id?: string) {\r\n\r\n if (messageType === MessageType.Text && body && !(typeof (body) === \"string\")) {\r\n throw new InvalidOperationError(\"Payload must be a string\");\r\n }\r\n\r\n if (messageType === MessageType.Binary && body && !(body instanceof ArrayBuffer)) {\r\n throw new InvalidOperationError(\"Payload must be ArrayBuffer\");\r\n }\r\n\r\n this.privMessageType = messageType;\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n this.privBody = body;\r\n this.privHeaders = headers ? headers : {};\r\n this.privId = id ? id : createNoDashGuid();\r\n switch (this.messageType) {\r\n case MessageType.Binary:\r\n this.privSize = this.binaryBody !== null ? this.binaryBody.byteLength : 0;\r\n break;\r\n case MessageType.Text:\r\n this.privSize = this.textBody.length;\r\n }\r\n }\r\n\r\n public get messageType(): MessageType {\r\n return this.privMessageType;\r\n }\r\n\r\n public get headers(): IStringDictionary {\r\n return this.privHeaders;\r\n }\r\n\r\n public get body(): any {\r\n return this.privBody;\r\n }\r\n\r\n public get textBody(): string {\r\n if (this.privMessageType === MessageType.Binary) {\r\n throw new InvalidOperationError(\"Not supported for binary message\");\r\n }\r\n\r\n return this.privBody as string;\r\n }\r\n\r\n public get binaryBody(): ArrayBuffer {\r\n if (this.privMessageType === MessageType.Text) {\r\n throw new InvalidOperationError(\"Not supported for text message\");\r\n }\r\n\r\n return this.privBody;\r\n }\r\n\r\n public get id(): string {\r\n return this.privId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport class ConnectionOpenResponse {\r\n private privStatusCode: number;\r\n private privReason: string;\r\n\r\n public constructor(statusCode: number, reason: string) {\r\n this.privStatusCode = statusCode;\r\n this.privReason = reason;\r\n }\r\n\r\n public get statusCode(): number {\r\n return this.privStatusCode;\r\n }\r\n\r\n public get reason(): string {\r\n return this.privReason;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Deferred } from \"./Promise.js\";\r\n\r\n/**\r\n * The error that is thrown when an argument passed in is null.\r\n *\r\n * @export\r\n * @class DefferalMap\r\n */\r\n\r\nexport class DeferralMap {\r\n private privMap: { [id: string]: Deferred } = {};\r\n\r\n public add(id: string, deferral: Deferred): void {\r\n this.privMap[id] = deferral;\r\n }\r\n\r\n public getId(id: string): Deferred {\r\n return this.privMap[id];\r\n }\r\n\r\n public complete(id: string, result: T): void {\r\n try {\r\n this.privMap[id].resolve(result);\r\n } catch (error) {\r\n this.privMap[id].reject(error as string);\r\n } finally {\r\n this.privMap[id] = undefined;\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { AgentConfig } from \"../common.speech/Exports.js\";\r\nimport { EventType, PlatformEvent } from \"./PlatformEvent.js\";\r\n\r\nexport class DialogEvent extends PlatformEvent {\r\n\r\n public constructor(eventName: string, eventType: EventType = EventType.Info) {\r\n super(eventName, eventType);\r\n }\r\n}\r\n\r\nexport class SendingAgentContextMessageEvent extends DialogEvent {\r\n private privAgentConfig: AgentConfig;\r\n\r\n public constructor(agentConfig: AgentConfig) {\r\n super(\"SendingAgentContextMessageEvent\");\r\n this.privAgentConfig = agentConfig;\r\n }\r\n\r\n public get agentConfig(): AgentConfig {\r\n return this.privAgentConfig;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\n/**\r\n * The error that is thrown when an argument passed in is null.\r\n *\r\n * @export\r\n * @class ArgumentNullError\r\n * @extends {Error}\r\n */\r\nexport class ArgumentNullError extends Error {\r\n\r\n /**\r\n * Creates an instance of ArgumentNullError.\r\n *\r\n * @param {string} argumentName - Name of the argument that is null\r\n *\r\n * @memberOf ArgumentNullError\r\n */\r\n public constructor(argumentName: string) {\r\n super(argumentName);\r\n this.name = \"ArgumentNull\";\r\n this.message = argumentName;\r\n }\r\n}\r\n\r\n/**\r\n * The error that is thrown when an invalid operation is performed in the code.\r\n *\r\n * @export\r\n * @class InvalidOperationError\r\n * @extends {Error}\r\n */\r\nexport class InvalidOperationError extends Error {\r\n\r\n /**\r\n * Creates an instance of InvalidOperationError.\r\n *\r\n * @param {string} error - The error\r\n *\r\n * @memberOf InvalidOperationError\r\n */\r\n public constructor(error: string) {\r\n super(error);\r\n this.name = \"InvalidOperation\";\r\n this.message = error;\r\n }\r\n}\r\n\r\n/**\r\n * The error that is thrown when an object is disposed.\r\n *\r\n * @export\r\n * @class ObjectDisposedError\r\n * @extends {Error}\r\n */\r\nexport class ObjectDisposedError extends Error {\r\n\r\n /**\r\n * Creates an instance of ObjectDisposedError.\r\n *\r\n * @param {string} objectName - The object that is disposed\r\n * @param {string} error - The error\r\n *\r\n * @memberOf ObjectDisposedError\r\n */\r\n public constructor(objectName: string, error?: string) {\r\n super(error);\r\n this.name = objectName + \"ObjectDisposed\";\r\n this.message = error;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ObjectDisposedError } from \"./Error.js\";\r\nimport { createNoDashGuid } from \"./Guid.js\";\r\nimport { IDetachable } from \"./IDetachable.js\";\r\nimport { IStringDictionary } from \"./IDictionary.js\";\r\nimport { IEventListener } from \"./IEventListener.js\";\r\nimport { IEventSource } from \"./IEventSource.js\";\r\nimport { PlatformEvent } from \"./PlatformEvent.js\";\r\n\r\nexport class EventSource implements IEventSource {\r\n private privEventListeners: IStringDictionary<(event: TEvent) => void> = {};\r\n private privMetadata: IStringDictionary;\r\n private privIsDisposed: boolean = false;\r\n private privConsoleListener: IDetachable = undefined;\r\n\r\n public constructor(metadata?: IStringDictionary) {\r\n this.privMetadata = metadata;\r\n }\r\n\r\n public onEvent(event: TEvent): void {\r\n if (this.isDisposed()) {\r\n throw (new ObjectDisposedError(\"EventSource\"));\r\n }\r\n\r\n if (this.metadata) {\r\n for (const paramName in this.metadata) {\r\n if (paramName) {\r\n if (event.metadata) {\r\n if (!event.metadata[paramName]) {\r\n event.metadata[paramName] = this.metadata[paramName];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (const eventId in this.privEventListeners) {\r\n if (eventId && this.privEventListeners[eventId]) {\r\n this.privEventListeners[eventId](event);\r\n }\r\n }\r\n }\r\n\r\n public attach(onEventCallback: (event: TEvent) => void): IDetachable {\r\n const id = createNoDashGuid();\r\n this.privEventListeners[id] = onEventCallback;\r\n return {\r\n detach: (): Promise => {\r\n delete this.privEventListeners[id];\r\n return Promise.resolve();\r\n },\r\n };\r\n }\r\n\r\n public attachListener(listener: IEventListener): IDetachable {\r\n return this.attach((e: TEvent): void => listener.onEvent(e));\r\n }\r\n\r\n public attachConsoleListener(listener: IEventListener): IDetachable {\r\n if (!!this.privConsoleListener) {\r\n void this.privConsoleListener.detach(); // Detach implementation for eventListeners is synchronous\r\n }\r\n this.privConsoleListener = this.attach((e: TEvent): void => listener.onEvent(e));\r\n return this.privConsoleListener;\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public dispose(): void {\r\n this.privEventListeners = null;\r\n this.privIsDisposed = true;\r\n }\r\n\r\n public get metadata(): IStringDictionary {\r\n return this.privMetadata;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ArgumentNullError } from \"./Error.js\";\r\nimport { EventSource } from \"./EventSource.js\";\r\nimport { IEventSource } from \"./IEventSource.js\";\r\nimport { PlatformEvent } from \"./PlatformEvent.js\";\r\n\r\nexport class Events {\r\n private static privInstance: IEventSource = new EventSource();\r\n\r\n public static setEventSource(eventSource: IEventSource): void {\r\n if (!eventSource) {\r\n throw new ArgumentNullError(\"eventSource\");\r\n }\r\n\r\n Events.privInstance = eventSource;\r\n }\r\n\r\n public static get instance(): IEventSource {\r\n return Events.privInstance;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport * from \"./AudioSourceEvents.js\";\r\nexport * from \"./ConnectionEvents.js\";\r\nexport * from \"./ConnectionMessage.js\";\r\nexport * from \"./ConnectionOpenResponse.js\";\r\nexport * from \"./DeferralMap.js\";\r\nexport * from \"./DialogEvents.js\";\r\nexport * from \"./Error.js\";\r\nexport * from \"./Events.js\";\r\nexport * from \"./EventSource.js\";\r\nexport * from \"./Guid.js\";\r\nexport * from \"./IAudioSource.js\";\r\nexport * from \"./IConnection.js\";\r\nexport * from \"./IDetachable.js\";\r\nexport * from \"./IDictionary.js\";\r\nexport * from \"./IDisposable.js\";\r\nexport * from \"./IEventListener.js\";\r\nexport * from \"./IEventSource.js\";\r\nexport * from \"./IErrorMessages.js\";\r\nexport * from \"./ITimer.js\";\r\nexport * from \"./IWebsocketMessageFormatter.js\";\r\nexport * from \"./List.js\";\r\nexport * from \"./PlatformEvent.js\";\r\nexport * from \"./Promise.js\";\r\nexport * from \"./Queue.js\";\r\nexport * from \"./RawWebsocketMessage.js\";\r\nexport * from \"./RiffPcmEncoder.js\";\r\nexport * from \"./Stream.js\";\r\nexport { TranslationStatus } from \"../common.speech/TranslationStatus.js\";\r\nexport * from \"./ChunkedArrayBufferStream.js\";\r\nexport * from \"./IAudioDestination.js\";\r\nexport * from \"./Timeout.js\";\r\nexport * from \"./OCSPEvents.js\";\r\nexport * from \"./BackgroundError.js\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nconst createGuid: () => string = (): string => uuid();\r\n\r\nconst createNoDashGuid: () => string = (): string => createGuid().replace(new RegExp(\"-\", \"g\"), \"\").toUpperCase();\r\n\r\nexport { createGuid, createNoDashGuid };\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ConnectionEvent } from \"./ConnectionEvents.js\";\r\nimport { ConnectionMessage } from \"./ConnectionMessage.js\";\r\nimport { ConnectionOpenResponse } from \"./ConnectionOpenResponse.js\";\r\nimport { EventSource } from \"./EventSource.js\";\r\n\r\nexport enum ConnectionState {\r\n None,\r\n Connected,\r\n Connecting,\r\n Disconnected,\r\n}\r\n\r\nexport interface IConnection {\r\n id: string;\r\n state(): ConnectionState;\r\n open(): Promise;\r\n send(message: ConnectionMessage): Promise;\r\n read(): Promise;\r\n events: EventSource;\r\n dispose(disposing?: string): Promise;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ObjectDisposedError } from \"./Error.js\";\r\nimport { IDetachable } from \"./IDetachable.js\";\r\nimport { IStringDictionary } from \"./IDictionary.js\";\r\nimport { IDisposable } from \"./IDisposable.js\";\r\n\r\nexport interface IList extends IDisposable {\r\n get(itemIndex: number): TItem;\r\n first(): TItem;\r\n last(): TItem;\r\n\r\n add(item: TItem): void;\r\n insertAt(index: number, item: TItem): void;\r\n\r\n removeFirst(): TItem;\r\n removeLast(): TItem;\r\n removeAt(index: number): TItem;\r\n remove(index: number, count: number): TItem[];\r\n clear(): void;\r\n\r\n length(): number;\r\n\r\n onAdded(addedCallback: () => void): IDetachable;\r\n onRemoved(removedCallback: () => void): IDetachable;\r\n onDisposed(disposedCallback: () => void): IDetachable;\r\n\r\n join(seperator?: string): string;\r\n\r\n toArray(): TItem[];\r\n\r\n any(callback?: (item: TItem, index: number) => boolean): boolean;\r\n all(callback: (item: TItem) => boolean): boolean;\r\n forEach(callback: (item: TItem, index: number) => void): void;\r\n select(callback: (item: TItem, index: number) => T2): List;\r\n where(callback: (item: TItem, index: number) => boolean): List;\r\n orderBy(compareFn: (a: TItem, b: TItem) => number): List;\r\n orderByDesc(compareFn: (a: TItem, b: TItem) => number): List;\r\n clone(): List;\r\n concat(list: List): List;\r\n concatArray(array: TItem[]): List;\r\n}\r\n\r\nexport class List implements IList {\r\n private privList: TItem[];\r\n private privSubscriptionIdCounter: number = 0;\r\n private privAddSubscriptions: IStringDictionary<() => void> = {};\r\n private privRemoveSubscriptions: IStringDictionary<() => void> = {};\r\n private privDisposedSubscriptions: IStringDictionary<() => void> = {};\r\n private privDisposeReason: string = null;\r\n\r\n public constructor(list?: TItem[]) {\r\n this.privList = [];\r\n // copy the list rather than taking as is.\r\n if (list) {\r\n for (const item of list) {\r\n this.privList.push(item);\r\n }\r\n }\r\n }\r\n\r\n public get(itemIndex: number): TItem {\r\n this.throwIfDisposed();\r\n return this.privList[itemIndex];\r\n }\r\n\r\n public first(): TItem {\r\n return this.get(0);\r\n }\r\n\r\n public last(): TItem {\r\n return this.get(this.length() - 1);\r\n }\r\n\r\n public add(item: TItem): void {\r\n this.throwIfDisposed();\r\n this.insertAt(this.privList.length, item);\r\n }\r\n\r\n public insertAt(index: number, item: TItem): void {\r\n this.throwIfDisposed();\r\n if (index === 0) {\r\n this.privList.unshift(item);\r\n } else if (index === this.privList.length) {\r\n this.privList.push(item);\r\n } else {\r\n this.privList.splice(index, 0, item);\r\n }\r\n this.triggerSubscriptions(this.privAddSubscriptions);\r\n }\r\n\r\n public removeFirst(): TItem {\r\n this.throwIfDisposed();\r\n return this.removeAt(0);\r\n }\r\n\r\n public removeLast(): TItem {\r\n this.throwIfDisposed();\r\n return this.removeAt(this.length() - 1);\r\n }\r\n\r\n public removeAt(index: number): TItem {\r\n this.throwIfDisposed();\r\n return this.remove(index, 1)[0];\r\n }\r\n\r\n public remove(index: number, count: number): TItem[] {\r\n this.throwIfDisposed();\r\n const removedElements = this.privList.splice(index, count);\r\n this.triggerSubscriptions(this.privRemoveSubscriptions);\r\n return removedElements;\r\n }\r\n\r\n public clear(): void {\r\n this.throwIfDisposed();\r\n this.remove(0, this.length());\r\n }\r\n\r\n public length(): number {\r\n this.throwIfDisposed();\r\n return this.privList.length;\r\n }\r\n\r\n public onAdded(addedCallback: () => void): IDetachable {\r\n this.throwIfDisposed();\r\n const subscriptionId = this.privSubscriptionIdCounter++;\r\n\r\n this.privAddSubscriptions[subscriptionId] = addedCallback;\r\n\r\n return {\r\n detach: (): Promise => {\r\n delete this.privAddSubscriptions[subscriptionId];\r\n return Promise.resolve();\r\n },\r\n };\r\n }\r\n\r\n public onRemoved(removedCallback: () => void): IDetachable {\r\n this.throwIfDisposed();\r\n const subscriptionId = this.privSubscriptionIdCounter++;\r\n\r\n this.privRemoveSubscriptions[subscriptionId] = removedCallback;\r\n\r\n return {\r\n detach: (): Promise => {\r\n delete this.privRemoveSubscriptions[subscriptionId];\r\n return Promise.resolve();\r\n },\r\n };\r\n }\r\n\r\n public onDisposed(disposedCallback: () => void): IDetachable {\r\n this.throwIfDisposed();\r\n const subscriptionId = this.privSubscriptionIdCounter++;\r\n\r\n this.privDisposedSubscriptions[subscriptionId] = disposedCallback;\r\n\r\n return {\r\n detach: (): Promise => {\r\n delete this.privDisposedSubscriptions[subscriptionId];\r\n return Promise.resolve();\r\n },\r\n };\r\n }\r\n\r\n public join(seperator?: string): string {\r\n this.throwIfDisposed();\r\n return this.privList.join(seperator);\r\n }\r\n\r\n public toArray(): TItem[] {\r\n const cloneCopy = Array();\r\n this.privList.forEach((val: TItem): void => {\r\n cloneCopy.push(val);\r\n });\r\n return cloneCopy;\r\n }\r\n\r\n public any(callback?: (item: TItem, index: number) => boolean): boolean {\r\n this.throwIfDisposed();\r\n if (callback) {\r\n return this.where(callback).length() > 0;\r\n } else {\r\n return this.length() > 0;\r\n }\r\n }\r\n\r\n public all(callback: (item: TItem) => boolean): boolean {\r\n this.throwIfDisposed();\r\n return this.where(callback).length() === this.length();\r\n }\r\n\r\n public forEach(callback: (item: TItem, index: number) => void): void {\r\n this.throwIfDisposed();\r\n for (let i = 0; i < this.length(); i++) {\r\n callback(this.privList[i], i);\r\n }\r\n }\r\n\r\n public select(callback: (item: TItem, index: number) => T2): List {\r\n this.throwIfDisposed();\r\n const selectList: T2[] = [];\r\n for (let i = 0; i < this.privList.length; i++) {\r\n selectList.push(callback(this.privList[i], i));\r\n }\r\n\r\n return new List(selectList);\r\n }\r\n\r\n public where(callback: (item: TItem, index: number) => boolean): List {\r\n this.throwIfDisposed();\r\n const filteredList = new List();\r\n for (let i = 0; i < this.privList.length; i++) {\r\n if (callback(this.privList[i], i)) {\r\n filteredList.add(this.privList[i]);\r\n }\r\n }\r\n return filteredList;\r\n }\r\n\r\n public orderBy(compareFn: (a: TItem, b: TItem) => number): List {\r\n this.throwIfDisposed();\r\n const clonedArray = this.toArray();\r\n const orderedArray = clonedArray.sort(compareFn);\r\n return new List(orderedArray);\r\n }\r\n\r\n public orderByDesc(compareFn: (a: TItem, b: TItem) => number): List {\r\n this.throwIfDisposed();\r\n return this.orderBy((a: TItem, b: TItem): number => compareFn(b, a));\r\n }\r\n\r\n public clone(): List {\r\n this.throwIfDisposed();\r\n return new List(this.toArray());\r\n }\r\n\r\n public concat(list: List): List {\r\n this.throwIfDisposed();\r\n return new List(this.privList.concat(list.toArray()));\r\n }\r\n\r\n public concatArray(array: TItem[]): List {\r\n this.throwIfDisposed();\r\n return new List(this.privList.concat(array));\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privList == null;\r\n }\r\n\r\n public dispose(reason?: string): void {\r\n if (!this.isDisposed()) {\r\n this.privDisposeReason = reason;\r\n this.privList = null;\r\n this.privAddSubscriptions = null;\r\n this.privRemoveSubscriptions = null;\r\n this.triggerSubscriptions(this.privDisposedSubscriptions);\r\n }\r\n }\r\n\r\n private throwIfDisposed(): void {\r\n if (this.isDisposed()) {\r\n throw new ObjectDisposedError(\"List\", this.privDisposeReason);\r\n }\r\n }\r\n\r\n private triggerSubscriptions(subscriptions: IStringDictionary<() => void>): void {\r\n if (subscriptions) {\r\n for (const subscriptionId in subscriptions) {\r\n if (subscriptionId) {\r\n subscriptions[subscriptionId]();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { EventType, PlatformEvent } from \"./PlatformEvent.js\";\r\n\r\nexport class OCSPEvent extends PlatformEvent {\r\n private privSignature: string;\r\n\r\n public constructor(eventName: string, eventType: EventType, signature: string) {\r\n super(eventName, eventType);\r\n\r\n this.privSignature = signature;\r\n }\r\n}\r\n\r\nexport class OCSPMemoryCacheHitEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPMemoryCacheHitEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPCacheMissEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPCacheMissEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPDiskCacheHitEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPDiskCacheHitEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPCacheUpdateNeededEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPCacheUpdateNeededEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPMemoryCacheStoreEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPMemoryCacheStoreEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPDiskCacheStoreEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPDiskCacheStoreEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPCacheUpdateCompleteEvent extends OCSPEvent {\r\n public constructor(signature: string) {\r\n super(\"OCSPCacheUpdateCompleteEvent\", EventType.Debug, signature);\r\n }\r\n}\r\n\r\nexport class OCSPStapleReceivedEvent extends OCSPEvent {\r\n public constructor() {\r\n super(\"OCSPStapleReceivedEvent\", EventType.Debug, \"\");\r\n }\r\n}\r\n\r\nexport class OCSPWSUpgradeStartedEvent extends OCSPEvent {\r\n public constructor(serialNumber: string) {\r\n super(\"OCSPWSUpgradeStartedEvent\", EventType.Debug, serialNumber);\r\n }\r\n}\r\n\r\nexport class OCSPCacheEntryExpiredEvent extends OCSPEvent {\r\n private privExpireTime: number;\r\n\r\n public constructor(serialNumber: string, expireTime: number) {\r\n super(\"OCSPCacheEntryExpiredEvent\", EventType.Debug, serialNumber);\r\n this.privExpireTime = expireTime;\r\n }\r\n}\r\n\r\nexport class OCSPCacheEntryNeedsRefreshEvent extends OCSPEvent {\r\n private privExpireTime: number;\r\n private privStartTime: number;\r\n\r\n public constructor(serialNumber: string, startTime: number, expireTime: number) {\r\n super(\"OCSPCacheEntryNeedsRefreshEvent\", EventType.Debug, serialNumber);\r\n this.privExpireTime = expireTime;\r\n this.privStartTime = startTime;\r\n }\r\n}\r\n\r\nexport class OCSPCacheHitEvent extends OCSPEvent {\r\n private privExpireTime: number;\r\n private privStartTime: number;\r\n private privExpireTimeString: string;\r\n private privStartTimeString: string;\r\n\r\n public constructor(serialNumber: string, startTime: number, expireTime: number) {\r\n super(\"OCSPCacheHitEvent\", EventType.Debug, serialNumber);\r\n this.privExpireTime = expireTime;\r\n this.privExpireTimeString = new Date(expireTime).toLocaleDateString();\r\n this.privStartTime = startTime;\r\n this.privStartTimeString = new Date(startTime).toLocaleTimeString();\r\n }\r\n}\r\n\r\nexport class OCSPVerificationFailedEvent extends OCSPEvent {\r\n private privError: string;\r\n\r\n public constructor(serialNumber: string, error: string) {\r\n super(\"OCSPVerificationFailedEvent\", EventType.Debug, serialNumber);\r\n this.privError = error;\r\n }\r\n}\r\n\r\nexport class OCSPCacheFetchErrorEvent extends OCSPEvent {\r\n private privError: string;\r\n\r\n public constructor(serialNumber: string, error: string) {\r\n super(\"OCSPCacheFetchErrorEvent\", EventType.Debug, serialNumber);\r\n this.privError = error;\r\n }\r\n}\r\n\r\nexport class OCSPResponseRetrievedEvent extends OCSPEvent {\r\n public constructor(serialNumber: string) {\r\n super(\"OCSPResponseRetrievedEvent\", EventType.Debug, serialNumber);\r\n }\r\n}\r\n\r\nexport class OCSPCacheUpdateErrorEvent extends OCSPEvent {\r\n private privError: string;\r\n\r\n public constructor(serialNumber: string, error: string) {\r\n super(\"OCSPCacheUpdateErrorEvent\", EventType.Debug, serialNumber);\r\n this.privError = error;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { createNoDashGuid } from \"./Guid.js\";\r\nimport { IStringDictionary } from \"./IDictionary.js\";\r\n\r\nexport enum EventType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n None,\r\n}\r\n\r\nexport class PlatformEvent {\r\n private privName: string;\r\n private privEventId: string;\r\n private privEventTime: string;\r\n private privEventType: EventType;\r\n private privMetadata: IStringDictionary;\r\n\r\n public constructor(eventName: string, eventType: EventType) {\r\n this.privName = eventName;\r\n this.privEventId = createNoDashGuid();\r\n this.privEventTime = new Date().toISOString();\r\n this.privEventType = eventType;\r\n this.privMetadata = { };\r\n }\r\n\r\n public get name(): string {\r\n return this.privName;\r\n }\r\n\r\n public get eventId(): string {\r\n return this.privEventId;\r\n }\r\n\r\n public get eventTime(): string {\r\n return this.privEventTime;\r\n }\r\n\r\n public get eventType(): EventType {\r\n return this.privEventType;\r\n }\r\n\r\n public get metadata(): IStringDictionary {\r\n return this.privMetadata;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file, @typescript-eslint/typedef */\r\n\r\nexport enum PromiseState {\r\n None,\r\n Resolved,\r\n Rejected,\r\n}\r\n\r\nexport interface IDeferred {\r\n readonly promise: Promise;\r\n\r\n resolve(result: T): IDeferred;\r\n\r\n reject(error: string): IDeferred;\r\n}\r\n\r\nexport class PromiseResult {\r\n protected privIsCompleted: boolean;\r\n protected privIsError: boolean;\r\n protected privError: string;\r\n protected privResult: T;\r\n\r\n public constructor(promiseResultEventSource: PromiseResultEventSource) {\r\n promiseResultEventSource.on((result: T): void => {\r\n if (!this.privIsCompleted) {\r\n this.privIsCompleted = true;\r\n this.privIsError = false;\r\n this.privResult = result;\r\n }\r\n }, (error: string): void => {\r\n if (!this.privIsCompleted) {\r\n this.privIsCompleted = true;\r\n this.privIsError = true;\r\n this.privError = error;\r\n }\r\n });\r\n }\r\n\r\n public get isCompleted(): boolean {\r\n return this.privIsCompleted;\r\n }\r\n\r\n public get isError(): boolean {\r\n return this.privIsError;\r\n }\r\n\r\n public get error(): string {\r\n return this.privError;\r\n }\r\n\r\n public get result(): T {\r\n return this.privResult;\r\n }\r\n\r\n public throwIfError = (): void => {\r\n if (this.isError) {\r\n throw this.error;\r\n }\r\n };\r\n}\r\n\r\nexport class PromiseResultEventSource {\r\n\r\n private privOnSetResult: (result: T) => void;\r\n private privOnSetError: (error: string) => void;\r\n\r\n public setResult = (result: T): void => {\r\n this.privOnSetResult(result);\r\n };\r\n\r\n public setError = (error: string): void => {\r\n this.privOnSetError(error);\r\n };\r\n\r\n public on = (onSetResult: (result: T) => void, onSetError: (error: string) => void): void => {\r\n this.privOnSetResult = onSetResult;\r\n this.privOnSetError = onSetError;\r\n };\r\n}\r\n\r\nexport class Deferred implements IDeferred {\r\n private privPromise: Promise;\r\n private privResolve: (value?: T | PromiseLike) => void;\r\n private privReject: (reason?: any) => void;\r\n\r\n public constructor() {\r\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\r\n this.privPromise = new Promise((resolve: (value: T) => void, reject: (reason: any) => void) => {\r\n this.privResolve = resolve;\r\n this.privReject = reject;\r\n });\r\n }\r\n\r\n public get promise(): Promise {\r\n return this.privPromise;\r\n }\r\n\r\n public resolve = (result: T | Promise): Deferred => {\r\n this.privResolve(result);\r\n return this;\r\n };\r\n\r\n public reject = (error: string): Deferred => {\r\n this.privReject(error);\r\n return this;\r\n };\r\n}\r\n\r\nexport class Sink {\r\n private privState: PromiseState = PromiseState.None;\r\n private privPromiseResult: PromiseResult = null;\r\n private privPromiseResultEvents: PromiseResultEventSource = null;\r\n\r\n private privSuccessHandlers: ((result: T) => void)[] = [];\r\n private privErrorHandlers: ((e: string) => void)[] = [];\r\n\r\n public constructor() {\r\n this.privPromiseResultEvents = new PromiseResultEventSource();\r\n this.privPromiseResult = new PromiseResult(this.privPromiseResultEvents);\r\n }\r\n\r\n public get state(): PromiseState {\r\n return this.privState;\r\n }\r\n\r\n public get result(): PromiseResult {\r\n return this.privPromiseResult;\r\n }\r\n\r\n public resolve(result: T): void {\r\n if (this.privState !== PromiseState.None) {\r\n throw new Error(\"'Cannot resolve a completed promise'\");\r\n }\r\n\r\n this.privState = PromiseState.Resolved;\r\n this.privPromiseResultEvents.setResult(result);\r\n\r\n for (let i = 0; i < this.privSuccessHandlers.length; i++) {\r\n this.executeSuccessCallback(result, this.privSuccessHandlers[i], this.privErrorHandlers[i]);\r\n }\r\n\r\n this.detachHandlers();\r\n }\r\n\r\n public reject(error: string): void {\r\n if (this.privState !== PromiseState.None) {\r\n throw new Error(\"'Cannot reject a completed promise'\");\r\n }\r\n\r\n this.privState = PromiseState.Rejected;\r\n this.privPromiseResultEvents.setError(error);\r\n\r\n for (const errorHandler of this.privErrorHandlers) {\r\n this.executeErrorCallback(error, errorHandler);\r\n }\r\n\r\n this.detachHandlers();\r\n }\r\n\r\n public on(\r\n successCallback: (result: T) => void,\r\n errorCallback: (error: string) => void): void {\r\n\r\n if (successCallback == null) {\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n successCallback = (): void => { };\r\n }\r\n\r\n if (this.privState === PromiseState.None) {\r\n this.privSuccessHandlers.push(successCallback);\r\n this.privErrorHandlers.push(errorCallback);\r\n } else {\r\n if (this.privState === PromiseState.Resolved) {\r\n this.executeSuccessCallback(this.privPromiseResult.result, successCallback, errorCallback);\r\n } else if (this.privState === PromiseState.Rejected) {\r\n this.executeErrorCallback(this.privPromiseResult.error, errorCallback);\r\n }\r\n\r\n this.detachHandlers();\r\n }\r\n }\r\n\r\n private executeSuccessCallback(result: T, successCallback: (result: T) => void, errorCallback: (error: string) => void): void {\r\n try {\r\n successCallback(result);\r\n } catch (e) {\r\n this.executeErrorCallback(`'Unhandled callback error: ${e as string}'`, errorCallback);\r\n }\r\n }\r\n\r\n private executeErrorCallback(error: string, errorCallback: (error: string) => void): void {\r\n if (errorCallback) {\r\n try {\r\n errorCallback(error);\r\n } catch (e) {\r\n throw new Error(`'Unhandled callback error: ${e as string}. InnerError: ${error}'`);\r\n }\r\n } else {\r\n throw new Error(`'Unhandled error: ${error}'`);\r\n }\r\n }\r\n\r\n private detachHandlers(): void {\r\n this.privErrorHandlers = [];\r\n this.privSuccessHandlers = [];\r\n }\r\n}\r\n\r\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\r\nexport function marshalPromiseToCallbacks(\r\n promise: Promise,\r\n cb?: (value: T) => void,\r\n err?: (error: string) => void): void {\r\n promise.then((val: T): void => {\r\n try {\r\n if (!!cb) {\r\n cb(val);\r\n }\r\n } catch (error) {\r\n if (!!err) {\r\n try {\r\n if (error instanceof Error) {\r\n const typedError: Error = error ;\r\n err(typedError.name + \": \" + typedError.message);\r\n } else {\r\n err(error as string);\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch (error) { }\r\n }\r\n }\r\n }, (error: any): void => {\r\n if (!!err) {\r\n try {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n } else {\r\n err(error as string);\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch (error) { }\r\n }\r\n });\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { InvalidOperationError, ObjectDisposedError } from \"./Error.js\";\r\nimport { IDetachable } from \"./IDetachable.js\";\r\nimport { IDisposable } from \"./IDisposable.js\";\r\nimport { List } from \"./List.js\";\r\nimport {\r\n Deferred,\r\n} from \"./Promise.js\";\r\nexport interface IQueue extends IDisposable {\r\n enqueue(item: TItem): void;\r\n enqueueFromPromise(promise: Promise): void;\r\n dequeue(): Promise;\r\n peek(): Promise;\r\n length(): number;\r\n}\r\n\r\nenum SubscriberType {\r\n Dequeue,\r\n Peek,\r\n}\r\n\r\nexport class Queue implements IQueue {\r\n private privPromiseStore: List> = new List>();\r\n private privList: List;\r\n private privDetachables: IDetachable[];\r\n private privSubscribers: List<{ type: SubscriberType; deferral: Deferred }>;\r\n private privIsDrainInProgress: boolean = false;\r\n private privIsDisposing: boolean = false;\r\n private privDisposeReason: string = null;\r\n\r\n public constructor(list?: List) {\r\n this.privList = list ? list : new List();\r\n this.privDetachables = [];\r\n this.privSubscribers = new List<{ type: SubscriberType; deferral: Deferred }>();\r\n this.privDetachables.push(this.privList.onAdded((): void => this.drain()));\r\n }\r\n\r\n public enqueue(item: TItem): void {\r\n this.throwIfDispose();\r\n this.enqueueFromPromise(new Promise((resolve: (value: TItem) => void): void => resolve(item)));\r\n }\r\n\r\n public enqueueFromPromise(promise: Promise): void {\r\n this.throwIfDispose();\r\n promise.then((val: TItem): void => {\r\n this.privList.add(val);\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n }, (): void => { });\r\n }\r\n\r\n public dequeue(): Promise {\r\n this.throwIfDispose();\r\n const deferredSubscriber = new Deferred();\r\n\r\n if (this.privSubscribers) {\r\n this.privSubscribers.add({ deferral: deferredSubscriber, type: SubscriberType.Dequeue });\r\n this.drain();\r\n }\r\n\r\n return deferredSubscriber.promise;\r\n }\r\n\r\n public peek(): Promise {\r\n this.throwIfDispose();\r\n const deferredSubscriber = new Deferred();\r\n\r\n const subs = this.privSubscribers;\r\n if (subs) {\r\n this.privSubscribers.add({ deferral: deferredSubscriber, type: SubscriberType.Peek });\r\n this.drain();\r\n }\r\n\r\n return deferredSubscriber.promise;\r\n }\r\n\r\n public length(): number {\r\n this.throwIfDispose();\r\n return this.privList.length();\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privSubscribers == null;\r\n }\r\n\r\n public async drainAndDispose(pendingItemProcessor: (pendingItemInQueue: TItem) => void, reason?: string): Promise {\r\n if (!this.isDisposed() && !this.privIsDisposing) {\r\n this.privDisposeReason = reason;\r\n this.privIsDisposing = true;\r\n\r\n const subs = this.privSubscribers;\r\n if (subs) {\r\n while (subs.length() > 0) {\r\n const subscriber = subs.removeFirst();\r\n // TODO: this needs work (Resolve(null) instead?).\r\n subscriber.deferral.resolve(undefined);\r\n // subscriber.deferral.reject(\"Disposed\");\r\n }\r\n\r\n // note: this block assumes cooperative multitasking, i.e.,\r\n // between the if-statement and the assignment there are no\r\n // thread switches.\r\n // Reason is that between the initial const = this.; and this\r\n // point there is the derral.resolve() operation that might have\r\n // caused recursive calls to the Queue, especially, calling\r\n // Dispose() on the queue alredy (which would reset the var\r\n // here to null!).\r\n // That should generally hold true for javascript...\r\n if (this.privSubscribers === subs) {\r\n this.privSubscribers = subs;\r\n }\r\n }\r\n\r\n for (const detachable of this.privDetachables) {\r\n await detachable.detach();\r\n }\r\n\r\n if (this.privPromiseStore.length() > 0 && pendingItemProcessor) {\r\n const promiseArray: Promise[] = [];\r\n\r\n this.privPromiseStore.toArray().forEach((wrapper: Promise): void => {\r\n promiseArray.push(wrapper);\r\n });\r\n return Promise.all(promiseArray).finally((): void => {\r\n this.privSubscribers = null;\r\n this.privList.forEach((item: TItem): void => {\r\n pendingItemProcessor(item);\r\n });\r\n this.privList = null;\r\n return;\r\n }).then();\r\n } else {\r\n this.privSubscribers = null;\r\n this.privList = null;\r\n }\r\n }\r\n }\r\n\r\n public async dispose(reason?: string): Promise {\r\n await this.drainAndDispose(null, reason);\r\n }\r\n\r\n private drain(): void {\r\n if (!this.privIsDrainInProgress && !this.privIsDisposing) {\r\n this.privIsDrainInProgress = true;\r\n\r\n const subs = this.privSubscribers;\r\n const lists = this.privList;\r\n if (subs && lists) {\r\n while (lists.length() > 0 && subs.length() > 0 && !this.privIsDisposing) {\r\n const subscriber = subs.removeFirst();\r\n if (subscriber.type === SubscriberType.Peek) {\r\n subscriber.deferral.resolve(lists.first());\r\n } else {\r\n const dequeuedItem = lists.removeFirst();\r\n subscriber.deferral.resolve(dequeuedItem);\r\n }\r\n }\r\n\r\n // note: this block assumes cooperative multitasking, i.e.,\r\n // between the if-statement and the assignment there are no\r\n // thread switches.\r\n // Reason is that between the initial const = this.; and this\r\n // point there is the derral.resolve() operation that might have\r\n // caused recursive calls to the Queue, especially, calling\r\n // Dispose() on the queue alredy (which would reset the var\r\n // here to null!).\r\n // That should generally hold true for javascript...\r\n if (this.privSubscribers === subs) {\r\n this.privSubscribers = subs;\r\n }\r\n\r\n // note: this block assumes cooperative multitasking, i.e.,\r\n // between the if-statement and the assignment there are no\r\n // thread switches.\r\n // Reason is that between the initial const = this.; and this\r\n // point there is the derral.resolve() operation that might have\r\n // caused recursive calls to the Queue, especially, calling\r\n // Dispose() on the queue alredy (which would reset the var\r\n // here to null!).\r\n // That should generally hold true for javascript...\r\n if (this.privList === lists) {\r\n this.privList = lists;\r\n }\r\n }\r\n\r\n this.privIsDrainInProgress = false;\r\n }\r\n }\r\n\r\n private throwIfDispose(): void {\r\n if (this.isDisposed()) {\r\n if (this.privDisposeReason) {\r\n throw new InvalidOperationError(this.privDisposeReason);\r\n }\r\n\r\n throw new ObjectDisposedError(\"Queue\");\r\n } else if (this.privIsDisposing) {\r\n throw new InvalidOperationError(\"Queue disposing\");\r\n }\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { MessageType } from \"./ConnectionMessage.js\";\r\nimport { ArgumentNullError, InvalidOperationError } from \"./Error.js\";\r\nimport { createNoDashGuid } from \"./Guid.js\";\r\n\r\nexport class RawWebsocketMessage {\r\n private privMessageType: MessageType;\r\n private privPayload: any = null;\r\n private privId: string;\r\n\r\n public constructor(messageType: MessageType, payload: any, id?: string) {\r\n if (!payload) {\r\n throw new ArgumentNullError(\"payload\");\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n if (messageType === MessageType.Binary && Object.getPrototypeOf(payload).constructor.name !== \"ArrayBuffer\") {\r\n throw new InvalidOperationError(\"Payload must be ArrayBuffer\");\r\n }\r\n\r\n if (messageType === MessageType.Text && !(typeof (payload) === \"string\")) {\r\n throw new InvalidOperationError(\"Payload must be a string\");\r\n }\r\n\r\n this.privMessageType = messageType;\r\n this.privPayload = payload;\r\n this.privId = id ? id : createNoDashGuid();\r\n }\r\n\r\n public get messageType(): MessageType {\r\n return this.privMessageType;\r\n }\r\n\r\n public get payload(): any {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\r\n return this.privPayload;\r\n }\r\n\r\n public get textContent(): string {\r\n if (this.privMessageType === MessageType.Binary) {\r\n throw new InvalidOperationError(\"Not supported for binary message\");\r\n }\r\n\r\n return this.privPayload as string;\r\n }\r\n\r\n public get binaryContent(): ArrayBuffer {\r\n if (this.privMessageType === MessageType.Text) {\r\n throw new InvalidOperationError(\"Not supported for text message\");\r\n }\r\n\r\n return this.privPayload as ArrayBuffer;\r\n }\r\n\r\n public get id(): string {\r\n return this.privId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport class RiffPcmEncoder {\r\n\r\n private privActualSampleRate: number;\r\n private privDesiredSampleRate: number;\r\n\r\n public constructor(actualSampleRate: number, desiredSampleRate: number) {\r\n this.privActualSampleRate = actualSampleRate;\r\n this.privDesiredSampleRate = desiredSampleRate;\r\n }\r\n\r\n public encode(actualAudioFrame: Float32Array): ArrayBuffer {\r\n\r\n const audioFrame = this.downSampleAudioFrame(actualAudioFrame, this.privActualSampleRate, this.privDesiredSampleRate);\r\n\r\n if (!audioFrame) {\r\n return null;\r\n }\r\n\r\n const audioLength = audioFrame.length * 2;\r\n\r\n const buffer = new ArrayBuffer(audioLength);\r\n const view = new DataView(buffer);\r\n this.floatTo16BitPCM(view, 0, audioFrame);\r\n\r\n return buffer;\r\n }\r\n\r\n private setString(view: DataView, offset: number, str: string): void {\r\n for (let i = 0; i < str.length; i++) {\r\n view.setUint8(offset + i, str.charCodeAt(i));\r\n }\r\n }\r\n\r\n private floatTo16BitPCM(view: DataView, offset: number, input: Float32Array): void {\r\n for (let i = 0; i < input.length; i++ , offset += 2) {\r\n const s = Math.max(-1, Math.min(1, input[i]));\r\n view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true);\r\n }\r\n }\r\n\r\n private downSampleAudioFrame(\r\n srcFrame: Float32Array,\r\n srcRate: number,\r\n dstRate: number): Float32Array {\r\n\r\n if (!srcFrame) {\r\n return null;\r\n }\r\n\r\n if (dstRate === srcRate || dstRate > srcRate) {\r\n return srcFrame;\r\n }\r\n\r\n const ratio = srcRate / dstRate;\r\n const dstLength = Math.round(srcFrame.length / ratio);\r\n const dstFrame = new Float32Array(dstLength);\r\n let srcOffset = 0;\r\n let dstOffset = 0;\r\n while (dstOffset < dstLength) {\r\n const nextSrcOffset = Math.round((dstOffset + 1) * ratio);\r\n let accum = 0;\r\n let count = 0;\r\n while (srcOffset < nextSrcOffset && srcOffset < srcFrame.length) {\r\n accum += srcFrame[srcOffset++];\r\n count++;\r\n }\r\n dstFrame[dstOffset++] = accum / count;\r\n }\r\n\r\n return dstFrame;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { InvalidOperationError } from \"./Error.js\";\r\nimport { createNoDashGuid } from \"./Guid.js\";\r\nimport { Queue } from \"./Queue.js\";\r\n\r\nexport interface IStreamChunk {\r\n isEnd: boolean;\r\n buffer: TBuffer;\r\n timeReceived: number;\r\n}\r\n\r\nexport class Stream {\r\n private privId: string;\r\n private privIsWriteEnded: boolean = false;\r\n private privIsReadEnded: boolean = false;\r\n private privReaderQueue: Queue>;\r\n\r\n public constructor(streamId?: string) {\r\n this.privId = streamId ? streamId : createNoDashGuid();\r\n this.privReaderQueue = new Queue>();\r\n }\r\n\r\n public get isClosed(): boolean {\r\n return this.privIsWriteEnded;\r\n }\r\n\r\n public get isReadEnded(): boolean {\r\n return this.privIsReadEnded;\r\n }\r\n\r\n public get id(): string {\r\n return this.privId;\r\n }\r\n\r\n public close(): void {\r\n if (!this.privIsWriteEnded) {\r\n this.writeStreamChunk({\r\n buffer: null,\r\n isEnd: true,\r\n timeReceived: Date.now(),\r\n });\r\n this.privIsWriteEnded = true;\r\n }\r\n }\r\n\r\n public writeStreamChunk(streamChunk: IStreamChunk): void {\r\n this.throwIfClosed();\r\n if (!this.privReaderQueue.isDisposed()) {\r\n try {\r\n this.privReaderQueue.enqueue(streamChunk);\r\n } catch (e) {\r\n // Do nothing\r\n }\r\n }\r\n }\r\n\r\n public read(): Promise> {\r\n if (this.privIsReadEnded) {\r\n throw new InvalidOperationError(\"Stream read has already finished\");\r\n }\r\n\r\n return this.privReaderQueue\r\n .dequeue()\r\n .then(async (streamChunk: IStreamChunk): Promise> => {\r\n if (streamChunk === undefined || streamChunk.isEnd) {\r\n await this.privReaderQueue.dispose(\"End of stream reached\");\r\n }\r\n\r\n return streamChunk;\r\n });\r\n }\r\n public readEnded(): void {\r\n if (!this.privIsReadEnded) {\r\n this.privIsReadEnded = true;\r\n this.privReaderQueue = new Queue>();\r\n }\r\n }\r\n\r\n private throwIfClosed(): void {\r\n if (this.privIsWriteEnded) {\r\n throw new InvalidOperationError(\"Stream closed\");\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IStringDictionary } from \"./IDictionary.js\";\r\n\r\n/**\r\n * String helper functions\r\n */\r\nexport class StringUtils {\r\n\r\n /**\r\n * Formats a string by replacing the named {keys} in the string with the values contained in the replacement dictionary.\r\n * @param format The format string that contains the parts to replace surrounded by {}. For example: \"wss://{region}.cts.speech.microsoft.com\".\r\n * If your string needs to contain a { or } you can use the {{ and }} escape sequences respectively.\r\n * @param replacements The dictionary of replacements. If a replacement is not found, it is replaced with an empty string\r\n * @returns The formatted string. If you pass in a null or undefined format string, an empty string will be returned\r\n */\r\n public static formatString(format: string, replacements: IStringDictionary): string {\r\n if (!format) {\r\n return \"\";\r\n }\r\n\r\n if (!replacements) {\r\n return format;\r\n }\r\n\r\n let formatted: string = \"\";\r\n let key: string = \"\";\r\n\r\n const appendToFormatted = (str: string): void => {\r\n formatted += str;\r\n };\r\n const appendToKey = (str: string): void => {\r\n key += str;\r\n };\r\n let appendFunc: (str: string) => void = appendToFormatted;\r\n\r\n for (let i = 0; i < format.length; i++) {\r\n const c: string = format[i];\r\n const next: string = i + 1 < format.length ? format[i + 1] : \"\";\r\n\r\n switch (c) {\r\n case \"{\":\r\n if (next === \"{\") {\r\n appendFunc(\"{\");\r\n i++;\r\n } else {\r\n appendFunc = appendToKey;\r\n }\r\n break;\r\n\r\n case \"}\":\r\n if (next === \"}\") {\r\n appendFunc(\"}\");\r\n i++;\r\n } else {\r\n if (replacements.hasOwnProperty(key)) {\r\n formatted += replacements[key];\r\n }\r\n\r\n appendFunc = appendToFormatted;\r\n key = \"\";\r\n }\r\n break;\r\n\r\n default:\r\n appendFunc(c);\r\n break;\r\n }\r\n }\r\n\r\n return formatted;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\ntype TWorkerMessage = ICallNotification | IClearResponse | IErrorNotification | IErrorResponse;\r\n\r\ninterface IClearResponse {\r\n error: null;\r\n id: number;\r\n}\r\n\r\ninterface IErrorNotification {\r\n error: {\r\n message: string;\r\n };\r\n id: null;\r\n result: null;\r\n}\r\n\r\ninterface IErrorResponse {\r\n error: {\r\n message: string;\r\n };\r\n id: number;\r\n result: null;\r\n}\r\n\r\ninterface ICallNotification {\r\n id: null;\r\n method: \"call\";\r\n params: {\r\n timerId: number;\r\n };\r\n}\r\n\r\ninterface ISetNotification {\r\n id: null;\r\n method: \"set\";\r\n params: {\r\n delay: number;\r\n now: number;\r\n timerId: number;\r\n };\r\n}\r\n\r\ninterface IClearRequest {\r\n id: number;\r\n method: \"clear\";\r\n params: {\r\n timerId: number;\r\n };\r\n}\r\n\r\ninterface IWorkerEvent extends Event {\r\n data: TWorkerMessage;\r\n}\r\n\r\ninterface IWorkerTimers {\r\n clearTimeout: (timerId: number) => void;\r\n setTimeout: (func: () => any, delay: number) => number;\r\n}\r\n\r\ndeclare type Func = () => any;\r\n\r\nexport class Timeout {\r\n\r\n private static workerTimers: null | IWorkerTimers = null;\r\n\r\n public static clearTimeout: IWorkerTimers[\"clearTimeout\"] = (timerId: number): void => Timeout.timers().clearTimeout(timerId);\r\n\r\n public static setTimeout: IWorkerTimers[\"setTimeout\"] = (func: () => any, delay: number): number => Timeout.timers().setTimeout(func, delay);\r\n\r\n public static load(): any {\r\n // Prefilling the Maps with a function indexed by zero is necessary to be compliant with the specification.\r\n const scheduledTimeoutFunctions: Map = new Map([[0, (): void => { }]]); // eslint-disable-line @typescript-eslint/no-empty-function\r\n const unhandledRequests: Map = new Map();\r\n\r\n // eslint-disable-next-line\r\n const workerScript = `!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=14)}([function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return u})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return d}));const r=new Map,o=new Map,i=e=>{const t=r.get(e);if(void 0===t)throw new Error('There is no interval scheduled with the given id \"'.concat(e,'\".'));clearTimeout(t),r.delete(e)},u=e=>{const t=o.get(e);if(void 0===t)throw new Error('There is no timeout scheduled with the given id \"'.concat(e,'\".'));clearTimeout(t),o.delete(e)},f=(e,t)=>{let n,r;if(\"performance\"in self){const o=performance.now();n=o,r=e-Math.max(0,o-t)}else n=Date.now(),r=e;return{expected:n+r,remainingDelay:r}},c=(e,t,n,r)=>{const o=\"performance\"in self?performance.now():Date.now();o>n?postMessage({id:null,method:\"call\",params:{timerId:t}}):e.set(t,setTimeout(c,n-o,e,t,n))},a=(e,t,n)=>{const{expected:o,remainingDelay:i}=f(e,n);r.set(t,setTimeout(c,i,r,t,o))},d=(e,t,n)=>{const{expected:r,remainingDelay:i}=f(e,n);o.set(t,setTimeout(c,i,o,t,r))}},function(e,t,n){\"use strict\";n.r(t);var r=n(2);for(var o in r)\"default\"!==o&&function(e){n.d(t,e,(function(){return r[e]}))}(o);var i=n(3);for(var o in i)\"default\"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var u=n(4);for(var o in u)\"default\"!==o&&function(e){n.d(t,e,(function(){return u[e]}))}(o);var f=n(5);for(var o in f)\"default\"!==o&&function(e){n.d(t,e,(function(){return f[e]}))}(o);var c=n(6);for(var o in c)\"default\"!==o&&function(e){n.d(t,e,(function(){return c[e]}))}(o);var a=n(7);for(var o in a)\"default\"!==o&&function(e){n.d(t,e,(function(){return a[e]}))}(o);var d=n(8);for(var o in d)\"default\"!==o&&function(e){n.d(t,e,(function(){return d[e]}))}(o);var s=n(9);for(var o in s)\"default\"!==o&&function(e){n.d(t,e,(function(){return s[e]}))}(o)},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var r=n(11);for(var o in r)\"default\"!==o&&function(e){n.d(t,e,(function(){return r[e]}))}(o);var i=n(12);for(var o in i)\"default\"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var u=n(13);for(var o in u)\"default\"!==o&&function(e){n.d(t,e,(function(){return u[e]}))}(o)},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n(1);for(var i in o)\"default\"!==i&&function(e){n.d(t,e,(function(){return o[e]}))}(i);var u=n(10);for(var i in u)\"default\"!==i&&function(e){n.d(t,e,(function(){return u[e]}))}(i);addEventListener(\"message\",({data:e})=>{try{if(\"clear\"===e.method){const{id:t,params:{timerId:n}}=e;Object(r.b)(n),postMessage({error:null,id:t})}else{if(\"set\"!==e.method)throw new Error('The given method \"'.concat(e.method,'\" is not supported'));{const{params:{delay:t,now:n,timerId:o}}=e;Object(r.d)(t,o,n)}}}catch(t){postMessage({error:{message:t.message},id:e.id,result:null})}})}]);`;\r\n const workerUrl = \"data:text/javascript;base64,\" + btoa(workerScript);\r\n const worker = new Worker(workerUrl);\r\n\r\n worker.addEventListener(\"message\", ({ data }: IWorkerEvent): void => {\r\n if (Timeout.isCallNotification(data)) {\r\n const {\r\n params: { timerId }\r\n } = data;\r\n\r\n const idOrFunc = scheduledTimeoutFunctions.get(timerId);\r\n\r\n if (typeof idOrFunc === \"number\") {\r\n const unhandledTimerId = unhandledRequests.get(idOrFunc);\r\n\r\n if (\r\n unhandledTimerId === undefined ||\r\n unhandledTimerId !== timerId\r\n ) {\r\n throw new Error(\"The timer is in an undefined state.\");\r\n }\r\n } else if (typeof idOrFunc !== \"undefined\") {\r\n idOrFunc();\r\n\r\n // A timeout can be safely deleted because it is only called once.\r\n scheduledTimeoutFunctions.delete(timerId);\r\n } else {\r\n throw new Error(\"The timer is in an undefined state.\");\r\n }\r\n } else if (Timeout.isClearResponse(data)) {\r\n const { id } = data;\r\n\r\n const unhandledTimerId = unhandledRequests.get(id);\r\n\r\n if (unhandledTimerId === undefined) {\r\n throw new Error(\"The timer is in an undefined state.\");\r\n }\r\n\r\n unhandledRequests.delete(id);\r\n\r\n scheduledTimeoutFunctions.delete(unhandledTimerId);\r\n } else {\r\n const {\r\n error: { message }\r\n } = data;\r\n\r\n throw new Error(message);\r\n }\r\n });\r\n\r\n const clearTimeout = (timerId: number): void => {\r\n const id = Math.random();\r\n\r\n unhandledRequests.set(id, timerId);\r\n scheduledTimeoutFunctions.set(timerId, id);\r\n\r\n worker.postMessage({\r\n id,\r\n method: \"clear\",\r\n params: { timerId }\r\n } as IClearRequest);\r\n };\r\n\r\n const setTimeout = (func: () => void, delay: number): number => {\r\n const timerId = Math.random();\r\n\r\n scheduledTimeoutFunctions.set(timerId, func);\r\n\r\n worker.postMessage({\r\n id: null,\r\n method: \"set\",\r\n params: {\r\n delay,\r\n now: performance.now(),\r\n timerId\r\n }\r\n } as ISetNotification);\r\n\r\n return timerId;\r\n };\r\n\r\n return {\r\n clearTimeout,\r\n setTimeout\r\n };\r\n }\r\n\r\n private static loadWorkerTimers(): () => IWorkerTimers {\r\n return (): IWorkerTimers => {\r\n if (Timeout.workerTimers !== null) {\r\n return Timeout.workerTimers;\r\n }\r\n\r\n Timeout.workerTimers = Timeout.load() as IWorkerTimers;\r\n\r\n return Timeout.workerTimers;\r\n };\r\n }\r\n\r\n public static timers: () => IWorkerTimers = Timeout.loadWorkerTimers();\r\n\r\n private static isCallNotification(message: TWorkerMessage): message is ICallNotification {\r\n return (message as ICallNotification).method !== undefined && (message as ICallNotification).method === \"call\";\r\n }\r\n\r\n private static isClearResponse(message: TWorkerMessage): message is IClearResponse {\r\n return (message as IClearResponse).error === null && typeof message.id === \"number\";\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { PullAudioOutputStream } from \"./Audio/AudioOutputStream.js\";\r\n\r\ninterface IActivity {\r\n conversation?: any;\r\n id?: string;\r\n replyToId?: string;\r\n type?: string;\r\n text?: string;\r\n speak?: any;\r\n}\r\n\r\n/**\r\n * Defines contents of received message/events.\r\n * @class ActivityReceivedEventArgs\r\n */\r\nexport class ActivityReceivedEventArgs {\r\n private privActivity: IActivity;\r\n private privAudioStream: PullAudioOutputStream;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {any} activity - The activity..\r\n */\r\n public constructor(activity: any, audioStream?: PullAudioOutputStream) {\r\n this.privActivity = activity as IActivity;\r\n this.privAudioStream = audioStream;\r\n }\r\n\r\n /**\r\n * Gets the received activity\r\n * @member ActivityReceivedEventArgs.prototype.activity\r\n * @function\r\n * @public\r\n * @returns {any} the received activity.\r\n */\r\n public get activity(): any {\r\n return this.privActivity;\r\n }\r\n\r\n public get audioStream(): PullAudioOutputStream {\r\n return this.privAudioStream;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { PathLike } from \"fs\";\r\nimport {\r\n FileAudioSource,\r\n MicAudioSource,\r\n PcmRecorder,\r\n} from \"../../common.browser/Exports.js\";\r\nimport { ISpeechConfigAudioDevice } from \"../../common.speech/Exports.js\";\r\nimport {\r\n AudioSourceEvent,\r\n EventSource,\r\n IAudioDestination,\r\n IAudioSource,\r\n IAudioStreamNode\r\n} from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n AudioInputStream,\r\n AudioOutputStream,\r\n AudioStreamFormat,\r\n IPlayer,\r\n PullAudioInputStreamCallback,\r\n PullAudioOutputStream,\r\n PushAudioOutputStream,\r\n PushAudioOutputStreamCallback,\r\n SpeakerAudioDestination\r\n} from \"../Exports.js\";\r\nimport { AudioFileWriter } from \"./AudioFileWriter.js\";\r\nimport { PullAudioInputStreamImpl, PushAudioInputStreamImpl } from \"./AudioInputStream.js\";\r\nimport { PullAudioOutputStreamImpl, PushAudioOutputStreamImpl } from \"./AudioOutputStream.js\";\r\nimport { AudioStreamFormatImpl } from \"./AudioStreamFormat.js\";\r\n\r\n/**\r\n * Represents audio input configuration used for specifying what type of input to use (microphone, file, stream).\r\n * @class AudioConfig\r\n * Updated in version 1.11.0\r\n */\r\nexport abstract class AudioConfig {\r\n /**\r\n * Creates an AudioConfig object representing the default microphone on the system.\r\n * @member AudioConfig.fromDefaultMicrophoneInput\r\n * @function\r\n * @public\r\n * @returns {AudioConfig} The audio input configuration being created.\r\n */\r\n public static fromDefaultMicrophoneInput(): AudioConfig {\r\n const pcmRecorder = new PcmRecorder(true);\r\n return new AudioConfigImpl(new MicAudioSource(pcmRecorder));\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing a microphone with the specified device ID.\r\n * @member AudioConfig.fromMicrophoneInput\r\n * @function\r\n * @public\r\n * @param {string | undefined} deviceId - Specifies the device ID of the microphone to be used.\r\n * Default microphone is used the value is omitted.\r\n * @returns {AudioConfig} The audio input configuration being created.\r\n */\r\n public static fromMicrophoneInput(deviceId?: string): AudioConfig {\r\n const pcmRecorder = new PcmRecorder(true);\r\n return new AudioConfigImpl(new MicAudioSource(pcmRecorder, deviceId));\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing the specified file.\r\n * @member AudioConfig.fromWavFileInput\r\n * @function\r\n * @public\r\n * @param {File} fileName - Specifies the audio input file. Currently, only WAV / PCM is supported.\r\n * @returns {AudioConfig} The audio input configuration being created.\r\n */\r\n public static fromWavFileInput(file: File | Buffer, name: string = \"unnamedBuffer.wav\"): AudioConfig {\r\n return new AudioConfigImpl(new FileAudioSource(file, name));\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing the specified stream.\r\n * @member AudioConfig.fromStreamInput\r\n * @function\r\n * @public\r\n * @param {AudioInputStream | PullAudioInputStreamCallback | MediaStream} audioStream - Specifies the custom audio input\r\n * stream. Currently, only WAV / PCM is supported.\r\n * @returns {AudioConfig} The audio input configuration being created.\r\n */\r\n public static fromStreamInput(audioStream: AudioInputStream | PullAudioInputStreamCallback\r\n | MediaStream): AudioConfig {\r\n if (audioStream instanceof PullAudioInputStreamCallback) {\r\n return new AudioConfigImpl(new PullAudioInputStreamImpl(audioStream));\r\n }\r\n\r\n if (audioStream instanceof AudioInputStream) {\r\n return new AudioConfigImpl(audioStream as PushAudioInputStreamImpl);\r\n }\r\n if (typeof MediaStream !== \"undefined\" && audioStream instanceof MediaStream) {\r\n const pcmRecorder = new PcmRecorder(false);\r\n return new AudioConfigImpl(new MicAudioSource(pcmRecorder, null, null, audioStream));\r\n }\r\n\r\n throw new Error(\"Not Supported Type\");\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing the default speaker.\r\n * @member AudioConfig.fromDefaultSpeakerOutput\r\n * @function\r\n * @public\r\n * @returns {AudioConfig} The audio output configuration being created.\r\n * Added in version 1.11.0\r\n */\r\n public static fromDefaultSpeakerOutput(): AudioConfig {\r\n return new AudioOutputConfigImpl(new SpeakerAudioDestination());\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing the custom IPlayer object.\r\n * You can use the IPlayer object to control pause, resume, etc.\r\n * @member AudioConfig.fromSpeakerOutput\r\n * @function\r\n * @public\r\n * @param {IPlayer} player - the IPlayer object for playback.\r\n * @returns {AudioConfig} The audio output configuration being created.\r\n * Added in version 1.12.0\r\n */\r\n public static fromSpeakerOutput(player?: IPlayer): AudioConfig {\r\n if (player === undefined) {\r\n return AudioConfig.fromDefaultSpeakerOutput();\r\n }\r\n if (player instanceof SpeakerAudioDestination) {\r\n return new AudioOutputConfigImpl(player);\r\n }\r\n\r\n throw new Error(\"Not Supported Type\");\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing a specified output audio file\r\n * @member AudioConfig.fromAudioFileOutput\r\n * @function\r\n * @public\r\n * @param {PathLike} filename - the filename of the output audio file\r\n * @returns {AudioConfig} The audio output configuration being created.\r\n * Added in version 1.11.0\r\n */\r\n public static fromAudioFileOutput(filename: PathLike): AudioConfig {\r\n return new AudioOutputConfigImpl(new AudioFileWriter(filename));\r\n }\r\n\r\n /**\r\n * Creates an AudioConfig object representing a specified audio output stream\r\n * @member AudioConfig.fromStreamOutput\r\n * @function\r\n * @public\r\n * @param {AudioOutputStream | PushAudioOutputStreamCallback} audioStream - Specifies the custom audio output\r\n * stream.\r\n * @returns {AudioConfig} The audio output configuration being created.\r\n * Added in version 1.11.0\r\n */\r\n public static fromStreamOutput(audioStream: AudioOutputStream | PushAudioOutputStreamCallback): AudioConfig {\r\n if (audioStream instanceof PushAudioOutputStreamCallback) {\r\n return new AudioOutputConfigImpl(new PushAudioOutputStreamImpl(audioStream));\r\n }\r\n\r\n if (audioStream instanceof PushAudioOutputStream) {\r\n return new AudioOutputConfigImpl(audioStream as PushAudioOutputStreamImpl);\r\n }\r\n\r\n if (audioStream instanceof PullAudioOutputStream) {\r\n return new AudioOutputConfigImpl(audioStream as PullAudioOutputStreamImpl);\r\n }\r\n\r\n throw new Error(\"Not Supported Type\");\r\n }\r\n\r\n /**\r\n * Explicitly frees any external resource attached to the object\r\n * @member AudioConfig.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n\r\n /**\r\n * Sets an arbitrary property.\r\n * @member SpeechConfig.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {string} name - The name of the property to set.\r\n * @param {string} value - The new value of the property.\r\n */\r\n public abstract setProperty(name: string, value: string): void;\r\n\r\n /**\r\n * Returns the current value of an arbitrary property.\r\n * @member SpeechConfig.prototype.getProperty\r\n * @function\r\n * @public\r\n * @param {string} name - The name of the property to query.\r\n * @param {string} def - The value to return in case the property is not known.\r\n * @returns {string} The current value, or provided default, of the given property.\r\n */\r\n public abstract getProperty(name: string, def?: string): string;\r\n\r\n}\r\n\r\n/**\r\n * Represents audio input stream used for custom audio input configurations.\r\n * @private\r\n * @class AudioConfigImpl\r\n */\r\nexport class AudioConfigImpl extends AudioConfig implements IAudioSource {\r\n private privSource: IAudioSource;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {IAudioSource} source - An audio source.\r\n */\r\n public constructor(source: IAudioSource) {\r\n super();\r\n this.privSource = source;\r\n }\r\n\r\n /**\r\n * Format information for the audio\r\n */\r\n public get format(): Promise {\r\n return this.privSource.format;\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, err?: (error: string) => void): void {\r\n this.privSource.turnOff().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.id\r\n * @function\r\n * @public\r\n */\r\n public id(): string {\r\n return this.privSource.id();\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.turnOn\r\n * @function\r\n * @public\r\n * @returns {Promise} A promise.\r\n */\r\n public turnOn(): Promise {\r\n return this.privSource.turnOn();\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.attach\r\n * @function\r\n * @public\r\n * @param {string} audioNodeId - The audio node id.\r\n * @returns {Promise} A promise.\r\n */\r\n public attach(audioNodeId: string): Promise {\r\n return this.privSource.attach(audioNodeId);\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.detach\r\n * @function\r\n * @public\r\n * @param {string} audioNodeId - The audio node id.\r\n */\r\n public detach(audioNodeId: string): void {\r\n return this.privSource.detach(audioNodeId);\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.turnOff\r\n * @function\r\n * @public\r\n * @returns {Promise} A promise.\r\n */\r\n public turnOff(): Promise {\r\n return this.privSource.turnOff();\r\n }\r\n\r\n /**\r\n * @member AudioConfigImpl.prototype.events\r\n * @function\r\n * @public\r\n * @returns {EventSource} An event source for audio events.\r\n */\r\n public get events(): EventSource {\r\n return this.privSource.events;\r\n }\r\n\r\n public setProperty(name: string, value: string): void {\r\n Contracts.throwIfNull(value, \"value\");\r\n\r\n if (undefined !== this.privSource.setProperty) {\r\n this.privSource.setProperty(name, value);\r\n } else {\r\n throw new Error(\"This AudioConfig instance does not support setting properties.\");\r\n }\r\n\r\n }\r\n\r\n public getProperty(name: string, def?: string): string {\r\n if (undefined !== this.privSource.getProperty) {\r\n return this.privSource.getProperty(name, def);\r\n } else {\r\n throw new Error(\"This AudioConfig instance does not support getting properties.\");\r\n }\r\n\r\n return def;\r\n }\r\n\r\n public get deviceInfo(): Promise {\r\n return this.privSource.deviceInfo;\r\n }\r\n}\r\n\r\nexport class AudioOutputConfigImpl extends AudioConfig implements IAudioDestination {\r\n private privDestination: IAudioDestination;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {IAudioDestination} destination - An audio destination.\r\n */\r\n public constructor(destination: IAudioDestination) {\r\n super();\r\n this.privDestination = destination;\r\n }\r\n\r\n public set format(format: AudioStreamFormat) {\r\n this.privDestination.format = format;\r\n }\r\n\r\n public write(buffer: ArrayBuffer): void {\r\n this.privDestination.write(buffer);\r\n }\r\n\r\n public close(): void {\r\n this.privDestination.close();\r\n }\r\n\r\n public id(): string {\r\n return this.privDestination.id();\r\n }\r\n\r\n public setProperty(): void {\r\n throw new Error(\"This AudioConfig instance does not support setting properties.\");\r\n }\r\n\r\n public getProperty(): string {\r\n throw new Error(\"This AudioConfig instance does not support getting properties.\");\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport * as fs from \"fs\";\r\nimport { IAudioDestination } from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport { AudioStreamFormat } from \"../Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"./AudioOutputFormat.js\";\r\n\r\nexport class AudioFileWriter implements IAudioDestination {\r\n private privAudioFormat: AudioOutputFormatImpl;\r\n private privFd: number;\r\n private privId: string;\r\n private privWriteStream: fs.WriteStream;\r\n\r\n public constructor(filename: fs.PathLike) {\r\n Contracts.throwIfNullOrUndefined(fs.openSync, \"\\nFile System access not available, please use Push or PullAudioOutputStream\");\r\n this.privFd = fs.openSync(filename, \"w\");\r\n }\r\n\r\n public set format(format: AudioStreamFormat) {\r\n Contracts.throwIfNotUndefined(this.privAudioFormat, \"format is already set\");\r\n this.privAudioFormat = format as AudioOutputFormatImpl;\r\n let headerOffset: number = 0;\r\n if (this.privAudioFormat.hasHeader) {\r\n headerOffset = this.privAudioFormat.header.byteLength;\r\n }\r\n if (this.privFd !== undefined) {\r\n this.privWriteStream = fs.createWriteStream(\"\", {fd: this.privFd, start: headerOffset, autoClose: false});\r\n }\r\n }\r\n\r\n public write(buffer: ArrayBuffer): void {\r\n Contracts.throwIfNullOrUndefined(this.privAudioFormat, \"must set format before writing.\");\r\n if (this.privWriteStream !== undefined) {\r\n this.privWriteStream.write(new Uint8Array(buffer.slice(0)));\r\n }\r\n }\r\n\r\n public close(): void {\r\n if (this.privFd !== undefined) {\r\n this.privWriteStream.on(\"finish\", (): void => {\r\n if (this.privAudioFormat.hasHeader) {\r\n this.privAudioFormat.updateHeader(this.privWriteStream.bytesWritten);\r\n fs.writeSync(this.privFd,\r\n new Int8Array(this.privAudioFormat.header),\r\n 0,\r\n this.privAudioFormat.header.byteLength,\r\n 0);\r\n }\r\n fs.closeSync(this.privFd);\r\n this.privFd = undefined;\r\n });\r\n this.privWriteStream.end();\r\n }\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n connectivity,\r\n ISpeechConfigAudioDevice,\r\n type,\r\n} from \"../../common.speech/Exports.js\";\r\nimport {\r\n AudioSourceEvent,\r\n AudioSourceInitializingEvent,\r\n AudioSourceReadyEvent,\r\n AudioStreamNodeAttachedEvent,\r\n AudioStreamNodeAttachingEvent,\r\n AudioStreamNodeDetachedEvent,\r\n ChunkedArrayBufferStream,\r\n Events,\r\n EventSource,\r\n IAudioSource,\r\n IAudioStreamNode,\r\n IStreamChunk,\r\n Stream,\r\n} from \"../../common/Exports.js\";\r\nimport { createNoDashGuid } from \"../../common/Guid.js\";\r\nimport { AudioStreamFormat, PullAudioInputStreamCallback } from \"../Exports.js\";\r\nimport { AudioStreamFormatImpl } from \"./AudioStreamFormat.js\";\r\n\r\n/**\r\n * Represents audio input stream used for custom audio input configurations.\r\n * @class AudioInputStream\r\n */\r\nexport abstract class AudioInputStream {\r\n\r\n /**\r\n * Creates and initializes an instance.\r\n * @constructor\r\n */\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n /**\r\n * Creates a memory backed PushAudioInputStream with the specified audio format.\r\n * @member AudioInputStream.createPushStream\r\n * @function\r\n * @public\r\n * @param {AudioStreamFormat} format - The audio data format in which audio will be\r\n * written to the push audio stream's write() method (Required if format is not 16 kHz 16bit mono PCM).\r\n * @returns {PushAudioInputStream} The audio input stream being created.\r\n */\r\n public static createPushStream(format?: AudioStreamFormat): PushAudioInputStream {\r\n return PushAudioInputStream.create(format);\r\n }\r\n\r\n /**\r\n * Creates a PullAudioInputStream that delegates to the specified callback interface for read()\r\n * and close() methods.\r\n * @member AudioInputStream.createPullStream\r\n * @function\r\n * @public\r\n * @param {PullAudioInputStreamCallback} callback - The custom audio input object, derived from\r\n * PullAudioInputStreamCallback\r\n * @param {AudioStreamFormat} format - The audio data format in which audio will be returned from\r\n * the callback's read() method (Required if format is not 16 kHz 16bit mono PCM).\r\n * @returns {PullAudioInputStream} The audio input stream being created.\r\n */\r\n public static createPullStream(callback: PullAudioInputStreamCallback, format?: AudioStreamFormat): PullAudioInputStream {\r\n return PullAudioInputStream.create(callback, format);\r\n // throw new Error(\"Oops\");\r\n }\r\n\r\n /**\r\n * Explicitly frees any external resource attached to the object\r\n * @member AudioInputStream.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n\r\n/**\r\n * Represents memory backed push audio input stream used for custom audio input configurations.\r\n * @class PushAudioInputStream\r\n */\r\nexport abstract class PushAudioInputStream extends AudioInputStream {\r\n\r\n /**\r\n * Creates a memory backed PushAudioInputStream with the specified audio format.\r\n * @member PushAudioInputStream.create\r\n * @function\r\n * @public\r\n * @param {AudioStreamFormat} format - The audio data format in which audio will be written to the\r\n * push audio stream's write() method (Required if format is not 16 kHz 16bit mono PCM).\r\n * @returns {PushAudioInputStream} The push audio input stream being created.\r\n */\r\n public static create(format?: AudioStreamFormat): PushAudioInputStream {\r\n return new PushAudioInputStreamImpl(format);\r\n }\r\n\r\n /**\r\n * Writes the audio data specified by making an internal copy of the data.\r\n * @member PushAudioInputStream.prototype.write\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - The audio buffer of which this function will make a copy.\r\n */\r\n public abstract write(dataBuffer: ArrayBuffer): void;\r\n\r\n /**\r\n * Closes the stream.\r\n * @member PushAudioInputStream.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n\r\n/**\r\n * Represents memory backed push audio input stream used for custom audio input configurations.\r\n * @private\r\n * @class PushAudioInputStreamImpl\r\n */\r\nexport class PushAudioInputStreamImpl extends PushAudioInputStream implements IAudioSource {\r\n\r\n private privFormat: AudioStreamFormatImpl;\r\n private privId: string;\r\n private privEvents: EventSource;\r\n private privStream: Stream;\r\n\r\n /**\r\n * Creates and initalizes an instance with the given values.\r\n * @constructor\r\n * @param {AudioStreamFormat} format - The audio stream format.\r\n */\r\n public constructor(format?: AudioStreamFormat) {\r\n super();\r\n if (format === undefined) {\r\n this.privFormat = AudioStreamFormatImpl.getDefaultInputFormat();\r\n } else {\r\n this.privFormat = format as AudioStreamFormatImpl;\r\n }\r\n this.privEvents = new EventSource();\r\n this.privId = createNoDashGuid();\r\n this.privStream = new ChunkedArrayBufferStream(this.privFormat.avgBytesPerSec / 10);\r\n }\r\n\r\n /**\r\n * Format information for the audio\r\n */\r\n public get format(): Promise {\r\n return Promise.resolve(this.privFormat);\r\n }\r\n\r\n /**\r\n * Writes the audio data specified by making an internal copy of the data.\r\n * @member PushAudioInputStreamImpl.prototype.write\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - The audio buffer of which this function will make a copy.\r\n */\r\n public write(dataBuffer: ArrayBuffer): void {\r\n this.privStream.writeStreamChunk({\r\n buffer: dataBuffer,\r\n isEnd: false,\r\n timeReceived: Date.now()\r\n });\r\n }\r\n\r\n /**\r\n * Closes the stream.\r\n * @member PushAudioInputStreamImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n this.privStream.close();\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n\r\n public turnOn(): Promise {\r\n this.onEvent(new AudioSourceInitializingEvent(this.privId)); // no stream id\r\n this.onEvent(new AudioSourceReadyEvent(this.privId));\r\n return;\r\n }\r\n\r\n public async attach(audioNodeId: string): Promise {\r\n this.onEvent(new AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\r\n\r\n await this.turnOn();\r\n const stream = this.privStream;\r\n this.onEvent(new AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\r\n return {\r\n detach: async (): Promise => {\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n return this.turnOff();\r\n },\r\n id: (): string => audioNodeId,\r\n read: (): Promise> => stream.read(),\r\n };\r\n }\r\n\r\n public detach(audioNodeId: string): void {\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n }\r\n\r\n public turnOff(): Promise {\r\n return;\r\n }\r\n\r\n public get events(): EventSource {\r\n return this.privEvents;\r\n }\r\n\r\n public get deviceInfo(): Promise {\r\n return Promise.resolve({\r\n bitspersample: this.privFormat.bitsPerSample,\r\n channelcount: this.privFormat.channels,\r\n connectivity: connectivity.Unknown,\r\n manufacturer: \"Speech SDK\",\r\n model: \"PushStream\",\r\n samplerate: this.privFormat.samplesPerSec,\r\n type: type.Stream,\r\n });\r\n }\r\n\r\n private onEvent(event: AudioSourceEvent): void {\r\n this.privEvents.onEvent(event);\r\n Events.instance.onEvent(event);\r\n }\r\n\r\n private toBuffer(arrayBuffer: ArrayBuffer): Buffer {\r\n const buf: Buffer = Buffer.alloc(arrayBuffer.byteLength);\r\n const view: Uint8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < buf.length; ++i) {\r\n buf[i] = view[i];\r\n }\r\n return buf;\r\n }\r\n}\r\n\r\n/*\r\n * Represents audio input stream used for custom audio input configurations.\r\n * @class PullAudioInputStream\r\n */\r\nexport abstract class PullAudioInputStream extends AudioInputStream {\r\n /**\r\n * Creates and initializes and instance.\r\n * @constructor\r\n */\r\n protected constructor() {\r\n super();\r\n}\r\n\r\n /**\r\n * Creates a PullAudioInputStream that delegates to the specified callback interface for\r\n * read() and close() methods, using the default format (16 kHz 16bit mono PCM).\r\n * @member PullAudioInputStream.create\r\n * @function\r\n * @public\r\n * @param {PullAudioInputStreamCallback} callback - The custom audio input object,\r\n * derived from PullAudioInputStreamCustomCallback\r\n * @param {AudioStreamFormat} format - The audio data format in which audio will be\r\n * returned from the callback's read() method (Required if format is not 16 kHz 16bit mono PCM).\r\n * @returns {PullAudioInputStream} The push audio input stream being created.\r\n */\r\n public static create(callback: PullAudioInputStreamCallback, format?: AudioStreamFormat): PullAudioInputStream {\r\n return new PullAudioInputStreamImpl(callback, format as AudioStreamFormatImpl);\r\n }\r\n\r\n /**\r\n * Explicitly frees any external resource attached to the object\r\n * @member PullAudioInputStream.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n\r\n}\r\n\r\n/**\r\n * Represents audio input stream used for custom audio input configurations.\r\n * @private\r\n * @class PullAudioInputStreamImpl\r\n */\r\nexport class PullAudioInputStreamImpl extends PullAudioInputStream implements IAudioSource {\r\n\r\n private privCallback: PullAudioInputStreamCallback;\r\n private privFormat: AudioStreamFormatImpl;\r\n private privId: string;\r\n private privEvents: EventSource;\r\n private privIsClosed: boolean;\r\n private privBufferSize: number;\r\n\r\n /**\r\n * Creates a PullAudioInputStream that delegates to the specified callback interface for\r\n * read() and close() methods, using the default format (16 kHz 16bit mono PCM).\r\n * @constructor\r\n * @param {PullAudioInputStreamCallback} callback - The custom audio input object,\r\n * derived from PullAudioInputStreamCustomCallback\r\n * @param {AudioStreamFormat} format - The audio data format in which audio will be\r\n * returned from the callback's read() method (Required if format is not 16 kHz 16bit mono PCM).\r\n */\r\n public constructor(callback: PullAudioInputStreamCallback, format?: AudioStreamFormatImpl) {\r\n super();\r\n if (undefined === format) {\r\n this.privFormat = AudioStreamFormat.getDefaultInputFormat() as AudioStreamFormatImpl;\r\n } else {\r\n this.privFormat = format;\r\n }\r\n this.privEvents = new EventSource();\r\n this.privId = createNoDashGuid();\r\n this.privCallback = callback;\r\n this.privIsClosed = false;\r\n this.privBufferSize = this.privFormat.avgBytesPerSec / 10;\r\n }\r\n\r\n /**\r\n * Format information for the audio\r\n */\r\n public get format(): Promise {\r\n return Promise.resolve(this.privFormat);\r\n }\r\n\r\n /**\r\n * Closes the stream.\r\n * @member PullAudioInputStreamImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n this.privIsClosed = true;\r\n this.privCallback.close();\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n\r\n public turnOn(): Promise {\r\n this.onEvent(new AudioSourceInitializingEvent(this.privId)); // no stream id\r\n this.onEvent(new AudioSourceReadyEvent(this.privId));\r\n return;\r\n }\r\n\r\n public async attach(audioNodeId: string): Promise {\r\n this.onEvent(new AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\r\n\r\n await this.turnOn();\r\n this.onEvent(new AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\r\n return {\r\n detach: (): Promise => {\r\n this.privCallback.close();\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n return this.turnOff();\r\n },\r\n id: (): string => audioNodeId,\r\n read: (): Promise> => {\r\n let totalBytes: number = 0;\r\n let transmitBuff: ArrayBuffer;\r\n // Until we have the minimum number of bytes to send in a transmission, keep asking for more.\r\n while (totalBytes < this.privBufferSize) {\r\n // Sizing the read buffer to the delta between the perfect size and what's left means we won't ever get too much\r\n // data back.\r\n const readBuff: ArrayBuffer = new ArrayBuffer(this.privBufferSize - totalBytes);\r\n const pulledBytes: number = this.privCallback.read(readBuff);\r\n // If there is no return buffer yet defined, set the return buffer to the that was just populated.\r\n // This was, if we have enough data there's no copy penalty, but if we don't we have a buffer that's the\r\n // preferred size allocated.\r\n if (undefined === transmitBuff) {\r\n transmitBuff = readBuff;\r\n } else {\r\n // Not the first bite at the apple, so fill the return buffer with the data we got back.\r\n const intView: Int8Array = new Int8Array(transmitBuff);\r\n intView.set(new Int8Array(readBuff), totalBytes);\r\n }\r\n // If there are no bytes to read, just break out and be done.\r\n if (0 === pulledBytes) {\r\n break;\r\n }\r\n totalBytes += pulledBytes;\r\n }\r\n return Promise.resolve>({\r\n buffer: transmitBuff.slice(0, totalBytes),\r\n isEnd: this.privIsClosed || totalBytes === 0,\r\n timeReceived: Date.now(),\r\n });\r\n },\r\n };\r\n }\r\n\r\n public detach(audioNodeId: string): void {\r\n this.onEvent(new AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\r\n }\r\n\r\n public turnOff(): Promise {\r\n return;\r\n }\r\n\r\n public get events(): EventSource {\r\n return this.privEvents;\r\n }\r\n\r\n public get deviceInfo(): Promise {\r\n return Promise.resolve({\r\n bitspersample: this.privFormat.bitsPerSample,\r\n channelcount: this.privFormat.channels,\r\n connectivity: connectivity.Unknown,\r\n manufacturer: \"Speech SDK\",\r\n model: \"PullStream\",\r\n samplerate: this.privFormat.samplesPerSec,\r\n type: type.Stream,\r\n });\r\n }\r\n\r\n private onEvent(event: AudioSourceEvent): void {\r\n this.privEvents.onEvent(event);\r\n Events.instance.onEvent(event);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { INumberDictionary } from \"../../common/Exports.js\";\r\nimport { SpeechSynthesisOutputFormat } from \"../SpeechSynthesisOutputFormat.js\";\r\nimport { AudioFormatTag, AudioStreamFormatImpl } from \"./AudioStreamFormat.js\";\r\n\r\n/**\r\n * @private\r\n * @class AudioOutputFormatImpl\r\n * Updated in version 1.17.0\r\n */\r\n// eslint-disable-next-line max-classes-per-file\r\nexport class AudioOutputFormatImpl extends AudioStreamFormatImpl {\r\n public static SpeechSynthesisOutputFormatToString: INumberDictionary = {\r\n [SpeechSynthesisOutputFormat.Raw8Khz8BitMonoMULaw]: \"raw-8khz-8bit-mono-mulaw\",\r\n [SpeechSynthesisOutputFormat.Riff16Khz16KbpsMonoSiren]: \"riff-16khz-16kbps-mono-siren\",\r\n [SpeechSynthesisOutputFormat.Audio16Khz16KbpsMonoSiren]: \"audio-16khz-16kbps-mono-siren\",\r\n [SpeechSynthesisOutputFormat.Audio16Khz32KBitRateMonoMp3]: \"audio-16khz-32kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Audio16Khz128KBitRateMonoMp3]: \"audio-16khz-128kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Audio16Khz64KBitRateMonoMp3]: \"audio-16khz-64kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Audio24Khz48KBitRateMonoMp3]: \"audio-24khz-48kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Audio24Khz96KBitRateMonoMp3]: \"audio-24khz-96kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Audio24Khz160KBitRateMonoMp3]: \"audio-24khz-160kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Raw16Khz16BitMonoTrueSilk]: \"raw-16khz-16bit-mono-truesilk\",\r\n [SpeechSynthesisOutputFormat.Riff16Khz16BitMonoPcm]: \"riff-16khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Riff8Khz16BitMonoPcm]: \"riff-8khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm]: \"riff-24khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Riff8Khz8BitMonoMULaw]: \"riff-8khz-8bit-mono-mulaw\",\r\n [SpeechSynthesisOutputFormat.Raw16Khz16BitMonoPcm]: \"raw-16khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Raw24Khz16BitMonoPcm]: \"raw-24khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Raw8Khz16BitMonoPcm]: \"raw-8khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Ogg16Khz16BitMonoOpus]: \"ogg-16khz-16bit-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Ogg24Khz16BitMonoOpus]: \"ogg-24khz-16bit-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Raw48Khz16BitMonoPcm]: \"raw-48khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Riff48Khz16BitMonoPcm]: \"riff-48khz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Audio48Khz96KBitRateMonoMp3]: \"audio-48khz-96kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Audio48Khz192KBitRateMonoMp3]: \"audio-48khz-192kbitrate-mono-mp3\",\r\n [SpeechSynthesisOutputFormat.Ogg48Khz16BitMonoOpus]: \"ogg-48khz-16bit-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Webm16Khz16BitMonoOpus]: \"webm-16khz-16bit-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Webm24Khz16BitMonoOpus]: \"webm-24khz-16bit-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Webm24Khz16Bit24KbpsMonoOpus]: \"webm-24khz-16bit-24kbps-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Raw24Khz16BitMonoTrueSilk]: \"raw-24khz-16bit-mono-truesilk\",\r\n [SpeechSynthesisOutputFormat.Raw8Khz8BitMonoALaw]: \"raw-8khz-8bit-mono-alaw\",\r\n [SpeechSynthesisOutputFormat.Riff8Khz8BitMonoALaw]: \"riff-8khz-8bit-mono-alaw\",\r\n [SpeechSynthesisOutputFormat.Audio16Khz16Bit32KbpsMonoOpus]: \"audio-16khz-16bit-32kbps-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Audio24Khz16Bit48KbpsMonoOpus]: \"audio-24khz-16bit-48kbps-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Audio24Khz16Bit24KbpsMonoOpus]: \"audio-24khz-16bit-24kbps-mono-opus\",\r\n [SpeechSynthesisOutputFormat.Raw22050Hz16BitMonoPcm]: \"raw-22050hz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Riff22050Hz16BitMonoPcm]: \"riff-22050hz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Raw44100Hz16BitMonoPcm]: \"raw-44100hz-16bit-mono-pcm\",\r\n [SpeechSynthesisOutputFormat.Riff44100Hz16BitMonoPcm]: \"riff-44100hz-16bit-mono-pcm\",\r\n };\r\n private priAudioFormatString: string;\r\n /**\r\n * audio format string for synthesis request, which may differ from priAudioFormatString.\r\n * e.g. for riff format, we will request raw format and add a header in SDK side.\r\n */\r\n private readonly priRequestAudioFormatString: string;\r\n private readonly priHasHeader: boolean;\r\n\r\n /**\r\n * Creates an instance with the given values.\r\n * @constructor\r\n * @param formatTag\r\n * @param {number} channels - Number of channels.\r\n * @param {number} samplesPerSec - Samples per second.\r\n * @param {number} avgBytesPerSec - Average bytes per second.\r\n * @param {number} blockAlign - Block alignment.\r\n * @param {number} bitsPerSample - Bits per sample.\r\n * @param {string} audioFormatString - Audio format string\r\n * @param {string} requestAudioFormatString - Audio format string sent to service.\r\n * @param {boolean} hasHeader - If the format has header or not.\r\n */\r\n public constructor(formatTag: AudioFormatTag,\r\n channels: number,\r\n samplesPerSec: number,\r\n avgBytesPerSec: number,\r\n blockAlign: number,\r\n bitsPerSample: number,\r\n audioFormatString: string,\r\n requestAudioFormatString: string,\r\n hasHeader: boolean) {\r\n super(samplesPerSec, bitsPerSample, channels, formatTag);\r\n this.formatTag = formatTag;\r\n this.avgBytesPerSec = avgBytesPerSec;\r\n this.blockAlign = blockAlign;\r\n this.priAudioFormatString = audioFormatString;\r\n this.priRequestAudioFormatString = requestAudioFormatString;\r\n this.priHasHeader = hasHeader;\r\n }\r\n\r\n public static fromSpeechSynthesisOutputFormat(speechSynthesisOutputFormat?: SpeechSynthesisOutputFormat): AudioOutputFormatImpl {\r\n if (speechSynthesisOutputFormat === undefined) {\r\n return AudioOutputFormatImpl.getDefaultOutputFormat();\r\n }\r\n return AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString(\r\n AudioOutputFormatImpl.SpeechSynthesisOutputFormatToString[speechSynthesisOutputFormat]);\r\n }\r\n\r\n public static fromSpeechSynthesisOutputFormatString(speechSynthesisOutputFormatString: string): AudioOutputFormatImpl {\r\n switch (speechSynthesisOutputFormatString) {\r\n case \"raw-8khz-8bit-mono-mulaw\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MuLaw,\r\n 1,\r\n 8000,\r\n 8000,\r\n 1,\r\n 8,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"riff-16khz-16kbps-mono-siren\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.Siren,\r\n 1,\r\n 16000,\r\n 2000,\r\n 40,\r\n 0,\r\n speechSynthesisOutputFormatString,\r\n \"audio-16khz-16kbps-mono-siren\",\r\n true);\r\n case \"audio-16khz-16kbps-mono-siren\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.Siren,\r\n 1,\r\n 16000,\r\n 2000,\r\n 40,\r\n 0,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-16khz-32kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 16000,\r\n 32 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-16khz-128kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 16000,\r\n 128 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-16khz-64kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 16000,\r\n 64 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-24khz-48kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 24000,\r\n 48 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-24khz-96kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 24000,\r\n 96 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-24khz-160kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 24000,\r\n 160 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"raw-16khz-16bit-mono-truesilk\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.SILKSkype,\r\n 1,\r\n 16000,\r\n 32000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n\r\n case \"riff-8khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 8000,\r\n 16000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-8khz-16bit-mono-pcm\",\r\n true);\r\n case \"riff-24khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 24000,\r\n 48000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-24khz-16bit-mono-pcm\",\r\n true);\r\n case \"riff-8khz-8bit-mono-mulaw\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MuLaw,\r\n 1,\r\n 8000,\r\n 8000,\r\n 1,\r\n 8,\r\n speechSynthesisOutputFormatString,\r\n \"raw-8khz-8bit-mono-mulaw\",\r\n true);\r\n case \"raw-16khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 16000,\r\n 32000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-16khz-16bit-mono-pcm\",\r\n false);\r\n case \"raw-24khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 24000,\r\n 48000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-24khz-16bit-mono-pcm\",\r\n false);\r\n case \"raw-8khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 8000,\r\n 16000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-8khz-16bit-mono-pcm\",\r\n false);\r\n case \"ogg-16khz-16bit-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.OGG_OPUS,\r\n 1,\r\n 16000,\r\n 8192,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"ogg-24khz-16bit-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.OGG_OPUS,\r\n 1,\r\n 24000,\r\n 8192,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"raw-48khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 48000,\r\n 96000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-48khz-16bit-mono-pcm\",\r\n false);\r\n case \"riff-48khz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 48000,\r\n 96000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-48khz-16bit-mono-pcm\",\r\n true);\r\n case \"audio-48khz-96kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 48000,\r\n 96 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-48khz-192kbitrate-mono-mp3\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.MP3,\r\n 1,\r\n 48000,\r\n 192 << 7,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"ogg-48khz-16bit-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.OGG_OPUS,\r\n 1,\r\n 48000,\r\n 12000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"webm-16khz-16bit-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.WEBM_OPUS,\r\n 1,\r\n 16000,\r\n 4000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"webm-24khz-16bit-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.WEBM_OPUS,\r\n 1,\r\n 24000,\r\n 6000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"webm-24khz-16bit-24kbps-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.WEBM_OPUS,\r\n 1,\r\n 24000,\r\n 3000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-16khz-16bit-32kbps-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.OPUS,\r\n 1,\r\n 16000,\r\n 4000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-24khz-16bit-48kbps-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.OPUS,\r\n 1,\r\n 24000,\r\n 6000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-24khz-16bit-24kbps-mono-opus\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.OPUS,\r\n 1,\r\n 24000,\r\n 3000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-24khz-16bit-mono-flac\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.FLAC,\r\n 1,\r\n 24000,\r\n 24000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"audio-48khz-16bit-mono-flac\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.FLAC,\r\n 1,\r\n 48000,\r\n 30000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"raw-24khz-16bit-mono-truesilk\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.SILKSkype,\r\n 1,\r\n 24000,\r\n 48000,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"raw-8khz-8bit-mono-alaw\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.ALaw,\r\n 1,\r\n 8000,\r\n 8000,\r\n 1,\r\n 8,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"riff-8khz-8bit-mono-alaw\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.ALaw,\r\n 1,\r\n 8000,\r\n 8000,\r\n 1,\r\n 8,\r\n speechSynthesisOutputFormatString,\r\n \"raw-8khz-8bit-mono-alaw\",\r\n true);\r\n case \"raw-22050hz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 22050,\r\n 44100,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"riff-22050hz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 22050,\r\n 44100,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-22050hz-16bit-mono-pcm\",\r\n true);\r\n case \"raw-44100hz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 44100,\r\n 88200,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n speechSynthesisOutputFormatString,\r\n false);\r\n case \"riff-44100hz-16bit-mono-pcm\":\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 44100,\r\n 88200,\r\n 2,\r\n 16,\r\n speechSynthesisOutputFormatString,\r\n \"raw-44100hz-16bit-mono-pcm\",\r\n true);\r\n case \"riff-16khz-16bit-mono-pcm\":\r\n default:\r\n return new AudioOutputFormatImpl(\r\n AudioFormatTag.PCM,\r\n 1,\r\n 16000,\r\n 32000,\r\n 2,\r\n 16,\r\n \"riff-16khz-16bit-mono-pcm\",\r\n \"raw-16khz-16bit-mono-pcm\",\r\n true);\r\n }\r\n }\r\n\r\n public static getDefaultOutputFormat(): AudioOutputFormatImpl {\r\n return AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString(\r\n (typeof window !== \"undefined\") ? \"audio-24khz-48kbitrate-mono-mp3\" : \"riff-16khz-16bit-mono-pcm\");\r\n }\r\n\r\n /**\r\n * The format tag of the audio\r\n * @AudioFormatTag AudioOutputFormatImpl.prototype.formatTag\r\n * @function\r\n * @public\r\n */\r\n public formatTag: AudioFormatTag;\r\n\r\n /**\r\n * Specifies if this audio output format has a header\r\n * @boolean AudioOutputFormatImpl.prototype.hasHeader\r\n * @function\r\n * @public\r\n */\r\n public get hasHeader(): boolean {\r\n return this.priHasHeader;\r\n }\r\n\r\n /**\r\n * Specifies the header of this format\r\n * @ArrayBuffer AudioOutputFormatImpl.prototype.header\r\n * @function\r\n * @public\r\n */\r\n public get header(): ArrayBuffer {\r\n if (this.hasHeader) {\r\n return this.privHeader;\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Updates the header based on the audio length\r\n * @member AudioOutputFormatImpl.updateHeader\r\n * @function\r\n * @public\r\n * @param {number} audioLength - the audio length\r\n */\r\n public updateHeader(audioLength: number): void {\r\n if (this.priHasHeader) {\r\n const view = new DataView(this.privHeader);\r\n view.setUint32(4, audioLength + this.privHeader.byteLength - 8, true);\r\n view.setUint32(40, audioLength, true);\r\n }\r\n }\r\n\r\n /**\r\n * Specifies the audio format string to be sent to the service\r\n * @string AudioOutputFormatImpl.prototype.requestAudioFormatString\r\n * @function\r\n * @public\r\n */\r\n public get requestAudioFormatString(): string {\r\n return this.priRequestAudioFormatString;\r\n }\r\n\r\n /**\r\n * Adds audio header\r\n * @param audio the raw audio without header\r\n * @returns the audio with header if applicable\r\n */\r\n\r\n public addHeader(audio: ArrayBuffer): ArrayBuffer {\r\n if (!this.hasHeader) {\r\n return audio;\r\n }\r\n this.updateHeader(audio.byteLength);\r\n const tmp = new Uint8Array(audio.byteLength + this.header.byteLength);\r\n tmp.set(new Uint8Array(this.header), 0);\r\n tmp.set(new Uint8Array(audio), this.header.byteLength);\r\n return tmp.buffer;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n createNoDashGuid,\r\n IAudioDestination,\r\n IStreamChunk,\r\n Stream,\r\n} from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n AudioStreamFormat,\r\n PushAudioOutputStreamCallback\r\n} from \"../Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"./AudioOutputFormat.js\";\r\n\r\n/**\r\n * Represents audio output stream used for custom audio output configurations.\r\n * @class AudioOutputStream\r\n */\r\nexport abstract class AudioOutputStream {\r\n\r\n /**\r\n * Creates and initializes an instance.\r\n * @constructor\r\n */\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n /**\r\n * Sets the format of the AudioOutputStream\r\n * Note: the format is set by the synthesizer before writing. Do not set it before passing it to AudioConfig\r\n * @member AudioOutputStream.prototype.format\r\n */\r\n public abstract set format(format: AudioStreamFormat);\r\n\r\n /**\r\n * Creates a memory backed PullAudioOutputStream with the specified audio format.\r\n * @member AudioOutputStream.createPullStream\r\n * @function\r\n * @public\r\n * @returns {PullAudioOutputStream} The audio output stream being created.\r\n */\r\n public static createPullStream(): PullAudioOutputStream {\r\n return PullAudioOutputStream.create();\r\n }\r\n\r\n /**\r\n * Explicitly frees any external resource attached to the object\r\n * @member AudioOutputStream.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n\r\n/**\r\n * Represents memory backed push audio output stream used for custom audio output configurations.\r\n * @class PullAudioOutputStream\r\n */\r\nexport abstract class PullAudioOutputStream extends AudioOutputStream {\r\n\r\n /**\r\n * Creates a memory backed PullAudioOutputStream with the specified audio format.\r\n * @member PullAudioOutputStream.create\r\n * @function\r\n * @public\r\n * @returns {PullAudioOutputStream} The push audio output stream being created.\r\n */\r\n public static create(): PullAudioOutputStream {\r\n return new PullAudioOutputStreamImpl();\r\n }\r\n\r\n /**\r\n * Reads audio data from the internal buffer.\r\n * @member PullAudioOutputStream.prototype.read\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - An ArrayBuffer to store the read data.\r\n * @returns {Promise} Audio buffer length has been read.\r\n */\r\n public abstract read(dataBuffer: ArrayBuffer): Promise;\r\n\r\n /**\r\n * Closes the stream.\r\n * @member PullAudioOutputStream.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n\r\n/**\r\n * Represents memory backed push audio output stream used for custom audio output configurations.\r\n * @private\r\n * @class PullAudioOutputStreamImpl\r\n */\r\nexport class PullAudioOutputStreamImpl extends PullAudioOutputStream implements IAudioDestination {\r\n private privFormat: AudioOutputFormatImpl;\r\n private privId: string;\r\n private privStream: Stream;\r\n private privLastChunkView: Int8Array;\r\n\r\n /**\r\n * Creates and initializes an instance with the given values.\r\n * @constructor\r\n */\r\n public constructor() {\r\n super();\r\n this.privId = createNoDashGuid();\r\n this.privStream = new Stream();\r\n }\r\n\r\n /**\r\n * Sets the format information to the stream. For internal use only.\r\n * @param {AudioStreamFormat} format - the format to be set.\r\n */\r\n public set format(format: AudioStreamFormat) {\r\n if (format === undefined || format === null) {\r\n this.privFormat = AudioOutputFormatImpl.getDefaultOutputFormat();\r\n }\r\n this.privFormat = format as AudioOutputFormatImpl;\r\n }\r\n\r\n /**\r\n * Format information for the audio\r\n */\r\n public get format(): AudioStreamFormat {\r\n return this.privFormat;\r\n }\r\n\r\n /**\r\n * Checks if the stream is closed\r\n * @member PullAudioOutputStreamImpl.prototype.isClosed\r\n * @property\r\n * @public\r\n */\r\n public get isClosed(): boolean {\r\n return this.privStream.isClosed;\r\n }\r\n\r\n /**\r\n * Gets the id of the stream\r\n * @member PullAudioOutputStreamImpl.prototype.id\r\n * @property\r\n * @public\r\n */\r\n public id(): string {\r\n return this.privId;\r\n }\r\n\r\n /**\r\n * Reads audio data from the internal buffer.\r\n * @member PullAudioOutputStreamImpl.prototype.read\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - An ArrayBuffer to store the read data.\r\n * @returns {Promise} - Audio buffer length has been read.\r\n */\r\n public async read(dataBuffer: ArrayBuffer): Promise {\r\n const intView: Int8Array = new Int8Array(dataBuffer);\r\n let totalBytes: number = 0;\r\n\r\n if (this.privLastChunkView !== undefined) {\r\n if (this.privLastChunkView.length > dataBuffer.byteLength) {\r\n intView.set(this.privLastChunkView.slice(0, dataBuffer.byteLength));\r\n this.privLastChunkView = this.privLastChunkView.slice(dataBuffer.byteLength);\r\n return Promise.resolve(dataBuffer.byteLength);\r\n }\r\n intView.set(this.privLastChunkView);\r\n totalBytes = this.privLastChunkView.length;\r\n this.privLastChunkView = undefined;\r\n }\r\n\r\n // Until we have the minimum number of bytes to send in a transmission, keep asking for more.\r\n while (totalBytes < dataBuffer.byteLength && !this.privStream.isReadEnded) {\r\n const chunk: IStreamChunk = await this.privStream.read();\r\n if (chunk !== undefined && !chunk.isEnd) {\r\n let tmpBuffer: ArrayBuffer;\r\n if (chunk.buffer.byteLength > dataBuffer.byteLength - totalBytes) {\r\n tmpBuffer = chunk.buffer.slice(0, dataBuffer.byteLength - totalBytes);\r\n this.privLastChunkView = new Int8Array(chunk.buffer.slice(dataBuffer.byteLength - totalBytes));\r\n } else {\r\n tmpBuffer = chunk.buffer;\r\n }\r\n intView.set(new Int8Array(tmpBuffer), totalBytes);\r\n totalBytes += tmpBuffer.byteLength;\r\n } else {\r\n this.privStream.readEnded();\r\n }\r\n }\r\n return totalBytes;\r\n }\r\n\r\n /**\r\n * Writes the audio data specified by making an internal copy of the data.\r\n * @member PullAudioOutputStreamImpl.prototype.write\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - The audio buffer of which this function will make a copy.\r\n */\r\n public write(dataBuffer: ArrayBuffer): void {\r\n Contracts.throwIfNullOrUndefined(this.privStream, \"must set format before writing\");\r\n this.privStream.writeStreamChunk({\r\n buffer: dataBuffer,\r\n isEnd: false,\r\n timeReceived: Date.now()\r\n });\r\n }\r\n\r\n /**\r\n * Closes the stream.\r\n * @member PullAudioOutputStreamImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n this.privStream.close();\r\n }\r\n}\r\n\r\n/*\r\n * Represents audio output stream used for custom audio output configurations.\r\n * @class PushAudioOutputStream\r\n */\r\nexport abstract class PushAudioOutputStream extends AudioOutputStream {\r\n /**\r\n * Creates and initializes and instance.\r\n * @constructor\r\n */\r\n protected constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Creates a PushAudioOutputStream that delegates to the specified callback interface for\r\n * write() and close() methods.\r\n * @member PushAudioOutputStream.create\r\n * @function\r\n * @public\r\n * @param {PushAudioOutputStreamCallback} callback - The custom audio output object,\r\n * derived from PushAudioOutputStreamCallback\r\n * @returns {PushAudioOutputStream} The push audio output stream being created.\r\n */\r\n public static create(callback: PushAudioOutputStreamCallback): PushAudioOutputStream {\r\n return new PushAudioOutputStreamImpl(callback);\r\n }\r\n\r\n /**\r\n * Explicitly frees any external resource attached to the object\r\n * @member PushAudioOutputStream.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n\r\n}\r\n\r\n/**\r\n * Represents audio output stream used for custom audio output configurations.\r\n * @private\r\n * @class PushAudioOutputStreamImpl\r\n */\r\nexport class PushAudioOutputStreamImpl extends PushAudioOutputStream implements IAudioDestination {\r\n private readonly privId: string;\r\n private privCallback: PushAudioOutputStreamCallback;\r\n\r\n /**\r\n * Creates a PushAudioOutputStream that delegates to the specified callback interface for\r\n * read() and close() methods.\r\n * @constructor\r\n * @param {PushAudioOutputStreamCallback} callback - The custom audio output object,\r\n * derived from PushAudioOutputStreamCallback\r\n */\r\n public constructor(callback: PushAudioOutputStreamCallback) {\r\n super();\r\n this.privId = createNoDashGuid();\r\n this.privCallback = callback;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public set format(format: AudioStreamFormat) { }\r\n\r\n public write(buffer: ArrayBuffer): void {\r\n if (!!this.privCallback.write) {\r\n this.privCallback.write(buffer);\r\n }\r\n }\r\n\r\n public close(): void {\r\n if (!!this.privCallback.close) {\r\n this.privCallback.close();\r\n }\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nexport enum AudioFormatTag {\r\n PCM = 1,\r\n MuLaw,\r\n Siren,\r\n MP3,\r\n SILKSkype,\r\n OGG_OPUS,\r\n WEBM_OPUS,\r\n ALaw,\r\n FLAC,\r\n OPUS,\r\n}\r\n\r\n/**\r\n * Represents audio stream format used for custom audio input configurations.\r\n * @class AudioStreamFormat\r\n */\r\nexport abstract class AudioStreamFormat {\r\n /**\r\n * Creates an audio stream format object representing the default audio stream\r\n * format (16KHz 16bit mono PCM).\r\n * @member AudioStreamFormat.getDefaultInputFormat\r\n * @function\r\n * @public\r\n * @returns {AudioStreamFormat} The audio stream format being created.\r\n */\r\n public static getDefaultInputFormat(): AudioStreamFormat {\r\n return AudioStreamFormatImpl.getDefaultInputFormat();\r\n }\r\n\r\n /**\r\n * Creates an audio stream format object with the specified format characteristics.\r\n * @member AudioStreamFormat.getWaveFormat\r\n * @function\r\n * @public\r\n * @param {number} samplesPerSecond - Sample rate, in samples per second (Hertz).\r\n * @param {number} bitsPerSample - Bits per sample, typically 16.\r\n * @param {number} channels - Number of channels in the waveform-audio data. Monaural data\r\n * uses one channel and stereo data uses two channels.\r\n * @param {AudioFormatTag} format - Audio format (PCM, alaw or mulaw).\r\n * @returns {AudioStreamFormat} The audio stream format being created.\r\n */\r\n public static getWaveFormat(samplesPerSecond: number, bitsPerSample: number, channels: number, format: AudioFormatTag): AudioStreamFormat {\r\n return new AudioStreamFormatImpl(samplesPerSecond, bitsPerSample, channels, format);\r\n }\r\n\r\n /**\r\n * Creates an audio stream format object with the specified pcm waveformat characteristics.\r\n * @member AudioStreamFormat.getWaveFormatPCM\r\n * @function\r\n * @public\r\n * @param {number} samplesPerSecond - Sample rate, in samples per second (Hertz).\r\n * @param {number} bitsPerSample - Bits per sample, typically 16.\r\n * @param {number} channels - Number of channels in the waveform-audio data. Monaural data\r\n * uses one channel and stereo data uses two channels.\r\n * @returns {AudioStreamFormat} The audio stream format being created.\r\n */\r\n public static getWaveFormatPCM(samplesPerSecond: number, bitsPerSample: number, channels: number): AudioStreamFormat {\r\n return new AudioStreamFormatImpl(samplesPerSecond, bitsPerSample, channels);\r\n }\r\n\r\n /**\r\n * Explicitly frees any external resource attached to the object\r\n * @member AudioStreamFormat.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n\r\n/**\r\n * @private\r\n * @class AudioStreamFormatImpl\r\n */\r\nexport class AudioStreamFormatImpl extends AudioStreamFormat {\r\n protected privHeader: ArrayBuffer;\r\n\r\n /**\r\n * Creates an instance with the given values.\r\n * @constructor\r\n * @param {number} samplesPerSec - Samples per second.\r\n * @param {number} bitsPerSample - Bits per sample.\r\n * @param {number} channels - Number of channels.\r\n * @param {AudioFormatTag} format - Audio format (PCM, alaw or mulaw).\r\n */\r\n public constructor(samplesPerSec: number = 16000, bitsPerSample: number = 16, channels: number = 1, format: AudioFormatTag = AudioFormatTag.PCM) {\r\n super();\r\n\r\n let isWavFormat: boolean = true;\r\n /* 1 for PCM; 6 for alaw; 7 for mulaw */\r\n switch (format) {\r\n case AudioFormatTag.PCM:\r\n this.formatTag = 1;\r\n break;\r\n case AudioFormatTag.ALaw:\r\n this.formatTag = 6;\r\n break;\r\n case AudioFormatTag.MuLaw:\r\n this.formatTag = 7;\r\n break;\r\n default:\r\n isWavFormat = false;\r\n }\r\n this.bitsPerSample = bitsPerSample;\r\n this.samplesPerSec = samplesPerSec;\r\n this.channels = channels;\r\n this.avgBytesPerSec = this.samplesPerSec * this.channels * (this.bitsPerSample / 8);\r\n this.blockAlign = this.channels * Math.max(this.bitsPerSample, 8);\r\n\r\n if (isWavFormat) {\r\n this.privHeader = new ArrayBuffer(44);\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\r\n const view = new DataView(this.privHeader);\r\n\r\n /* RIFF identifier */\r\n this.setString(view, 0, \"RIFF\");\r\n /* file length */\r\n view.setUint32(4, 0, true);\r\n /* RIFF type & Format */\r\n this.setString(view, 8, \"WAVEfmt \");\r\n /* format chunk length */\r\n view.setUint32(16, 16, true);\r\n /* audio format */\r\n view.setUint16(20, this.formatTag, true);\r\n /* channel count */\r\n view.setUint16(22, this.channels, true);\r\n /* sample rate */\r\n view.setUint32(24, this.samplesPerSec, true);\r\n /* byte rate (sample rate * block align) */\r\n view.setUint32(28, this.avgBytesPerSec, true);\r\n /* block align (channel count * bytes per sample) */\r\n view.setUint16(32, this.channels * (this.bitsPerSample / 8), true);\r\n /* bits per sample */\r\n view.setUint16(34, this.bitsPerSample, true);\r\n /* data chunk identifier */\r\n this.setString(view, 36, \"data\");\r\n /* data chunk length */\r\n view.setUint32(40, 0, true);\r\n }\r\n }\r\n\r\n /**\r\n * Retrieves the default input format.\r\n * @member AudioStreamFormatImpl.getDefaultInputFormat\r\n * @function\r\n * @public\r\n * @returns {AudioStreamFormatImpl} The default input format.\r\n */\r\n public static getDefaultInputFormat(): AudioStreamFormatImpl {\r\n return new AudioStreamFormatImpl();\r\n }\r\n\r\n /**\r\n * Creates an audio context appropriate to current browser\r\n * @member AudioStreamFormatImpl.getAudioContext\r\n * @function\r\n * @public\r\n * @returns {AudioContext} An audio context instance\r\n */\r\n /* eslint-disable */\r\n public static getAudioContext(sampleRate?: number): AudioContext {\r\n // Workaround for Speech SDK bug in Safari.\r\n const AudioContext = (window as any).AudioContext // our preferred impl\r\n || (window as any).webkitAudioContext // fallback, mostly when on Safari\r\n || false; // could not find.\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/API/AudioContext\r\n if (!!AudioContext) {\r\n if (sampleRate !== undefined && navigator.mediaDevices.getSupportedConstraints().sampleRate) {\r\n return new AudioContext({ sampleRate });\r\n } else {\r\n return new AudioContext();\r\n }\r\n } else {\r\n throw new Error(\"Browser does not support Web Audio API (AudioContext is not available).\");\r\n }\r\n }\r\n /* eslint-enable */\r\n\r\n /**\r\n * Closes the configuration object.\r\n * @member AudioStreamFormatImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n return;\r\n }\r\n\r\n /**\r\n * The format of the audio, valid values: 1 (PCM)\r\n * @member AudioStreamFormatImpl.prototype.formatTag\r\n * @function\r\n * @public\r\n */\r\n public formatTag: number;\r\n\r\n /**\r\n * The number of channels, valid values: 1 (Mono).\r\n * @member AudioStreamFormatImpl.prototype.channels\r\n * @function\r\n * @public\r\n */\r\n public channels: number;\r\n\r\n /**\r\n * The sample rate, valid values: 16000.\r\n * @member AudioStreamFormatImpl.prototype.samplesPerSec\r\n * @function\r\n * @public\r\n */\r\n public samplesPerSec: number;\r\n\r\n /**\r\n * The bits per sample, valid values: 16\r\n * @member AudioStreamFormatImpl.prototype.b\r\n * @function\r\n * @public\r\n */\r\n public bitsPerSample: number;\r\n\r\n /**\r\n * Average bytes per second, usually calculated as nSamplesPerSec * nChannels * ceil(wBitsPerSample, 8).\r\n * @member AudioStreamFormatImpl.prototype.avgBytesPerSec\r\n * @function\r\n * @public\r\n */\r\n public avgBytesPerSec: number;\r\n\r\n /**\r\n * The size of a single frame, valid values: nChannels * ceil(wBitsPerSample, 8).\r\n * @member AudioStreamFormatImpl.prototype.blockAlign\r\n * @function\r\n * @public\r\n */\r\n public blockAlign: number;\r\n\r\n public get header(): ArrayBuffer {\r\n return this.privHeader;\r\n }\r\n\r\n protected setString(view: DataView, offset: number, str: string): void {\r\n for (let i = 0; i < str.length; i++) {\r\n view.setUint8(offset + i, str.charCodeAt(i));\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { InvalidOperationError } from \"../../common/Error.js\";\r\nimport { AudioStreamFormat } from \"../Exports.js\";\r\nimport { AudioStreamFormatImpl } from \"./AudioStreamFormat.js\";\r\n\r\ntype AudioDataTypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array;\r\n/**\r\n * Base audio player class\r\n * TODO: Plays only PCM for now.\r\n * @class\r\n */\r\nexport class BaseAudioPlayer {\r\n\r\n private audioContext: AudioContext = null;\r\n private gainNode: GainNode = null;\r\n private audioFormat: AudioStreamFormatImpl;\r\n private autoUpdateBufferTimer: any = 0;\r\n private samples: Float32Array;\r\n private startTime: number;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {AudioStreamFormat} audioFormat audio stream format recognized by the player.\r\n */\r\n public constructor(audioFormat?: AudioStreamFormat) {\r\n if (audioFormat === undefined) {\r\n audioFormat = AudioStreamFormat.getDefaultInputFormat();\r\n }\r\n this.init(audioFormat);\r\n }\r\n\r\n /**\r\n * play Audio sample\r\n * @param newAudioData audio data to be played.\r\n */\r\n public playAudioSample(newAudioData: ArrayBuffer, cb?: () => void, err?: (error: string) => void): void {\r\n try {\r\n this.ensureInitializedContext();\r\n const audioData = this.formatAudioData(newAudioData);\r\n const newSamplesData = new Float32Array(this.samples.length + audioData.length);\r\n newSamplesData.set(this.samples, 0);\r\n newSamplesData.set(audioData, this.samples.length);\r\n this.samples = newSamplesData;\r\n if (!!cb) {\r\n cb();\r\n }\r\n } catch (e) {\r\n if (!!err) {\r\n err(e as string);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * stops audio and clears the buffers\r\n */\r\n public stopAudio(cb?: () => void, err?: (error: string) => void): void {\r\n if (this.audioContext !== null) {\r\n this.samples = new Float32Array();\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\r\n clearInterval(this.autoUpdateBufferTimer);\r\n this.audioContext.close().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n this.audioContext = null;\r\n }\r\n }\r\n\r\n private init(audioFormat: AudioStreamFormat): void {\r\n this.audioFormat = audioFormat as AudioStreamFormatImpl;\r\n this.samples = new Float32Array();\r\n }\r\n\r\n private ensureInitializedContext(): void {\r\n if (this.audioContext === null) {\r\n this.createAudioContext();\r\n const timerPeriod = 200;\r\n this.autoUpdateBufferTimer = setInterval((): void => {\r\n this.updateAudioBuffer();\r\n }, timerPeriod);\r\n }\r\n }\r\n\r\n private createAudioContext(): void {\r\n // new ((window as any).AudioContext || (window as any).webkitAudioContext)();\r\n this.audioContext = AudioStreamFormatImpl.getAudioContext();\r\n\r\n // TODO: Various examples shows this gain node, it does not seem to be needed unless we plan\r\n // to control the volume, not likely\r\n this.gainNode = this.audioContext.createGain();\r\n this.gainNode.gain.value = 1;\r\n this.gainNode.connect(this.audioContext.destination);\r\n this.startTime = this.audioContext.currentTime;\r\n }\r\n\r\n private formatAudioData(audioData: ArrayBuffer): Float32Array {\r\n switch (this.audioFormat.bitsPerSample) {\r\n case 8:\r\n return this.formatArrayBuffer(new Int8Array(audioData), 128);\r\n case 16:\r\n return this.formatArrayBuffer(new Int16Array(audioData), 32768);\r\n case 32:\r\n return this.formatArrayBuffer(new Int32Array(audioData), 2147483648);\r\n default:\r\n throw new InvalidOperationError(\"Only WAVE_FORMAT_PCM (8/16/32 bps) format supported at this time\");\r\n }\r\n }\r\n\r\n private formatArrayBuffer(audioData: AudioDataTypedArray, maxValue: number): Float32Array {\r\n const float32Data = new Float32Array(audioData.length);\r\n for (let i = 0; i < audioData.length; i++) {\r\n float32Data[i] = audioData[i] / maxValue;\r\n }\r\n return float32Data;\r\n }\r\n\r\n private updateAudioBuffer(): void {\r\n if (this.samples.length === 0) {\r\n return;\r\n }\r\n\r\n const channelCount = this.audioFormat.channels;\r\n const bufferSource = this.audioContext.createBufferSource();\r\n const frameCount = this.samples.length / channelCount;\r\n const audioBuffer = this.audioContext.createBuffer(channelCount, frameCount, this.audioFormat.samplesPerSec);\r\n\r\n // TODO: Should we do the conversion in the pushAudioSample instead?\r\n for (let channel = 0; channel < channelCount; channel++) {\r\n // Fill in individual channel data\r\n let channelOffset = channel;\r\n const audioData = audioBuffer.getChannelData(channel);\r\n for (let i = 0; i < this.samples.length; i++, channelOffset += channelCount) {\r\n audioData[i] = this.samples[channelOffset];\r\n }\r\n }\r\n\r\n if (this.startTime < this.audioContext.currentTime) {\r\n this.startTime = this.audioContext.currentTime;\r\n }\r\n\r\n bufferSource.buffer = audioBuffer;\r\n bufferSource.connect(this.gainNode);\r\n bufferSource.start(this.startTime);\r\n\r\n // Make sure we play the next sample after the current one.\r\n this.startTime += audioBuffer.duration;\r\n\r\n // Clear the samples for the next pushed data.\r\n this.samples = new Float32Array();\r\n }\r\n\r\n private async playAudio(audioData: ArrayBuffer): Promise {\r\n if (this.audioContext === null) {\r\n this.createAudioContext();\r\n }\r\n const source: AudioBufferSourceNode = this.audioContext.createBufferSource();\r\n const destination: AudioDestinationNode = this.audioContext.destination;\r\n await this.audioContext.decodeAudioData(audioData, (newBuffer: AudioBuffer): void => {\r\n source.buffer = newBuffer;\r\n source.connect(destination);\r\n source.start(0);\r\n });\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n /**\r\n * An abstract base class that defines callback methods (read() and close()) for\r\n * custom audio input streams).\r\n * @class PullAudioInputStreamCallback\r\n */\r\nexport abstract class PullAudioInputStreamCallback {\r\n\r\n /**\r\n * Reads data from audio input stream into the data buffer. The maximal number of bytes\r\n * to be read is determined by the size of dataBuffer.\r\n * @member PullAudioInputStreamCallback.prototype.read\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - The byte array to store the read data.\r\n * @returns {number} the number of bytes have been read.\r\n */\r\n public abstract read(dataBuffer: ArrayBuffer): number;\r\n\r\n /**\r\n * Closes the audio input stream.\r\n * @member PullAudioInputStreamCallback.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n/**\r\n * An abstract base class that defines callback methods (write() and close()) for\r\n * custom audio output streams).\r\n * @class PushAudioOutputStreamCallback\r\n */\r\nexport abstract class PushAudioOutputStreamCallback {\r\n\r\n /**\r\n * Writes audio data into the data buffer.\r\n * @member PushAudioOutputStreamCallback.prototype.write\r\n * @function\r\n * @public\r\n * @param {ArrayBuffer} dataBuffer - The byte array that stores the audio data to write.\r\n */\r\n public abstract write(dataBuffer: ArrayBuffer): void;\r\n\r\n /**\r\n * Closes the audio output stream.\r\n * @member PushAudioOutputStreamCallback.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n BackgroundEvent,\r\n createNoDashGuid,\r\n Events,\r\n IAudioDestination,\r\n INumberDictionary\r\n} from \"../../common/Exports.js\";\r\nimport { AudioStreamFormat, IPlayer } from \"../Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"./AudioOutputFormat.js\";\r\nimport { PullAudioOutputStreamImpl } from \"./AudioOutputStream.js\";\r\nimport { AudioFormatTag } from \"./AudioStreamFormat.js\";\r\n\r\nconst MediaDurationPlaceholderSeconds = 60 * 30;\r\n\r\nconst AudioFormatToMimeType: INumberDictionary = {\r\n [AudioFormatTag.PCM]: \"audio/wav\",\r\n [AudioFormatTag.MuLaw]: \"audio/x-wav\",\r\n [AudioFormatTag.MP3]: \"audio/mpeg\",\r\n [AudioFormatTag.OGG_OPUS]: \"audio/ogg\",\r\n [AudioFormatTag.WEBM_OPUS]: \"audio/webm; codecs=opus\",\r\n [AudioFormatTag.ALaw]: \"audio/x-wav\",\r\n [AudioFormatTag.FLAC]: \"audio/flac\",\r\n};\r\n\r\n/**\r\n * Represents the speaker playback audio destination, which only works in browser.\r\n * Note: the SDK will try to use Media Source Extensions to play audio.\r\n * Mp3 format has better supports on Microsoft Edge, Chrome and Safari (desktop), so, it's better to specify mp3 format for playback.\r\n * @class SpeakerAudioDestination\r\n * Updated in version 1.17.0\r\n */\r\nexport class SpeakerAudioDestination implements IAudioDestination, IPlayer {\r\n private readonly privId: string;\r\n private privFormat: AudioOutputFormatImpl;\r\n private privAudio: HTMLAudioElement;\r\n private privMediaSource: MediaSource;\r\n private privSourceBuffer: SourceBuffer;\r\n private privPlaybackStarted: boolean = false;\r\n private privAudioBuffer: ArrayBuffer[];\r\n private privAppendingToBuffer: boolean = false;\r\n private privMediaSourceOpened: boolean = false;\r\n private privIsClosed: boolean;\r\n private privIsPaused: boolean;\r\n private privAudioOutputStream: PullAudioOutputStreamImpl;\r\n private privBytesReceived: number = 0;\r\n\r\n public constructor(audioDestinationId?: string) {\r\n this.privId = audioDestinationId ? audioDestinationId : createNoDashGuid();\r\n this.privIsPaused = false;\r\n this.privIsClosed = false;\r\n }\r\n\r\n public id(): string {\r\n return this.privId;\r\n }\r\n\r\n public write(buffer: ArrayBuffer, cb?: () => void, err?: (error: string) => void): void {\r\n if (this.privAudioBuffer !== undefined) {\r\n this.privAudioBuffer.push(buffer);\r\n this.updateSourceBuffer().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n } else if (this.privAudioOutputStream !== undefined) {\r\n this.privAudioOutputStream.write(buffer);\r\n this.privBytesReceived += buffer.byteLength;\r\n }\r\n }\r\n\r\n public close(cb?: () => void, err?: (error: string) => void): void {\r\n this.privIsClosed = true;\r\n if (this.privSourceBuffer !== undefined) {\r\n this.handleSourceBufferUpdateEnd().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n } else if (this.privAudioOutputStream !== undefined && typeof window !== \"undefined\") {\r\n if ((this.privFormat.formatTag === AudioFormatTag.PCM || this.privFormat.formatTag === AudioFormatTag.MuLaw\r\n || this.privFormat.formatTag === AudioFormatTag.ALaw) && this.privFormat.hasHeader === false) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\"Play back is not supported for raw PCM, mulaw or alaw format without header.\");\r\n if (!!this.onAudioEnd) {\r\n this.onAudioEnd(this);\r\n }\r\n } else {\r\n let receivedAudio = new ArrayBuffer(this.privBytesReceived);\r\n this.privAudioOutputStream.read(receivedAudio).then((): void => {\r\n receivedAudio = this.privFormat.addHeader(receivedAudio);\r\n const audioBlob = new Blob([receivedAudio], { type: AudioFormatToMimeType[this.privFormat.formatTag] });\r\n this.privAudio.src = window.URL.createObjectURL(audioBlob);\r\n this.notifyPlayback().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n }\r\n } else {\r\n // unsupported format, call onAudioEnd directly.\r\n if (!!this.onAudioEnd) {\r\n this.onAudioEnd(this);\r\n }\r\n }\r\n }\r\n\r\n public set format(format: AudioStreamFormat) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n if (typeof (AudioContext) !== \"undefined\" || (typeof (window) !== \"undefined\" && typeof ((window as any).webkitAudioContext) !== \"undefined\")) {\r\n this.privFormat = format as AudioOutputFormatImpl;\r\n const mimeType: string = AudioFormatToMimeType[this.privFormat.formatTag];\r\n if (mimeType === undefined) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `Unknown mimeType for format ${AudioFormatTag[this.privFormat.formatTag]}; playback is not supported.`);\r\n\r\n } else if (typeof (MediaSource) !== \"undefined\" && MediaSource.isTypeSupported(mimeType)) {\r\n this.privAudio = new Audio();\r\n this.privAudioBuffer = [];\r\n this.privMediaSource = new MediaSource();\r\n this.privAudio.src = URL.createObjectURL(this.privMediaSource);\r\n this.privAudio.load();\r\n this.privMediaSource.onsourceopen = (): void => {\r\n this.privMediaSourceOpened = true;\r\n this.privMediaSource.duration = MediaDurationPlaceholderSeconds;\r\n this.privSourceBuffer = this.privMediaSource.addSourceBuffer(mimeType);\r\n this.privSourceBuffer.onupdate = (): void => {\r\n this.updateSourceBuffer().catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n };\r\n this.privSourceBuffer.onupdateend = (): void => {\r\n this.handleSourceBufferUpdateEnd().catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n };\r\n this.privSourceBuffer.onupdatestart = (): void => {\r\n this.privAppendingToBuffer = false;\r\n };\r\n };\r\n this.updateSourceBuffer().catch((reason: string): void => {\r\n Events.instance.onEvent(new BackgroundEvent(reason));\r\n });\r\n\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `Format ${AudioFormatTag[this.privFormat.formatTag]} could not be played by MSE, streaming playback is not enabled.`);\r\n this.privAudioOutputStream = new PullAudioOutputStreamImpl();\r\n this.privAudioOutputStream.format = this.privFormat;\r\n this.privAudio = new Audio();\r\n }\r\n }\r\n }\r\n\r\n public get volume(): number {\r\n return this.privAudio?.volume ?? -1;\r\n }\r\n\r\n public set volume(volume: number) {\r\n if (!!this.privAudio) {\r\n this.privAudio.volume = volume;\r\n }\r\n }\r\n\r\n public mute(): void {\r\n if (!!this.privAudio) {\r\n this.privAudio.muted = true;\r\n }\r\n }\r\n\r\n public unmute(): void {\r\n if (!!this.privAudio) {\r\n this.privAudio.muted = false;\r\n }\r\n }\r\n\r\n public get isClosed(): boolean {\r\n return this.privIsClosed;\r\n }\r\n\r\n public get currentTime(): number {\r\n if (this.privAudio !== undefined) {\r\n return this.privAudio.currentTime;\r\n }\r\n return -1;\r\n }\r\n\r\n public pause(): void {\r\n if (!this.privIsPaused && this.privAudio !== undefined) {\r\n this.privAudio.pause();\r\n this.privIsPaused = true;\r\n }\r\n }\r\n\r\n public resume(cb?: () => void, err?: (error: string) => void): void {\r\n if (this.privIsPaused && this.privAudio !== undefined) {\r\n this.privAudio.play().then((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }, (error: string): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n this.privIsPaused = false;\r\n }\r\n }\r\n\r\n public onAudioStart: (sender: IPlayer) => void;\r\n\r\n public onAudioEnd: (sender: IPlayer) => void;\r\n\r\n public get internalAudio(): HTMLAudioElement {\r\n return this.privAudio;\r\n }\r\n\r\n private async updateSourceBuffer(): Promise {\r\n if (this.privAudioBuffer !== undefined && (this.privAudioBuffer.length > 0) && this.sourceBufferAvailable()) {\r\n this.privAppendingToBuffer = true;\r\n const binary = this.privAudioBuffer.shift();\r\n try {\r\n this.privSourceBuffer.appendBuffer(binary);\r\n } catch (error) {\r\n this.privAudioBuffer.unshift(binary);\r\n // eslint-disable-next-line no-console\r\n console.log(\r\n \"buffer filled, pausing addition of binaries until space is made\");\r\n return;\r\n }\r\n await this.notifyPlayback();\r\n } else if (this.canEndStream()) {\r\n await this.handleSourceBufferUpdateEnd();\r\n }\r\n }\r\n\r\n private async handleSourceBufferUpdateEnd(): Promise {\r\n if (this.canEndStream() && this.sourceBufferAvailable()) {\r\n this.privMediaSource.endOfStream();\r\n await this.notifyPlayback();\r\n }\r\n }\r\n\r\n private async notifyPlayback(): Promise {\r\n if (!this.privPlaybackStarted && this.privAudio !== undefined) {\r\n this.privPlaybackStarted = true;\r\n if (!!this.onAudioStart) {\r\n this.onAudioStart(this);\r\n }\r\n this.privAudio.onended = (): void => {\r\n if (!!this.onAudioEnd) {\r\n this.onAudioEnd(this);\r\n }\r\n };\r\n if (!this.privIsPaused) {\r\n await this.privAudio.play();\r\n }\r\n }\r\n }\r\n\r\n private canEndStream(): boolean {\r\n return (this.isClosed && this.privSourceBuffer !== undefined && (this.privAudioBuffer.length === 0)\r\n && this.privMediaSourceOpened && !this.privAppendingToBuffer && this.privMediaSource.readyState === \"open\");\r\n }\r\n\r\n private sourceBufferAvailable(): boolean {\r\n return (this.privSourceBuffer !== undefined && !this.privSourceBuffer.updating);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { AutoDetectSourceLanguagesOpenRangeOptionName } from \"../common.speech/Exports.js\";\r\nimport {Contracts} from \"./Contracts.js\";\r\nimport {\r\n PropertyCollection,\r\n PropertyId,\r\n SourceLanguageConfig,\r\n} from \"./Exports.js\";\r\nimport { LanguageIdMode } from \"./LanguageIdMode.js\";\r\n\r\n/**\r\n * Language auto detect configuration.\r\n * @class AutoDetectSourceLanguageConfig\r\n * Added in version 1.13.0.\r\n */\r\nexport class AutoDetectSourceLanguageConfig {\r\n private privProperties: PropertyCollection;\r\n private privLanguageIdMode: LanguageIdMode;\r\n\r\n private constructor() {\r\n this.privProperties = new PropertyCollection();\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_LanguageIdMode, \"AtStart\");\r\n this.privLanguageIdMode = LanguageIdMode.AtStart;\r\n }\r\n\r\n /**\r\n * @member AutoDetectSourceLanguageConfig.fromOpenRange\r\n * @function\r\n * @public\r\n * Only [[SpeechSynthesizer]] supports source language auto detection from open range,\r\n * for [[Recognizer]], please use AutoDetectSourceLanguageConfig with specific source languages.\r\n * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig\r\n * @summary Creates an instance of the AutoDetectSourceLanguageConfig with open range.\r\n */\r\n public static fromOpenRange(): AutoDetectSourceLanguageConfig {\r\n const config = new AutoDetectSourceLanguageConfig();\r\n config.properties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, AutoDetectSourceLanguagesOpenRangeOptionName);\r\n return config;\r\n }\r\n\r\n /**\r\n * @member AutoDetectSourceLanguageConfig.fromLanguages\r\n * @function\r\n * @public\r\n * @param {string[]} languages Comma-separated string of languages (eg. \"en-US,fr-FR\") to populate properties of config.\r\n * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig\r\n * @summary Creates an instance of the AutoDetectSourceLanguageConfig with given languages.\r\n */\r\n public static fromLanguages(languages: string[]): AutoDetectSourceLanguageConfig {\r\n Contracts.throwIfArrayEmptyOrWhitespace(languages, \"languages\");\r\n const config = new AutoDetectSourceLanguageConfig();\r\n config.properties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, languages.join());\r\n return config;\r\n }\r\n\r\n /**\r\n * @member AutoDetectSourceLanguageConfig.fromSourceLanguageConfigs\r\n * @function\r\n * @public\r\n * @param {SourceLanguageConfig[]} configs SourceLanguageConfigs to populate properties of config.\r\n * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig\r\n * @summary Creates an instance of the AutoDetectSourceLanguageConfig with given SourceLanguageConfigs.\r\n */\r\n public static fromSourceLanguageConfigs(configs: SourceLanguageConfig[]): AutoDetectSourceLanguageConfig {\r\n if (configs.length < 1) {\r\n throw new Error(\"Expected non-empty SourceLanguageConfig array.\");\r\n }\r\n const autoConfig = new AutoDetectSourceLanguageConfig();\r\n const langs: string[] = [];\r\n configs.forEach((config: SourceLanguageConfig): void => {\r\n langs.push(config.language);\r\n if (config.endpointId !== undefined && config.endpointId !== \"\") {\r\n const customProperty = config.language + PropertyId.SpeechServiceConnection_EndpointId.toString();\r\n autoConfig.properties.setProperty(customProperty, config.endpointId);\r\n }\r\n });\r\n autoConfig.properties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, langs.join());\r\n\r\n return autoConfig;\r\n }\r\n\r\n /**\r\n * @member AutoDetectSourceLanguageConfig.prototype.properties\r\n * @function\r\n * @public\r\n * @return {PropertyCollection} Properties of the config.\r\n * @summary Gets an auto detected language config properties\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * @member AutoDetectSourceLanguageConfig.prototype.mode\r\n * @function\r\n * @public\r\n * @param {LanguageIdMode} mode LID mode desired.\r\n * @summary Sets LID operation to desired mode\r\n */\r\n public set mode(mode: LanguageIdMode) {\r\n if (mode === LanguageIdMode.Continuous) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_RecognitionEndpointVersion, \"2\");\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_LanguageIdMode, \"Continuous\");\r\n } else { // LanguageIdMode.AtStart\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_RecognitionEndpointVersion, \"1\");\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_LanguageIdMode, \"AtStart\");\r\n }\r\n this.privLanguageIdMode = mode;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n SpeechRecognitionResult,\r\n ConversationTranscriptionResult\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Output format\r\n * @class AutoDetectSourceLanguageResult\r\n */\r\nexport class AutoDetectSourceLanguageResult {\r\n\r\n private privLanguage: string;\r\n private privLanguageDetectionConfidence: string;\r\n\r\n private constructor(language: string, languageDetectionConfidence: string) {\r\n Contracts.throwIfNullOrUndefined(language, \"language\");\r\n Contracts.throwIfNullOrUndefined(languageDetectionConfidence, \"languageDetectionConfidence\");\r\n this.privLanguage = language;\r\n this.privLanguageDetectionConfidence = languageDetectionConfidence;\r\n }\r\n\r\n /**\r\n * Creates an instance of AutoDetectSourceLanguageResult object from a SpeechRecognitionResult instance.\r\n * @member AutoDetectSourceLanguageResult.fromResult\r\n * @function\r\n * @public\r\n * @param {SpeechRecognitionResult} result - The recognition result.\r\n * @returns {AutoDetectSourceLanguageResult} AutoDetectSourceLanguageResult object being created.\r\n */\r\n public static fromResult(result: SpeechRecognitionResult): AutoDetectSourceLanguageResult {\r\n return new AutoDetectSourceLanguageResult(result.language, result.languageDetectionConfidence);\r\n }\r\n\r\n /**\r\n * Creates an instance of AutoDetectSourceLanguageResult object from a ConversationTranscriptionResult instance.\r\n * @member AutoDetectSourceLanguageResult.fromConversationTranscriptionResult\r\n * @function\r\n * @public\r\n * @param {ConversationTranscriptionResult} result - The transcription result.\r\n * @returns {AutoDetectSourceLanguageResult} AutoDetectSourceLanguageResult object being created.\r\n */\r\n public static fromConversationTranscriptionResult(result: ConversationTranscriptionResult): AutoDetectSourceLanguageResult {\r\n return new AutoDetectSourceLanguageResult(result.language, result.languageDetectionConfidence);\r\n }\r\n\r\n public get language(): string {\r\n return this.privLanguage;\r\n }\r\n\r\n public get languageDetectionConfidence(): string {\r\n return this.privLanguageDetectionConfidence;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { AvatarVideoFormat } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines the talking avatar configuration.\r\n * @class AvatarConfig\r\n * Added in version 1.33.0\r\n *\r\n * @experimental This feature is experimental and might change or have limited support.\r\n */\r\nexport class AvatarConfig {\r\n private privCustomized: boolean = false;\r\n private privBackgroundColor: string;\r\n\r\n /**\r\n * Defines the avatar character.\r\n */\r\n public character: string;\r\n /**\r\n * Defines the avatar style.\r\n */\r\n public style: string;\r\n /**\r\n * Defines the talking avatar output video format.\r\n */\r\n public videoFormat: AvatarVideoFormat;\r\n\r\n /**\r\n * Indicates if the talking avatar is customized.\r\n */\r\n public get customized(): boolean {\r\n return this.privCustomized;\r\n }\r\n\r\n /**\r\n * Sets if the talking avatar is customized.\r\n */\r\n public set customized(value: boolean) {\r\n this.privCustomized = value;\r\n }\r\n\r\n /**\r\n * Sets the background color.\r\n */\r\n public get backgroundColor(): string {\r\n return this.privBackgroundColor;\r\n }\r\n\r\n /**\r\n * Gets the background color.\r\n */\r\n public set backgroundColor(value: string) {\r\n this.privBackgroundColor = value;\r\n }\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} character - The avatar character.\r\n * @param {string} style - The avatar style.\r\n * @param {AvatarVideoFormat} videoFormat - The talking avatar output video format.\r\n */\r\n public constructor(character: string, style: string, videoFormat: AvatarVideoFormat) {\r\n Contracts.throwIfNullOrWhitespace(character, \"character\");\r\n this.character = character;\r\n this.style = style;\r\n if (videoFormat === undefined) {\r\n videoFormat = new AvatarVideoFormat();\r\n }\r\n this.videoFormat = videoFormat;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport enum AvatarEventTypes {\r\n SwitchedToSpeaking = \"SwitchedToSpeaking\",\r\n SwitchedToIdle = \"SwitchedToIdle\",\r\n SessionClosed = \"SessionClosed\",\r\n}\r\n\r\n/**\r\n * Defines content for talking avatar events.\r\n * @class AvatarEventArgs\r\n * Added in version 1.33.0\r\n *\r\n * @experimental This feature is experimental and might change or have limited support.\r\n */\r\nexport class AvatarEventArgs {\r\n private privType: AvatarEventTypes;\r\n private privOffset: number;\r\n private privDescription: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {number} audioOffset - The audio offset.\r\n * @param {string} description - The description of the event.\r\n */\r\n public constructor(audioOffset: number, description: string) {\r\n this.privOffset = audioOffset;\r\n this.privDescription = description;\r\n }\r\n\r\n /**\r\n * The type of the event.\r\n * @public\r\n * @returns {AvatarEventTypes} The type of the event.\r\n */\r\n public get type(): AvatarEventTypes {\r\n return this.privType;\r\n }\r\n\r\n /**\r\n * The time offset associated with this event.\r\n * @public\r\n * @returns {number} The time offset associated with this event.\r\n */\r\n public get offset(): number {\r\n return this.privOffset;\r\n }\r\n\r\n /**\r\n * The description of the event.\r\n * @public\r\n * @returns {string} The description of the event.\r\n */\r\n public get description(): string {\r\n return this.privDescription;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SpeechSynthesisConnectionFactory } from \"../common.speech/SpeechSynthesisConnectionFactory.js\";\r\nimport { SynthesisRestAdapter } from \"../common.speech/SynthesisRestAdapter.js\";\r\nimport { SynthesizerConfig } from \"../common.speech/SynthesizerConfig.js\";\r\nimport {\r\n AvatarSynthesisAdapter,\r\n IAuthentication,\r\n ISynthesisConnectionFactory,\r\n SpeechServiceConfig,\r\n SynthesisAdapterBase\r\n} from \"../common.speech/Exports.js\";\r\nimport { createNoDashGuid, Deferred, Events, EventType, PlatformEvent } from \"../common/Exports.js\";\r\nimport { AudioOutputFormatImpl } from \"./Audio/AudioOutputFormat.js\";\r\nimport {\r\n AvatarConfig,\r\n AvatarEventArgs,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n SpeechConfig,\r\n SpeechSynthesisOutputFormat,\r\n SpeechSynthesisResult,\r\n SynthesisResult,\r\n Synthesizer\r\n} from \"./Exports.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { SynthesisRequest } from \"./Synthesizer.js\";\r\n\r\n/**\r\n * Defines the avatar synthesizer.\r\n * @class AvatarSynthesizer\r\n * Added in version 1.33.0\r\n *\r\n * @experimental This feature is experimental and might change or have limited support.\r\n */\r\nexport class AvatarSynthesizer extends Synthesizer {\r\n protected privProperties: PropertyCollection;\r\n private privAvatarConfig: AvatarConfig;\r\n private privIceServers: RTCIceServer[];\r\n /**\r\n * Defines event handler for avatar events.\r\n * @member AvatarSynthesizer.prototype.avatarEventReceived\r\n * @function\r\n * @public\r\n */\r\n public avatarEventReceived: (sender: AvatarSynthesizer, event: AvatarEventArgs) => void;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - The speech config.\r\n * @param {AvatarConfig} avatarConfig - The talking avatar config.\r\n */\r\n public constructor(speechConfig: SpeechConfig, avatarConfig: AvatarConfig) {\r\n super(speechConfig);\r\n\r\n Contracts.throwIfNullOrUndefined(avatarConfig, \"avatarConfig\");\r\n\r\n this.privConnectionFactory = new SpeechSynthesisConnectionFactory();\r\n this.privAvatarConfig = avatarConfig;\r\n this.implCommonSynthesizeSetup();\r\n }\r\n\r\n protected implCommonSynthesizeSetup(): void {\r\n super.implCommonSynthesizeSetup();\r\n\r\n // The service checks the audio format setting while it ignores it in avatar synthesis.\r\n this.privAdapter.audioOutputFormat = AudioOutputFormatImpl.fromSpeechSynthesisOutputFormat(\r\n SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm\r\n );\r\n }\r\n\r\n /**\r\n * Starts the talking avatar session and establishes the WebRTC connection.\r\n * @member AvatarSynthesizer.prototype.startAvatarAsync\r\n * @function\r\n * @public\r\n * @param {AvatarWebRTCConnectionInfo} peerConnection - The peer connection.\r\n * @returns {Promise} The promise of the connection result.\r\n */\r\n public async startAvatarAsync(peerConnection: RTCPeerConnection): Promise {\r\n Contracts.throwIfNullOrUndefined(peerConnection, \"peerConnection\");\r\n this.privIceServers = peerConnection.getConfiguration().iceServers;\r\n Contracts.throwIfNullOrUndefined(this.privIceServers, \"Ice servers must be set.\");\r\n const iceGatheringDone = new Deferred();\r\n // https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/icegatheringstatechange_event\r\n peerConnection.onicegatheringstatechange = (): void => {\r\n Events.instance.onEvent(new PlatformEvent(\"peer connection: ice gathering state: \" + peerConnection.iceGatheringState, EventType.Debug));\r\n if (peerConnection.iceGatheringState === \"complete\") {\r\n Events.instance.onEvent(new PlatformEvent(\"peer connection: ice gathering complete.\", EventType.Info));\r\n iceGatheringDone.resolve();\r\n }\r\n };\r\n peerConnection.onicecandidate = (event: RTCPeerConnectionIceEvent): void => {\r\n if (event.candidate) {\r\n Events.instance.onEvent(new PlatformEvent(\"peer connection: ice candidate: \" + event.candidate.candidate, EventType.Debug));\r\n } else {\r\n Events.instance.onEvent(new PlatformEvent(\"peer connection: ice candidate: complete\", EventType.Debug));\r\n iceGatheringDone.resolve();\r\n }\r\n };\r\n // Set a timeout for ice gathering, currently 2 seconds.\r\n setTimeout((): void => {\r\n if (peerConnection.iceGatheringState !== \"complete\") {\r\n Events.instance.onEvent(new PlatformEvent(\"peer connection: ice gathering timeout.\", EventType.Warning));\r\n iceGatheringDone.resolve();\r\n }\r\n }, 2000);\r\n const sdp: RTCSessionDescriptionInit = await peerConnection.createOffer();\r\n await peerConnection.setLocalDescription(sdp);\r\n await iceGatheringDone.promise;\r\n Events.instance.onEvent(new PlatformEvent(\"peer connection: got local SDP.\", EventType.Info));\r\n this.privProperties.setProperty(PropertyId.TalkingAvatarService_WebRTC_SDP, JSON.stringify(peerConnection.localDescription));\r\n\r\n const result: SpeechSynthesisResult = await this.speak(\"\", false);\r\n if (result.reason !== ResultReason.SynthesizingAudioCompleted) {\r\n return new SynthesisResult(\r\n result.resultId,\r\n result.reason,\r\n result.errorDetails,\r\n result.properties,\r\n );\r\n }\r\n const sdpAnswerString: string = atob(result.properties.getProperty(PropertyId.TalkingAvatarService_WebRTC_SDP));\r\n const sdpAnswer: RTCSessionDescription = new RTCSessionDescription(\r\n JSON.parse(sdpAnswerString) as RTCSessionDescriptionInit,\r\n );\r\n await peerConnection.setRemoteDescription(sdpAnswer);\r\n return new SynthesisResult(\r\n result.resultId,\r\n result.reason,\r\n undefined,\r\n result.properties,\r\n );\r\n }\r\n\r\n /**\r\n * Speaks plain text asynchronously. The rendered audio and video will be sent via the WebRTC connection.\r\n * @member AvatarSynthesizer.prototype.speakTextAsync\r\n * @function\r\n * @public\r\n * @param {string} text - The plain text to speak.\r\n * @returns {Promise} The promise of the synthesis result.\r\n */\r\n public async speakTextAsync(text: string): Promise {\r\n const r = await this.speak(text, false);\r\n return new SynthesisResult(\r\n r.resultId,\r\n r.reason,\r\n r.errorDetails,\r\n r.properties,\r\n );\r\n }\r\n\r\n /**\r\n * Speaks SSML asynchronously. The rendered audio and video will be sent via the WebRTC connection.\r\n * @member AvatarSynthesizer.prototype.speakSsmlAsync\r\n * @function\r\n * @public\r\n * @param {string} ssml - The SSML text to speak.\r\n * @returns {Promise} The promise of the synthesis result.\r\n */\r\n public async speakSsmlAsync(ssml: string): Promise {\r\n const r = await this.speak(ssml, true);\r\n return new SynthesisResult(\r\n r.resultId,\r\n r.reason,\r\n r.errorDetails,\r\n r.properties,\r\n );\r\n }\r\n\r\n /**\r\n * Speaks text asynchronously. The avatar will switch to idle state.\r\n * @member AvatarSynthesizer.prototype.stopSpeakingAsync\r\n * @function\r\n * @public\r\n * @returns {Promise} The promise of the void result.\r\n */\r\n public async stopSpeakingAsync(): Promise {\r\n while (this.synthesisRequestQueue.length() > 0) {\r\n const request = await this.synthesisRequestQueue.dequeue();\r\n request.err(\"Synthesis is canceled by user.\");\r\n }\r\n return this.privAdapter.stopSpeaking();\r\n }\r\n\r\n /**\r\n * Stops the talking avatar session and closes the WebRTC connection.\r\n * For now, this is the same as close().\r\n * You need to create a new AvatarSynthesizer instance to start a new session.\r\n * @member AvatarSynthesizer.prototype.stopAvatarAsync\r\n * @function\r\n * @public\r\n * @returns {Promise} The promise of the void result.\r\n */\r\n public async stopAvatarAsync(): Promise {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n return this.dispose(true);\r\n }\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member AvatarSynthesizer.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public async close(): Promise {\r\n if (this.privDisposed) {\r\n return;\r\n }\r\n\r\n return this.dispose(true);\r\n }\r\n\r\n /**\r\n * Gets the ICE servers. Internal use only.\r\n */\r\n public get iceServers(): RTCIceServer[] {\r\n return this.privIceServers;\r\n }\r\n\r\n // Creates the synthesis adapter\r\n protected createSynthesisAdapter(\r\n authentication: IAuthentication,\r\n connectionFactory: ISynthesisConnectionFactory,\r\n synthesizerConfig: SynthesizerConfig): SynthesisAdapterBase {\r\n return new AvatarSynthesisAdapter(\r\n authentication,\r\n connectionFactory,\r\n synthesizerConfig,\r\n this,\r\n this.privAvatarConfig);\r\n }\r\n\r\n protected createRestSynthesisAdapter(\r\n _authentication: IAuthentication,\r\n _synthesizerConfig: SynthesizerConfig): SynthesisRestAdapter {\r\n return undefined;\r\n }\r\n\r\n protected createSynthesizerConfig(speechConfig: SpeechServiceConfig): SynthesizerConfig {\r\n const config = super.createSynthesizerConfig(speechConfig);\r\n config.avatarEnabled = true;\r\n return config;\r\n }\r\n\r\n protected async speak(text: string, isSSML: boolean): Promise {\r\n const requestId = createNoDashGuid();\r\n const deferredResult = new Deferred();\r\n this.synthesisRequestQueue.enqueue(new SynthesisRequest(requestId, text, isSSML,\r\n (e: SpeechSynthesisResult): void => {\r\n deferredResult.resolve(e);\r\n this.privSynthesizing = false;\r\n void this.adapterSpeak();\r\n },\r\n (e: string): void => {\r\n deferredResult.reject(e);\r\n this.privSynthesizing = false;\r\n }));\r\n void this.adapterSpeak();\r\n return deferredResult.promise;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\n/**\r\n * Defines a coordinate in 2D space.\r\n * @class Coordinate\r\n * Added in version 1.33.0\r\n */\r\nexport class Coordinate {\r\n public x: number;\r\n public y: number;\r\n\r\n public constructor(x: number, y: number) {\r\n this.x = x;\r\n this.y = y;\r\n }\r\n}\r\n\r\n/**\r\n * Defines the avatar output video format.\r\n * @class AvatarVideoFormat\r\n * Added in version 1.33.0\r\n *\r\n * @experimental This feature is experimental and might change in the future.\r\n */\r\nexport class AvatarVideoFormat {\r\n /**\r\n * Defines the video codec.\r\n * @default \"H264\"\r\n */\r\n public codec: string;\r\n /**\r\n * Defines the video bitrate.\r\n * @default 2000000\r\n */\r\n public bitrate: number;\r\n /**\r\n * Defines the video width.\r\n * @default 1920\r\n */\r\n public width: number;\r\n /**\r\n * Defines the video height.\r\n * @default 1080\r\n */\r\n public height: number;\r\n\r\n /**\r\n * Sets the video crop range.\r\n */\r\n public setCropRange(topLeft: Coordinate, bottomRight: Coordinate): void {\r\n this.cropRange = {\r\n bottomRight,\r\n topLeft,\r\n };\r\n }\r\n\r\n /**\r\n * Defines the video crop range.\r\n * @default undefined\r\n * @internal\r\n */\r\n public cropRange: {\r\n topLeft: Coordinate;\r\n bottomRight: Coordinate;\r\n };\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} codec - The video codec.\r\n * @param {number} bitrate - The video bitrate.\r\n * @param {number} width - The video width.\r\n * @param {number} height - The video height.\r\n */\r\n public constructor(codec: string = \"H264\",\r\n bitrate: number = 2000000,\r\n width: number = 1920,\r\n height: number = 1080,\r\n ) {\r\n this.codec = codec;\r\n this.bitrate = bitrate;\r\n this.width = width;\r\n this.height = height;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ResultReason,\r\n PropertyCollection,\r\n SynthesisResult\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines the avatar WebRTC connection result.\r\n * @class AvatarWebRTCConnectionResult\r\n * Added in version 1.33.0\r\n *\r\n * @experimental This feature is experimental and might change in the future.\r\n */\r\nexport class AvatarWebRTCConnectionResult extends SynthesisResult {\r\n private readonly privSDPAnswer: RTCSessionDescriptionInit;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {RTCSessionDescriptionInit} SDPAnswer - The SDP answer of WebRTC connection.\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n */\r\n public constructor(SDPAnswer?: RTCSessionDescriptionInit, resultId?: string, reason?: ResultReason, errorDetails?: string, properties?: PropertyCollection) {\r\n super(resultId, reason, errorDetails, properties);\r\n this.privSDPAnswer = SDPAnswer;\r\n }\r\n\r\n /**\r\n * Specifies SDP (Session Description Protocol) answer of WebRTC connection.\r\n * @member AvatarWebRTCConnectionResult.prototype.SDPAnswer\r\n * @function\r\n * @public\r\n * @returns {RTCSessionDescriptionInit} Specifies the SDP answer of WebRTC connection.\r\n */\r\n public get SDPAnswer(): RTCSessionDescriptionInit {\r\n return this.privSDPAnswer;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { DialogServiceConfig, DialogServiceConfigImpl } from \"./DialogServiceConfig.js\";\r\nimport { PropertyId } from \"./Exports.js\";\r\n\r\n/**\r\n * Class that defines configurations for the dialog service connector object for using a Bot Framework backend.\r\n * @class BotFrameworkConfig\r\n */\r\nexport class BotFrameworkConfig extends DialogServiceConfigImpl {\r\n\r\n /**\r\n * Creates an instance of BotFrameworkConfig.\r\n */\r\n public constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Creates a bot framework configuration instance with the provided subscription information.\r\n * @member BotFrameworkConfig.fromSubscription\r\n * @function\r\n * @public\r\n * @param subscription Subscription key associated with the bot\r\n * @param region The region name (see the region page).\r\n * @param botId Optional. Identifier for using a specific bot within an Azure resource group. Equivalent to the\r\n * resource name.\r\n * @returns {BotFrameworkConfig} A new bot framework configuration instance.\r\n */\r\n public static fromSubscription(subscription: string, region: string, botId?: string): BotFrameworkConfig {\r\n Contracts.throwIfNullOrWhitespace(subscription, \"subscription\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const botFrameworkConfig: BotFrameworkConfig = new DialogServiceConfigImpl();\r\n botFrameworkConfig.setProperty(\r\n PropertyId.Conversation_DialogType,\r\n DialogServiceConfig.DialogTypes.BotFramework);\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Key, subscription);\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n\r\n if (botId) {\r\n botFrameworkConfig.setProperty(PropertyId.Conversation_ApplicationId, botId);\r\n }\r\n\r\n return botFrameworkConfig;\r\n }\r\n\r\n /**\r\n * Creates a bot framework configuration instance for the specified authorization token and region.\r\n * Note: The caller must ensure that an authorization token is valid. Before an authorization token expires, the\r\n * caller must refresh it by setting the authorizationToken property on the corresponding\r\n * DialogServiceConnector instance created with this config. The contents of configuration objects are copied\r\n * when connectors are created, so setting authorizationToken on a DialogServiceConnector will not update the\r\n * original configuration's authorization token. Create a new configuration instance or set the\r\n * SpeechServiceAuthorization_Token property to update an existing instance if it will be used to create\r\n * further DialogServiceConnectors.\r\n * @member BotFrameworkConfig.fromAuthorizationToken\r\n * @function\r\n * @public\r\n * @param authorizationToken The authorization token associated with the bot\r\n * @param region The region name (see the region page).\r\n * @param botId Optional. Identifier for using a specific bot within an Azure resource group. Equivalent to the\r\n * resource name.\r\n * @returns {BotFrameworkConfig} A new bot framework configuration instance.\r\n */\r\n public static fromAuthorizationToken(\r\n authorizationToken: string, region: string, botId?: string\r\n ): BotFrameworkConfig {\r\n Contracts.throwIfNullOrWhitespace(authorizationToken, \"authorizationToken\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const botFrameworkConfig: BotFrameworkConfig = new DialogServiceConfigImpl();\r\n botFrameworkConfig.setProperty(\r\n PropertyId.Conversation_DialogType,\r\n DialogServiceConfig.DialogTypes.BotFramework);\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceAuthorization_Token, authorizationToken);\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n\r\n if (botId) {\r\n botFrameworkConfig.setProperty(PropertyId.Conversation_ApplicationId, botId);\r\n }\r\n\r\n return botFrameworkConfig;\r\n }\r\n\r\n /**\r\n * Creates an instance of a BotFrameworkConfig.\r\n * This method is intended only for users who use a non-default service host. The standard resource path will be\r\n * assumed. For services with a non-standard resource path or no path at all, use fromEndpoint instead.\r\n * Note: Query parameters are not allowed in the host URI and must be set by other APIs.\r\n * Note: To use an authorization token with fromHost, use fromHost(URL) and then set the AuthorizationToken\r\n * property on the created BotFrameworkConfig instance.\r\n * Note: Added in version 1.15.0.\r\n * @member BotFrameworkConfig.fromHost\r\n * @function\r\n * @public\r\n * @param {URL | string} host - If a URL is provided, the fully-qualified host with protocol (e.g.\r\n * wss://your.host.com:1234) will be used. If a string is provided, it will be embedded in\r\n * wss://{host}.convai.speech.azure.us.\r\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization\r\n * token must be set.\r\n * @param botId Optional. Identifier for using a specific bot within an Azure resource group. Equivalent to the\r\n * resource name.\r\n * @returns {BotFrameworkConfig} A new bot framework configuration instance.\r\n */\r\n public static fromHost(\r\n host: URL | string,\r\n subscriptionKey?: string,\r\n botId?: string): BotFrameworkConfig {\r\n\r\n void botId;\r\n Contracts.throwIfNullOrUndefined(host, \"host\");\r\n const resolvedHost: URL = host instanceof URL ? host : new URL(`wss://${host}.convai.speech.azure.us`);\r\n Contracts.throwIfNullOrUndefined(resolvedHost, \"resolvedHost\");\r\n\r\n const botFrameworkConfig: BotFrameworkConfig = new DialogServiceConfigImpl();\r\n botFrameworkConfig.setProperty(\r\n PropertyId.Conversation_DialogType,\r\n DialogServiceConfig.DialogTypes.BotFramework);\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Host, resolvedHost.toString());\r\n\r\n if (undefined !== subscriptionKey) {\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n }\r\n\r\n return botFrameworkConfig;\r\n }\r\n\r\n /**\r\n * Creates an instance of a BotFrameworkConfig.\r\n * This method is intended only for users who use a non-standard service endpoint or parameters.\r\n * Note: The query parameters specified in the endpoint URL are not changed, even if they are set by any other APIs.\r\n * Note: To use authorization token with fromEndpoint, pass an empty string to the subscriptionKey in the\r\n * fromEndpoint method, and then set authorizationToken=\"token\" on the created BotFrameworkConfig instance to\r\n * use the authorization token.\r\n * Note: Added in version 1.15.0.\r\n * @member BotFrameworkConfig.fromEndpoint\r\n * @function\r\n * @public\r\n * @param {URL} endpoint - The service endpoint to connect to.\r\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization\r\n * token must be set.\r\n * @returns {BotFrameworkConfig} - A new bot framework configuration instance using the provided endpoint.\r\n */\r\n public static fromEndpoint(endpoint: URL, subscriptionKey?: string): BotFrameworkConfig {\r\n Contracts.throwIfNull(endpoint, \"endpoint\");\r\n\r\n const botFrameworkConfig: BotFrameworkConfig = new DialogServiceConfigImpl();\r\n botFrameworkConfig.setProperty(\r\n PropertyId.Conversation_DialogType,\r\n DialogServiceConfig.DialogTypes.BotFramework);\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Endpoint, endpoint.toString());\r\n\r\n if (undefined !== subscriptionKey) {\r\n botFrameworkConfig.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n }\r\n\r\n return botFrameworkConfig;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { CancellationErrorCodePropertyName, EnumTranslation, SimpleSpeechPhrase } from \"../common.speech/Exports.js\";\r\nimport { CancellationDetailsBase } from \"./CancellationDetailsBase.js\";\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n RecognitionResult,\r\n SpeechSynthesisResult\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Contains detailed information about why a result was canceled.\r\n * @class CancellationDetails\r\n */\r\nexport class CancellationDetails extends CancellationDetailsBase {\r\n\r\n private constructor(reason: CancellationReason, errorDetails: string, errorCode: CancellationErrorCode) {\r\n super(reason, errorDetails, errorCode);\r\n }\r\n\r\n /**\r\n * Creates an instance of CancellationDetails object for the canceled RecognitionResult.\r\n * @member CancellationDetails.fromResult\r\n * @function\r\n * @public\r\n * @param {RecognitionResult | SpeechSynthesisResult} result - The result that was canceled.\r\n * @returns {CancellationDetails} The cancellation details object being created.\r\n */\r\n public static fromResult(result: RecognitionResult | SpeechSynthesisResult): CancellationDetails {\r\n let reason = CancellationReason.Error;\r\n let errorCode: CancellationErrorCode = CancellationErrorCode.NoError;\r\n\r\n if (result instanceof RecognitionResult && !!result.json) {\r\n const simpleSpeech: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(result.json);\r\n reason = EnumTranslation.implTranslateCancelResult(simpleSpeech.RecognitionStatus);\r\n }\r\n\r\n if (!!result.properties) {\r\n errorCode = CancellationErrorCode[result.properties.getProperty(CancellationErrorCodePropertyName, CancellationErrorCode[CancellationErrorCode.NoError]) as keyof typeof CancellationErrorCode];\r\n }\r\n\r\n return new CancellationDetails(reason, result.errorDetails || EnumTranslation.implTranslateErrorDetails(errorCode), errorCode);\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CancellationErrorCode,\r\n CancellationReason,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Contains detailed information about why a result was canceled.\r\n * @class CancellationDetailsBase\r\n */\r\nexport class CancellationDetailsBase {\r\n private privReason: CancellationReason;\r\n private privErrorDetails: string;\r\n private privErrorCode: CancellationErrorCode;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {CancellationReason} reason - The cancellation reason.\r\n * @param {string} errorDetails - The error details, if provided.\r\n */\r\n protected constructor(reason: CancellationReason, errorDetails: string, errorCode: CancellationErrorCode) {\r\n this.privReason = reason;\r\n this.privErrorDetails = errorDetails;\r\n this.privErrorCode = errorCode;\r\n }\r\n\r\n /**\r\n * The reason the recognition was canceled.\r\n * @member CancellationDetailsBase.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {CancellationReason} Specifies the reason canceled.\r\n */\r\n public get reason(): CancellationReason {\r\n return this.privReason;\r\n }\r\n\r\n /**\r\n * In case of an unsuccessful recognition, provides details of the occurred error.\r\n * @member CancellationDetailsBase.prototype.errorDetails\r\n * @function\r\n * @public\r\n * @returns {string} A String that represents the error details.\r\n */\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n\r\n /**\r\n * The error code in case of an unsuccessful recognition.\r\n * Added in version 1.1.0.\r\n * @return An error code that represents the error reason.\r\n */\r\n public get ErrorCode(): CancellationErrorCode {\r\n return this.privErrorCode;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines error code in case that CancellationReason is Error.\r\n * Added in version 1.1.0.\r\n */\r\nexport enum CancellationErrorCode {\r\n /**\r\n * Indicates that no error occurred during speech recognition.\r\n */\r\n NoError,\r\n\r\n /**\r\n * Indicates an authentication error.\r\n */\r\n AuthenticationFailure,\r\n\r\n /**\r\n * Indicates that one or more recognition parameters are invalid.\r\n */\r\n BadRequestParameters,\r\n\r\n /**\r\n * Indicates that the number of parallel requests exceeded the number of allowed\r\n * concurrent transcriptions for the subscription.\r\n */\r\n TooManyRequests,\r\n\r\n /**\r\n * Indicates a connection error.\r\n */\r\n ConnectionFailure,\r\n\r\n /**\r\n * Indicates a time-out error when waiting for response from service.\r\n */\r\n ServiceTimeout,\r\n\r\n /**\r\n * Indicates that an error is returned by the service.\r\n */\r\n ServiceError,\r\n\r\n /**\r\n * Indicates an unexpected runtime error.\r\n */\r\n RuntimeError,\r\n\r\n /**\r\n * Indicates an quota overrun on existing key.\r\n */\r\n Forbidden,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CancellationErrorCode,\r\n CancellationEventArgs,\r\n CancellationReason,\r\n RecognitionEventArgs\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines content of a CancellationEvent.\r\n * @class CancellationEventArgsBase\r\n */\r\nexport class CancellationEventArgsBase extends RecognitionEventArgs implements CancellationEventArgs {\r\n private privReason: CancellationReason;\r\n private privErrorDetails: string;\r\n private privErrorCode: CancellationErrorCode;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {CancellationReason} reason - The cancellation reason.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {number} offset - The offset.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(reason: CancellationReason, errorDetails: string,\r\n errorCode: CancellationErrorCode, offset?: number, sessionId?: string) {\r\n super(offset, sessionId);\r\n\r\n this.privReason = reason;\r\n this.privErrorDetails = errorDetails;\r\n this.privErrorCode = errorCode;\r\n }\r\n\r\n /**\r\n * The reason the recognition was canceled.\r\n * @member CancellationEventArgsBase.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {CancellationReason} Specifies the reason canceled.\r\n */\r\n public get reason(): CancellationReason {\r\n return this.privReason;\r\n }\r\n\r\n /**\r\n * The error code in case of an unsuccessful operation.\r\n * @return An error code that represents the error reason.\r\n */\r\n public get errorCode(): CancellationErrorCode {\r\n return this.privErrorCode;\r\n }\r\n\r\n /**\r\n * In case of an unsuccessful operation, provides details of the occurred error.\r\n * @member CancellationEventArgsBase.prototype.errorDetails\r\n * @function\r\n * @public\r\n * @returns {string} A String that represents the error details.\r\n */\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the possible reasons a recognition result might be canceled.\r\n * @class CancellationReason\r\n */\r\nexport enum CancellationReason {\r\n /**\r\n * Indicates that an error occurred during speech recognition.\r\n * @member CancellationReason.Error\r\n */\r\n Error,\r\n\r\n /**\r\n * Indicates that the end of the audio stream was reached.\r\n * @member CancellationReason.EndOfStream\r\n */\r\n EndOfStream,\r\n}\r\n","//\r\n// Copyright (c) Microsoft. All rights reserved.\r\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\r\n//\r\n\r\nimport {\r\n ServiceRecognizerBase,\r\n SynthesisAdapterBase,\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n ConnectionEvent,\r\n ConnectionMessageReceivedEvent,\r\n ConnectionMessageSentEvent,\r\n IDetachable,\r\n marshalPromiseToCallbacks,\r\n ServiceEvent,\r\n} from \"../common/Exports.js\";\r\nimport {\r\n ConnectionMessageImpl\r\n} from \"./ConnectionMessage.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n ConnectionEventArgs,\r\n ConnectionMessageEventArgs,\r\n ConversationTranscriber,\r\n Recognizer,\r\n ServiceEventArgs,\r\n SpeechSynthesizer,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Connection is a proxy class for managing connection to the speech service of the specified Recognizer.\r\n * By default, a Recognizer autonomously manages connection to service when needed.\r\n * The Connection class provides additional methods for users to explicitly open or close a connection and\r\n * to subscribe to connection status changes.\r\n * The use of Connection is optional, and mainly for scenarios where fine tuning of application\r\n * behavior based on connection status is needed. Users can optionally call Open() to manually set up a connection\r\n * in advance before starting recognition on the Recognizer associated with this Connection.\r\n * If the Recognizer needs to connect or disconnect to service, it will\r\n * setup or shutdown the connection independently. In this case the Connection will be notified by change of connection\r\n * status via Connected/Disconnected events.\r\n * Added in version 1.2.1.\r\n */\r\nexport class Connection {\r\n private privInternalData: ServiceRecognizerBase | SynthesisAdapterBase;\r\n private privEventListener: IDetachable;\r\n private privServiceEventListener: IDetachable;\r\n\r\n /**\r\n * Gets the Connection instance from the specified recognizer.\r\n * @param recognizer The recognizer associated with the connection.\r\n * @return The Connection instance of the recognizer.\r\n */\r\n public static fromRecognizer(recognizer: Recognizer | ConversationTranscriber): Connection {\r\n const recoBase = recognizer.internalData as ServiceRecognizerBase;\r\n const ret: Connection = new Connection();\r\n\r\n ret.privInternalData = recoBase;\r\n ret.setupEvents();\r\n return ret;\r\n }\r\n\r\n /**\r\n * Gets the Connection instance from the specified synthesizer.\r\n * @param synthesizer The synthesizer associated with the connection.\r\n * @return The Connection instance of the synthesizer.\r\n */\r\n public static fromSynthesizer(synthesizer: SpeechSynthesizer): Connection {\r\n const synthBase: SynthesisAdapterBase = synthesizer.internalData as SynthesisAdapterBase;\r\n\r\n const ret: Connection = new Connection();\r\n\r\n ret.privInternalData = synthBase;\r\n ret.setupEvents();\r\n return ret;\r\n }\r\n\r\n /**\r\n * Starts to set up connection to the service.\r\n * Users can optionally call openConnection() to manually set up a connection in advance before starting recognition on the\r\n * Recognizer associated with this Connection. After starting recognition, calling Open() will have no effect\r\n *\r\n * Note: On return, the connection might not be ready yet. Please subscribe to the Connected event to\r\n * be notified when the connection is established.\r\n */\r\n public openConnection(cb?: () => void, err?: (error: string) => void): void {\r\n marshalPromiseToCallbacks(this.privInternalData.connect(), cb, err);\r\n }\r\n\r\n /**\r\n * Closes the connection the service.\r\n * Users can optionally call closeConnection() to manually shutdown the connection of the associated Recognizer.\r\n *\r\n * If closeConnection() is called during recognition, recognition will fail and cancel with an error.\r\n */\r\n public closeConnection(cb?: () => void, err?: (error: string) => void): void {\r\n if (this.privInternalData instanceof SynthesisAdapterBase) {\r\n throw new Error(\"Disconnecting a synthesizer's connection is currently not supported\");\r\n } else {\r\n marshalPromiseToCallbacks(this.privInternalData.disconnect(), cb, err);\r\n }\r\n }\r\n\r\n /**\r\n * Appends a parameter in a message to service.\r\n * Added in version 1.12.1.\r\n * @param path The path of the network message.\r\n * @param propertyName Name of the property\r\n * @param propertyValue Value of the property. This is a json string.\r\n */\r\n public setMessageProperty(path: string, propertyName: string, propertyValue: string | object): void {\r\n Contracts.throwIfNullOrWhitespace(propertyName, \"propertyName\");\r\n\r\n if (this.privInternalData instanceof ServiceRecognizerBase) {\r\n if (path.toLowerCase() !== \"speech.context\") {\r\n throw new Error(\"Only speech.context message property sets are currently supported for recognizer\");\r\n } else {\r\n this.privInternalData.speechContext.setSection(propertyName, propertyValue);\r\n }\r\n } else if (this.privInternalData instanceof SynthesisAdapterBase) {\r\n if (path.toLowerCase() !== \"synthesis.context\") {\r\n throw new Error(\"Only synthesis.context message property sets are currently supported for synthesizer\");\r\n } else {\r\n this.privInternalData.synthesisContext.setSection(propertyName, propertyValue);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sends a message to the speech service.\r\n * Added in version 1.13.0.\r\n * @param path The WebSocket path of the message\r\n * @param payload The payload of the message. This is a json string or a ArrayBuffer.\r\n * @param success A callback to indicate success.\r\n * @param error A callback to indicate an error.\r\n */\r\n public sendMessageAsync(path: string, payload: string | ArrayBuffer, success?: () => void, error?: (error: string) => void): void {\r\n marshalPromiseToCallbacks(this.privInternalData.sendNetworkMessage(path, payload), success, error);\r\n }\r\n\r\n /**\r\n * Any message from service that is not being processed by any other top level recognizers.\r\n *\r\n * Will be removed in 2.0.\r\n */\r\n public receivedServiceMessage: (args: ServiceEventArgs) => void;\r\n\r\n /**\r\n * Any message received from the Speech Service.\r\n */\r\n public messageReceived: (args: ConnectionMessageEventArgs) => void;\r\n\r\n /**\r\n * Any message sent to the Speech Service.\r\n */\r\n public messageSent: (args: ConnectionMessageEventArgs) => void;\r\n\r\n /**\r\n * The Connected event to indicate that the recognizer is connected to service.\r\n */\r\n public connected: (args: ConnectionEventArgs) => void;\r\n\r\n /**\r\n * The Disconnected event to indicate that the recognizer is disconnected from service.\r\n */\r\n public disconnected: (args: ConnectionEventArgs) => void;\r\n\r\n /**\r\n * Dispose of associated resources.\r\n */\r\n public close(): void {\r\n /* eslint-disable no-empty */\r\n }\r\n\r\n private setupEvents(): void {\r\n this.privEventListener = this.privInternalData.connectionEvents.attach((connectionEvent: ConnectionEvent): void => {\r\n if (connectionEvent.name === \"ConnectionEstablishedEvent\") {\r\n if (!!this.connected) {\r\n this.connected(new ConnectionEventArgs(connectionEvent.connectionId));\r\n }\r\n } else if (connectionEvent.name === \"ConnectionClosedEvent\") {\r\n if (!!this.disconnected) {\r\n this.disconnected(new ConnectionEventArgs(connectionEvent.connectionId));\r\n }\r\n } else if (connectionEvent.name === \"ConnectionMessageSentEvent\") {\r\n if (!!this.messageSent) {\r\n this.messageSent(new ConnectionMessageEventArgs(new ConnectionMessageImpl((connectionEvent as ConnectionMessageSentEvent).message)));\r\n }\r\n } else if (connectionEvent.name === \"ConnectionMessageReceivedEvent\") {\r\n if (!!this.messageReceived) {\r\n this.messageReceived(new ConnectionMessageEventArgs(new ConnectionMessageImpl((connectionEvent as ConnectionMessageReceivedEvent).message)));\r\n }\r\n }\r\n });\r\n\r\n this.privServiceEventListener = this.privInternalData.serviceEvents.attach((e: ServiceEvent): void => {\r\n if (!!this.receivedServiceMessage) {\r\n this.receivedServiceMessage(new ServiceEventArgs(e.jsonString, e.name));\r\n }\r\n });\r\n }\r\n}\r\n","//\r\n// Copyright (c) Microsoft. All rights reserved.\r\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\r\n//\r\n\r\nimport { SessionEventArgs } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines payload for connection events like Connected/Disconnected.\r\n * Added in version 1.2.0\r\n */\r\nexport class ConnectionEventArgs extends SessionEventArgs {\r\n}\r\n","//\r\n// Copyright (c) Microsoft. All rights reserved.\r\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\r\n//\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nimport { HeaderNames } from \"../common.speech/HeaderNames.js\";\r\nimport {\r\n ConnectionMessage as IntConnectionMessage,\r\n MessageType\r\n} from \"../common/Exports.js\";\r\nimport {\r\n PropertyCollection\r\n} from \"./PropertyCollection.js\";\r\nimport { PropertyId } from \"./PropertyId.js\";\r\n\r\n/**\r\n * ConnectionMessage represents implementation specific messages sent to and received from\r\n * the speech service. These messages are provided for debugging purposes and should not\r\n * be used for production use cases with the Azure Cognitive Services Speech Service.\r\n * Messages sent to and received from the Speech Service are subject to change without\r\n * notice. This includes message contents, headers, payloads, ordering, etc.\r\n * Added in version 1.11.0.\r\n */\r\nexport abstract class ConnectionMessage {\r\n /**\r\n * The message path.\r\n */\r\n public abstract get path(): string;\r\n\r\n /**\r\n * Checks to see if the ConnectionMessage is a text message.\r\n * See also IsBinaryMessage().\r\n */\r\n public abstract get isTextMessage(): boolean;\r\n\r\n /**\r\n * Checks to see if the ConnectionMessage is a binary message.\r\n * See also GetBinaryMessage().\r\n */\r\n public abstract get isBinaryMessage(): boolean;\r\n\r\n /**\r\n * Gets the text message payload. Typically the text message content-type is\r\n * application/json. To determine other content-types use\r\n * Properties.GetProperty(\"Content-Type\").\r\n */\r\n public abstract get TextMessage(): string;\r\n\r\n /**\r\n * Gets the binary message payload.\r\n */\r\n public abstract get binaryMessage(): ArrayBuffer;\r\n\r\n /**\r\n * A collection of properties and their values defined for this .\r\n * Message headers can be accessed via this collection (e.g. \"Content-Type\").\r\n */\r\n public abstract get properties(): PropertyCollection;\r\n\r\n /**\r\n * Returns a string that represents the connection message.\r\n */\r\n public abstract toString(): string;\r\n}\r\n\r\nexport class ConnectionMessageImpl {\r\n\r\n private privConnectionMessage: IntConnectionMessage;\r\n private privProperties: PropertyCollection;\r\n\r\n public constructor(message: IntConnectionMessage) {\r\n this.privConnectionMessage = message;\r\n this.privProperties = new PropertyCollection();\r\n if (!!this.privConnectionMessage.headers[HeaderNames.ConnectionId]) {\r\n this.privProperties.setProperty(PropertyId.Speech_SessionId, this.privConnectionMessage.headers[HeaderNames.ConnectionId]);\r\n }\r\n\r\n Object.keys(this.privConnectionMessage.headers).forEach((header: string): void => {\r\n this.privProperties.setProperty(header, this.privConnectionMessage.headers[header]);\r\n });\r\n }\r\n\r\n /**\r\n * The message path.\r\n */\r\n public get path(): string {\r\n return this.privConnectionMessage.headers[Object.keys(this.privConnectionMessage.headers).find((key: string): boolean => key.toLowerCase() === \"path\".toLowerCase())];\r\n }\r\n\r\n /**\r\n * Checks to see if the ConnectionMessage is a text message.\r\n * See also IsBinaryMessage().\r\n */\r\n public get isTextMessage(): boolean {\r\n return this.privConnectionMessage.messageType === MessageType.Text;\r\n }\r\n\r\n /**\r\n * Checks to see if the ConnectionMessage is a binary message.\r\n * See also GetBinaryMessage().\r\n */\r\n public get isBinaryMessage(): boolean {\r\n return this.privConnectionMessage.messageType === MessageType.Binary;\r\n }\r\n\r\n /**\r\n * Gets the text message payload. Typically the text message content-type is\r\n * application/json. To determine other content-types use\r\n * Properties.GetProperty(\"Content-Type\").\r\n */\r\n public get TextMessage(): string {\r\n return this.privConnectionMessage.textBody;\r\n }\r\n\r\n /**\r\n * Gets the binary message payload.\r\n */\r\n public get binaryMessage(): ArrayBuffer {\r\n return this.privConnectionMessage.binaryBody;\r\n }\r\n\r\n /**\r\n * A collection of properties and their values defined for this .\r\n * Message headers can be accessed via this collection (e.g. \"Content-Type\").\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Returns a string that represents the connection message.\r\n */\r\n public toString(): string {\r\n return \"\";\r\n }\r\n}\r\n","//\r\n// Copyright (c) Microsoft. All rights reserved.\r\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\r\n//\r\n\r\nimport {\r\n ConnectionMessage\r\n} from \"./Exports.js\";\r\n\r\nexport class ConnectionMessageEventArgs {\r\n\r\n private privConnectionMessage: ConnectionMessage;\r\n\r\n public constructor(message: ConnectionMessage) {\r\n this.privConnectionMessage = message;\r\n }\r\n\r\n /**\r\n * Gets the associated with this .\r\n */\r\n public get message(): ConnectionMessage {\r\n return this.privConnectionMessage;\r\n }\r\n\r\n /**\r\n * Returns a string that represents the connection message event.\r\n */\r\n public toString(): string {\r\n return \"Message: \" + this.privConnectionMessage.toString();\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * @class Contracts\r\n * @private\r\n */\r\nexport class Contracts {\r\n public static throwIfNullOrUndefined(param: any, name: string): void {\r\n if (param === undefined || param === null) {\r\n throw new Error(\"throwIfNullOrUndefined:\" + name);\r\n }\r\n }\r\n\r\n public static throwIfNull(param: any, name: string): void {\r\n if (param === null) {\r\n throw new Error(\"throwIfNull:\" + name);\r\n }\r\n }\r\n\r\n public static throwIfNullOrWhitespace(param: string, name: string): void {\r\n Contracts.throwIfNullOrUndefined(param, name);\r\n\r\n if ((\"\" + param).trim().length < 1) {\r\n throw new Error(\"throwIfNullOrWhitespace:\" + name);\r\n }\r\n }\r\n\r\n public static throwIfNullOrTooLong(param: string, name: string, maxLength: number): void {\r\n Contracts.throwIfNullOrUndefined(param, name);\r\n\r\n if ((\"\" + param).length > maxLength) {\r\n throw new Error(\"throwIfNullOrTooLong:\" + name + \" (more than \" + maxLength.toString() + \" characters)\");\r\n }\r\n }\r\n\r\n public static throwIfNullOrTooShort(param: string, name: string, minLength: number): void {\r\n Contracts.throwIfNullOrUndefined(param, name);\r\n\r\n if ((\"\" + param).length < minLength) {\r\n throw new Error(\"throwIfNullOrTooShort:\" + name + \" (less than \" + minLength.toString() + \" characters)\");\r\n }\r\n }\r\n\r\n public static throwIfDisposed(isDisposed: boolean): void {\r\n if (isDisposed) {\r\n throw new Error(\"the object is already disposed\");\r\n }\r\n }\r\n\r\n public static throwIfArrayEmptyOrWhitespace(array: string[], name: string): void {\r\n Contracts.throwIfNullOrUndefined(array, name);\r\n\r\n if (array.length === 0) {\r\n throw new Error(\"throwIfArrayEmptyOrWhitespace:\" + name);\r\n }\r\n\r\n for (const item of array) {\r\n Contracts.throwIfNullOrWhitespace(item, name);\r\n }\r\n }\r\n\r\n public static throwIfFileDoesNotExist(param: string, name: string): void {\r\n Contracts.throwIfNullOrWhitespace(param, name);\r\n\r\n // TODO check for file existence.\r\n }\r\n\r\n public static throwIfNotUndefined(param: any, name: string): void {\r\n if (param !== undefined) {\r\n throw new Error(\"throwIfNotUndefined:\" + name);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CancellationEventArgsBase,\r\n} from \"./CancellationEventArgsBase.js\";\r\n\r\n/**\r\n * Defines content of a RecognitionErrorEvent.\r\n * @class ConversationTranscriptionCanceledEventArgs\r\n */\r\nexport class ConversationTranscriptionCanceledEventArgs extends CancellationEventArgsBase {\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { DialogServiceConfig, DialogServiceConfigImpl } from \"./DialogServiceConfig.js\";\r\nimport { PropertyId } from \"./Exports.js\";\r\n\r\n/**\r\n * Class that defines configurations for the dialog service connector object for using a CustomCommands backend.\r\n * @class CustomCommandsConfig\r\n */\r\nexport class CustomCommandsConfig extends DialogServiceConfigImpl {\r\n\r\n /**\r\n * Creates an instance of CustomCommandsConfig.\r\n */\r\n public constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Creates an instance of the bot framework config with the specified subscription and region.\r\n * @member CustomCommandsConfig.fromSubscription\r\n * @function\r\n * @public\r\n * @param applicationId Speech Commands application id.\r\n * @param subscription Subscription key associated with the bot\r\n * @param region The region name (see the region page).\r\n * @returns {CustomCommandsConfig} A new bot framework config.\r\n */\r\n public static fromSubscription(applicationId: string, subscription: string, region: string): CustomCommandsConfig {\r\n Contracts.throwIfNullOrWhitespace(applicationId, \"applicationId\");\r\n Contracts.throwIfNullOrWhitespace(subscription, \"subscription\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const customCommandsConfig: CustomCommandsConfig = new DialogServiceConfigImpl();\r\n customCommandsConfig.setProperty(PropertyId.Conversation_DialogType, DialogServiceConfig.DialogTypes.CustomCommands);\r\n customCommandsConfig.setProperty(PropertyId.Conversation_ApplicationId, applicationId);\r\n customCommandsConfig.setProperty(PropertyId.SpeechServiceConnection_Key, subscription);\r\n customCommandsConfig.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n return customCommandsConfig;\r\n }\r\n\r\n /**\r\n * Creates an instance of the bot framework config with the specified Speech Commands application id, authorization token and region.\r\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\r\n * expires, the caller needs to refresh it by calling this setter with a new valid token.\r\n * As configuration values are copied when creating a new recognizer, the new token value will not apply to recognizers that have already been created.\r\n * For recognizers that have been created before, you need to set authorization token of the corresponding recognizer\r\n * to refresh the token. Otherwise, the recognizers will encounter errors during recognition.\r\n * @member CustomCommandsConfig.fromAuthorizationToken\r\n * @function\r\n * @public\r\n * @param applicationId Speech Commands application id.\r\n * @param authorizationToken The authorization token associated with the application.\r\n * @param region The region name (see the region page).\r\n * @returns {CustomCommandsConfig} A new speech commands config.\r\n */\r\n public static fromAuthorizationToken(applicationId: string, authorizationToken: string, region: string): CustomCommandsConfig {\r\n Contracts.throwIfNullOrWhitespace(applicationId, \"applicationId\");\r\n Contracts.throwIfNullOrWhitespace(authorizationToken, \"authorizationToken\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const customCommandsConfig: CustomCommandsConfig = new DialogServiceConfigImpl();\r\n customCommandsConfig.setProperty(PropertyId.Conversation_DialogType, DialogServiceConfig.DialogTypes.CustomCommands);\r\n customCommandsConfig.setProperty(PropertyId.Conversation_ApplicationId, applicationId);\r\n customCommandsConfig.setProperty(PropertyId.SpeechServiceAuthorization_Token, authorizationToken);\r\n customCommandsConfig.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n return customCommandsConfig;\r\n }\r\n\r\n /**\r\n * Sets the corresponding backend application identifier.\r\n * @member CustomCommandsConfig.prototype.Conversation_ApplicationId\r\n * @function\r\n * @public\r\n * @param {string} value - The application identifier to set.\r\n */\r\n public set applicationId(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"value\");\r\n this.setProperty(PropertyId.Conversation_ApplicationId, value);\r\n }\r\n\r\n /**\r\n * Gets the corresponding backend application identifier.\r\n * @member CustomCommandsConfig.prototype.Conversation_ApplicationId\r\n * @function\r\n * @public\r\n * @param {string} value - The application identifier to get.\r\n */\r\n public get applicationId(): string {\r\n return this.getProperty(PropertyId.Conversation_ApplicationId);\r\n }\r\n}\r\n","//\r\n// Copyright (c) Microsoft. All rights reserved.\r\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\r\n//\r\n\r\nimport { ConsoleLoggingListener } from \"../common.browser/Exports.js\";\r\nimport { Events } from \"../common/Exports.js\";\r\nimport { LogLevel } from \"./LogLevel.js\";\r\n\r\n/**\r\n * Defines diagnostics API for managing console output\r\n * Added in version 1.21.0\r\n */\r\nexport class Diagnostics {\r\n private static privListener: ConsoleLoggingListener = undefined;\r\n\r\n public static SetLoggingLevel(logLevel: LogLevel): void {\r\n this.privListener = new ConsoleLoggingListener(logLevel);\r\n Events.instance.attachConsoleListener(this.privListener);\r\n }\r\n\r\n public static StartConsoleOutput(): void {\r\n if (!!this.privListener) {\r\n this.privListener.enableConsoleOutput = true;\r\n }\r\n }\r\n\r\n public static StopConsoleOutput(): void {\r\n if (!!this.privListener) {\r\n this.privListener.enableConsoleOutput = false;\r\n }\r\n }\r\n\r\n public static SetLogOutputPath(path: string): void {\r\n if (typeof window === \"undefined\") {\r\n if (!!this.privListener) {\r\n this.privListener.logPath = path;\r\n }\r\n } else {\r\n throw new Error(\"File system logging not available in browser.\");\r\n }\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { PropertyCollection, PropertyId, ServicePropertyChannel, SpeechConfigImpl } from \"./Exports.js\";\r\nimport { OutputFormat } from \"./OutputFormat.js\";\r\n\r\n/**\r\n * Class that defines base configurations for dialog service connector\r\n * @class DialogServiceConfig\r\n */\r\nexport abstract class DialogServiceConfig {\r\n\r\n /**\r\n * Creates an instance of DialogService config.\r\n * @constructor\r\n */\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n /**\r\n * Sets an arbitrary property.\r\n * @member DialogServiceConfig.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {string} name - The name of the property to set.\r\n * @param {string} value - The new value of the property.\r\n */\r\n public abstract setProperty(name: string | PropertyId, value: string): void;\r\n\r\n /**\r\n * Returns the current value of an arbitrary property.\r\n * @member DialogServiceConfig.prototype.getProperty\r\n * @function\r\n * @public\r\n * @param {string} name - The name of the property to query.\r\n * @param {string} def - The value to return in case the property is not known.\r\n * @returns {string} The current value, or provided default, of the given property.\r\n */\r\n public abstract getProperty(name: string | PropertyId, def?: string): string;\r\n\r\n /**\r\n * @member DialogServiceConfig.prototype.setServiceProperty\r\n * @function\r\n * @public\r\n * @param {name} The name of the property.\r\n * @param {value} Value to set.\r\n * @param {channel} The channel used to pass the specified property to service.\r\n * @summary Sets a property value that will be passed to service using the specified channel.\r\n */\r\n public abstract setServiceProperty(name: string, value: string, channel: ServicePropertyChannel): void;\r\n\r\n /**\r\n * Sets the proxy configuration.\r\n * Only relevant in Node.js environments.\r\n * Added in version 1.4.0.\r\n * @param proxyHostName The host name of the proxy server.\r\n * @param proxyPort The port number of the proxy server.\r\n */\r\n public abstract setProxy(proxyHostName: string, proxyPort: number): void;\r\n\r\n /**\r\n * Sets the proxy configuration.\r\n * Only relevant in Node.js environments.\r\n * Added in version 1.4.0.\r\n * @param proxyHostName The host name of the proxy server, without the protocol scheme (http://)\r\n * @param porxyPort The port number of the proxy server.\r\n * @param proxyUserName The user name of the proxy server.\r\n * @param proxyPassword The password of the proxy server.\r\n */\r\n public abstract setProxy(proxyHostName: string, proxyPort: number, proxyUserName: string, proxyPassword: string): void;\r\n\r\n /**\r\n * Returns the configured language.\r\n * @member DialogServiceConfig.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n */\r\n public abstract get speechRecognitionLanguage(): string;\r\n\r\n /**\r\n * Gets/Sets the input language.\r\n * @member DialogServiceConfig.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The language to use for recognition.\r\n */\r\n public abstract set speechRecognitionLanguage(value: string);\r\n\r\n /**\r\n * Sets the corresponding backend application identifier.\r\n * @member DialogServiceConfig.prototype.Conversation_ApplicationId\r\n * @function\r\n * @public\r\n * @param {string} value - The application identifier to set.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public set applicationId(value: string) { }\r\n\r\n public static get DialogTypes(): { BotFramework: string; CustomCommands: string } {\r\n return {\r\n BotFramework: \"bot_framework\",\r\n CustomCommands: \"custom_commands\"\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Dialog Service configuration.\r\n * @class DialogServiceConfigImpl\r\n */\r\nexport class DialogServiceConfigImpl extends DialogServiceConfig {\r\n\r\n private privSpeechConfig: SpeechConfigImpl;\r\n\r\n /**\r\n * Creates an instance of dialogService config.\r\n */\r\n public constructor() {\r\n super();\r\n this.privSpeechConfig = new SpeechConfigImpl();\r\n }\r\n\r\n /**\r\n * Provides access to custom properties.\r\n * @member DialogServiceConfigImpl.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The properties.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privSpeechConfig.properties;\r\n }\r\n\r\n /**\r\n * Gets the speech recognition language.\r\n * @member DialogServiceConfigImpl.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n return this.privSpeechConfig.speechRecognitionLanguage;\r\n }\r\n\r\n /**\r\n * Sets the speech recognition language.\r\n * @member DialogServiceConfigImpl.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The language to set.\r\n */\r\n public set speechRecognitionLanguage(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"value\");\r\n this.privSpeechConfig.speechRecognitionLanguage = value;\r\n }\r\n\r\n public get outputFormat(): OutputFormat {\r\n return this.privSpeechConfig.outputFormat;\r\n }\r\n\r\n public set outputFormat(value: OutputFormat) {\r\n this.privSpeechConfig.outputFormat = value;\r\n }\r\n\r\n /**\r\n * Sets a named property as value\r\n * @member DialogServiceConfigImpl.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {PropertyId | string} name - The property to set.\r\n * @param {string} value - The value.\r\n */\r\n public setProperty(name: string | PropertyId, value: string): void {\r\n this.privSpeechConfig.setProperty(name, value);\r\n }\r\n\r\n /**\r\n * Sets a named property as value\r\n * @member DialogServiceConfigImpl.prototype.getProperty\r\n * @function\r\n * @public\r\n * @param {PropertyId | string} name - The property to get.\r\n * @param {string} def - The default value to return in case the property is not known.\r\n * @returns {string} The current value, or provided default, of the given property.\r\n */\r\n public getProperty(name: string | PropertyId, def?: string): string {\r\n void def;\r\n return this.privSpeechConfig.getProperty(name);\r\n }\r\n\r\n /**\r\n * Sets the proxy configuration.\r\n * Only relevant in Node.js environments.\r\n * Added in version 1.4.0.\r\n * @param proxyHostName The host name of the proxy server, without the protocol scheme (http://)\r\n * @param proxyPort The port number of the proxy server.\r\n * @param proxyUserName The user name of the proxy server.\r\n * @param proxyPassword The password of the proxy server.\r\n */\r\n public setProxy(proxyHostName: string, proxyPort: number, proxyUserName?: string, proxyPassword?: string): void {\r\n this.setProperty(PropertyId.SpeechServiceConnection_ProxyHostName, proxyHostName);\r\n this.setProperty(PropertyId.SpeechServiceConnection_ProxyPort, `${proxyPort}`);\r\n if (proxyUserName) {\r\n this.setProperty(PropertyId.SpeechServiceConnection_ProxyUserName, proxyUserName);\r\n }\r\n if (proxyPassword) {\r\n this.setProperty(PropertyId.SpeechServiceConnection_ProxyPassword, proxyPassword);\r\n }\r\n }\r\n\r\n public setServiceProperty(name: string, value: string, channel: ServicePropertyChannel): void {\r\n void channel;\r\n this.privSpeechConfig.setServiceProperty(name, value);\r\n }\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member DialogServiceConfigImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n return;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { DialogConnectionFactory } from \"../common.speech/DialogConnectorFactory.js\";\r\nimport {\r\n DialogServiceAdapter,\r\n IAgentConfig,\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n Deferred,\r\n marshalPromiseToCallbacks\r\n} from \"../common/Exports.js\";\r\nimport { ActivityReceivedEventArgs } from \"./ActivityReceivedEventArgs.js\";\r\nimport { AudioConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { DialogServiceConfig, DialogServiceConfigImpl } from \"./DialogServiceConfig.js\";\r\nimport {\r\n AudioConfig,\r\n PropertyCollection,\r\n Recognizer,\r\n SpeechRecognitionCanceledEventArgs,\r\n SpeechRecognitionEventArgs,\r\n SpeechRecognitionResult\r\n} from \"./Exports.js\";\r\nimport { PropertyId } from \"./PropertyId.js\";\r\nimport { TurnStatusReceivedEventArgs } from \"./TurnStatusReceivedEventArgs.js\";\r\n\r\n/**\r\n * Dialog Service Connector\r\n * @class DialogServiceConnector\r\n */\r\nexport class DialogServiceConnector extends Recognizer {\r\n private privIsDisposed: boolean;\r\n private isTurnComplete: boolean;\r\n\r\n /**\r\n * Initializes an instance of the DialogServiceConnector.\r\n * @constructor\r\n * @param {DialogServiceConfig} dialogConfig - Set of properties to configure this recognizer.\r\n * @param {AudioConfig} audioConfig - An optional audio config associated with the recognizer\r\n */\r\n public constructor(dialogConfig: DialogServiceConfig, audioConfig?: AudioConfig) {\r\n const dialogServiceConfigImpl = dialogConfig as DialogServiceConfigImpl;\r\n Contracts.throwIfNull(dialogConfig, \"dialogConfig\");\r\n\r\n super(audioConfig, dialogServiceConfigImpl.properties, new DialogConnectionFactory());\r\n\r\n this.isTurnComplete = true;\r\n this.privIsDisposed = false;\r\n this.privProperties = dialogServiceConfigImpl.properties.clone();\r\n\r\n const agentConfig = this.buildAgentConfig();\r\n this.privReco.agentConfig.set(agentConfig);\r\n }\r\n\r\n /**\r\n * The event recognizing signals that an intermediate recognition result is received.\r\n * @member DialogServiceConnector.prototype.recognizing\r\n * @function\r\n * @public\r\n */\r\n public recognizing: (sender: DialogServiceConnector, event: SpeechRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event recognized signals that a final recognition result is received.\r\n * @member DialogServiceConfig.prototype.recognized\r\n * @function\r\n * @public\r\n */\r\n public recognized: (sender: DialogServiceConnector, event: SpeechRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event canceled signals that an error occurred during recognition.\r\n * @member DialogServiceConnector.prototype.canceled\r\n * @function\r\n * @public\r\n */\r\n public canceled: (sender: DialogServiceConnector, event: SpeechRecognitionCanceledEventArgs) => void;\r\n\r\n /**\r\n * The event activityReceived signals that an activity has been received.\r\n * @member DialogServiceConnector.prototype.activityReceived\r\n * @function\r\n * @public\r\n */\r\n public activityReceived: (sender: DialogServiceConnector, event: ActivityReceivedEventArgs) => void;\r\n\r\n /**\r\n * The event turnStatusReceived signals that a turn status message has been received. These messages are\r\n * associated with both an interaction and a conversation. They are used to notify the client in the event\r\n * of an interaction failure with the dialog backend, e.g. in the event of a network issue, timeout, crash,\r\n * or other problem.\r\n * @member DialogServiceConnector.prototype.turnStatusReceived\r\n * @function\r\n * @public\r\n */\r\n public turnStatusReceived: (sender: DialogServiceConnector, event: TurnStatusReceivedEventArgs) => void;\r\n\r\n /**\r\n * Starts a connection to the service.\r\n * Users can optionally call connect() to manually set up a connection in advance, before starting interactions.\r\n *\r\n * Note: On return, the connection might not be ready yet. Please subscribe to the Connected event to\r\n * be notified when the connection is established.\r\n * @member DialogServiceConnector.prototype.connect\r\n * @function\r\n * @public\r\n */\r\n public connect(cb?: () => void, err?: (error: string) => void): void {\r\n marshalPromiseToCallbacks(this.privReco.connect(), cb, err);\r\n }\r\n\r\n /**\r\n * Closes the connection the service.\r\n * Users can optionally call disconnect() to manually shutdown the connection of the associated DialogServiceConnector.\r\n *\r\n * If disconnect() is called during a recognition, recognition will fail and cancel with an error.\r\n */\r\n public disconnect(cb?: () => void, err?: (error: string) => void): void {\r\n marshalPromiseToCallbacks(this.privReco.disconnect(), cb, err);\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member DialogServiceConnector.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Sets the authorization token used to communicate with the service.\r\n * @member DialogServiceConnector.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this DialogServiceConnector.\r\n * @member DialogServiceConnector.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this DialogServiceConnector.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /** Gets the template for the activity generated by service from speech.\r\n * Properties from the template will be stamped on the generated activity.\r\n * It can be empty\r\n */\r\n public get speechActivityTemplate(): string {\r\n return this.properties.getProperty(PropertyId.Conversation_Speech_Activity_Template);\r\n }\r\n\r\n /** Sets the template for the activity generated by service from speech.\r\n * Properties from the template will be stamped on the generated activity.\r\n * It can be null or empty.\r\n * Note: it has to be a valid Json object.\r\n */\r\n public set speechActivityTemplate(speechActivityTemplate: string) {\r\n this.properties.setProperty(PropertyId.Conversation_Speech_Activity_Template, speechActivityTemplate);\r\n }\r\n\r\n /**\r\n * Starts recognition and stops after the first utterance is recognized.\r\n * @member DialogServiceConnector.prototype.listenOnceAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback that received the result when the reco has completed.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public listenOnceAsync(cb?: (e: SpeechRecognitionResult) => void, err?: (e: string) => void): void {\r\n if (this.isTurnComplete) {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n const callbackHolder = async (): Promise => {\r\n await this.privReco.connect();\r\n await this.implRecognizerStop();\r\n this.isTurnComplete = false;\r\n\r\n const ret: Deferred = new Deferred();\r\n await this.privReco.recognize(RecognitionMode.Conversation, ret.resolve, ret.reject);\r\n\r\n const e: SpeechRecognitionResult = await ret.promise;\r\n await this.implRecognizerStop();\r\n\r\n return e;\r\n };\r\n\r\n const retPromise: Promise = callbackHolder();\r\n\r\n retPromise.catch((): void => {\r\n // Destroy the recognizer.\r\n // We've done all we can here.\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.dispose(true).catch((): void => { });\r\n });\r\n\r\n marshalPromiseToCallbacks(retPromise.finally((): void => {\r\n this.isTurnComplete = true;\r\n }), cb, err);\r\n }\r\n }\r\n\r\n public sendActivityAsync(activity: string, cb?: () => void, errCb?: (error: string) => void): void {\r\n marshalPromiseToCallbacks((this.privReco as DialogServiceAdapter).sendMessage(activity), cb, errCb);\r\n }\r\n\r\n /**\r\n * closes all external resources held by an instance of this class.\r\n * @member DialogServiceConnector.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, err?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n\r\n marshalPromiseToCallbacks(this.dispose(true), cb, err);\r\n }\r\n\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privIsDisposed) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n this.privIsDisposed = true;\r\n await this.implRecognizerStop();\r\n await super.dispose(disposing);\r\n }\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n protected createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n\r\n const audioSource: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n\r\n return new DialogServiceAdapter(authentication, connectionFactory, audioSource, recognizerConfig, this);\r\n }\r\n\r\n private buildAgentConfig(): IAgentConfig {\r\n const communicationType = this.properties.getProperty(\"Conversation_Communication_Type\", \"Default\");\r\n\r\n return {\r\n botInfo: {\r\n commType: communicationType,\r\n commandsCulture: undefined,\r\n connectionId: this.properties.getProperty(PropertyId.Conversation_Agent_Connection_Id),\r\n conversationId: this.properties.getProperty(PropertyId.Conversation_Conversation_Id, undefined),\r\n fromId: this.properties.getProperty(PropertyId.Conversation_From_Id, undefined),\r\n ttsAudioFormat: this.properties.getProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)\r\n },\r\n version: 0.2\r\n };\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nexport { AudioConfig } from \"./Audio/AudioConfig.js\";\r\nexport { AudioStreamFormat, AudioFormatTag } from \"./Audio/AudioStreamFormat.js\";\r\nexport { AudioInputStream, PullAudioInputStream, PushAudioInputStream } from \"./Audio/AudioInputStream.js\";\r\nexport { AudioOutputStream, PullAudioOutputStream, PushAudioOutputStream} from \"./Audio/AudioOutputStream.js\";\r\nexport { CancellationReason } from \"./CancellationReason.js\";\r\nexport { PullAudioInputStreamCallback } from \"./Audio/PullAudioInputStreamCallback.js\";\r\nexport { PushAudioOutputStreamCallback } from \"./Audio/PushAudioOutputStreamCallback.js\";\r\nexport { KeywordRecognitionModel } from \"./KeywordRecognitionModel.js\";\r\nexport { SessionEventArgs } from \"./SessionEventArgs.js\";\r\nexport { RecognitionEventArgs } from \"./RecognitionEventArgs.js\";\r\nexport { OutputFormat } from \"./OutputFormat.js\";\r\nexport { IntentRecognitionEventArgs } from \"./IntentRecognitionEventArgs.js\";\r\nexport { RecognitionResult } from \"./RecognitionResult.js\";\r\nexport { SpeechRecognitionResult } from \"./SpeechRecognitionResult.js\";\r\nexport { IntentRecognitionResult } from \"./IntentRecognitionResult.js\";\r\nexport { LanguageUnderstandingModel } from \"./LanguageUnderstandingModel.js\";\r\nexport { SpeechRecognitionEventArgs, ConversationTranscriptionEventArgs, MeetingTranscriptionEventArgs } from \"./SpeechRecognitionEventArgs.js\";\r\nexport { SpeechRecognitionCanceledEventArgs } from \"./SpeechRecognitionCanceledEventArgs.js\";\r\nexport { TranslationRecognitionEventArgs } from \"./TranslationRecognitionEventArgs.js\";\r\nexport { TranslationSynthesisEventArgs } from \"./TranslationSynthesisEventArgs.js\";\r\nexport { TranslationRecognitionResult } from \"./TranslationRecognitionResult.js\";\r\nexport { TranslationSynthesisResult } from \"./TranslationSynthesisResult.js\";\r\nexport { ResultReason } from \"./ResultReason.js\";\r\nexport { SpeechConfig, SpeechConfigImpl } from \"./SpeechConfig.js\";\r\nexport { SpeechTranslationConfig, SpeechTranslationConfigImpl } from \"./SpeechTranslationConfig.js\";\r\nexport { PropertyCollection } from \"./PropertyCollection.js\";\r\nexport { PropertyId } from \"./PropertyId.js\";\r\nexport { Recognizer } from \"./Recognizer.js\";\r\nexport { SpeechRecognizer } from \"./SpeechRecognizer.js\";\r\nexport { IntentRecognizer } from \"./IntentRecognizer.js\";\r\nexport { VoiceProfileType } from \"./VoiceProfileType.js\";\r\nexport { TranslationRecognizer } from \"./TranslationRecognizer.js\";\r\nexport { Translations } from \"./Translations.js\";\r\nexport { NoMatchReason } from \"./NoMatchReason.js\";\r\nexport { NoMatchDetails } from \"./NoMatchDetails.js\";\r\nexport { TranslationRecognitionCanceledEventArgs } from \"./TranslationRecognitionCanceledEventArgs.js\";\r\nexport { IntentRecognitionCanceledEventArgs } from \"./IntentRecognitionCanceledEventArgs.js\";\r\nexport { CancellationDetailsBase } from \"./CancellationDetailsBase.js\";\r\nexport { CancellationDetails } from \"./CancellationDetails.js\";\r\nexport { CancellationErrorCode } from \"./CancellationErrorCodes.js\";\r\nexport { ConnectionEventArgs } from \"./ConnectionEventArgs.js\";\r\nexport { ServiceEventArgs } from \"./ServiceEventArgs.js\";\r\nexport { Connection } from \"./Connection.js\";\r\nexport { PhraseListGrammar } from \"./PhraseListGrammar.js\";\r\nexport { DialogServiceConfig } from \"./DialogServiceConfig.js\";\r\nexport { BotFrameworkConfig } from \"./BotFrameworkConfig.js\";\r\nexport { CustomCommandsConfig } from \"./CustomCommandsConfig.js\";\r\nexport { DialogServiceConnector } from \"./DialogServiceConnector.js\";\r\nexport { ActivityReceivedEventArgs } from \"./ActivityReceivedEventArgs.js\";\r\nexport { TurnStatusReceivedEventArgs } from \"./TurnStatusReceivedEventArgs.js\";\r\nexport { ServicePropertyChannel } from \"./ServicePropertyChannel.js\";\r\nexport { ProfanityOption } from \"./ProfanityOption.js\";\r\nexport { BaseAudioPlayer } from \"./Audio/BaseAudioPlayer.js\";\r\nexport { ConnectionMessageEventArgs } from \"./ConnectionMessageEventArgs.js\";\r\nexport { ConnectionMessage } from \"./ConnectionMessage.js\";\r\nexport { VoiceProfile } from \"./VoiceProfile.js\";\r\nexport { VoiceProfileEnrollmentResult, VoiceProfileEnrollmentCancellationDetails } from \"./VoiceProfileEnrollmentResult.js\";\r\nexport { VoiceProfileResult, VoiceProfileCancellationDetails } from \"./VoiceProfileResult.js\";\r\nexport { VoiceProfilePhraseResult } from \"./VoiceProfilePhraseResult.js\";\r\nexport { VoiceProfileClient } from \"./VoiceProfileClient.js\";\r\nexport { SpeakerRecognizer } from \"./SpeakerRecognizer.js\";\r\nexport { SpeakerIdentificationModel } from \"./SpeakerIdentificationModel.js\";\r\nexport { SpeakerVerificationModel } from \"./SpeakerVerificationModel.js\";\r\nexport { AutoDetectSourceLanguageConfig } from \"./AutoDetectSourceLanguageConfig.js\";\r\nexport { AutoDetectSourceLanguageResult } from \"./AutoDetectSourceLanguageResult.js\";\r\nexport { SourceLanguageConfig } from \"./SourceLanguageConfig.js\";\r\nexport { SpeakerRecognitionResult, SpeakerRecognitionResultType, SpeakerRecognitionCancellationDetails } from \"./SpeakerRecognitionResult.js\";\r\nexport { Conversation,\r\n ConversationExpirationEventArgs,\r\n ConversationInfo,\r\n ConversationParticipantsChangedEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n ConversationTranslationEventArgs,\r\n ConversationTranslationResult,\r\n ConversationTranslator,\r\n ConversationTranscriber,\r\n ConversationTranscriptionResult,\r\n Meeting,\r\n MeetingInfo,\r\n MeetingTranscriber,\r\n IParticipant,\r\n Participant,\r\n ParticipantChangedReason,\r\n User,\r\n VoiceSignature\r\n } from \"./Transcription/Exports.js\";\r\nexport { Synthesizer } from \"./Synthesizer.js\";\r\nexport { SpeechSynthesisOutputFormat } from \"./SpeechSynthesisOutputFormat.js\";\r\nexport { SpeechSynthesizer } from \"./SpeechSynthesizer.js\";\r\nexport { SynthesisResult } from \"./SynthesisResult.js\";\r\nexport { SpeechSynthesisResult } from \"./SpeechSynthesisResult.js\";\r\nexport { SpeechSynthesisEventArgs } from \"./SpeechSynthesisEventArgs.js\";\r\nexport { SpeechSynthesisWordBoundaryEventArgs } from \"./SpeechSynthesisWordBoundaryEventArgs.js\";\r\nexport { SpeechSynthesisBookmarkEventArgs } from \"./SpeechSynthesisBookmarkEventArgs.js\";\r\nexport { SpeechSynthesisVisemeEventArgs } from \"./SpeechSynthesisVisemeEventArgs.js\";\r\nexport { SpeechSynthesisBoundaryType } from \"./SpeechSynthesisBoundaryType.js\";\r\nexport { SynthesisVoicesResult } from \"./SynthesisVoicesResult.js\";\r\nexport { VoiceInfo } from \"./VoiceInfo.js\";\r\nexport { IPlayer } from \"./Audio/IPlayer.js\";\r\nexport { SpeakerAudioDestination } from \"./Audio/SpeakerAudioDestination.js\";\r\nexport { CancellationEventArgs } from \"./CancellationEventArgs.js\";\r\nexport { ConversationTranscriptionCanceledEventArgs } from \"./ConversationTranscriptionCanceledEventArgs.js\";\r\nexport { MeetingTranscriptionCanceledEventArgs } from \"./MeetingTranscriptionCanceledEventArgs.js\";\r\nexport { PronunciationAssessmentGradingSystem } from \"./PronunciationAssessmentGradingSystem.js\";\r\nexport { PronunciationAssessmentGranularity } from \"./PronunciationAssessmentGranularity.js\";\r\nexport { PronunciationAssessmentConfig } from \"./PronunciationAssessmentConfig.js\";\r\nexport { PronunciationAssessmentResult } from \"./PronunciationAssessmentResult.js\";\r\nexport { LanguageIdMode } from \"./LanguageIdMode.js\";\r\nexport { AvatarConfig } from \"./AvatarConfig.js\";\r\nexport { AvatarEventArgs } from \"./AvatarEventArgs.js\";\r\nexport { AvatarSynthesizer } from \"./AvatarSynthesizer.js\";\r\nexport { AvatarVideoFormat, Coordinate } from \"./AvatarVideoFormat.js\";\r\nexport { AvatarWebRTCConnectionResult } from \"./AvatarWebRTCConnectionResult.js\";\r\nexport { Diagnostics } from \"./Diagnostics.js\";\r\nexport { LogLevel } from \"./LogLevel.js\";\r\nexport { IVoiceJson } from \"./IVoiceJson.js\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { CancellationEventArgs } from \"./CancellationEventArgs.js\";\r\nimport { CancellationErrorCode, CancellationReason, IntentRecognitionEventArgs, IntentRecognitionResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Define payload of intent recognition canceled result events.\r\n * @class IntentRecognitionCanceledEventArgs\r\n */\r\nexport class IntentRecognitionCanceledEventArgs extends IntentRecognitionEventArgs implements CancellationEventArgs {\r\n private privReason: CancellationReason;\r\n private privErrorDetails: string;\r\n private privErrorCode: CancellationErrorCode;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {CancellationReason} result - The result of the intent recognition.\r\n * @param {string} offset - The offset.\r\n * @param {IntentRecognitionResult} sessionId - The session id.\r\n */\r\n public constructor(\r\n reason: CancellationReason,\r\n errorDetails: string,\r\n errorCode: CancellationErrorCode,\r\n result?: IntentRecognitionResult,\r\n offset?: number,\r\n sessionId?: string) {\r\n super(result, offset, sessionId);\r\n\r\n this.privReason = reason;\r\n this.privErrorDetails = errorDetails;\r\n this.privErrorCode = errorCode;\r\n }\r\n\r\n /**\r\n * The reason the recognition was canceled.\r\n * @member IntentRecognitionCanceledEventArgs.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {CancellationReason} Specifies the reason canceled.\r\n */\r\n public get reason(): CancellationReason {\r\n return this.privReason;\r\n }\r\n\r\n /**\r\n * The error code in case of an unsuccessful recognition.\r\n * Added in version 1.1.0.\r\n * @return An error code that represents the error reason.\r\n */\r\n public get errorCode(): CancellationErrorCode {\r\n return this.privErrorCode;\r\n }\r\n\r\n /**\r\n * In case of an unsuccessful recognition, provides details of the occurred error.\r\n * @member IntentRecognitionCanceledEventArgs.prototype.errorDetails\r\n * @function\r\n * @public\r\n * @returns {string} A String that represents the error details.\r\n */\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IntentRecognitionResult, RecognitionEventArgs } from \"./Exports.js\";\r\n\r\n/**\r\n * Intent recognition result event arguments.\r\n * @class\r\n */\r\nexport class IntentRecognitionEventArgs extends RecognitionEventArgs {\r\n private privResult: IntentRecognitionResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param result - The result of the intent recognition.\r\n * @param offset - The offset.\r\n * @param sessionId - The session id.\r\n */\r\n public constructor(result: IntentRecognitionResult, offset?: number, sessionId?: string) {\r\n super(offset, sessionId);\r\n\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Represents the intent recognition result.\r\n * @member IntentRecognitionEventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {IntentRecognitionResult} Represents the intent recognition result.\r\n */\r\n public get result(): IntentRecognitionResult {\r\n return this.privResult;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection, ResultReason, SpeechRecognitionResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Intent recognition result.\r\n * @class\r\n */\r\nexport class IntentRecognitionResult extends SpeechRecognitionResult {\r\n private privIntentId: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param intentId - The intent id.\r\n * @param resultId - The result id.\r\n * @param reason - The reason.\r\n * @param text - The recognized text.\r\n * @param duration - The duration.\r\n * @param offset - The offset into the stream.\r\n * @param language - Primary Language detected, if provided.\r\n * @param languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\r\n * @param errorDetails - Error details, if provided.\r\n * @param json - Additional Json, if provided.\r\n * @param properties - Additional properties, if provided.\r\n */\r\n public constructor(intentId?: string, resultId?: string, reason?: ResultReason, text?: string,\r\n duration?: number, offset?: number, language?: string, languageDetectionConfidence?: string,\r\n errorDetails?: string, json?: string, properties?: PropertyCollection) {\r\n super(resultId, reason, text, duration, offset, language, languageDetectionConfidence, undefined, errorDetails, json, properties);\r\n\r\n this.privIntentId = intentId;\r\n }\r\n\r\n /**\r\n * A String that represents the intent identifier being recognized.\r\n * @member IntentRecognitionResult.prototype.intentId\r\n * @function\r\n * @public\r\n * @returns {string} A String that represents the intent identifier being recognized.\r\n */\r\n public get intentId(): string {\r\n return this.privIntentId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n AddedLmIntent,\r\n IAuthentication,\r\n IConnectionFactory,\r\n IntentConnectionFactory,\r\n IntentServiceRecognizer,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig\r\n} from \"../common.speech/Exports.js\";\r\nimport { marshalPromiseToCallbacks } from \"../common/Exports.js\";\r\nimport { AudioConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n IntentRecognitionCanceledEventArgs,\r\n IntentRecognitionEventArgs,\r\n IntentRecognitionResult,\r\n KeywordRecognitionModel,\r\n LanguageUnderstandingModel,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n SpeechConfig,\r\n} from \"./Exports.js\";\r\nimport { LanguageUnderstandingModelImpl } from \"./LanguageUnderstandingModel.js\";\r\nimport { SpeechConfigImpl } from \"./SpeechConfig.js\";\r\n\r\n/**\r\n * Intent recognizer.\r\n * @class\r\n */\r\nexport class IntentRecognizer extends Recognizer {\r\n private privDisposedIntentRecognizer: boolean;\r\n private privAddedIntents: string[][];\r\n private privAddedLmIntents: { [id: string]: AddedLmIntent };\r\n private privUmbrellaIntent: AddedLmIntent;\r\n\r\n /**\r\n * Initializes an instance of the IntentRecognizer.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - The set of configuration properties.\r\n * @param {AudioConfig} audioConfig - An optional audio input config associated with the recognizer\r\n */\r\n public constructor(speechConfig: SpeechConfig, audioConfig?: AudioConfig) {\r\n Contracts.throwIfNullOrUndefined(speechConfig, \"speechConfig\");\r\n const configImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n Contracts.throwIfNullOrUndefined(configImpl, \"speechConfig\");\r\n\r\n super(audioConfig, configImpl.properties, new IntentConnectionFactory());\r\n this.privAddedIntents = [];\r\n this.privAddedLmIntents = {};\r\n\r\n this.privDisposedIntentRecognizer = false;\r\n this.privProperties = configImpl.properties;\r\n\r\n Contracts.throwIfNullOrWhitespace(this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage), PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n }\r\n\r\n /**\r\n * The event recognizing signals that an intermediate recognition result is received.\r\n * @member IntentRecognizer.prototype.recognizing\r\n * @function\r\n * @public\r\n */\r\n public recognizing: (sender: IntentRecognizer, event: IntentRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event recognized signals that a final recognition result is received.\r\n * @member IntentRecognizer.prototype.recognized\r\n * @function\r\n * @public\r\n */\r\n public recognized: (sender: IntentRecognizer, event: IntentRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event canceled signals that an error occurred during recognition.\r\n * @member IntentRecognizer.prototype.canceled\r\n * @function\r\n * @public\r\n */\r\n public canceled: (sender: IntentRecognizer, event: IntentRecognitionCanceledEventArgs) => void;\r\n\r\n /**\r\n * Gets the spoken language of recognition.\r\n * @member IntentRecognizer.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @returns {string} the spoken language of recognition.\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member IntentRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * Note: Please use a token derived from your LanguageUnderstanding subscription key for the Intent recognizer.\r\n * @member IntentRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} value - Authorization token.\r\n */\r\n public set authorizationToken(value: string) {\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, value);\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this IntentRecognizer.\r\n * @member IntentRecognizer.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their\r\n * values defined for this IntentRecognizer.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Starts intent recognition, and stops after the first utterance is recognized.\r\n * The task returns the recognition text and intent as result.\r\n * Note: RecognizeOnceAsync() returns when the first utterance has been recognized,\r\n * so it is suitable only for single shot recognition like command or query.\r\n * For long-running recognition, use StartContinuousRecognitionAsync() instead.\r\n * @member IntentRecognizer.prototype.recognizeOnceAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback that received the recognition has finished with an IntentRecognitionResult.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public recognizeOnceAsync(cb?: (e: IntentRecognitionResult) => void, err?: (e: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\r\n\r\n if (Object.keys(this.privAddedLmIntents).length !== 0 || undefined !== this.privUmbrellaIntent) {\r\n const context: IIntentContext = this.buildSpeechContext();\r\n\r\n this.privReco.speechContext.setSection(\"intent\", context.Intent);\r\n this.privReco.dynamicGrammar.addReferenceGrammar(context.ReferenceGrammars);\r\n\r\n const intentReco: IntentServiceRecognizer = this.privReco as IntentServiceRecognizer;\r\n intentReco.setIntents(this.privAddedLmIntents, this.privUmbrellaIntent);\r\n }\r\n\r\n marshalPromiseToCallbacks(this.recognizeOnceAsyncImpl(RecognitionMode.Interactive), cb, err);\r\n }\r\n\r\n /**\r\n * Starts speech recognition, until stopContinuousRecognitionAsync() is called.\r\n * User must subscribe to events to receive recognition results.\r\n * @member IntentRecognizer.prototype.startContinuousRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the recognition has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n if (Object.keys(this.privAddedLmIntents).length !== 0 || undefined !== this.privUmbrellaIntent) {\r\n const context: IIntentContext = this.buildSpeechContext();\r\n\r\n this.privReco.speechContext.setSection(\"intent\", context.Intent);\r\n this.privReco.dynamicGrammar.addReferenceGrammar(context.ReferenceGrammars);\r\n\r\n const intentReco: IntentServiceRecognizer = this.privReco as IntentServiceRecognizer;\r\n intentReco.setIntents(this.privAddedLmIntents, this.privUmbrellaIntent);\r\n }\r\n\r\n marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(RecognitionMode.Conversation), cb, err);\r\n }\r\n\r\n /**\r\n * Stops continuous intent recognition.\r\n * @member IntentRecognizer.prototype.stopContinuousRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the recognition has stopped.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\r\n }\r\n\r\n /**\r\n * Starts speech recognition with keyword spotting, until stopKeywordRecognitionAsync() is called.\r\n * User must subscribe to events to receive recognition results.\r\n * Note: Key word spotting functionality is only available on the Speech Devices SDK.\r\n * This functionality is currently not included in the SDK itself.\r\n * @member IntentRecognizer.prototype.startKeywordRecognitionAsync\r\n * @function\r\n * @public\r\n * @param {KeywordRecognitionModel} model - The keyword recognition model that specifies the keyword to be recognized.\r\n * @param cb - Callback invoked once the recognition has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startKeywordRecognitionAsync(model: KeywordRecognitionModel, cb?: () => void, err?: (e: string) => void): void {\r\n Contracts.throwIfNull(model, \"model\");\r\n\r\n if (!!err) {\r\n err(\"Not yet implemented.\");\r\n }\r\n }\r\n\r\n /**\r\n * Stops continuous speech recognition.\r\n * Note: Key word spotting functionality is only available on the Speech Devices SDK.\r\n * This functionality is currently not included in the SDK itself.\r\n * @member IntentRecognizer.prototype.stopKeywordRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the recognition has stopped.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopKeywordRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n if (!!cb) {\r\n try {\r\n cb();\r\n } catch (e) {\r\n if (!!err) {\r\n err(e as string);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Adds a phrase that should be recognized as intent.\r\n * @member IntentRecognizer.prototype.addIntent\r\n * @function\r\n * @public\r\n * @param {string} intentId - A String that represents the identifier of the intent to be recognized.\r\n * @param {string} phrase - A String that specifies the phrase representing the intent.\r\n */\r\n public addIntent(simplePhrase: string, intentId?: string): void {\r\n Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\r\n Contracts.throwIfNullOrWhitespace(intentId, \"intentId\");\r\n Contracts.throwIfNullOrWhitespace(simplePhrase, \"simplePhrase\");\r\n\r\n this.privAddedIntents.push([intentId, simplePhrase]);\r\n }\r\n\r\n /**\r\n * Adds an intent from Language Understanding service for recognition.\r\n * @member IntentRecognizer.prototype.addIntentWithLanguageModel\r\n * @function\r\n * @public\r\n * @param {string} intentId - A String that represents the identifier of the intent\r\n * to be recognized. Ignored if intentName is empty.\r\n * @param {string} model - The intent model from Language Understanding service.\r\n * @param {string} intentName - The intent name defined in the intent model. If it\r\n * is empty, all intent names defined in the model will be added.\r\n */\r\n public addIntentWithLanguageModel(intentId: string, model: LanguageUnderstandingModel, intentName?: string): void {\r\n Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\r\n Contracts.throwIfNullOrWhitespace(intentId, \"intentId\");\r\n Contracts.throwIfNull(model, \"model\");\r\n\r\n const modelImpl: LanguageUnderstandingModelImpl = model as LanguageUnderstandingModelImpl;\r\n Contracts.throwIfNullOrWhitespace(modelImpl.appId, \"model.appId\");\r\n\r\n this.privAddedLmIntents[intentId] = new AddedLmIntent(modelImpl, intentName);\r\n }\r\n\r\n /**\r\n * @summary Adds all intents from the specified Language Understanding Model.\r\n * @member IntentRecognizer.prototype.addAllIntents\r\n * @function\r\n * @public\r\n * @function\r\n * @public\r\n * @param {LanguageUnderstandingModel} model - The language understanding model containing the intents.\r\n * @param {string} intentId - A custom id String to be returned in the IntentRecognitionResult's getIntentId() method.\r\n */\r\n public addAllIntents(model: LanguageUnderstandingModel, intentId?: string): void {\r\n Contracts.throwIfNull(model, \"model\");\r\n\r\n const modelImpl: LanguageUnderstandingModelImpl = model as LanguageUnderstandingModelImpl;\r\n Contracts.throwIfNullOrWhitespace(modelImpl.appId, \"model.appId\");\r\n\r\n this.privUmbrellaIntent = new AddedLmIntent(modelImpl, intentId);\r\n }\r\n\r\n /**\r\n * closes all external resources held by an instance of this class.\r\n * @member IntentRecognizer.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, errorCb?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\r\n\r\n marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n protected createServiceRecognizer(authentication: IAuthentication, connectionFactory: IConnectionFactory, audioConfig: AudioConfig, recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n const audioImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n return new IntentServiceRecognizer(authentication, connectionFactory, audioImpl, recognizerConfig, this);\r\n }\r\n\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedIntentRecognizer) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n this.privDisposedIntentRecognizer = true;\r\n await super.dispose(disposing);\r\n }\r\n }\r\n\r\n private buildSpeechContext(): IIntentContext {\r\n let appId: string;\r\n let region: string;\r\n let subscriptionKey: string;\r\n const refGrammers: string[] = [];\r\n\r\n if (undefined !== this.privUmbrellaIntent) {\r\n appId = this.privUmbrellaIntent.modelImpl.appId;\r\n region = this.privUmbrellaIntent.modelImpl.region;\r\n subscriptionKey = this.privUmbrellaIntent.modelImpl.subscriptionKey;\r\n }\r\n\r\n // Build the reference grammer array.\r\n for (const intentId of Object.keys(this.privAddedLmIntents)) {\r\n const addedLmIntent: AddedLmIntent = this.privAddedLmIntents[intentId];\r\n\r\n // validate all the same model, region, and key...\r\n if (appId === undefined) {\r\n appId = addedLmIntent.modelImpl.appId;\r\n } else {\r\n if (appId !== addedLmIntent.modelImpl.appId) {\r\n throw new Error(\"Intents must all be from the same LUIS model\");\r\n }\r\n }\r\n\r\n if (region === undefined) {\r\n region = addedLmIntent.modelImpl.region;\r\n } else {\r\n if (region !== addedLmIntent.modelImpl.region) {\r\n throw new Error(\"Intents must all be from the same LUIS model in a single region\");\r\n }\r\n }\r\n\r\n if (subscriptionKey === undefined) {\r\n subscriptionKey = addedLmIntent.modelImpl.subscriptionKey;\r\n } else {\r\n if (subscriptionKey !== addedLmIntent.modelImpl.subscriptionKey) {\r\n throw new Error(\"Intents must all use the same subscription key\");\r\n }\r\n }\r\n\r\n const grammer: string = \"luis/\" + appId + \"-PRODUCTION#\" + intentId;\r\n refGrammers.push(grammer);\r\n }\r\n\r\n return {\r\n Intent: {\r\n id: appId,\r\n key: (subscriptionKey === undefined) ? this.privProperties.getProperty(PropertyId[PropertyId.SpeechServiceConnection_Key]) : subscriptionKey,\r\n provider: \"LUIS\",\r\n },\r\n ReferenceGrammars: (undefined === this.privUmbrellaIntent) ? refGrammers : [\"luis/\" + appId + \"-PRODUCTION\"],\r\n };\r\n }\r\n}\r\n\r\ninterface IIntentContext {\r\n Intent: {\r\n id: string;\r\n key: string;\r\n provider: string;\r\n };\r\n ReferenceGrammars: string[];\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\n\r\n/**\r\n * Represents a keyword recognition model for recognizing when\r\n * the user says a keyword to initiate further speech recognition.\r\n * @class KeywordRecognitionModel\r\n */\r\nexport class KeywordRecognitionModel {\r\n private privDisposed: boolean = false;\r\n\r\n /**\r\n * Create and initializes a new instance.\r\n * @constructor\r\n */\r\n private constructor() {\r\n return;\r\n }\r\n\r\n /**\r\n * Creates a keyword recognition model using the specified filename.\r\n * @member KeywordRecognitionModel.fromFile\r\n * @function\r\n * @public\r\n * @param {string} fileName - A string that represents file name for the keyword recognition model.\r\n * Note, the file can point to a zip file in which case the model\r\n * will be extracted from the zip.\r\n * @returns {KeywordRecognitionModel} The keyword recognition model being created.\r\n */\r\n public static fromFile(fileName: string): KeywordRecognitionModel {\r\n Contracts.throwIfFileDoesNotExist(fileName, \"fileName\");\r\n\r\n throw new Error(\"Not yet implemented.\");\r\n }\r\n\r\n /**\r\n * Creates a keyword recognition model using the specified filename.\r\n * @member KeywordRecognitionModel.fromStream\r\n * @function\r\n * @public\r\n * @param {string} file - A File that represents file for the keyword recognition model.\r\n * Note, the file can point to a zip file in which case the model will be extracted from the zip.\r\n * @returns {KeywordRecognitionModel} The keyword recognition model being created.\r\n */\r\n public static fromStream(file: File): KeywordRecognitionModel {\r\n Contracts.throwIfNull(file, \"file\");\r\n\r\n throw new Error(\"Not yet implemented.\");\r\n }\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member KeywordRecognitionModel.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n if (this.privDisposed) {\r\n return;\r\n }\r\n\r\n this.privDisposed = true;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Language Identification mode\r\n * @class LanguageIdMode\r\n */\r\nexport enum LanguageIdMode {\r\n\r\n /**\r\n * Detect language at audio start\r\n * @member LanguageIdMode.AtStart\r\n */\r\n AtStart,\r\n\r\n /**\r\n * Continuously detect language\r\n * @member LanguageIdMode.Continuous\r\n */\r\n Continuous,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// eslint-disable-next-line max-classes-per-file\r\nimport { Contracts } from \"./Contracts.js\";\r\n\r\n/**\r\n * Language understanding model\r\n * @class LanguageUnderstandingModel\r\n */\r\nexport class LanguageUnderstandingModel {\r\n /**\r\n * Creates and initializes a new instance\r\n * @constructor\r\n */\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n /**\r\n * Creates an language understanding model using the specified endpoint.\r\n * @member LanguageUnderstandingModel.fromEndpoint\r\n * @function\r\n * @public\r\n * @param {URL} uri - A String that represents the endpoint of the language understanding model.\r\n * @returns {LanguageUnderstandingModel} The language understanding model being created.\r\n */\r\n public static fromEndpoint(uri: URL): LanguageUnderstandingModel {\r\n Contracts.throwIfNull(uri, \"uri\");\r\n Contracts.throwIfNullOrWhitespace(uri.hostname, \"uri\");\r\n\r\n const langModelImp: LanguageUnderstandingModelImpl = new LanguageUnderstandingModelImpl();\r\n // Need to extract the app ID from the URL.\r\n // URL is in the format: https://.api.cognitive.microsoft.com/luis/v2.0/apps/?subscription-key=&timezoneOffset=-360\r\n\r\n // Start tearing the string apart.\r\n\r\n // region can be extracted from the host name.\r\n const firstDot: number = uri.host.indexOf(\".\");\r\n if (-1 === firstDot) {\r\n throw new Error(\"Could not determine region from endpoint\");\r\n }\r\n langModelImp.region = uri.host.substr(0, firstDot);\r\n\r\n // Now the app ID.\r\n\r\n const lastSegment: number = uri.pathname.lastIndexOf(\"/\") + 1;\r\n if (-1 === lastSegment) {\r\n throw new Error(\"Could not determine appId from endpoint\");\r\n }\r\n\r\n langModelImp.appId = uri.pathname.substr(lastSegment);\r\n\r\n // And finally the key.\r\n langModelImp.subscriptionKey = uri.searchParams.get(\"subscription-key\");\r\n if (undefined === langModelImp.subscriptionKey) {\r\n throw new Error(\"Could not determine subscription key from endpoint\");\r\n }\r\n\r\n return langModelImp;\r\n }\r\n\r\n /**\r\n * Creates an language understanding model using the application id of Language Understanding service.\r\n * @member LanguageUnderstandingModel.fromAppId\r\n * @function\r\n * @public\r\n * @param {string} appId - A String that represents the application id of Language Understanding service.\r\n * @returns {LanguageUnderstandingModel} The language understanding model being created.\r\n */\r\n public static fromAppId(appId: string): LanguageUnderstandingModel {\r\n Contracts.throwIfNullOrWhitespace(appId, \"appId\");\r\n\r\n const langModelImp: LanguageUnderstandingModelImpl = new LanguageUnderstandingModelImpl();\r\n langModelImp.appId = appId;\r\n return langModelImp;\r\n }\r\n\r\n /**\r\n * Creates a language understanding model using hostname, subscription key and application\r\n * id of Language Understanding service.\r\n * @member LanguageUnderstandingModel.fromSubscription\r\n * @function\r\n * @public\r\n * @param {string} subscriptionKey - A String that represents the subscription key of\r\n * Language Understanding service.\r\n * @param {string} appId - A String that represents the application id of Language\r\n * Understanding service.\r\n * @param {LanguageUnderstandingModel} region - A String that represents the region\r\n * of the Language Understanding service (see the region page).\r\n * @returns {LanguageUnderstandingModel} The language understanding model being created.\r\n */\r\n public static fromSubscription(subscriptionKey: string, appId: string, region: string): LanguageUnderstandingModel {\r\n Contracts.throwIfNullOrWhitespace(subscriptionKey, \"subscriptionKey\");\r\n Contracts.throwIfNullOrWhitespace(appId, \"appId\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const langModelImp: LanguageUnderstandingModelImpl = new LanguageUnderstandingModelImpl();\r\n langModelImp.appId = appId;\r\n langModelImp.region = region;\r\n langModelImp.subscriptionKey = subscriptionKey;\r\n return langModelImp;\r\n }\r\n}\r\n\r\n/**\r\n * @private\r\n * @class LanguageUnderstandingModelImpl\r\n */\r\nexport class LanguageUnderstandingModelImpl extends LanguageUnderstandingModel {\r\n public appId: string;\r\n public region: string;\r\n public subscriptionKey: string;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { EventType } from \"../common/Exports.js\";\r\n\r\n/**\r\n * Define event severity types for setting logging output.\r\n * @class LogLevel\r\n */\r\n\r\nexport { EventType as LogLevel };\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CancellationEventArgsBase,\r\n} from \"./CancellationEventArgsBase.js\";\r\n\r\n/**\r\n * Defines content of a MeetingTranscriptionCanceledEvent.\r\n * @class MeetingTranscriptionCanceledEventArgs\r\n */\r\nexport class MeetingTranscriptionCanceledEventArgs extends CancellationEventArgsBase {\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { RecognitionStatus, SimpleSpeechPhrase } from \"../../src/common.speech/Exports.js\";\r\nimport { IntentRecognitionResult, NoMatchReason, SpeechRecognitionResult, TranslationRecognitionResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Contains detailed information for NoMatch recognition results.\r\n * @class NoMatchDetails\r\n */\r\nexport class NoMatchDetails {\r\n private privReason: NoMatchReason;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {NoMatchReason} reason - The no-match reason.\r\n */\r\n private constructor(reason: NoMatchReason) {\r\n this.privReason = reason;\r\n }\r\n\r\n /**\r\n * Creates an instance of NoMatchDetails object for the NoMatch SpeechRecognitionResults.\r\n * @member NoMatchDetails.fromResult\r\n * @function\r\n * @public\r\n * @param {SpeechRecognitionResult | IntentRecognitionResult | TranslationRecognitionResult}\r\n * result - The recognition result that was not recognized.\r\n * @returns {NoMatchDetails} The no match details object being created.\r\n */\r\n public static fromResult(result: SpeechRecognitionResult | IntentRecognitionResult | TranslationRecognitionResult): NoMatchDetails {\r\n const simpleSpeech: SimpleSpeechPhrase = SimpleSpeechPhrase.fromJSON(result.json);\r\n\r\n let reason: NoMatchReason = NoMatchReason.NotRecognized;\r\n\r\n switch (simpleSpeech.RecognitionStatus) {\r\n case RecognitionStatus.BabbleTimeout:\r\n reason = NoMatchReason.InitialBabbleTimeout;\r\n break;\r\n case RecognitionStatus.InitialSilenceTimeout:\r\n reason = NoMatchReason.InitialSilenceTimeout;\r\n break;\r\n default:\r\n reason = NoMatchReason.NotRecognized;\r\n break;\r\n }\r\n\r\n return new NoMatchDetails(reason);\r\n }\r\n\r\n /**\r\n * The reason the recognition was canceled.\r\n * @member NoMatchDetails.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {NoMatchReason} Specifies the reason canceled.\r\n */\r\n public get reason(): NoMatchReason {\r\n return this.privReason;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the possible reasons a recognition result might not be recognized.\r\n * @class NoMatchReason\r\n */\r\nexport enum NoMatchReason {\r\n\r\n /**\r\n * Indicates that speech was detected, but not recognized.\r\n * @member NoMatchReason.NotRecognized\r\n */\r\n NotRecognized,\r\n\r\n /**\r\n * Indicates that the start of the audio stream contained only silence,\r\n * and the service timed out waiting for speech.\r\n * @member NoMatchReason.InitialSilenceTimeout\r\n */\r\n InitialSilenceTimeout,\r\n\r\n /**\r\n * Indicates that the start of the audio stream contained only noise,\r\n * and the service timed out waiting for speech.\r\n * @member NoMatchReason.InitialBabbleTimeout\r\n */\r\n InitialBabbleTimeout,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Define Speech Recognizer output formats.\r\n * @class OutputFormat\r\n */\r\nexport enum OutputFormat {\r\n /**\r\n * @member OutputFormat.Simple\r\n */\r\n Simple = 0,\r\n\r\n /**\r\n * @member OutputFormat.Detailed\r\n */\r\n Detailed,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n DynamicGrammarBuilder,\r\n ServiceRecognizerBase,\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n ConversationTranscriber,\r\n MeetingTranscriber,\r\n Recognizer\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Allows additions of new phrases to improve speech recognition.\r\n *\r\n * Phrases added to the recognizer are effective at the start of the next recognition, or the next time the SpeechSDK must reconnect\r\n * to the speech service.\r\n */\r\nexport class PhraseListGrammar {\r\n private privGrammerBuilder: DynamicGrammarBuilder;\r\n\r\n private constructor(recogBase: ServiceRecognizerBase) {\r\n this.privGrammerBuilder = recogBase.dynamicGrammar;\r\n }\r\n\r\n /**\r\n * Creates a PhraseListGrammar from a given speech recognizer. Will accept any recognizer that derives from @class Recognizer.\r\n * @param recognizer The recognizer to add phrase lists to.\r\n */\r\n public static fromRecognizer(recognizer: Recognizer | ConversationTranscriber | MeetingTranscriber): PhraseListGrammar {\r\n const recoBase = recognizer.internalData as ServiceRecognizerBase;\r\n return new PhraseListGrammar(recoBase);\r\n }\r\n\r\n /**\r\n * Adds a single phrase to the current recognizer.\r\n * @param phrase Phrase to add.\r\n */\r\n public addPhrase(phrase: string): void {\r\n this.privGrammerBuilder.addPhrase(phrase);\r\n }\r\n\r\n /**\r\n * Adds multiple phrases to the current recognizer.\r\n * @param phrases Array of phrases to add.\r\n */\r\n public addPhrases(phrases: string[]): void {\r\n this.privGrammerBuilder.addPhrase(phrases);\r\n }\r\n\r\n /**\r\n * Clears all phrases added to the current recognizer.\r\n */\r\n public clear(): void {\r\n this.privGrammerBuilder.clearPhrases();\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Profanity option.\r\n * Added in version 1.7.0.\r\n */\r\nexport enum ProfanityOption {\r\n Masked = 0,\r\n Removed = 1,\r\n Raw = 2\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ServiceRecognizerBase } from \"../common.speech/ServiceRecognizerBase.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n PronunciationAssessmentGradingSystem,\r\n PronunciationAssessmentGranularity,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer\r\n} from \"./Exports.js\";\r\n\r\ninterface PronunciationAssessmentJSON {\r\n referenceText: string;\r\n gradingSystem: string;\r\n granularity: string;\r\n phonemeAlphabet: string;\r\n nbestPhonemeCount: number;\r\n dimension: string;\r\n enableMiscue: boolean;\r\n enableProsodyAssessment: boolean;\r\n}\r\n\r\n/**\r\n * Pronunciation assessment configuration.\r\n * @class PronunciationAssessmentConfig\r\n * Added in version 1.15.0.\r\n */\r\nexport class PronunciationAssessmentConfig {\r\n private privProperties: PropertyCollection;\r\n private privPhonemeAlphabet: string;\r\n private privNBestPhonemeCount: number;\r\n private privEnableProsodyAssessment: boolean;\r\n private privContentAssessmentTopic: string;\r\n\r\n /**\r\n * PronunciationAssessmentConfig constructor.\r\n * @constructor\r\n * @param {string} referenceText\r\n * @param gradingSystem\r\n * @param granularity\r\n * @param enableMiscue\r\n */\r\n public constructor(referenceText: string,\r\n gradingSystem: PronunciationAssessmentGradingSystem = PronunciationAssessmentGradingSystem.FivePoint,\r\n granularity: PronunciationAssessmentGranularity = PronunciationAssessmentGranularity.Phoneme,\r\n enableMiscue: boolean = false) {\r\n Contracts.throwIfNullOrUndefined(referenceText, \"referenceText\");\r\n this.privProperties = new PropertyCollection();\r\n this.privProperties.setProperty(PropertyId.PronunciationAssessment_ReferenceText, referenceText);\r\n this.privProperties.setProperty(PropertyId.PronunciationAssessment_GradingSystem, PronunciationAssessmentGradingSystem[gradingSystem]);\r\n this.privProperties.setProperty(PropertyId.PronunciationAssessment_Granularity, PronunciationAssessmentGranularity[granularity]);\r\n this.privProperties.setProperty(PropertyId.PronunciationAssessment_EnableMiscue, String(enableMiscue));\r\n }\r\n\r\n /**\r\n * @member PronunciationAssessmentConfig.fromJSON\r\n * @function\r\n * @public\r\n * @param {string} json The json string containing the pronunciation assessment parameters.\r\n * @return {PronunciationAssessmentConfig} Instance of PronunciationAssessmentConfig\r\n * @summary Creates an instance of the PronunciationAssessmentConfig from json.\r\n * This method is designed to support the pronunciation assessment parameters still in preview.\r\n * Under normal circumstances, use the constructor instead.\r\n */\r\n public static fromJSON(json: string): PronunciationAssessmentConfig {\r\n Contracts.throwIfNullOrUndefined(json, \"json\");\r\n const config = new PronunciationAssessmentConfig(\"\");\r\n config.privProperties = new PropertyCollection();\r\n config.properties.setProperty(PropertyId.PronunciationAssessment_Json, json);\r\n return config;\r\n }\r\n\r\n public toJSON(): string {\r\n this.updateJson();\r\n return this.privProperties.getProperty(PropertyId.PronunciationAssessment_Params);\r\n }\r\n\r\n public applyTo(recognizer: Recognizer): void {\r\n this.updateJson();\r\n const recoBase = recognizer.internalData as ServiceRecognizerBase;\r\n recoBase.expectContentAssessmentResponse = !!this.privContentAssessmentTopic;\r\n recoBase.speechContext.setPronunciationAssessmentParams(\r\n this.properties.getProperty(PropertyId.PronunciationAssessment_Params),\r\n this.privContentAssessmentTopic,\r\n recoBase.isSpeakerDiarizationEnabled);\r\n }\r\n\r\n /**\r\n * Gets the reference text.\r\n * @member PronunciationAssessmentConfig.prototype.referenceText\r\n * @function\r\n * @public\r\n * @returns {string} Reference text.\r\n */\r\n public get referenceText(): string {\r\n return this.properties.getProperty(PropertyId.PronunciationAssessment_ReferenceText);\r\n }\r\n\r\n /**\r\n * Gets/Sets the reference text.\r\n * @member PronunciationAssessmentConfig.prototype.referenceText\r\n * @function\r\n * @public\r\n * @param {string} referenceText - Reference text.\r\n */\r\n public set referenceText(referenceText: string) {\r\n Contracts.throwIfNullOrWhitespace(referenceText, \"referenceText\");\r\n this.properties.setProperty(PropertyId.PronunciationAssessment_ReferenceText, referenceText);\r\n }\r\n\r\n /**\r\n * Sets the phoneme alphabet.\r\n * The valid values are \"SAPI\" (default) and \"IPA\".\r\n * Added in version 1.20.0\r\n * @member PronunciationAssessmentConfig.prototype.phonemeAlphabet\r\n * @function\r\n * @public\r\n * @param {string} phonemeAlphabet - Phoneme alphabet.\r\n */\r\n public set phonemeAlphabet(phonemeAlphabet: string) {\r\n Contracts.throwIfNullOrWhitespace(phonemeAlphabet, \"phonemeAlphabet\");\r\n this.privPhonemeAlphabet = phonemeAlphabet;\r\n }\r\n\r\n /**\r\n * Sets the boolean enableMiscue property.\r\n * Added in version 1.26.0\r\n * @member PronunciationAssessmentConfig.prototype.enableMiscue\r\n * @function\r\n * @public\r\n * @param {boolean} enableMiscue - enable miscue.\r\n */\r\n public set enableMiscue(enableMiscue: boolean) {\r\n const enableMiscueString = enableMiscue ? \"true\" : \"false\";\r\n this.properties.setProperty(PropertyId.PronunciationAssessment_EnableMiscue, enableMiscueString);\r\n }\r\n\r\n /**\r\n * Gets the boolean enableMiscue property.\r\n * Added in version 1.26.0\r\n * @member PronunciationAssessmentConfig.prototype.enableMiscue\r\n * @function\r\n * @public\r\n * @return {boolean} enableMiscue - enable miscue.\r\n */\r\n public get enableMiscue(): boolean {\r\n const enableMiscueString = this.properties.getProperty(PropertyId.PronunciationAssessment_EnableMiscue, \"false\");\r\n return (enableMiscueString.toLowerCase() === \"true\");\r\n }\r\n\r\n /**\r\n * Sets the nbest phoneme count\r\n * Added in version 1.20.0\r\n * @member PronunciationAssessmentConfig.prototype.nbestPhonemeCount\r\n * @function\r\n * @public\r\n * @param {number} nbestPhonemeCount - NBest phoneme count.\r\n */\r\n public set nbestPhonemeCount(nbestPhonemeCount: number) {\r\n this.privNBestPhonemeCount = nbestPhonemeCount;\r\n }\r\n\r\n /**\r\n * Enables the prosody assessment.\r\n * Added in version 1.34.0\r\n * @member PronunciationAssessmentConfig.prototype.enableProsodyAssessment\r\n * @function\r\n * @public\r\n * @param {boolean} enableProsodyAssessment - enable prosody assessment.\r\n */\r\n public set enableProsodyAssessment(enableProsodyAssessment: boolean) {\r\n this.privEnableProsodyAssessment = enableProsodyAssessment;\r\n }\r\n\r\n /**\r\n * Enables content assessment and sets the topic.\r\n * Added in version 1.34.0\r\n * @member PronunciationAssessmentConfig.prototype.enableContentAssessmentWithTopic\r\n * @function\r\n * @public\r\n * @param {string} topic - Topic for content assessment.\r\n */\r\n public enableContentAssessmentWithTopic(topic: string): void {\r\n this.privContentAssessmentTopic = topic;\r\n }\r\n\r\n /**\r\n * @member PronunciationAssessmentConfig.prototype.properties\r\n * @function\r\n * @public\r\n * @return {PropertyCollection} Properties of the config.\r\n * @summary Gets a pronunciation assessment config properties\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n private updateJson(): void {\r\n const jsonString = this.privProperties.getProperty(PropertyId.PronunciationAssessment_Json, \"{}\");\r\n const paramsJson: PronunciationAssessmentJSON = JSON.parse(jsonString) as PronunciationAssessmentJSON;\r\n\r\n const referenceText = this.privProperties.getProperty(PropertyId.PronunciationAssessment_ReferenceText);\r\n if (referenceText) {\r\n paramsJson.referenceText = referenceText;\r\n }\r\n\r\n const gradingSystem = this.privProperties.getProperty(PropertyId.PronunciationAssessment_GradingSystem);\r\n if (gradingSystem) {\r\n paramsJson.gradingSystem = gradingSystem;\r\n }\r\n\r\n const granularity = this.privProperties.getProperty(PropertyId.PronunciationAssessment_Granularity);\r\n if (granularity) {\r\n paramsJson.granularity = granularity;\r\n }\r\n\r\n if (this.privPhonemeAlphabet) {\r\n paramsJson.phonemeAlphabet = this.privPhonemeAlphabet;\r\n }\r\n\r\n if (this.privNBestPhonemeCount) {\r\n paramsJson.nbestPhonemeCount = this.privNBestPhonemeCount;\r\n }\r\n\r\n paramsJson.enableProsodyAssessment = this.privEnableProsodyAssessment;\r\n\r\n // always set dimension to Comprehensive\r\n paramsJson.dimension = \"Comprehensive\";\r\n\r\n const enableMiscueString = this.privProperties.getProperty(PropertyId.PronunciationAssessment_EnableMiscue);\r\n if (enableMiscueString) {\r\n paramsJson.enableMiscue = this.enableMiscue;\r\n }\r\n\r\n this.privProperties.setProperty(PropertyId.PronunciationAssessment_Params, JSON.stringify(paramsJson));\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the point system for pronunciation score calibration; default value is FivePoint.\r\n * Added in version 1.15.0\r\n * @class PronunciationAssessmentGradingSystem\r\n */\r\nexport enum PronunciationAssessmentGradingSystem {\r\n /**\r\n * Five point calibration\r\n * @member PronunciationAssessmentGradingSystem.FivePoint\r\n */\r\n FivePoint = 1,\r\n\r\n /**\r\n * Hundred mark\r\n * @member PronunciationAssessmentGradingSystem.HundredMark\r\n */\r\n HundredMark,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the pronunciation evaluation granularity; default value is Phoneme.\r\n * Added in version 1.15.0\r\n * @class PronunciationAssessmentGranularity\r\n */\r\nexport enum PronunciationAssessmentGranularity {\r\n /**\r\n * Shows the score on the full text, word and phoneme level\r\n * @member PronunciationAssessmentGranularity.Phoneme\r\n */\r\n Phoneme = 1,\r\n\r\n /**\r\n * Shows the score on the full text and word level\r\n * @member PronunciationAssessmentGranularity.Word\r\n */\r\n Word,\r\n\r\n /**\r\n * Shows the score on the full text level only\r\n * @member PronunciationAssessmentGranularity.FullText\r\n */\r\n FullText,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {Contracts} from \"./Contracts.js\";\r\nimport {\r\n PropertyId,\r\n RecognitionResult\r\n} from \"./Exports.js\";\r\n\r\ninterface AssessmentResult {\r\n NBest: DetailResult[];\r\n}\r\n\r\ninterface DetailResult {\r\n Words: WordResult[];\r\n PronunciationAssessment: {\r\n AccuracyScore: number;\r\n CompletenessScore: number;\r\n FluencyScore: number;\r\n PronScore: number;\r\n ProsodyScore: number;\r\n };\r\n ContentAssessment: {\r\n GrammarScore: number;\r\n VocabularyScore: number;\r\n TopicScore: number;\r\n };\r\n}\r\n\r\ninterface WordResult {\r\n Word: string;\r\n Phonemes: {\r\n Phoneme?: string;\r\n PronunciationAssessment?: {\r\n NBestPhonemes: { Phoneme: string }[];\r\n };\r\n }[];\r\n PronunciationAssessment?: {\r\n AccuracyScore: number;\r\n ErrorType: string;\r\n };\r\n Syllables: { Syllable: string }[];\r\n}\r\n\r\nexport class ContentAssessmentResult {\r\n private privPronJson: DetailResult;\r\n\r\n /**\r\n * @Internal\r\n * Do not use externally.\r\n */\r\n public constructor(detailResult: DetailResult) {\r\n this.privPronJson = detailResult;\r\n }\r\n\r\n /**\r\n * Correctness in using grammar and variety of sentence patterns.\r\n * Grammatical errors are jointly evaluated by lexical accuracy,\r\n * grammatical accuracy and diversity of sentence structures.\r\n * @member ContentAssessmentResult.prototype.grammarScore\r\n * @function\r\n * @public\r\n * @returns {number} Grammar score.\r\n */\r\n public get grammarScore(): number {\r\n return this.privPronJson.ContentAssessment.GrammarScore;\r\n }\r\n\r\n /**\r\n * Proficiency in lexical usage. It evaluates the speaker's effective usage\r\n * of words and their appropriateness within the given context to express\r\n * ideas accurately, as well as level of lexical complexity.\r\n * @member ContentAssessmentResult.prototype.vocabularyScore\r\n * @function\r\n * @public\r\n * @returns {number} Vocabulary score.\r\n */\r\n public get vocabularyScore(): number {\r\n return this.privPronJson.ContentAssessment.VocabularyScore;\r\n }\r\n\r\n /**\r\n * Level of understanding and engagement with the topic, which provides\r\n * insights into the speaker’s ability to express their thoughts and ideas\r\n * effectively and the ability to engage with the topic.\r\n * @member ContentAssessmentResult.prototype.topicScore\r\n * @function\r\n * @public\r\n * @returns {number} Topic score.\r\n */\r\n public get topicScore(): number {\r\n return this.privPronJson.ContentAssessment.TopicScore;\r\n }\r\n}\r\n\r\n/**\r\n * Pronunciation assessment results.\r\n * @class PronunciationAssessmentResult\r\n * Added in version 1.15.0.\r\n */\r\nexport class PronunciationAssessmentResult {\r\n private privPronJson: DetailResult;\r\n\r\n private constructor(jsonString: string) {\r\n const j = JSON.parse(jsonString) as AssessmentResult;\r\n Contracts.throwIfNullOrUndefined(j.NBest[0], \"NBest\");\r\n this.privPronJson = j.NBest[0];\r\n }\r\n\r\n /**\r\n * @member PronunciationAssessmentResult.fromResult\r\n * @function\r\n * @public\r\n * @param {RecognitionResult} result The recognition result.\r\n * @return {PronunciationAssessmentConfig} Instance of PronunciationAssessmentConfig\r\n * @summary Creates an instance of the PronunciationAssessmentResult from recognition result.\r\n */\r\n public static fromResult(result: RecognitionResult): PronunciationAssessmentResult {\r\n Contracts.throwIfNullOrUndefined(result, \"result\");\r\n const json: string = result.properties.getProperty(PropertyId.SpeechServiceResponse_JsonResult);\r\n Contracts.throwIfNullOrUndefined(json, \"json\");\r\n return new PronunciationAssessmentResult(json);\r\n }\r\n\r\n /**\r\n * Gets the detail result of pronunciation assessment.\r\n * @member PronunciationAssessmentConfig.prototype.detailResult\r\n * @function\r\n * @public\r\n * @returns {DetailResult} detail result.\r\n */\r\n public get detailResult(): DetailResult {\r\n return this.privPronJson;\r\n }\r\n\r\n /**\r\n * The score indicating the pronunciation accuracy of the given speech, which indicates\r\n * how closely the phonemes match a native speaker's pronunciation.\r\n * @member PronunciationAssessmentResult.prototype.accuracyScore\r\n * @function\r\n * @public\r\n * @returns {number} Accuracy score.\r\n */\r\n public get accuracyScore(): number {\r\n return this.detailResult.PronunciationAssessment?.AccuracyScore;\r\n }\r\n\r\n /**\r\n * The overall score indicating the pronunciation quality of the given speech.\r\n * This is calculated from AccuracyScore, FluencyScore and CompletenessScore with weight.\r\n * @member PronunciationAssessmentResult.prototype.pronunciationScore\r\n * @function\r\n * @public\r\n * @returns {number} Pronunciation score.\r\n */\r\n public get pronunciationScore(): number {\r\n return this.detailResult.PronunciationAssessment?.PronScore;\r\n }\r\n\r\n /**\r\n * The score indicating the completeness of the given speech by calculating the ratio of pronounced words towards entire input.\r\n * @member PronunciationAssessmentResult.prototype.completenessScore\r\n * @function\r\n * @public\r\n * @returns {number} Completeness score.\r\n */\r\n public get completenessScore(): number {\r\n return this.detailResult.PronunciationAssessment?.CompletenessScore;\r\n }\r\n\r\n /**\r\n * The score indicating the fluency of the given speech.\r\n * @member PronunciationAssessmentResult.prototype.fluencyScore\r\n * @function\r\n * @public\r\n * @returns {number} Fluency score.\r\n */\r\n public get fluencyScore(): number {\r\n return this.detailResult.PronunciationAssessment?.FluencyScore;\r\n }\r\n\r\n /**\r\n * The prosody score, which indicates how nature of the given speech, including stress, intonation, speaking speed and rhythm.\r\n * @member PronunciationAssessmentResult.prototype.prosodyScore\r\n * @function\r\n * @public\r\n * @returns {number} Prosody score.\r\n */\r\n public get prosodyScore(): number {\r\n return this.detailResult.PronunciationAssessment?.ProsodyScore;\r\n }\r\n\r\n /**\r\n * The concent assessment result.\r\n * Only available when content assessment is enabled.\r\n * @member PronunciationAssessmentResult.prototype.contentAssessmentResult\r\n * @function\r\n * @public\r\n * @returns {ContentAssessmentResult} Content assessment result.\r\n */\r\n public get contentAssessmentResult(): ContentAssessmentResult {\r\n if (this.detailResult.ContentAssessment === undefined) {\r\n return undefined;\r\n }\r\n return new ContentAssessmentResult(this.detailResult);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyId } from \"./Exports.js\";\r\n\r\n/**\r\n * Represents collection of properties and their values.\r\n * @class PropertyCollection\r\n */\r\nexport class PropertyCollection {\r\n private privKeys: string[] = [] as string[];\r\n private privValues: string[] = [] as string[];\r\n\r\n /**\r\n * Returns the property value in type String.\r\n * Currently only String, int and bool are allowed.\r\n * If the name is not available, the specified defaultValue is returned.\r\n * @member PropertyCollection.prototype.getProperty\r\n * @function\r\n * @public\r\n * @param {string} key - The parameter name.\r\n * @param {string | number | boolean} def - The default value which is returned if the parameter\r\n * is not available in the collection.\r\n * @returns {string} value of the parameter.\r\n */\r\n public getProperty(key: PropertyId | string, def?: string | number | boolean): string {\r\n let keyToUse: string;\r\n\r\n if (typeof key === \"string\") {\r\n keyToUse = key;\r\n } else {\r\n keyToUse = PropertyId[key];\r\n }\r\n\r\n for (let n = 0; n < this.privKeys.length; n++) {\r\n if (this.privKeys[n] === keyToUse) {\r\n return this.privValues[n];\r\n }\r\n }\r\n\r\n if (def === undefined) {\r\n return undefined;\r\n }\r\n\r\n return String(def);\r\n }\r\n\r\n /**\r\n * Sets the String value of the parameter specified by name.\r\n * @member PropertyCollection.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {string} key - The parameter name.\r\n * @param {string} value - The value of the parameter.\r\n */\r\n public setProperty(key: string | PropertyId, value: string): void {\r\n let keyToUse: string;\r\n\r\n if (typeof key === \"string\") {\r\n keyToUse = key;\r\n } else {\r\n keyToUse = PropertyId[key];\r\n }\r\n\r\n for (let n = 0; n < this.privKeys.length; n++) {\r\n if (this.privKeys[n] === keyToUse) {\r\n this.privValues[n] = value;\r\n return;\r\n }\r\n }\r\n\r\n this.privKeys.push(keyToUse);\r\n this.privValues.push(value);\r\n }\r\n\r\n /**\r\n * Clones the collection.\r\n * @member PropertyCollection.prototype.clone\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} A copy of the collection.\r\n */\r\n public clone(): PropertyCollection {\r\n const clonedMap = new PropertyCollection();\r\n\r\n for (let n = 0; n < this.privKeys.length; n++) {\r\n clonedMap.privKeys.push(this.privKeys[n]);\r\n clonedMap.privValues.push(this.privValues[n]);\r\n }\r\n\r\n return clonedMap;\r\n }\r\n\r\n /**\r\n * Merges this set of properties into another, no overwrites.\r\n * @member PropertyCollection.prototype.mergeTo\r\n * @function\r\n * @public\r\n * @param {PropertyCollection} destinationCollection - The collection to merge into.\r\n */\r\n public mergeTo(destinationCollection: PropertyCollection): void {\r\n this.privKeys.forEach((key: string | PropertyId): void => {\r\n if (destinationCollection.getProperty(key, undefined) === undefined) {\r\n const value = this.getProperty(key);\r\n destinationCollection.setProperty(key, value);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get the keys in Property Collection.\r\n * @member PropertyCollection.prototype.keys\r\n * @function\r\n * @public\r\n * @returns {string []} Keys in the collection.\r\n */\r\n public get keys(): string[] {\r\n return this.privKeys;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines speech property ids.\r\n * @class PropertyId\r\n */\r\nexport enum PropertyId {\r\n\r\n /**\r\n * The Cognitive Services Speech Service subscription Key. If you are using an intent recognizer, you need to\r\n * specify the LUIS endpoint key for your particular LUIS app. Under normal circumstances, you shouldn't\r\n * have to use this property directly.\r\n * Instead, use [[SpeechConfig.fromSubscription]].\r\n * @member PropertyId.SpeechServiceConnection_Key\r\n */\r\n SpeechServiceConnection_Key = 0,\r\n\r\n /**\r\n * The Cognitive Services Speech Service endpoint (url). Under normal circumstances, you shouldn't\r\n * have to use this property directly.\r\n * Instead, use [[SpeechConfig.fromEndpoint]].\r\n * NOTE: This endpoint is not the same as the endpoint used to obtain an access token.\r\n * @member PropertyId.SpeechServiceConnection_Endpoint\r\n */\r\n SpeechServiceConnection_Endpoint,\r\n\r\n /**\r\n * The Cognitive Services Speech Service region. Under normal circumstances, you shouldn't have to\r\n * use this property directly.\r\n * Instead, use [[SpeechConfig.fromSubscription]], [[SpeechConfig.fromEndpoint]], [[SpeechConfig.fromAuthorizationToken]].\r\n * @member PropertyId.SpeechServiceConnection_Region\r\n */\r\n SpeechServiceConnection_Region,\r\n\r\n /**\r\n * The Cognitive Services Speech Service authorization token (aka access token). Under normal circumstances,\r\n * you shouldn't have to use this property directly.\r\n * Instead, use [[SpeechConfig.fromAuthorizationToken]], [[SpeechRecognizer.authorizationToken]],\r\n * [[IntentRecognizer.authorizationToken]], [[TranslationRecognizer.authorizationToken]], [[SpeakerRecognizer.authorizationToken]].\r\n * @member PropertyId.SpeechServiceAuthorization_Token\r\n */\r\n SpeechServiceAuthorization_Token,\r\n\r\n /**\r\n * The Cognitive Services Speech Service authorization type. Currently unused.\r\n * @member PropertyId.SpeechServiceAuthorization_Type\r\n */\r\n SpeechServiceAuthorization_Type,\r\n\r\n /**\r\n * The Cognitive Services Speech Service endpoint id. Under normal circumstances, you shouldn't\r\n * have to use this property directly.\r\n * Instead, use [[SpeechConfig.endpointId]].\r\n * NOTE: The endpoint id is available in the Speech Portal, listed under Endpoint Details.\r\n * @member PropertyId.SpeechServiceConnection_EndpointId\r\n */\r\n SpeechServiceConnection_EndpointId,\r\n\r\n /**\r\n * The list of comma separated languages (BCP-47 format) used as target translation languages. Under normal circumstances,\r\n * you shouldn't have to use this property directly.\r\n * Instead use [[SpeechTranslationConfig.addTargetLanguage]],\r\n * [[SpeechTranslationConfig.targetLanguages]], [[TranslationRecognizer.targetLanguages]].\r\n * @member PropertyId.SpeechServiceConnection_TranslationToLanguages\r\n */\r\n SpeechServiceConnection_TranslationToLanguages,\r\n\r\n /**\r\n * The name of the Cognitive Service Text to Speech Service Voice. Under normal circumstances, you shouldn't have to use this\r\n * property directly.\r\n * Instead, use [[SpeechTranslationConfig.voiceName]].\r\n * NOTE: Valid voice names can be found here.\r\n * @member PropertyId.SpeechServiceConnection_TranslationVoice\r\n */\r\n SpeechServiceConnection_TranslationVoice,\r\n\r\n /**\r\n * Translation features.\r\n * @member PropertyId.SpeechServiceConnection_TranslationFeatures\r\n */\r\n SpeechServiceConnection_TranslationFeatures,\r\n\r\n /**\r\n * The Language Understanding Service Region. Under normal circumstances, you shouldn't have to use this property directly.\r\n * Instead, use [[LanguageUnderstandingModel]].\r\n * @member PropertyId.SpeechServiceConnection_IntentRegion\r\n */\r\n SpeechServiceConnection_IntentRegion,\r\n\r\n /**\r\n * The host name of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\r\n * You shouldn't have to use this property directly.\r\n * Instead use .\r\n * Added in version 1.4.0.\r\n */\r\n SpeechServiceConnection_ProxyHostName,\r\n\r\n /**\r\n * The port of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\r\n * You shouldn't have to use this property directly.\r\n * Instead use .\r\n * Added in version 1.4.0.\r\n */\r\n SpeechServiceConnection_ProxyPort,\r\n\r\n /**\r\n * The user name of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\r\n * You shouldn't have to use this property directly.\r\n * Instead use .\r\n * Added in version 1.4.0.\r\n */\r\n SpeechServiceConnection_ProxyUserName,\r\n\r\n /**\r\n * The password of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\r\n * You shouldn't have to use this property directly.\r\n * Instead use .\r\n * Added in version 1.4.0.\r\n */\r\n SpeechServiceConnection_ProxyPassword,\r\n\r\n /**\r\n * The Cognitive Services Speech Service recognition Mode. Can be \"INTERACTIVE\", \"CONVERSATION\", \"DICTATION\".\r\n * This property is intended to be read-only. The SDK is using it internally.\r\n * @member PropertyId.SpeechServiceConnection_RecoMode\r\n */\r\n SpeechServiceConnection_RecoMode,\r\n\r\n /**\r\n * The spoken language to be recognized (in BCP-47 format). Under normal circumstances, you shouldn't have to use this property\r\n * directly.\r\n * Instead, use [[SpeechConfig.speechRecognitionLanguage]].\r\n * @member PropertyId.SpeechServiceConnection_RecoLanguage\r\n */\r\n SpeechServiceConnection_RecoLanguage,\r\n\r\n /**\r\n * The session id. This id is a universally unique identifier (aka UUID) representing a specific binding of an audio input stream\r\n * and the underlying speech recognition instance to which it is bound. Under normal circumstances, you shouldn't have to use this\r\n * property directly.\r\n * Instead use [[SessionEventArgs.sessionId]].\r\n * @member PropertyId.Speech_SessionId\r\n */\r\n Speech_SessionId,\r\n\r\n /**\r\n * The spoken language to be synthesized (e.g. en-US)\r\n * @member PropertyId.SpeechServiceConnection_SynthLanguage\r\n */\r\n SpeechServiceConnection_SynthLanguage,\r\n\r\n /**\r\n * The name of the TTS voice to be used for speech synthesis\r\n * @member PropertyId.SpeechServiceConnection_SynthVoice\r\n */\r\n SpeechServiceConnection_SynthVoice,\r\n\r\n /**\r\n * The string to specify TTS output audio format\r\n * @member PropertyId.SpeechServiceConnection_SynthOutputFormat\r\n */\r\n SpeechServiceConnection_SynthOutputFormat,\r\n\r\n /**\r\n * The list of comma separated languages used as possible source languages\r\n * Added in version 1.13.0\r\n * @member PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages\r\n */\r\n SpeechServiceConnection_AutoDetectSourceLanguages,\r\n\r\n /**\r\n * The requested Cognitive Services Speech Service response output format (simple or detailed). Under normal circumstances, you shouldn't have\r\n * to use this property directly.\r\n * Instead use [[SpeechConfig.outputFormat]].\r\n * @member PropertyId.SpeechServiceResponse_RequestDetailedResultTrueFalse\r\n */\r\n SpeechServiceResponse_RequestDetailedResultTrueFalse,\r\n\r\n /**\r\n * The requested Cognitive Services Speech Service response output profanity level. Currently unused.\r\n * @member PropertyId.SpeechServiceResponse_RequestProfanityFilterTrueFalse\r\n */\r\n SpeechServiceResponse_RequestProfanityFilterTrueFalse,\r\n\r\n /**\r\n * The Cognitive Services Speech Service response output (in JSON format). This property is available on recognition result objects only.\r\n * @member PropertyId.SpeechServiceResponse_JsonResult\r\n */\r\n SpeechServiceResponse_JsonResult,\r\n\r\n /**\r\n * The Cognitive Services Speech Service error details (in JSON format). Under normal circumstances, you shouldn't have to\r\n * use this property directly. Instead use [[CancellationDetails.errorDetails]].\r\n * @member PropertyId.SpeechServiceResponse_JsonErrorDetails\r\n */\r\n SpeechServiceResponse_JsonErrorDetails,\r\n\r\n /**\r\n * The cancellation reason. Currently unused.\r\n * @member PropertyId.CancellationDetails_Reason\r\n */\r\n CancellationDetails_Reason,\r\n\r\n /**\r\n * The cancellation text. Currently unused.\r\n * @member PropertyId.CancellationDetails_ReasonText\r\n */\r\n CancellationDetails_ReasonText,\r\n\r\n /**\r\n * The Cancellation detailed text. Currently unused.\r\n * @member PropertyId.CancellationDetails_ReasonDetailedText\r\n */\r\n CancellationDetails_ReasonDetailedText,\r\n\r\n /**\r\n * The Language Understanding Service response output (in JSON format). Available via [[IntentRecognitionResult]]\r\n * @member PropertyId.LanguageUnderstandingServiceResponse_JsonResult\r\n */\r\n LanguageUnderstandingServiceResponse_JsonResult,\r\n\r\n /**\r\n * The URL string built from speech configuration.\r\n * This property is intended to be read-only. The SDK is using it internally.\r\n * NOTE: Added in version 1.7.0.\r\n */\r\n SpeechServiceConnection_Url,\r\n\r\n /**\r\n * The initial silence timeout value (in milliseconds) used by the service.\r\n * Added in version 1.7.0\r\n */\r\n SpeechServiceConnection_InitialSilenceTimeoutMs,\r\n\r\n /**\r\n * The end silence timeout value (in milliseconds) used by the service.\r\n * Added in version 1.7.0\r\n */\r\n SpeechServiceConnection_EndSilenceTimeoutMs,\r\n\r\n /**\r\n * A duration of detected silence, measured in milliseconds, after which speech-to-text will determine a spoken\r\n * phrase has ended and generate a final Recognized result. Configuring this timeout may be helpful in situations\r\n * where spoken input is significantly faster or slower than usual and default segmentation behavior consistently\r\n * yields results that are too long or too short. Segmentation timeout values that are inappropriately high or low\r\n * can negatively affect speech-to-text accuracy; this property should be carefully configured and the resulting\r\n * behavior should be thoroughly validated as intended.\r\n *\r\n * For more information about timeout configuration that includes discussion of default behaviors, please visit\r\n * https://aka.ms/csspeech/timeouts.\r\n *\r\n * Added in version 1.21.0.\r\n */\r\n Speech_SegmentationSilenceTimeoutMs,\r\n\r\n /**\r\n * A boolean value specifying whether audio logging is enabled in the service or not.\r\n * Audio and content logs are stored either in Microsoft-owned storage, or in your own storage account linked\r\n * to your Cognitive Services subscription (Bring Your Own Storage (BYOS) enabled Speech resource).\r\n * The logs will be removed after 30 days.\r\n * Added in version 1.7.0\r\n */\r\n SpeechServiceConnection_EnableAudioLogging,\r\n\r\n /**\r\n * The speech service connection language identifier mode.\r\n * Can be \"AtStart\" (the default), or \"Continuous\". See Language\r\n * Identification document https://aka.ms/speech/lid?pivots=programming-language-javascript\r\n * for more details.\r\n * Added in 1.25.0\r\n **/\r\n SpeechServiceConnection_LanguageIdMode,\r\n\r\n /**\r\n * A string value representing the desired endpoint version to target for Speech Recognition.\r\n * Added in version 1.21.0\r\n */\r\n SpeechServiceConnection_RecognitionEndpointVersion,\r\n\r\n /**\r\n /**\r\n * A string value the current speaker recognition scenario/mode (TextIndependentIdentification, etc.).\r\n * Added in version 1.23.0\r\n */\r\n SpeechServiceConnection_SpeakerIdMode,\r\n\r\n /**\r\n * The requested Cognitive Services Speech Service response output profanity setting.\r\n * Allowed values are \"masked\", \"removed\", and \"raw\".\r\n * Added in version 1.7.0.\r\n */\r\n SpeechServiceResponse_ProfanityOption,\r\n\r\n /**\r\n * A string value specifying which post processing option should be used by service.\r\n * Allowed values are \"TrueText\".\r\n * Added in version 1.7.0\r\n */\r\n SpeechServiceResponse_PostProcessingOption,\r\n\r\n /**\r\n * A boolean value specifying whether to include word-level timestamps in the response result.\r\n * Added in version 1.7.0\r\n */\r\n SpeechServiceResponse_RequestWordLevelTimestamps,\r\n\r\n /**\r\n * The number of times a word has to be in partial results to be returned.\r\n * Added in version 1.7.0\r\n */\r\n SpeechServiceResponse_StablePartialResultThreshold,\r\n\r\n /**\r\n * A string value specifying the output format option in the response result. Internal use only.\r\n * Added in version 1.7.0.\r\n */\r\n SpeechServiceResponse_OutputFormatOption,\r\n\r\n /**\r\n * A boolean value to request for stabilizing translation partial results by omitting words in the end.\r\n * Added in version 1.7.0.\r\n */\r\n SpeechServiceResponse_TranslationRequestStablePartialResult,\r\n\r\n /**\r\n * A boolean value specifying whether to request WordBoundary events.\r\n * @member PropertyId.SpeechServiceResponse_RequestWordBoundary\r\n * Added in version 1.21.0.\r\n */\r\n SpeechServiceResponse_RequestWordBoundary,\r\n\r\n /**\r\n * A boolean value specifying whether to request punctuation boundary in WordBoundary Events. Default is true.\r\n * @member PropertyId.SpeechServiceResponse_RequestPunctuationBoundary\r\n * Added in version 1.21.0.\r\n */\r\n SpeechServiceResponse_RequestPunctuationBoundary,\r\n\r\n /**\r\n * A boolean value specifying whether to request sentence boundary in WordBoundary Events. Default is false.\r\n * @member PropertyId.SpeechServiceResponse_RequestSentenceBoundary\r\n * Added in version 1.21.0.\r\n */\r\n SpeechServiceResponse_RequestSentenceBoundary,\r\n\r\n /**\r\n * Identifier used to connect to the backend service.\r\n * @member PropertyId.Conversation_ApplicationId\r\n */\r\n Conversation_ApplicationId,\r\n\r\n /**\r\n * Type of dialog backend to connect to.\r\n * @member PropertyId.Conversation_DialogType\r\n */\r\n Conversation_DialogType,\r\n\r\n /**\r\n * Silence timeout for listening\r\n * @member PropertyId.Conversation_Initial_Silence_Timeout\r\n */\r\n Conversation_Initial_Silence_Timeout,\r\n\r\n /**\r\n * From Id to add to speech recognition activities.\r\n * @member PropertyId.Conversation_From_Id\r\n */\r\n Conversation_From_Id,\r\n\r\n /**\r\n * ConversationId for the session.\r\n * @member PropertyId.Conversation_Conversation_Id\r\n */\r\n Conversation_Conversation_Id,\r\n\r\n /**\r\n * Comma separated list of custom voice deployment ids.\r\n * @member PropertyId.Conversation_Custom_Voice_Deployment_Ids\r\n */\r\n Conversation_Custom_Voice_Deployment_Ids,\r\n\r\n /**\r\n * Speech activity template, stamp properties from the template on the activity generated by the service for speech.\r\n * @member PropertyId.Conversation_Speech_Activity_Template\r\n * Added in version 1.10.0.\r\n */\r\n Conversation_Speech_Activity_Template,\r\n\r\n /**\r\n * Enables or disables the receipt of turn status messages as obtained on the turnStatusReceived event.\r\n * @member PropertyId.Conversation_Request_Bot_Status_Messages\r\n * Added in version 1.15.0.\r\n */\r\n Conversation_Request_Bot_Status_Messages,\r\n\r\n /**\r\n * Specifies the connection ID to be provided in the Agent configuration message, e.g. a Direct Line token for\r\n * channel authentication.\r\n * Added in version 1.15.1.\r\n */\r\n Conversation_Agent_Connection_Id,\r\n\r\n /**\r\n * The Cognitive Services Speech Service host (url). Under normal circumstances, you shouldn't have to use this property directly.\r\n * Instead, use [[SpeechConfig.fromHost]].\r\n */\r\n SpeechServiceConnection_Host,\r\n\r\n /**\r\n * Set the host for service calls to the Conversation Translator REST management and websocket calls.\r\n */\r\n ConversationTranslator_Host,\r\n\r\n /**\r\n * Optionally set the the host's display name.\r\n * Used when joining a conversation.\r\n */\r\n ConversationTranslator_Name,\r\n\r\n /**\r\n * Optionally set a value for the X-CorrelationId request header.\r\n * Used for troubleshooting errors in the server logs. It should be a valid guid.\r\n */\r\n ConversationTranslator_CorrelationId,\r\n\r\n /**\r\n * Set the conversation token to be sent to the speech service. This enables the\r\n * service to service call from the speech service to the Conversation Translator service for relaying\r\n * recognitions. For internal use.\r\n */\r\n ConversationTranslator_Token,\r\n\r\n /**\r\n * The reference text of the audio for pronunciation evaluation.\r\n * For this and the following pronunciation assessment parameters, see\r\n * https://docs.microsoft.com/azure/cognitive-services/speech-service/rest-speech-to-text#pronunciation-assessment-parameters for details.\r\n * Under normal circumstances, you shouldn't have to use this property directly.\r\n * Added in version 1.15.0\r\n */\r\n PronunciationAssessment_ReferenceText,\r\n\r\n /**\r\n * The point system for pronunciation score calibration (FivePoint or HundredMark).\r\n * Under normal circumstances, you shouldn't have to use this property directly.\r\n * Added in version 1.15.0\r\n */\r\n PronunciationAssessment_GradingSystem,\r\n\r\n /**\r\n * The pronunciation evaluation granularity (Phoneme, Word, or FullText).\r\n * Under normal circumstances, you shouldn't have to use this property directly.\r\n * Added in version 1.15.0\r\n */\r\n PronunciationAssessment_Granularity,\r\n\r\n /**\r\n * Defines if enable miscue calculation.\r\n * With this enabled, the pronounced words will be compared to the reference text,\r\n * and will be marked with omission/insertion based on the comparison. The default setting is False.\r\n * Under normal circumstances, you shouldn't have to use this property directly.\r\n * Added in version 1.15.0\r\n */\r\n PronunciationAssessment_EnableMiscue,\r\n\r\n /**\r\n * The json string of pronunciation assessment parameters\r\n * Under normal circumstances, you shouldn't have to use this property directly.\r\n * Added in version 1.15.0\r\n */\r\n PronunciationAssessment_Json,\r\n\r\n /**\r\n * Pronunciation assessment parameters.\r\n * This property is intended to be read-only. The SDK is using it internally.\r\n * Added in version 1.15.0\r\n */\r\n PronunciationAssessment_Params,\r\n\r\n /**\r\n * Version of Speaker Recognition API to use.\r\n * Added in version 1.18.0\r\n */\r\n SpeakerRecognition_Api_Version,\r\n\r\n /**\r\n * Specifies whether to allow load of data URL for web worker\r\n * Allowed values are \"off\" and \"on\". Default is \"on\".\r\n * Added in version 1.32.0\r\n */\r\n WebWorkerLoadType,\r\n\r\n /**\r\n * Talking avatar service WebRTC session description protocol.\r\n * This property is intended to be read-only. The SDK is using it internally.\r\n * Added in version 1.33.0\r\n */\r\n TalkingAvatarService_WebRTC_SDP,\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SessionEventArgs } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines payload for session events like Speech Start/End Detected\r\n * @class\r\n */\r\nexport class RecognitionEventArgs extends SessionEventArgs {\r\n private privOffset: number;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {number} offset - The offset.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(offset: number, sessionId?: string) {\r\n super(sessionId);\r\n\r\n this.privOffset = offset;\r\n }\r\n\r\n /**\r\n * Represents the message offset\r\n * @member RecognitionEventArgs.prototype.offset\r\n * @function\r\n * @public\r\n */\r\n public get offset(): number {\r\n return this.privOffset;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection, ResultReason } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines result of speech recognition.\r\n * @class RecognitionResult\r\n */\r\nexport class RecognitionResult {\r\n private privResultId: string;\r\n private privReason: ResultReason;\r\n private privText: string;\r\n private privDuration: number;\r\n private privOffset: number;\r\n private privLanguage: string;\r\n private privLanguageDetectionConfidence: string;\r\n private privErrorDetails: string;\r\n private privJson: string;\r\n private privProperties: PropertyCollection;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {string} text - The recognized text.\r\n * @param {number} duration - The duration.\r\n * @param {number} offset - The offset into the stream.\r\n * @param {string} language - Primary Language detected, if provided.\r\n * @param {string} languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {string} json - Additional Json, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n */\r\n public constructor(resultId?: string, reason?: ResultReason, text?: string, duration?: number,\r\n offset?: number, language?: string, languageDetectionConfidence?: string, errorDetails?: string, json?: string, properties?: PropertyCollection) {\r\n this.privResultId = resultId;\r\n this.privReason = reason;\r\n this.privText = text;\r\n this.privDuration = duration;\r\n this.privOffset = offset;\r\n this.privLanguage = language;\r\n this.privLanguageDetectionConfidence = languageDetectionConfidence;\r\n this.privErrorDetails = errorDetails;\r\n this.privJson = json;\r\n this.privProperties = properties;\r\n }\r\n\r\n /**\r\n * Specifies the result identifier.\r\n * @member RecognitionResult.prototype.resultId\r\n * @function\r\n * @public\r\n * @returns {string} Specifies the result identifier.\r\n */\r\n public get resultId(): string {\r\n return this.privResultId;\r\n }\r\n\r\n /**\r\n * Specifies status of the result.\r\n * @member RecognitionResult.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {ResultReason} Specifies status of the result.\r\n */\r\n public get reason(): ResultReason {\r\n return this.privReason;\r\n }\r\n\r\n /**\r\n * Presents the recognized text in the result.\r\n * @member RecognitionResult.prototype.text\r\n * @function\r\n * @public\r\n * @returns {string} Presents the recognized text in the result.\r\n */\r\n public get text(): string {\r\n return this.privText;\r\n }\r\n\r\n /**\r\n * Duration of recognized speech in 100 nano second increments.\r\n * @member RecognitionResult.prototype.duration\r\n * @function\r\n * @public\r\n * @returns {number} Duration of recognized speech in 100 nano second increments.\r\n */\r\n public get duration(): number {\r\n return this.privDuration;\r\n }\r\n\r\n /**\r\n * Offset of recognized speech in 100 nano second increments.\r\n * @member RecognitionResult.prototype.offset\r\n * @function\r\n * @public\r\n * @returns {number} Offset of recognized speech in 100 nano second increments.\r\n */\r\n public get offset(): number {\r\n return this.privOffset;\r\n }\r\n\r\n /**\r\n * Primary Language detected.\r\n * @member RecognitionResult.prototype.language\r\n * @function\r\n * @public\r\n * @returns {string} language detected.\r\n */\r\n public get language(): string {\r\n return this.privLanguage;\r\n }\r\n\r\n /**\r\n * Primary Language detection confidence (Unknown, Low, Medium, High).\r\n * @member RecognitionResult.prototype.languageDetectionConfidence\r\n * @function\r\n * @public\r\n * @returns {string} detection confidence strength.\r\n */\r\n public get languageDetectionConfidence(): string {\r\n return this.privLanguageDetectionConfidence;\r\n }\r\n\r\n /**\r\n * In case of an unsuccessful recognition, provides details of the occurred error.\r\n * @member RecognitionResult.prototype.errorDetails\r\n * @function\r\n * @public\r\n * @returns {string} a brief description of an error.\r\n */\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n\r\n /**\r\n * A string containing Json serialized recognition result as it was received from the service.\r\n * @member RecognitionResult.prototype.json\r\n * @function\r\n * @private\r\n * @returns {string} Json serialized representation of the result.\r\n */\r\n public get json(): string {\r\n return this.privJson;\r\n }\r\n\r\n /**\r\n * The set of properties exposed in the result.\r\n * @member RecognitionResult.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The set of properties exposed in the result.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CognitiveSubscriptionKeyAuthentication,\r\n CognitiveTokenAuthentication,\r\n Context,\r\n IAuthentication,\r\n IConnectionFactory,\r\n OS,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig,\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n Deferred,\r\n marshalPromiseToCallbacks\r\n} from \"../common/Exports.js\";\r\nimport {\r\n Contracts\r\n} from \"./Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n PropertyCollection,\r\n PropertyId,\r\n RecognitionEventArgs,\r\n SessionEventArgs,\r\n SpeechRecognitionResult,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines the base class Recognizer which mainly contains common event handlers.\r\n * @class Recognizer\r\n */\r\nexport abstract class Recognizer {\r\n private privDisposed: boolean;\r\n protected audioConfig: AudioConfig;\r\n protected privReco: ServiceRecognizerBase;\r\n protected privProperties: PropertyCollection;\r\n private privConnectionFactory: IConnectionFactory;\r\n\r\n /**\r\n * Creates and initializes an instance of a Recognizer\r\n * @constructor\r\n * @param {AudioConfig} audioInput - An optional audio input stream associated with the recognizer\r\n * @param {PropertyCollection} properties - A set of properties to set on the recognizer\r\n * @param {IConnectionFactory} connectionFactory - The factory class used to create a custom IConnection for the recognizer\r\n */\r\n protected constructor(audioConfig: AudioConfig, properties: PropertyCollection, connectionFactory: IConnectionFactory) {\r\n this.audioConfig = (audioConfig !== undefined) ? audioConfig : AudioConfig.fromDefaultMicrophoneInput();\r\n this.privDisposed = false;\r\n this.privProperties = properties.clone();\r\n this.privConnectionFactory = connectionFactory;\r\n this.implCommonRecognizerSetup();\r\n }\r\n\r\n /**\r\n * Defines event handler for session started events.\r\n * @member Recognizer.prototype.sessionStarted\r\n * @function\r\n * @public\r\n */\r\n public sessionStarted: (sender: Recognizer, event: SessionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for session stopped events.\r\n * @member Recognizer.prototype.sessionStopped\r\n * @function\r\n * @public\r\n */\r\n public sessionStopped: (sender: Recognizer, event: SessionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for speech started events.\r\n * @member Recognizer.prototype.speechStartDetected\r\n * @function\r\n * @public\r\n */\r\n public speechStartDetected: (sender: Recognizer, event: RecognitionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for speech stopped events.\r\n * @member Recognizer.prototype.speechEndDetected\r\n * @function\r\n * @public\r\n */\r\n public speechEndDetected: (sender: Recognizer, event: RecognitionEventArgs) => void;\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member Recognizer.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, errorCb?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\r\n }\r\n\r\n /**\r\n * @Internal\r\n * Internal data member to support fromRecognizer* pattern methods on other classes.\r\n * Do not use externally, object returned will change without warning or notice.\r\n */\r\n public get internalData(): object {\r\n return this.privReco;\r\n }\r\n\r\n /**\r\n * This method performs cleanup of resources.\r\n * The Boolean parameter disposing indicates whether the method is called\r\n * from Dispose (if disposing is true) or from the finalizer (if disposing is false).\r\n * Derived classes should override this method to dispose resource if needed.\r\n * @member Recognizer.prototype.dispose\r\n * @function\r\n * @public\r\n * @param {boolean} disposing - Flag to request disposal.\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposed) {\r\n return;\r\n }\r\n\r\n this.privDisposed = true;\r\n\r\n if (disposing) {\r\n if (this.privReco) {\r\n await this.privReco.audioSource.turnOff();\r\n await this.privReco.dispose();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * This method returns the current state of the telemetry setting.\r\n * @member Recognizer.prototype.telemetryEnabled\r\n * @function\r\n * @public\r\n * @returns true if the telemetry is enabled, false otherwise.\r\n */\r\n public static get telemetryEnabled(): boolean {\r\n return ServiceRecognizerBase.telemetryDataEnabled;\r\n }\r\n\r\n /**\r\n * This method globally enables or disables telemetry.\r\n * @member Recognizer.prototype.enableTelemetry\r\n * @function\r\n * @public\r\n * @param enabled - Global setting for telemetry collection.\r\n * If set to true, telemetry information like microphone errors,\r\n * recognition errors are collected and sent to Microsoft.\r\n * If set to false, no telemetry is sent to Microsoft.\r\n */\r\n public static enableTelemetry(enabled: boolean): void {\r\n ServiceRecognizerBase.telemetryDataEnabled = enabled;\r\n }\r\n\r\n //\r\n // ################################################################################################################\r\n // IMPLEMENTATION.\r\n // Move to independent class\r\n // ################################################################################################################\r\n //\r\n protected abstract createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig;\r\n\r\n // Creates the correct service recognizer for the type\r\n protected abstract createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase;\r\n\r\n // Does the generic recognizer setup that is common across all recognizer types.\r\n protected implCommonRecognizerSetup(): void {\r\n\r\n let osPlatform = (typeof window !== \"undefined\") ? \"Browser\" : \"Node\";\r\n let osName = \"unknown\";\r\n let osVersion = \"unknown\";\r\n\r\n if (typeof navigator !== \"undefined\") {\r\n osPlatform = osPlatform + \"/\" + navigator.platform;\r\n osName = navigator.userAgent;\r\n osVersion = navigator.appVersion;\r\n }\r\n\r\n const recognizerConfig = this.createRecognizerConfig(\r\n new SpeechServiceConfig(\r\n new Context(new OS(osPlatform, osName, osVersion))));\r\n\r\n this.privReco = this.createServiceRecognizer(\r\n Recognizer.getAuthFromProperties(this.privProperties),\r\n this.privConnectionFactory,\r\n this.audioConfig,\r\n recognizerConfig);\r\n }\r\n\r\n protected async recognizeOnceAsyncImpl(recognitionMode: RecognitionMode): Promise {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n const ret: Deferred = new Deferred();\r\n\r\n await this.implRecognizerStop();\r\n await this.privReco.recognize(recognitionMode, ret.resolve, ret.reject);\r\n const result: SpeechRecognitionResult = await ret.promise;\r\n await this.implRecognizerStop();\r\n\r\n return result;\r\n\r\n }\r\n\r\n protected async startContinuousRecognitionAsyncImpl(recognitionMode: RecognitionMode): Promise {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n\r\n await this.implRecognizerStop();\r\n await this.privReco.recognize(recognitionMode, undefined, undefined);\r\n }\r\n\r\n protected async stopContinuousRecognitionAsyncImpl(): Promise {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n await this.implRecognizerStop();\r\n }\r\n\r\n protected async implRecognizerStop(): Promise {\r\n if (this.privReco) {\r\n await this.privReco.stopRecognizing();\r\n }\r\n return;\r\n }\r\n\r\n protected static getAuthFromProperties(properties: PropertyCollection): IAuthentication {\r\n const subscriptionKey = properties.getProperty(PropertyId.SpeechServiceConnection_Key, undefined);\r\n const authentication = (subscriptionKey && subscriptionKey !== \"\") ?\r\n new CognitiveSubscriptionKeyAuthentication(subscriptionKey) :\r\n new CognitiveTokenAuthentication(\r\n (): Promise => {\r\n const authorizationToken = properties.getProperty(PropertyId.SpeechServiceAuthorization_Token, undefined);\r\n return Promise.resolve(authorizationToken);\r\n },\r\n (): Promise => {\r\n const authorizationToken = properties.getProperty(PropertyId.SpeechServiceAuthorization_Token, undefined);\r\n return Promise.resolve(authorizationToken);\r\n });\r\n\r\n return authentication;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the possible reasons a recognition result might be generated.\r\n * @class ResultReason\r\n */\r\nexport enum ResultReason {\r\n /**\r\n * Indicates speech could not be recognized. More details\r\n * can be found in the NoMatchDetails object.\r\n * @member ResultReason.NoMatch\r\n */\r\n NoMatch,\r\n\r\n /**\r\n * Indicates that the recognition was canceled. More details\r\n * can be found using the CancellationDetails object.\r\n * @member ResultReason.Canceled\r\n */\r\n Canceled,\r\n\r\n /**\r\n * Indicates the speech result contains hypothesis text.\r\n * @member ResultReason.RecognizedSpeech\r\n */\r\n RecognizingSpeech,\r\n\r\n /**\r\n * Indicates the speech result contains final text that has been recognized.\r\n * Speech Recognition is now complete for this phrase.\r\n * @member ResultReason.RecognizedSpeech\r\n */\r\n RecognizedSpeech,\r\n\r\n /**\r\n * Indicates the speech result contains a finalized acceptance of a provided keyword.\r\n * Speech recognition will continue unless otherwise configured.\r\n * @member ResultReason.RecognizedKeyword\r\n */\r\n RecognizedKeyword,\r\n\r\n /**\r\n * Indicates the intent result contains hypothesis text and intent.\r\n * @member ResultReason.RecognizingIntent\r\n */\r\n RecognizingIntent,\r\n\r\n /**\r\n * Indicates the intent result contains final text and intent.\r\n * Speech Recognition and Intent determination are now complete for this phrase.\r\n * @member ResultReason.RecognizedIntent\r\n */\r\n RecognizedIntent,\r\n\r\n /**\r\n * Indicates the translation result contains hypothesis text and its translation(s).\r\n * @member ResultReason.TranslatingSpeech\r\n */\r\n TranslatingSpeech,\r\n\r\n /**\r\n * Indicates the translation result contains final text and corresponding translation(s).\r\n * Speech Recognition and Translation are now complete for this phrase.\r\n * @member ResultReason.TranslatedSpeech\r\n */\r\n TranslatedSpeech,\r\n\r\n /**\r\n * Indicates the synthesized audio result contains a non-zero amount of audio data\r\n * @member ResultReason.SynthesizingAudio\r\n */\r\n SynthesizingAudio,\r\n\r\n /**\r\n * Indicates the synthesized audio is now complete for this phrase.\r\n * @member ResultReason.SynthesizingAudioCompleted\r\n */\r\n SynthesizingAudioCompleted,\r\n\r\n /**\r\n * Indicates the speech synthesis is now started\r\n * @member ResultReason.SynthesizingAudioStarted\r\n */\r\n SynthesizingAudioStarted,\r\n\r\n /**\r\n * Indicates the voice profile is being enrolled and customers need to send more audio to create a voice profile.\r\n * @member ResultReason.EnrollingVoiceProfile\r\n */\r\n EnrollingVoiceProfile,\r\n\r\n /**\r\n * Indicates the voice profile has been enrolled.\r\n * @member ResultReason.EnrolledVoiceProfile\r\n */\r\n EnrolledVoiceProfile,\r\n\r\n /**\r\n * Indicates successful identification of some speakers.\r\n * @member ResultReason.RecognizedSpeakers\r\n */\r\n RecognizedSpeakers,\r\n\r\n /**\r\n * Indicates successfully verified one speaker.\r\n * @member ResultReason.RecognizedSpeaker\r\n */\r\n RecognizedSpeaker,\r\n\r\n /**\r\n * Indicates a voice profile has been reset successfully.\r\n * @member ResultReason.ResetVoiceProfile\r\n */\r\n ResetVoiceProfile,\r\n\r\n /**\r\n * Indicates a voice profile has been deleted successfully.\r\n * @member ResultReason.DeletedVoiceProfile\r\n */\r\n DeletedVoiceProfile,\r\n\r\n /**\r\n * Indicates synthesis voices list has been successfully retrieved.\r\n * @member ResultReason.VoicesListRetrieved\r\n */\r\n VoicesListRetrieved,\r\n\r\n /**\r\n * Indicates the transcription result contains hypothesis text and its translation(s) for\r\n * other participants in the conversation.\r\n * @member ResultReason.TranslatingParticipantSpeech\r\n */\r\n TranslatingParticipantSpeech,\r\n\r\n /**\r\n * Indicates the transcription result contains final text and corresponding translation(s)\r\n * for other participants in the conversation. Speech Recognition and Translation are now\r\n * complete for this phrase.\r\n * @member ResultReason.TranslatedParticipantSpeech\r\n */\r\n TranslatedParticipantSpeech,\r\n\r\n /**\r\n * \r\n * Indicates the transcription result contains the instant message and corresponding\r\n * translation(s).\r\n * @member ResultReason.TranslatedInstantMessage\r\n */\r\n TranslatedInstantMessage,\r\n\r\n /**\r\n * Indicates the transcription result contains the instant message for other participants\r\n * in the conversation and corresponding translation(s).\r\n * @member ResultReason.TranslatedParticipantInstantMessage\r\n */\r\n TranslatedParticipantInstantMessage,\r\n}\r\n","//\r\n// Copyright (c) Microsoft. All rights reserved.\r\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\r\n//\r\n\r\nimport { SessionEventArgs } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines payload for any Service message event\r\n * Added in version 1.9.0\r\n */\r\n\r\nexport class ServiceEventArgs extends SessionEventArgs {\r\n private privJsonResult: string;\r\n private privEventName: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} json - json payload of the USP message.\r\n */\r\n public constructor(json: string, name: string, sessionId?: string) {\r\n super(sessionId);\r\n this.privJsonResult = json;\r\n this.privEventName = name;\r\n }\r\n\r\n public get jsonString(): string {\r\n return this.privJsonResult;\r\n }\r\n\r\n public get eventName(): string {\r\n return this.privEventName;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines channels used to pass property settings to service.\r\n * Added in version 1.7.0.\r\n */\r\nexport enum ServicePropertyChannel {\r\n /**\r\n * Uses URI query parameter to pass property settings to service.\r\n */\r\n UriQueryParameter = 0.\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines content for session events like SessionStarted/Stopped, SoundStarted/Stopped.\r\n * @class SessionEventArgs\r\n */\r\nexport class SessionEventArgs {\r\n private privSessionId: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(sessionId: string) {\r\n this.privSessionId = sessionId;\r\n }\r\n\r\n /**\r\n * Represents the session identifier.\r\n * @member SessionEventArgs.prototype.sessionId\r\n * @function\r\n * @public\r\n * @returns {string} Represents the session identifier.\r\n */\r\n public get sessionId(): string {\r\n return this.privSessionId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\n\r\n/**\r\n * Source Language configuration.\r\n * @class SourceLanguageConfig\r\n */\r\nexport class SourceLanguageConfig {\r\n private privLanguage: string;\r\n private privEndpointId: string;\r\n\r\n private constructor(language: string, endpointId?: string) {\r\n Contracts.throwIfNullOrUndefined(language, \"language\");\r\n this.privLanguage = language;\r\n this.privEndpointId = endpointId;\r\n }\r\n\r\n /**\r\n * @member SourceLanguageConfig.fromLanguage\r\n * @function\r\n * @public\r\n * @param {string} language language (eg. \"en-US\") value of config.\r\n * @param {string?} endpointId endpointId of model bound to given language of config.\r\n * @return {SourceLanguageConfig} Instance of SourceLanguageConfig\r\n * @summary Creates an instance of the SourceLanguageConfig with the given language and optional endpointId.\r\n * Added in version 1.13.0.\r\n */\r\n public static fromLanguage(language: string, endpointId?: string): SourceLanguageConfig {\r\n return new SourceLanguageConfig(language, endpointId);\r\n }\r\n\r\n public get language(): string {\r\n return this.privLanguage;\r\n }\r\n\r\n public get endpointId(): string {\r\n return this.privEndpointId;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { SpeakerRecognitionModel } from \"./SpeakerRecognitionModel.js\";\r\nimport {\r\n VoiceProfile,\r\n VoiceProfileType,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines SpeakerIdentificationModel class for Speaker Recognition\r\n * Model contains a set of profiles against which to identify speaker(s)\r\n * @class SpeakerIdentificationModel\r\n */\r\nexport class SpeakerIdentificationModel implements SpeakerRecognitionModel {\r\n private privVoiceProfiles: VoiceProfile[] = [];\r\n private privProfileIds: string[] = [];\r\n\r\n private constructor(profiles: VoiceProfile[]) {\r\n Contracts.throwIfNullOrUndefined(profiles, \"VoiceProfiles\");\r\n if (profiles.length === 0) {\r\n throw new Error(\"Empty Voice Profiles array\");\r\n }\r\n for (const profile of profiles) {\r\n if (profile.profileType !== VoiceProfileType.TextIndependentIdentification) {\r\n throw new Error(\"Identification model can only be created from Identification profile: \" + profile.profileId);\r\n }\r\n this.privVoiceProfiles.push(profile);\r\n this.privProfileIds.push(profile.profileId);\r\n }\r\n }\r\n public static fromProfiles(profiles: VoiceProfile[]): SpeakerIdentificationModel {\r\n return new SpeakerIdentificationModel(profiles);\r\n }\r\n\r\n public get voiceProfileIds(): string {\r\n return this.privProfileIds.join(\",\");\r\n }\r\n\r\n public get profileIds(): string[] {\r\n return this.privProfileIds;\r\n }\r\n\r\n public get scenario(): string {\r\n return \"TextIndependentIdentification\";\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { CancellationErrorCodePropertyName, SpeakerResponse } from \"../common.speech/Exports.js\";\r\nimport {\r\n CancellationDetailsBase,\r\n CancellationErrorCode,\r\n CancellationReason,\r\n PropertyCollection,\r\n PropertyId,\r\n ResultReason,\r\n} from \"./Exports.js\";\r\n\r\nexport enum SpeakerRecognitionResultType {\r\n Verify,\r\n Identify\r\n}\r\n\r\n/**\r\n * Output format\r\n * @class SpeakerRecognitionResult\r\n */\r\nexport class SpeakerRecognitionResult {\r\n private privReason: ResultReason;\r\n private privProperties: PropertyCollection;\r\n private privProfileId: string;\r\n private privScore: number;\r\n private privErrorDetails: string;\r\n\r\n public constructor(response: SpeakerResponse, resultReason: ResultReason = ResultReason.RecognizedSpeaker, cancellationErrorCode: CancellationErrorCode = CancellationErrorCode.NoError, errorDetails: string = \"\") {\r\n this.privProperties = new PropertyCollection();\r\n const resultType = response.scenario === \"TextIndependentIdentification\" ? SpeakerRecognitionResultType.Identify : SpeakerRecognitionResultType.Verify;\r\n this.privReason = resultReason;\r\n if (this.privReason !== ResultReason.Canceled) {\r\n if (resultType === SpeakerRecognitionResultType.Identify) {\r\n this.privProfileId = response.identificationResult.identifiedProfile.profileId;\r\n this.privScore = response.identificationResult.identifiedProfile.score;\r\n this.privReason = ResultReason.RecognizedSpeakers;\r\n } else {\r\n this.privScore = response.verificationResult.score;\r\n if (response.verificationResult.recognitionResult.toLowerCase() !== \"accept\") {\r\n this.privReason = ResultReason.NoMatch;\r\n }\r\n if (response.verificationResult.profileId !== undefined && response.verificationResult.profileId !== \"\") {\r\n this.privProfileId = response.verificationResult.profileId;\r\n }\r\n }\r\n } else {\r\n this.privErrorDetails = errorDetails;\r\n this.privProperties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[cancellationErrorCode]);\r\n }\r\n this.privProperties.setProperty(PropertyId.SpeechServiceResponse_JsonResult, JSON.stringify(response));\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public get reason(): ResultReason {\r\n return this.privReason;\r\n }\r\n\r\n public get profileId(): string {\r\n return this.privProfileId;\r\n }\r\n\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n\r\n public get score(): number {\r\n return this.privScore;\r\n }\r\n}\r\n\r\n/**\r\n * @class SpeakerRecognitionCancellationDetails\r\n */\r\nexport class SpeakerRecognitionCancellationDetails extends CancellationDetailsBase {\r\n\r\n private constructor(reason: CancellationReason, errorDetails: string, errorCode: CancellationErrorCode) {\r\n super(reason, errorDetails, errorCode);\r\n }\r\n\r\n /**\r\n * Creates an instance of SpeakerRecognitionCancellationDetails object for the canceled SpeakerRecognitionResult\r\n * @member SpeakerRecognitionCancellationDetails.fromResult\r\n * @function\r\n * @public\r\n * @param {SpeakerRecognitionResult} result - The result that was canceled.\r\n * @returns {SpeakerRecognitionCancellationDetails} The cancellation details object being created.\r\n */\r\n public static fromResult(result: SpeakerRecognitionResult): SpeakerRecognitionCancellationDetails {\r\n const reason = CancellationReason.Error;\r\n let errorCode: CancellationErrorCode = CancellationErrorCode.NoError;\r\n\r\n if (!!result.properties) {\r\n errorCode = CancellationErrorCode[result.properties.getProperty(CancellationErrorCodePropertyName, CancellationErrorCode[CancellationErrorCode.NoError]) as keyof typeof CancellationErrorCode];\r\n }\r\n\r\n return new SpeakerRecognitionCancellationDetails(reason, result.errorDetails, errorCode);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeakerRecognitionConnectionFactory,\r\n SpeakerServiceRecognizer,\r\n SpeechServiceConfig\r\n} from \"../common.speech/Exports.js\";\r\nimport { SpeakerRecognitionModel } from \"./SpeakerRecognitionModel.js\";\r\nimport { AudioConfig, AudioConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n SpeakerIdentificationModel,\r\n SpeakerRecognitionResult,\r\n SpeakerVerificationModel,\r\n} from \"./Exports.js\";\r\nimport { SpeechConfig, SpeechConfigImpl } from \"./SpeechConfig.js\";\r\n\r\n/**\r\n * Defines SpeakerRecognizer class for Speaker Recognition\r\n * Handles operations from user for Voice Profile operations (e.g. createProfile, deleteProfile)\r\n * @class SpeakerRecognizer\r\n */\r\nexport class SpeakerRecognizer extends Recognizer {\r\n protected privProperties: PropertyCollection;\r\n private privDisposedSpeakerRecognizer: boolean;\r\n private privAudioConfigImpl: AudioConfigImpl;\r\n /**\r\n * Initializes an instance of the SpeakerRecognizer.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - The set of configuration properties.\r\n * @param {AudioConfig} audioConfig - An optional audio input config associated with the recognizer\r\n */\r\n public constructor(speechConfig: SpeechConfig, audioConfig: AudioConfig) {\r\n Contracts.throwIfNullOrUndefined(speechConfig, \"speechConfig\");\r\n const configImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n Contracts.throwIfNullOrUndefined(configImpl, \"speechConfig\");\r\n\r\n super(audioConfig, configImpl.properties, new SpeakerRecognitionConnectionFactory());\r\n this.privAudioConfigImpl = audioConfig as AudioConfigImpl;\r\n Contracts.throwIfNull(this.privAudioConfigImpl, \"audioConfig\");\r\n\r\n this.privDisposedSpeakerRecognizer = false;\r\n this.privProperties = configImpl.properties;\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member SpeakerRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member SpeakerRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this SpeakerRecognizer.\r\n * @member SpeakerRecognizer.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeakerRecognizer.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Get recognition result for model using given audio\r\n * @member SpeakerRecognizer.prototype.recognizeOnceAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {SpeakerIdentificationModel | SpeakerVerificationModel} model Model containing Voice Profiles to be identified\r\n * @param cb - Callback invoked once result is returned.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public async recognizeOnceAsync(model: SpeakerIdentificationModel | SpeakerVerificationModel): Promise {\r\n Contracts.throwIfDisposed(this.privDisposedSpeakerRecognizer);\r\n\r\n return this.recognizeSpeakerOnceAsyncImpl(model);\r\n }\r\n\r\n /**\r\n * Included for compatibility\r\n * @member SpeakerRecognizer.prototype.close\r\n * @function\r\n * @public\r\n * @async\r\n */\r\n public async close(): Promise {\r\n Contracts.throwIfDisposed(this.privDisposedSpeakerRecognizer);\r\n await this.dispose(true);\r\n }\r\n\r\n protected async recognizeSpeakerOnceAsyncImpl(model: SpeakerRecognitionModel): Promise {\r\n Contracts.throwIfDisposed(this.privDisposedSpeakerRecognizer);\r\n\r\n await this.implRecognizerStop();\r\n const result: SpeakerRecognitionResult = await this.privReco.recognizeSpeaker(model);\r\n await this.implRecognizerStop();\r\n\r\n return result;\r\n }\r\n\r\n protected async implRecognizerStop(): Promise {\r\n if (this.privReco) {\r\n await this.privReco.stopRecognizing();\r\n }\r\n return;\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n protected createServiceRecognizer(authentication: IAuthentication, connectionFactory: IConnectionFactory, audioConfig: AudioConfig, recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n const audioImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n return new SpeakerServiceRecognizer(authentication, connectionFactory, audioImpl, recognizerConfig, this);\r\n }\r\n\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedSpeakerRecognizer) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n this.privDisposedSpeakerRecognizer = true;\r\n await super.dispose(disposing);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { SpeakerRecognitionModel } from \"./SpeakerRecognitionModel.js\";\r\nimport {\r\n VoiceProfile,\r\n VoiceProfileType,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines SpeakerVerificationModel class for Speaker Recognition\r\n * Model contains a profile against which to verify a speaker\r\n * @class SpeakerVerificationModel\r\n */\r\nexport class SpeakerVerificationModel implements SpeakerRecognitionModel {\r\n private privVoiceProfile: VoiceProfile;\r\n\r\n private constructor(profile: VoiceProfile) {\r\n Contracts.throwIfNullOrUndefined(profile, \"VoiceProfile\");\r\n if (profile.profileType === VoiceProfileType.TextIndependentIdentification) {\r\n throw new Error(\"Verification model cannot be created from Identification profile\");\r\n }\r\n this.privVoiceProfile = profile;\r\n }\r\n\r\n public static fromProfile(profile: VoiceProfile): SpeakerVerificationModel {\r\n return new SpeakerVerificationModel(profile);\r\n }\r\n\r\n public get voiceProfile(): VoiceProfile {\r\n return this.privVoiceProfile;\r\n }\r\n\r\n public get profileIds(): string[] {\r\n return [ this.voiceProfile.profileId ];\r\n }\r\n\r\n public get scenario(): string {\r\n if (this.voiceProfile.profileType === VoiceProfileType.TextDependentVerification) {\r\n return \"TextDependentVerification\";\r\n } else {\r\n return \"TextIndependentVerification\";\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n ForceDictationPropertyName,\r\n OutputFormatPropertyName,\r\n ServicePropertiesPropertyName\r\n} from \"../common.speech/Exports.js\";\r\nimport {IStringDictionary} from \"../common/Exports.js\";\r\nimport {Contracts} from \"./Contracts.js\";\r\nimport {\r\n OutputFormat,\r\n ProfanityOption,\r\n PropertyCollection,\r\n PropertyId,\r\n ServicePropertyChannel,\r\n SpeechSynthesisOutputFormat,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Speech configuration.\r\n * @class SpeechConfig\r\n */\r\nexport abstract class SpeechConfig {\r\n /**\r\n * Creates and initializes an instance.\r\n * @constructor\r\n */\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n /**\r\n * Static instance of SpeechConfig returned by passing subscriptionKey and service region.\r\n * Note: Please use your LanguageUnderstanding subscription key in case you want to use the Intent recognizer.\r\n * @member SpeechConfig.fromSubscription\r\n * @function\r\n * @public\r\n * @param {string} subscriptionKey - The subscription key.\r\n * @param {string} region - The region name (see the region page).\r\n * @returns {SpeechConfig} The speech factory\r\n */\r\n public static fromSubscription(subscriptionKey: string, region: string): SpeechConfig {\r\n Contracts.throwIfNullOrWhitespace(subscriptionKey, \"subscriptionKey\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const speechImpl: SpeechConfigImpl = new SpeechConfigImpl();\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_IntentRegion, region);\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n\r\n return speechImpl;\r\n }\r\n\r\n /**\r\n * Creates an instance of the speech config with specified endpoint and subscription key.\r\n * This method is intended only for users who use a non-standard service endpoint or parameters.\r\n * Note: Please use your LanguageUnderstanding subscription key in case you want to use the Intent recognizer.\r\n * Note: The query parameters specified in the endpoint URL are not changed, even if they are set by any other APIs.\r\n * For example, if language is defined in the uri as query parameter \"language=de-DE\", and also set by\r\n * SpeechConfig.speechRecognitionLanguage = \"en-US\", the language setting in uri takes precedence,\r\n * and the effective language is \"de-DE\". Only the parameters that are not specified in the\r\n * endpoint URL can be set by other APIs.\r\n * Note: To use authorization token with fromEndpoint, pass an empty string to the subscriptionKey in the\r\n * fromEndpoint method, and then set authorizationToken=\"token\" on the created SpeechConfig instance to\r\n * use the authorization token.\r\n * @member SpeechConfig.fromEndpoint\r\n * @function\r\n * @public\r\n * @param {URL} endpoint - The service endpoint to connect to.\r\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization token must be set.\r\n * @returns {SpeechConfig} A speech factory instance.\r\n */\r\n public static fromEndpoint(endpoint: URL, subscriptionKey?: string): SpeechConfig {\r\n Contracts.throwIfNull(endpoint, \"endpoint\");\r\n\r\n const speechImpl: SpeechConfigImpl = new SpeechConfigImpl();\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Endpoint, endpoint.href);\r\n\r\n if (undefined !== subscriptionKey) {\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n }\r\n return speechImpl;\r\n }\r\n\r\n /**\r\n * Creates an instance of the speech config with specified host and subscription key.\r\n * This method is intended only for users who use a non-default service host. Standard resource path will be assumed.\r\n * For services with a non-standard resource path or no path at all, use fromEndpoint instead.\r\n * Note: Query parameters are not allowed in the host URI and must be set by other APIs.\r\n * Note: To use an authorization token with fromHost, use fromHost(URL),\r\n * and then set the AuthorizationToken property on the created SpeechConfig instance.\r\n * Note: Added in version 1.9.0.\r\n * @member SpeechConfig.fromHost\r\n * @function\r\n * @public\r\n * @param {URL} host - The service endpoint to connect to. Format is \"protocol://host:port\" where \":port\" is optional.\r\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization token must be set.\r\n * @returns {SpeechConfig} A speech factory instance.\r\n */\r\n public static fromHost(hostName: URL, subscriptionKey?: string): SpeechConfig {\r\n Contracts.throwIfNull(hostName, \"hostName\");\r\n\r\n const speechImpl: SpeechConfigImpl = new SpeechConfigImpl();\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Host, hostName.protocol + \"//\" + hostName.hostname + (hostName.port === \"\" ? \"\" : \":\" + hostName.port));\r\n\r\n if (undefined !== subscriptionKey) {\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n }\r\n return speechImpl;\r\n }\r\n\r\n /**\r\n * Creates an instance of the speech factory with specified initial authorization token and region.\r\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\r\n * expires, the caller needs to refresh it by calling this setter with a new valid token.\r\n * Note: Please use a token derived from your LanguageUnderstanding subscription key in case you want\r\n * to use the Intent recognizer. As configuration values are copied when creating a new recognizer,\r\n * the new token value will not apply to recognizers that have already been created. For recognizers\r\n * that have been created before, you need to set authorization token of the corresponding recognizer\r\n * to refresh the token. Otherwise, the recognizers will encounter errors during recognition.\r\n * @member SpeechConfig.fromAuthorizationToken\r\n * @function\r\n * @public\r\n * @param {string} authorizationToken - The initial authorization token.\r\n * @param {string} region - The region name (see the region page).\r\n * @returns {SpeechConfig} A speech factory instance.\r\n */\r\n public static fromAuthorizationToken(authorizationToken: string, region: string): SpeechConfig {\r\n Contracts.throwIfNull(authorizationToken, \"authorizationToken\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const speechImpl: SpeechConfigImpl = new SpeechConfigImpl();\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_IntentRegion, region);\r\n speechImpl.authorizationToken = authorizationToken;\r\n return speechImpl;\r\n }\r\n\r\n /**\r\n * Sets the proxy configuration.\r\n * Only relevant in Node.js environments.\r\n * Added in version 1.4.0.\r\n * @param proxyHostName The host name of the proxy server.\r\n * @param proxyPort The port number of the proxy server.\r\n */\r\n public abstract setProxy(proxyHostName: string, proxyPort: number): void;\r\n\r\n /**\r\n * Sets the proxy configuration.\r\n * Only relevant in Node.js environments.\r\n * Added in version 1.4.0.\r\n * @param proxyHostName The host name of the proxy server, without the protocol scheme (http://)\r\n * @param proxyPort The port number of the proxy server.\r\n * @param proxyUserName The username of the proxy server.\r\n * @param proxyPassword The password of the proxy server.\r\n */\r\n public abstract setProxy(proxyHostName: string, proxyPort: number, proxyUserName: string, proxyPassword: string): void;\r\n\r\n /**\r\n * Gets the authorization token.\r\n * @member SpeechConfig.prototype.authorizationToken\r\n * @function\r\n * @public\r\n */\r\n public abstract get authorizationToken(): string;\r\n\r\n /**\r\n * Gets/Sets the authorization token.\r\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\r\n * expires, the caller needs to refresh it by calling this setter with a new valid token.\r\n * @member SpeechConfig.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} value - The authorization token.\r\n */\r\n public abstract set authorizationToken(value: string);\r\n\r\n /**\r\n * Returns the configured language.\r\n * @member SpeechConfig.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n */\r\n public abstract get speechRecognitionLanguage(): string;\r\n\r\n /**\r\n * Gets/Sets the input language.\r\n * @member SpeechConfig.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The authorization token.\r\n */\r\n public abstract set speechRecognitionLanguage(value: string);\r\n\r\n /**\r\n * Sets an arbitrary property.\r\n * @member SpeechConfig.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {string | PropertyId} name - The name of the property to set.\r\n * @param {string} value - The new value of the property.\r\n */\r\n public abstract setProperty(name: string | PropertyId, value: string): void;\r\n\r\n /**\r\n * Returns the current value of an arbitrary property.\r\n * @member SpeechConfig.prototype.getProperty\r\n * @function\r\n * @public\r\n * @param {string} name - The name of the property to query.\r\n * @param {string} def - The value to return in case the property is not known.\r\n * @returns {string} The current value, or provided default, of the given property.\r\n */\r\n public abstract getProperty(name: string, def?: string): string;\r\n\r\n /**\r\n * Gets speech recognition output format (simple or detailed).\r\n * Note: This output format is for speech recognition result, use [SpeechConfig.speechSynthesisOutputFormat] to\r\n * get synthesized audio output format.\r\n * @member SpeechConfig.prototype.outputFormat\r\n * @function\r\n * @public\r\n * @returns {OutputFormat} Returns the output format.\r\n */\r\n public abstract get outputFormat(): OutputFormat;\r\n\r\n /**\r\n * Gets/Sets speech recognition output format (simple or detailed).\r\n * Note: This output format is for speech recognition result, use [SpeechConfig.speechSynthesisOutputFormat] to\r\n * set synthesized audio output format.\r\n * @member SpeechConfig.prototype.outputFormat\r\n * @function\r\n * @public\r\n */\r\n public abstract set outputFormat(format: OutputFormat);\r\n\r\n /**\r\n * Gets the endpoint ID of a customized speech model that is used for speech recognition.\r\n * @member SpeechConfig.prototype.endpointId\r\n * @function\r\n * @public\r\n * @return {string} The endpoint ID\r\n */\r\n public abstract get endpointId(): string;\r\n\r\n /**\r\n * Gets/Sets the endpoint ID of a customized speech model that is used for speech recognition.\r\n * @member SpeechConfig.prototype.endpointId\r\n * @function\r\n * @public\r\n * @param {string} value - The endpoint ID\r\n */\r\n public abstract set endpointId(value: string);\r\n\r\n /**\r\n * Closes the configuration.\r\n * @member SpeechConfig.prototype.close\r\n * @function\r\n * @public\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public close(): void { }\r\n\r\n /**\r\n * @member SpeechConfig.prototype.subscriptionKey\r\n * @function\r\n * @public\r\n * @return {string} The subscription key set on the config.\r\n */\r\n public abstract get subscriptionKey(): string;\r\n\r\n /**\r\n * @member SpeechConfig.prototype.region\r\n * @function\r\n * @public\r\n * @return {region} The region set on the config.\r\n */\r\n public abstract get region(): string;\r\n\r\n /**\r\n * Sets a property value that will be passed to service using the specified channel.\r\n * Added in version 1.7.0.\r\n * @member SpeechConfig.prototype.setServiceProperty\r\n * @function\r\n * @public\r\n * @param {name} The name of the property.\r\n * @param {value} Value to set.\r\n * @param {channel} The channel used to pass the specified property to service.\r\n */\r\n public abstract setServiceProperty(name: string, value: string, channel: ServicePropertyChannel): void;\r\n\r\n /**\r\n * Sets profanity option.\r\n * Added in version 1.7.0.\r\n * @member SpeechConfig.prototype.setProfanity\r\n * @function\r\n * @public\r\n * @param {profanity} Profanity option to set.\r\n */\r\n public abstract setProfanity(profanity: ProfanityOption): void;\r\n\r\n /**\r\n * Enable audio logging in service.\r\n * Audio and content logs are stored either in Microsoft-owned storage, or in your own storage account linked\r\n * to your Cognitive Services subscription (Bring Your Own Storage (BYOS) enabled Speech resource).\r\n * The logs will be removed after 30 days.\r\n * Added in version 1.7.0.\r\n * @member SpeechConfig.prototype.enableAudioLogging\r\n * @function\r\n * @public\r\n */\r\n public abstract enableAudioLogging(): void;\r\n\r\n /**\r\n * Includes word-level timestamps.\r\n * Added in version 1.7.0.\r\n * @member SpeechConfig.prototype.requestWordLevelTimestamps\r\n * @function\r\n * @public\r\n */\r\n public abstract requestWordLevelTimestamps(): void;\r\n\r\n /**\r\n * Enable dictation. Only supported in speech continuous recognition.\r\n * Added in version 1.7.0.\r\n * @member SpeechConfig.prototype.enableDictation\r\n * @function\r\n * @public\r\n */\r\n public abstract enableDictation(): void;\r\n\r\n /**\r\n * Gets the language of the speech synthesizer.\r\n * Added in version 1.11.0.\r\n * @member SpeechConfig.prototype.speechSynthesisLanguage\r\n * @function\r\n * @public\r\n * @returns {string} Returns the speech synthesis language.\r\n */\r\n public abstract get speechSynthesisLanguage(): string;\r\n\r\n /**\r\n * Sets the language of the speech synthesizer.\r\n * Added in version 1.11.0.\r\n * @member SpeechConfig.prototype.speechSynthesisLanguage\r\n * @function\r\n * @public\r\n */\r\n public abstract set speechSynthesisLanguage(language: string);\r\n\r\n /**\r\n * Gets the voice of the speech synthesizer.\r\n * Added in version 1.11.0.\r\n * @member SpeechConfig.prototype.speechSynthesisVoiceName\r\n * @function\r\n * @public\r\n * @returns {string} Returns the speech synthesis voice.\r\n */\r\n public abstract get speechSynthesisVoiceName(): string;\r\n\r\n /**\r\n * Sets the voice of the speech synthesizer. (see available voices).\r\n * Added in version 1.11.0.\r\n * @member SpeechConfig.prototype.speechSynthesisVoiceName\r\n * @function\r\n * @public\r\n */\r\n public abstract set speechSynthesisVoiceName(voice: string);\r\n\r\n /**\r\n * Gets the speech synthesis output format.\r\n * Added in version 1.11.0.\r\n * @member SpeechConfig.prototype.speechSynthesisOutputFormat\r\n * @function\r\n * @public\r\n * @returns {SpeechSynthesisOutputFormat} Returns the speech synthesis output format\r\n */\r\n public abstract get speechSynthesisOutputFormat(): SpeechSynthesisOutputFormat;\r\n\r\n /**\r\n * Sets the speech synthesis output format (e.g. Riff16Khz16BitMonoPcm).\r\n * The default format is Audio16Khz64KBitRateMonoMp3 for browser and Riff16Khz16BitMonoPcm for Node.JS.\r\n * Added in version 1.11.0.\r\n * @member SpeechConfig.prototype.speechSynthesisOutputFormat\r\n * @function\r\n * @public\r\n */\r\n public abstract set speechSynthesisOutputFormat(format: SpeechSynthesisOutputFormat);\r\n}\r\n\r\n/**\r\n * @public\r\n * @class SpeechConfigImpl\r\n */\r\nexport class SpeechConfigImpl extends SpeechConfig {\r\n\r\n private privProperties: PropertyCollection;\r\n\r\n public constructor() {\r\n super();\r\n this.privProperties = new PropertyCollection();\r\n this.speechRecognitionLanguage = \"en-US\"; // Should we have a default?\r\n this.outputFormat = OutputFormat.Simple;\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public get endPoint(): URL {\r\n return new URL(this.privProperties.getProperty(PropertyId.SpeechServiceConnection_Endpoint));\r\n }\r\n\r\n public get subscriptionKey(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_Key);\r\n }\r\n\r\n public get region(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_Region);\r\n }\r\n\r\n public get authorizationToken(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n public set authorizationToken(value: string) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceAuthorization_Token, value);\r\n }\r\n\r\n public get speechRecognitionLanguage(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n public set speechRecognitionLanguage(value: string) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_RecoLanguage, value);\r\n }\r\n\r\n public get autoDetectSourceLanguages(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages);\r\n }\r\n\r\n public set autoDetectSourceLanguages(value: string) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, value);\r\n }\r\n\r\n public get outputFormat(): OutputFormat {\r\n return OutputFormat[this.privProperties.getProperty(OutputFormatPropertyName, undefined) as keyof typeof OutputFormat];\r\n }\r\n\r\n public set outputFormat(value: OutputFormat) {\r\n this.privProperties.setProperty(OutputFormatPropertyName, OutputFormat[value]);\r\n }\r\n\r\n public get endpointId(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_EndpointId);\r\n }\r\n\r\n public set endpointId(value: string) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_EndpointId, value);\r\n }\r\n\r\n public setProperty(name: string | PropertyId, value: string): void {\r\n Contracts.throwIfNull(value, \"value\");\r\n\r\n this.privProperties.setProperty(name, value);\r\n }\r\n\r\n public getProperty(name: string | PropertyId, def?: string): string {\r\n\r\n return this.privProperties.getProperty(name, def);\r\n }\r\n\r\n public setProxy(proxyHostName: string, proxyPort: number): void;\r\n public setProxy(proxyHostName: string, proxyPort: number, proxyUserName: string, proxyPassword: string): void;\r\n public setProxy(proxyHostName: any, proxyPort: any, proxyUserName?: any, proxyPassword?: any): void {\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyHostName], proxyHostName as string);\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyPort], proxyPort as string);\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyUserName], proxyUserName as string);\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyPassword], proxyPassword as string);\r\n }\r\n\r\n public setServiceProperty(name: string, value: string): void {\r\n const currentProperties: IStringDictionary = JSON.parse(this.privProperties.getProperty(ServicePropertiesPropertyName, \"{}\")) as IStringDictionary;\r\n\r\n currentProperties[name] = value;\r\n\r\n this.privProperties.setProperty(ServicePropertiesPropertyName, JSON.stringify(currentProperties));\r\n }\r\n\r\n public setProfanity(profanity: ProfanityOption): void {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceResponse_ProfanityOption, ProfanityOption[profanity]);\r\n }\r\n\r\n public enableAudioLogging(): void {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging, \"true\");\r\n }\r\n public requestWordLevelTimestamps(): void {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, \"true\");\r\n }\r\n public enableDictation(): void {\r\n this.privProperties.setProperty(ForceDictationPropertyName, \"true\");\r\n }\r\n\r\n public clone(): SpeechConfigImpl {\r\n const ret: SpeechConfigImpl = new SpeechConfigImpl();\r\n ret.privProperties = this.privProperties.clone();\r\n return ret;\r\n }\r\n\r\n public get speechSynthesisLanguage(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_SynthLanguage);\r\n }\r\n\r\n public set speechSynthesisLanguage(language: string) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_SynthLanguage, language);\r\n }\r\n\r\n public get speechSynthesisVoiceName(): string {\r\n return this.privProperties.getProperty(PropertyId.SpeechServiceConnection_SynthVoice);\r\n }\r\n\r\n public set speechSynthesisVoiceName(voice: string) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_SynthVoice, voice);\r\n }\r\n\r\n public get speechSynthesisOutputFormat(): SpeechSynthesisOutputFormat {\r\n return SpeechSynthesisOutputFormat[this.privProperties.getProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined) as keyof typeof SpeechSynthesisOutputFormat];\r\n }\r\n\r\n public set speechSynthesisOutputFormat(format: SpeechSynthesisOutputFormat) {\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, SpeechSynthesisOutputFormat[format]);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n CancellationEventArgsBase,\r\n} from \"./CancellationEventArgsBase.js\";\r\n\r\nexport class SpeechRecognitionCanceledEventArgs extends CancellationEventArgsBase {\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { RecognitionEventArgs, SpeechRecognitionResult, ConversationTranscriptionResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines contents of speech recognizing/recognized event.\r\n * @class SpeechRecognitionEventArgs\r\n */\r\nexport class SpeechRecognitionEventArgs extends RecognitionEventArgs {\r\n private privResult: SpeechRecognitionResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {SpeechRecognitionResult} result - The speech recognition result.\r\n * @param {number} offset - The offset.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(result: SpeechRecognitionResult, offset?: number, sessionId?: string) {\r\n super(offset, sessionId);\r\n\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Specifies the recognition result.\r\n * @member SpeechRecognitionEventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {SpeechRecognitionResult} the recognition result.\r\n */\r\n public get result(): SpeechRecognitionResult {\r\n return this.privResult;\r\n }\r\n}\r\n\r\n/**\r\n * Defines contents of conversation transcribed/transcribing event.\r\n * @class ConversationTranscriptionEventArgs\r\n */\r\nexport class ConversationTranscriptionEventArgs extends RecognitionEventArgs {\r\n private privResult: ConversationTranscriptionResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {ConversationTranscriptionResult} result - The conversation transcription result.\r\n * @param {number} offset - The offset.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(result: ConversationTranscriptionResult, offset?: number, sessionId?: string) {\r\n super(offset, sessionId);\r\n\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Specifies the transcription result.\r\n * @member ConversationTranscription1EventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {ConversationTranscriptionResult} the recognition result.\r\n */\r\n public get result(): ConversationTranscriptionResult {\r\n return this.privResult;\r\n }\r\n}\r\n\r\n/**\r\n * Defines contents of meeting transcribed/transcribing event.\r\n * @class MeetingTranscriptionEventArgs\r\n */\r\nexport class MeetingTranscriptionEventArgs extends SpeechRecognitionEventArgs {\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection, RecognitionResult, ResultReason } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines result of speech recognition.\r\n * @class SpeechRecognitionResult\r\n */\r\nexport class SpeechRecognitionResult extends RecognitionResult {\r\n private readonly privSpeakerId: string;\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @public\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {string} text - The recognized text.\r\n * @param {number} duration - The duration.\r\n * @param {number} offset - The offset into the stream.\r\n * @param {string} language - Primary Language detected, if provided.\r\n * @param {string} languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\r\n * @param {string} speakerId - speaker id for conversation transcription, if provided.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {string} json - Additional Json, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n */\r\n public constructor(resultId?: string, reason?: ResultReason, text?: string,\r\n duration?: number, offset?: number, language?: string,\r\n languageDetectionConfidence?: string, speakerId?: string, errorDetails?: string,\r\n json?: string, properties?: PropertyCollection) {\r\n super(resultId, reason, text, duration, offset, language, languageDetectionConfidence, errorDetails, json, properties);\r\n this.privSpeakerId = speakerId;\r\n }\r\n\r\n /**\r\n * speaker id from conversation transcription/id scenarios\r\n * @member SpeechRecognitionResult.prototype.speakerId\r\n * @function\r\n * @public\r\n * @returns {string} id of speaker in given result\r\n */\r\n public get speakerId(): string {\r\n return this.privSpeakerId;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n OutputFormatPropertyName,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechConnectionFactory,\r\n SpeechServiceConfig,\r\n SpeechServiceRecognizer,\r\n} from \"../common.speech/Exports.js\";\r\nimport { marshalPromiseToCallbacks } from \"../common/Exports.js\";\r\nimport { AudioConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n AutoDetectSourceLanguageConfig,\r\n KeywordRecognitionModel,\r\n OutputFormat,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n SpeechRecognitionCanceledEventArgs,\r\n SpeechRecognitionEventArgs,\r\n SpeechRecognitionResult,\r\n} from \"./Exports.js\";\r\nimport { SpeechConfig, SpeechConfigImpl } from \"./SpeechConfig.js\";\r\n\r\n/**\r\n * Performs speech recognition from microphone, file, or other audio input streams, and gets transcribed text as result.\r\n * @class SpeechRecognizer\r\n */\r\nexport class SpeechRecognizer extends Recognizer {\r\n private privDisposedRecognizer: boolean;\r\n\r\n /**\r\n * SpeechRecognizer constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - an set of initial properties for this recognizer\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\r\n */\r\n public constructor(speechConfig: SpeechConfig, audioConfig?: AudioConfig) {\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\r\n\r\n Contracts.throwIfNullOrWhitespace(\r\n speechConfigImpl.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage),\r\n PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n\r\n super(audioConfig, speechConfigImpl.properties, new SpeechConnectionFactory());\r\n this.privDisposedRecognizer = false;\r\n }\r\n\r\n /**\r\n * SpeechRecognizer constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - an set of initial properties for this recognizer\r\n * @param {AutoDetectSourceLanguageConfig} autoDetectSourceLanguageConfig - An source language detection configuration associated with the recognizer\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\r\n */\r\n public static FromConfig(speechConfig: SpeechConfig, autoDetectSourceLanguageConfig: AutoDetectSourceLanguageConfig, audioConfig?: AudioConfig): SpeechRecognizer {\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n autoDetectSourceLanguageConfig.properties.mergeTo(speechConfigImpl.properties);\r\n const recognizer = new SpeechRecognizer(speechConfig, audioConfig);\r\n return recognizer;\r\n }\r\n\r\n /**\r\n * The event recognizing signals that an intermediate recognition result is received.\r\n * @member SpeechRecognizer.prototype.recognizing\r\n * @function\r\n * @public\r\n */\r\n public recognizing: (sender: Recognizer, event: SpeechRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event recognized signals that a final recognition result is received.\r\n * @member SpeechRecognizer.prototype.recognized\r\n * @function\r\n * @public\r\n */\r\n public recognized: (sender: Recognizer, event: SpeechRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event canceled signals that an error occurred during recognition.\r\n * @member SpeechRecognizer.prototype.canceled\r\n * @function\r\n * @public\r\n */\r\n public canceled: (sender: Recognizer, event: SpeechRecognitionCanceledEventArgs) => void;\r\n\r\n /**\r\n * Gets the endpoint id of a customized speech model that is used for speech recognition.\r\n * @member SpeechRecognizer.prototype.endpointId\r\n * @function\r\n * @public\r\n * @returns {string} the endpoint id of a customized speech model that is used for speech recognition.\r\n */\r\n public get endpointId(): string {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_EndpointId, \"00000000-0000-0000-0000-000000000000\");\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member SpeechRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member SpeechRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * Gets the spoken language of recognition.\r\n * @member SpeechRecognizer.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @returns {string} The spoken language of recognition.\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n /**\r\n * Gets the output format of recognition.\r\n * @member SpeechRecognizer.prototype.outputFormat\r\n * @function\r\n * @public\r\n * @returns {OutputFormat} The output format of recognition.\r\n */\r\n public get outputFormat(): OutputFormat {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n if (this.properties.getProperty(OutputFormatPropertyName, OutputFormat[OutputFormat.Simple]) === OutputFormat[OutputFormat.Simple]) {\r\n return OutputFormat.Simple;\r\n } else {\r\n return OutputFormat.Detailed;\r\n }\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this SpeechRecognizer.\r\n * @member SpeechRecognizer.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeechRecognizer.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Starts speech recognition, and stops after the first utterance is recognized.\r\n * The task returns the recognition text as result.\r\n * Note: RecognizeOnceAsync() returns when the first utterance has been recognized,\r\n * so it is suitable only for single shot recognition\r\n * like command or query. For long-running recognition, use StartContinuousRecognitionAsync() instead.\r\n * @member SpeechRecognizer.prototype.recognizeOnceAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback that received the SpeechRecognitionResult.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public recognizeOnceAsync(cb?: (e: SpeechRecognitionResult) => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.recognizeOnceAsyncImpl(RecognitionMode.Interactive), cb, err);\r\n }\r\n\r\n /**\r\n * Starts speech recognition, until stopContinuousRecognitionAsync() is called.\r\n * User must subscribe to events to receive recognition results.\r\n * @member SpeechRecognizer.prototype.startContinuousRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the recognition has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(RecognitionMode.Conversation), cb, err);\r\n }\r\n\r\n /**\r\n * Stops continuous speech recognition.\r\n * @member SpeechRecognizer.prototype.stopContinuousRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the recognition has stopped.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\r\n }\r\n\r\n /**\r\n * Starts speech recognition with keyword spotting, until\r\n * stopKeywordRecognitionAsync() is called.\r\n * User must subscribe to events to receive recognition results.\r\n * Note: Key word spotting functionality is only available on the\r\n * Speech Devices SDK. This functionality is currently not included in the SDK itself.\r\n * @member SpeechRecognizer.prototype.startKeywordRecognitionAsync\r\n * @function\r\n * @public\r\n * @param {KeywordRecognitionModel} model The keyword recognition model that\r\n * specifies the keyword to be recognized.\r\n * @param cb - Callback invoked once the recognition has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startKeywordRecognitionAsync(model: KeywordRecognitionModel, cb?: () => void, err?: (e: string) => void): void {\r\n Contracts.throwIfNull(model, \"model\");\r\n\r\n if (!!err) {\r\n err(\"Not yet implemented.\");\r\n }\r\n }\r\n\r\n /**\r\n * Stops continuous speech recognition.\r\n * Note: Key word spotting functionality is only available on the\r\n * Speech Devices SDK. This functionality is currently not included in the SDK itself.\r\n * @member SpeechRecognizer.prototype.stopKeywordRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the recognition has stopped.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopKeywordRecognitionAsync(cb?: () => void): void {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }\r\n\r\n /**\r\n * closes all external resources held by an instance of this class.\r\n * @member SpeechRecognizer.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, errorCb?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\r\n }\r\n\r\n /**\r\n * Disposes any resources held by the object.\r\n * @member SpeechRecognizer.prototype.dispose\r\n * @function\r\n * @public\r\n * @param {boolean} disposing - true if disposing the object.\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedRecognizer) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n this.privDisposedRecognizer = true;\r\n await this.implRecognizerStop();\r\n }\r\n\r\n await super.dispose(disposing);\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n protected createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n const configImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n return new SpeechServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines contents of speech synthesis bookmark event.\r\n * @class SpeechSynthesisBookmarkEventArgs\r\n * Added in version 1.16.0\r\n */\r\nexport class SpeechSynthesisBookmarkEventArgs {\r\n private privAudioOffset: number;\r\n private privText: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {number} audioOffset - The audio offset.\r\n * @param {string} text - The bookmark text.\r\n */\r\n public constructor(audioOffset: number, text: string) {\r\n this.privAudioOffset = audioOffset;\r\n this.privText = text;\r\n }\r\n\r\n /**\r\n * Specifies the audio offset.\r\n * @member SpeechSynthesisBookmarkEventArgs.prototype.audioOffset\r\n * @function\r\n * @public\r\n * @returns {number} the audio offset.\r\n */\r\n public get audioOffset(): number {\r\n return this.privAudioOffset;\r\n }\r\n\r\n /**\r\n * Specifies the bookmark.\r\n * @member SpeechSynthesisBookmarkEventArgs.prototype.text\r\n * @function\r\n * @public\r\n * @returns {string} the bookmark text.\r\n */\r\n public get text(): string {\r\n return this.privText;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines the boundary type of speech synthesis boundary event.\r\n * @class SpeechSynthesisBoundaryType\r\n * Added in version 1.21.0\r\n */\r\nexport enum SpeechSynthesisBoundaryType {\r\n /**\r\n * Indicates the boundary text is a word.\r\n * @member SpeechSynthesisBoundaryType.Word\r\n */\r\n Word = \"WordBoundary\",\r\n\r\n /**\r\n * Indicates the boundary text is a punctuation.\r\n * @member SpeechSynthesisBoundaryType.Punctuation\r\n */\r\n Punctuation = \"PunctuationBoundary\",\r\n\r\n /**\r\n * Indicates the boundary text is a sentence.\r\n * @member SpeechSynthesisBoundaryType.Sentence\r\n */\r\n Sentence = \"SentenceBoundary\"\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SpeechSynthesisResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines contents of speech synthesis events.\r\n * @class SpeechSynthesisEventArgs\r\n * Added in version 1.11.0\r\n */\r\nexport class SpeechSynthesisEventArgs {\r\n private readonly privResult: SpeechSynthesisResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {SpeechSynthesisResult} result - The speech synthesis result.\r\n */\r\n public constructor(result: SpeechSynthesisResult) {\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Specifies the synthesis result.\r\n * @member SpeechSynthesisEventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {SpeechSynthesisResult} the synthesis result.\r\n */\r\n public get result(): SpeechSynthesisResult {\r\n return this.privResult;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Define speech synthesis audio output formats.\r\n * @enum SpeechSynthesisOutputFormat\r\n * Updated in version 1.17.0\r\n */\r\nexport enum SpeechSynthesisOutputFormat {\r\n /**\r\n * raw-8khz-8bit-mono-mulaw\r\n * @member SpeechSynthesisOutputFormat.Raw8Khz8BitMonoMULaw,\r\n */\r\n Raw8Khz8BitMonoMULaw,\r\n\r\n /**\r\n * riff-16khz-16kbps-mono-siren\r\n * @note Unsupported by the service. Do not use this value.\r\n * @member SpeechSynthesisOutputFormat.Riff16Khz16KbpsMonoSiren\r\n */\r\n Riff16Khz16KbpsMonoSiren,\r\n\r\n /**\r\n * audio-16khz-16kbps-mono-siren\r\n * @note Unsupported by the service. Do not use this value.\r\n * @member SpeechSynthesisOutputFormat.Audio16Khz16KbpsMonoSiren\r\n */\r\n Audio16Khz16KbpsMonoSiren,\r\n\r\n /**\r\n * audio-16khz-32kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio16Khz32KBitRateMonoMp3\r\n */\r\n Audio16Khz32KBitRateMonoMp3,\r\n\r\n /**\r\n * audio-16khz-128kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio16Khz128KBitRateMonoMp3\r\n */\r\n Audio16Khz128KBitRateMonoMp3,\r\n\r\n /**\r\n * audio-16khz-64kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio16Khz64KBitRateMonoMp3\r\n */\r\n Audio16Khz64KBitRateMonoMp3,\r\n\r\n /**\r\n * audio-24khz-48kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio24Khz48KBitRateMonoMp3\r\n */\r\n Audio24Khz48KBitRateMonoMp3,\r\n\r\n /**\r\n * audio-24khz-96kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio24Khz96KBitRateMonoMp3\r\n */\r\n Audio24Khz96KBitRateMonoMp3,\r\n\r\n /**\r\n * audio-24khz-160kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio24Khz160KBitRateMonoMp3\r\n */\r\n Audio24Khz160KBitRateMonoMp3,\r\n\r\n /**\r\n * raw-16khz-16bit-mono-truesilk\r\n * @member SpeechSynthesisOutputFormat.Raw16Khz16BitMonoTrueSilk\r\n */\r\n Raw16Khz16BitMonoTrueSilk,\r\n\r\n /**\r\n * riff-16khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Riff16Khz16BitMonoPcm\r\n */\r\n Riff16Khz16BitMonoPcm,\r\n\r\n /**\r\n * riff-8khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Riff8Khz16BitMonoPcm\r\n */\r\n Riff8Khz16BitMonoPcm,\r\n\r\n /**\r\n * riff-24khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm\r\n */\r\n Riff24Khz16BitMonoPcm,\r\n\r\n /**\r\n * riff-8khz-8bit-mono-mulaw\r\n * @member SpeechSynthesisOutputFormat.Riff8Khz8BitMonoMULaw\r\n */\r\n Riff8Khz8BitMonoMULaw,\r\n\r\n /**\r\n * raw-16khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Raw16Khz16BitMonoPcm\r\n */\r\n Raw16Khz16BitMonoPcm,\r\n\r\n /**\r\n * raw-24khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Raw24Khz16BitMonoPcm\r\n */\r\n Raw24Khz16BitMonoPcm,\r\n\r\n /**\r\n * raw-8khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Raw8Khz16BitMonoPcm\r\n */\r\n Raw8Khz16BitMonoPcm,\r\n\r\n /**\r\n * ogg-16khz-16bit-mono-opus\r\n * @member SpeechSynthesisOutputFormat.Ogg16Khz16BitMonoOpus\r\n */\r\n Ogg16Khz16BitMonoOpus,\r\n\r\n /**\r\n * ogg-24khz-16bit-mono-opus\r\n * @member SpeechSynthesisOutputFormat.Ogg24Khz16BitMonoOpus\r\n */\r\n Ogg24Khz16BitMonoOpus,\r\n\r\n /**\r\n * raw-48khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Raw48Khz16BitMonoPcm\r\n */\r\n Raw48Khz16BitMonoPcm,\r\n\r\n /**\r\n * riff-48khz-16bit-mono-pcm\r\n * @member SpeechSynthesisOutputFormat.Riff48Khz16BitMonoPcm\r\n */\r\n\r\n Riff48Khz16BitMonoPcm,\r\n /**\r\n * audio-48khz-96kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio48Khz96KBitRateMonoMp3\r\n */\r\n Audio48Khz96KBitRateMonoMp3,\r\n\r\n /**\r\n * audio-48khz-192kbitrate-mono-mp3\r\n * @member SpeechSynthesisOutputFormat.Audio48Khz192KBitRateMonoMp3\r\n */\r\n Audio48Khz192KBitRateMonoMp3,\r\n\r\n /**\r\n * ogg-48khz-16bit-mono-opus\r\n * Added in version 1.16.0\r\n * @member SpeechSynthesisOutputFormat.Ogg48Khz16BitMonoOpus\r\n */\r\n Ogg48Khz16BitMonoOpus,\r\n\r\n /**\r\n * webm-16khz-16bit-mono-opus\r\n * Added in version 1.16.0\r\n * @member SpeechSynthesisOutputFormat.Webm16Khz16BitMonoOpus\r\n */\r\n Webm16Khz16BitMonoOpus,\r\n\r\n /**\r\n * webm-24khz-16bit-mono-opus\r\n * Added in version 1.16.0\r\n * @member SpeechSynthesisOutputFormat.Webm24Khz16BitMonoOpus\r\n */\r\n Webm24Khz16BitMonoOpus,\r\n\r\n /**\r\n * raw-24khz-16bit-mono-truesilk\r\n * Added in version 1.17.0\r\n * @member SpeechSynthesisOutputFormat.Raw24Khz16BitMonoTrueSilk\r\n */\r\n Raw24Khz16BitMonoTrueSilk,\r\n\r\n /**\r\n * raw-8khz-8bit-mono-alaw\r\n * Added in version 1.17.0\r\n * @member SpeechSynthesisOutputFormat.Raw8Khz8BitMonoALaw\r\n */\r\n Raw8Khz8BitMonoALaw,\r\n\r\n /**\r\n * riff-8khz-8bit-mono-alaw\r\n * Added in version 1.17.0\r\n * @member SpeechSynthesisOutputFormat.Riff8Khz8BitMonoALaw\r\n */\r\n Riff8Khz8BitMonoALaw,\r\n\r\n /**\r\n * webm-24khz-16bit-24kbps-mono-opus\r\n * Audio compressed by OPUS codec in a webm container, with bitrate of 24kbps, optimized for IoT scenario.\r\n * Added in version 1.19.0\r\n * @member SpeechSynthesisOutputFormat.Webm24Khz16Bit24KbpsMonoOpus\r\n */\r\n Webm24Khz16Bit24KbpsMonoOpus,\r\n\r\n /**\r\n * audio-16khz-16bit-32kbps-mono-opus\r\n * Audio compressed by OPUS codec without container, with bitrate of 32kbps.\r\n * Added in version 1.20.0\r\n * @member SpeechSynthesisOutputFormat.Audio16Khz16Bit32KbpsMonoOpus\r\n */\r\n Audio16Khz16Bit32KbpsMonoOpus,\r\n\r\n /**\r\n * audio-24khz-16bit-48kbps-mono-opus\r\n * Audio compressed by OPUS codec without container, with bitrate of 48kbps.\r\n * Added in version 1.20.0\r\n * @member SpeechSynthesisOutputFormat.Audio24Khz16Bit48KbpsMonoOpus\r\n */\r\n Audio24Khz16Bit48KbpsMonoOpus,\r\n\r\n /**\r\n * audio-24khz-16bit-24kbps-mono-opus\r\n * Audio compressed by OPUS codec without container, with bitrate of 24kbps.\r\n * Added in version 1.20.0\r\n * @member SpeechSynthesisOutputFormat.Audio24Khz16Bit24KbpsMonoOpus\r\n */\r\n Audio24Khz16Bit24KbpsMonoOpus,\r\n\r\n /**\r\n * raw-22050hz-16bit-mono-pcm\r\n * Raw PCM audio at 22050Hz sampling rate and 16-bit depth.\r\n * Added in version 1.22.0\r\n * @member SpeechSynthesisOutputFormat.Raw22050Hz16BitMonoPcm\r\n */\r\n Raw22050Hz16BitMonoPcm,\r\n\r\n /**\r\n * riff-22050hz-16bit-mono-pcm\r\n * PCM audio at 22050Hz sampling rate and 16-bit depth, with RIFF header.\r\n * Added in version 1.22.0\r\n * @member SpeechSynthesisOutputFormat.Riff22050Hz16BitMonoPcm\r\n */\r\n Riff22050Hz16BitMonoPcm,\r\n\r\n /**\r\n * raw-44100hz-16bit-mono-pcm\r\n * Raw PCM audio at 44100Hz sampling rate and 16-bit depth.\r\n * Added in version 1.22.0\r\n * @member SpeechSynthesisOutputFormat.Raw44100Hz16BitMonoPcm\r\n */\r\n Raw44100Hz16BitMonoPcm,\r\n\r\n /**\r\n * riff-44100hz-16bit-mono-pcm\r\n * PCM audio at 44100Hz sampling rate and 16-bit depth, with RIFF header.\r\n * Added in version 1.22.0\r\n * @member SpeechSynthesisOutputFormat.Riff44100Hz16BitMonoPcm\r\n */\r\n Riff44100Hz16BitMonoPcm\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n PropertyCollection,\r\n ResultReason,\r\n SynthesisResult\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines result of speech synthesis.\r\n * @class SpeechSynthesisResult\r\n * Added in version 1.11.0\r\n */\r\nexport class SpeechSynthesisResult extends SynthesisResult {\r\n private readonly privAudioData: ArrayBuffer;\r\n private readonly privAudioDuration: number;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {ArrayBuffer} audioData - The synthesized audio binary.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n * @param {number} audioDuration - The audio duration.\r\n */\r\n public constructor(resultId?: string, reason?: ResultReason, audioData?: ArrayBuffer,\r\n errorDetails?: string, properties?: PropertyCollection, audioDuration?: number) {\r\n super(resultId, reason, errorDetails, properties);\r\n this.privAudioData = audioData;\r\n this.privAudioDuration = audioDuration;\r\n }\r\n\r\n /**\r\n * The synthesized audio data\r\n * @member SpeechSynthesisResult.prototype.audioData\r\n * @function\r\n * @public\r\n * @returns {ArrayBuffer} The synthesized audio data.\r\n */\r\n public get audioData(): ArrayBuffer {\r\n return this.privAudioData;\r\n }\r\n\r\n /**\r\n * The time duration of synthesized audio, in ticks (100 nanoseconds).\r\n * @member SpeechSynthesisResult.prototype.audioDuration\r\n * @function\r\n * @public\r\n * @returns {number} The time duration of synthesized audio.\r\n */\r\n public get audioDuration(): number {\r\n return this.privAudioDuration;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Defines contents of speech synthesis viseme event.\r\n * @class SpeechSynthesisVisemeEventArgs\r\n * Added in version 1.16.0\r\n */\r\nexport class SpeechSynthesisVisemeEventArgs {\r\n private privAudioOffset: number;\r\n private privVisemeId: number;\r\n private privAnimation: string;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {number} audioOffset - The audio offset.\r\n * @param {number} visemeId - The viseme ID.\r\n * @param {string} animation - The animation, could be in svg or other format.\r\n */\r\n public constructor(audioOffset: number, visemeId: number, animation: string) {\r\n this.privAudioOffset = audioOffset;\r\n this.privVisemeId = visemeId;\r\n this.privAnimation = animation;\r\n }\r\n\r\n /**\r\n * Specifies the audio offset.\r\n * @member SpeechSynthesisVisemeEventArgs.prototype.audioOffset\r\n * @function\r\n * @public\r\n * @returns {number} the audio offset.\r\n */\r\n public get audioOffset(): number {\r\n return this.privAudioOffset;\r\n }\r\n\r\n /**\r\n * Specifies the viseme ID.\r\n * @member SpeechSynthesisVisemeEventArgs.prototype.visemeId\r\n * @function\r\n * @public\r\n * @returns {number} the viseme ID.\r\n */\r\n public get visemeId(): number {\r\n return this.privVisemeId;\r\n }\r\n\r\n /**\r\n * Specifies the animation.\r\n * @member SpeechSynthesisVisemeEventArgs.prototype.animation\r\n * @function\r\n * @public\r\n * @returns {string} the animation, could be in svg or other format.\r\n */\r\n public get animation(): string {\r\n return this.privAnimation;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SpeechSynthesisBoundaryType } from \"./SpeechSynthesisBoundaryType.js\";\r\n\r\n/**\r\n * Defines contents of speech synthesis word boundary event.\r\n * @class SpeechSynthesisWordBoundaryEventArgs\r\n * Added in version 1.11.0\r\n */\r\nexport class SpeechSynthesisWordBoundaryEventArgs {\r\n private readonly privAudioOffset: number;\r\n private readonly privDuration: number;\r\n private readonly privText: string;\r\n private readonly privWordLength: number;\r\n private readonly privTextOffset: number;\r\n private readonly privBoundaryType: SpeechSynthesisBoundaryType;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {number} audioOffset - The audio offset.\r\n * @param {number} duration - The audio duration.\r\n * @param {string} text - The text.\r\n * @param {number} wordLength - The length of the word.\r\n * @param {number} textOffset - The text offset.\r\n * @param {SpeechSynthesisBoundaryType} boundaryType - The boundary type\r\n */\r\n public constructor(audioOffset: number, duration: number, text: string, wordLength: number,\r\n textOffset: number, boundaryType: SpeechSynthesisBoundaryType) {\r\n this.privAudioOffset = audioOffset;\r\n this.privDuration = duration;\r\n this.privText = text;\r\n this.privWordLength = wordLength;\r\n this.privTextOffset = textOffset;\r\n this.privBoundaryType = boundaryType;\r\n }\r\n\r\n /**\r\n * Specifies the audio offset.\r\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.audioOffset\r\n * @function\r\n * @public\r\n * @returns {number} the audio offset.\r\n */\r\n public get audioOffset(): number {\r\n return this.privAudioOffset;\r\n }\r\n\r\n /**\r\n * Specifies the duration, in ticks (100 nanoseconds).\r\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.duration\r\n * @function\r\n * @public\r\n * @returns {number} Duration in 100 nanosecond increments.\r\n */\r\n public get duration(): number {\r\n return this.privDuration;\r\n }\r\n\r\n /**\r\n * Specifies the text of the word boundary event.\r\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.text\r\n * @function\r\n * @public\r\n * @returns {string} the text.\r\n */\r\n public get text(): string {\r\n return this.privText;\r\n }\r\n\r\n /**\r\n * Specifies the word length\r\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.wordLength\r\n * @function\r\n * @public\r\n * @returns {number} the word length\r\n */\r\n public get wordLength(): number {\r\n return this.privWordLength;\r\n }\r\n\r\n /**\r\n * Specifies the text offset.\r\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.textOffset\r\n * @function\r\n * @public\r\n * @returns {number} the text offset.\r\n */\r\n public get textOffset(): number {\r\n return this.privTextOffset;\r\n }\r\n\r\n /**\r\n * Specifies the boundary type.\r\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.boundaryType\r\n * @function\r\n * @public\r\n * @returns {SpeechSynthesisBoundaryType} the boundary type.\r\n */\r\n public get boundaryType(): SpeechSynthesisBoundaryType {\r\n return this.privBoundaryType;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable @typescript-eslint/no-empty-function */\r\n\r\nimport { PathLike } from \"fs\";\r\nimport { IRestResponse } from \"../common.browser/RestMessageAdapter.js\";\r\nimport {\r\n IAuthentication,\r\n ISynthesisConnectionFactory,\r\n SpeechSynthesisConnectionFactory,\r\n SynthesisAdapterBase,\r\n SpeechSynthesisAdapter,\r\n SynthesisRestAdapter,\r\n SynthesizerConfig,\r\n} from \"../common.speech/Exports.js\";\r\nimport {\r\n createNoDashGuid,\r\n marshalPromiseToCallbacks,\r\n} from \"../common/Exports.js\";\r\nimport { AudioOutputConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { AudioFileWriter } from \"./Audio/AudioFileWriter.js\";\r\nimport { AudioOutputFormatImpl } from \"./Audio/AudioOutputFormat.js\";\r\nimport {\r\n PullAudioOutputStreamImpl,\r\n PushAudioOutputStreamImpl\r\n} from \"./Audio/AudioOutputStream.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n AudioOutputStream,\r\n AutoDetectSourceLanguageConfig,\r\n PropertyId,\r\n PullAudioOutputStream,\r\n PushAudioOutputStreamCallback,\r\n SpeechConfig,\r\n SpeechSynthesisBookmarkEventArgs,\r\n SpeechSynthesisEventArgs,\r\n SpeechSynthesisOutputFormat,\r\n SpeechSynthesisResult,\r\n SpeechSynthesisVisemeEventArgs,\r\n SpeechSynthesisWordBoundaryEventArgs,\r\n SynthesisVoicesResult,\r\n Synthesizer\r\n} from \"./Exports.js\";\r\nimport { SpeechConfigImpl } from \"./SpeechConfig.js\";\r\nimport { SynthesisRequest } from \"./Synthesizer.js\";\r\n\r\n/**\r\n * Defines the class SpeechSynthesizer for text to speech.\r\n * Updated in version 1.16.0\r\n * @class SpeechSynthesizer\r\n */\r\nexport class SpeechSynthesizer extends Synthesizer {\r\n protected audioConfig: AudioConfig;\r\n\r\n /**\r\n * Defines event handler for synthesis start events.\r\n * @member SpeechSynthesizer.prototype.synthesisStarted\r\n * @function\r\n * @public\r\n */\r\n public synthesisStarted: (sender: SpeechSynthesizer, event: SpeechSynthesisEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for synthesizing events.\r\n * @member SpeechSynthesizer.prototype.synthesizing\r\n * @function\r\n * @public\r\n */\r\n public synthesizing: (sender: SpeechSynthesizer, event: SpeechSynthesisEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for synthesis completed events.\r\n * @member SpeechSynthesizer.prototype.synthesisCompleted\r\n * @function\r\n * @public\r\n */\r\n public synthesisCompleted: (sender: SpeechSynthesizer, event: SpeechSynthesisEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for synthesis cancelled events.\r\n * @member SpeechSynthesizer.prototype.SynthesisCanceled\r\n * @function\r\n * @public\r\n */\r\n public SynthesisCanceled: (sender: SpeechSynthesizer, event: SpeechSynthesisEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for word boundary events\r\n * @member SpeechSynthesizer.prototype.wordBoundary\r\n * @function\r\n * @public\r\n */\r\n public wordBoundary: (sender: SpeechSynthesizer, event: SpeechSynthesisWordBoundaryEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for bookmark reached events\r\n * Added in version 1.16.0\r\n * @member SpeechSynthesizer.prototype.bookmarkReached\r\n * @function\r\n * @public\r\n */\r\n public bookmarkReached: (sender: SpeechSynthesizer, event: SpeechSynthesisBookmarkEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for viseme received event\r\n * Added in version 1.16.0\r\n * @member SpeechSynthesizer.prototype.visemeReceived\r\n * @function\r\n * @public\r\n */\r\n public visemeReceived: (sender: SpeechSynthesizer, event: SpeechSynthesisVisemeEventArgs) => void;\r\n\r\n /**\r\n * SpeechSynthesizer constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - An set of initial properties for this synthesizer.\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the synthesizer.\r\n */\r\n public constructor(speechConfig: SpeechConfig, audioConfig?: AudioConfig) {\r\n super(speechConfig);\r\n\r\n if (audioConfig !== null) {\r\n if (audioConfig === undefined) {\r\n this.audioConfig = (typeof window === \"undefined\") ? undefined : AudioConfig.fromDefaultSpeakerOutput();\r\n } else {\r\n this.audioConfig = audioConfig;\r\n }\r\n }\r\n\r\n this.privConnectionFactory = new SpeechSynthesisConnectionFactory();\r\n this.implCommonSynthesizeSetup();\r\n }\r\n\r\n /**\r\n * SpeechSynthesizer constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - an set of initial properties for this synthesizer\r\n * @param {AutoDetectSourceLanguageConfig} autoDetectSourceLanguageConfig - An source language detection configuration associated with the synthesizer\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the synthesizer\r\n */\r\n public static FromConfig(speechConfig: SpeechConfig, autoDetectSourceLanguageConfig: AutoDetectSourceLanguageConfig, audioConfig?: AudioConfig): SpeechSynthesizer {\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n autoDetectSourceLanguageConfig.properties.mergeTo(speechConfigImpl.properties);\r\n return new SpeechSynthesizer(speechConfig, audioConfig);\r\n }\r\n\r\n /**\r\n * Executes speech synthesis on plain text.\r\n * The task returns the synthesis result.\r\n * @member SpeechSynthesizer.prototype.speakTextAsync\r\n * @function\r\n * @public\r\n * @param text - Text to be synthesized.\r\n * @param cb - Callback that received the SpeechSynthesisResult.\r\n * @param err - Callback invoked in case of an error.\r\n * @param stream - AudioOutputStream to receive the synthesized audio.\r\n */\r\n public speakTextAsync(text: string, cb?: (e: SpeechSynthesisResult) => void, err?: (e: string) => void, stream?: AudioOutputStream | PushAudioOutputStreamCallback | PathLike): void {\r\n this.speakImpl(text, false, cb, err, stream);\r\n }\r\n\r\n /**\r\n * Executes speech synthesis on SSML.\r\n * The task returns the synthesis result.\r\n * @member SpeechSynthesizer.prototype.speakSsmlAsync\r\n * @function\r\n * @public\r\n * @param ssml - SSML to be synthesized.\r\n * @param cb - Callback that received the SpeechSynthesisResult.\r\n * @param err - Callback invoked in case of an error.\r\n * @param stream - AudioOutputStream to receive the synthesized audio.\r\n */\r\n public speakSsmlAsync(ssml: string, cb?: (e: SpeechSynthesisResult) => void, err?: (e: string) => void, stream?: AudioOutputStream | PushAudioOutputStreamCallback | PathLike): void {\r\n this.speakImpl(ssml, true, cb, err, stream);\r\n }\r\n\r\n /**\r\n * Get list of synthesis voices available.\r\n * The task returns the synthesis voice result.\r\n * @member SpeechSynthesizer.prototype.getVoicesAsync\r\n * @function\r\n * @async\r\n * @public\r\n * @param locale - Locale of voices in BCP-47 format; if left empty, get all available voices.\r\n * @return {Promise} - Promise of a SynthesisVoicesResult.\r\n */\r\n public async getVoicesAsync(locale: string = \"\"): Promise {\r\n return this.getVoices(locale);\r\n }\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member SpeechSynthesizer.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, err?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n\r\n marshalPromiseToCallbacks(this.dispose(true), cb, err);\r\n }\r\n\r\n /**\r\n * @Internal\r\n * Do not use externally, object returned will change without warning or notice.\r\n */\r\n public get internalData(): object {\r\n return this.privAdapter;\r\n }\r\n\r\n //\r\n // ################################################################################################################\r\n // IMPLEMENTATION.\r\n // ################################################################################################################\r\n //\r\n\r\n // Creates the synthesis adapter\r\n protected createSynthesisAdapter(\r\n authentication: IAuthentication,\r\n connectionFactory: ISynthesisConnectionFactory,\r\n synthesizerConfig: SynthesizerConfig): SynthesisAdapterBase {\r\n return new SpeechSynthesisAdapter(authentication, connectionFactory,\r\n synthesizerConfig, this, this.audioConfig as AudioOutputConfigImpl);\r\n }\r\n\r\n protected createRestSynthesisAdapter(\r\n authentication: IAuthentication,\r\n synthesizerConfig: SynthesizerConfig): SynthesisRestAdapter {\r\n return new SynthesisRestAdapter(synthesizerConfig, authentication);\r\n }\r\n\r\n protected implCommonSynthesizeSetup(): void {\r\n super.implCommonSynthesizeSetup();\r\n\r\n this.privAdapter.audioOutputFormat = AudioOutputFormatImpl.fromSpeechSynthesisOutputFormat(\r\n SpeechSynthesisOutputFormat[this.properties.getProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined) as keyof typeof SpeechSynthesisOutputFormat]\r\n );\r\n }\r\n\r\n protected speakImpl(text: string, IsSsml: boolean, cb?: (e: SpeechSynthesisResult) => void, err?: (e: string) => void, dataStream?: AudioOutputStream | PushAudioOutputStreamCallback | PathLike): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privDisposed);\r\n const requestId = createNoDashGuid();\r\n let audioDestination;\r\n if (dataStream instanceof PushAudioOutputStreamCallback) {\r\n audioDestination = new PushAudioOutputStreamImpl(dataStream);\r\n } else if (dataStream instanceof PullAudioOutputStream) {\r\n audioDestination = dataStream as PullAudioOutputStreamImpl;\r\n } else if (dataStream !== undefined) {\r\n audioDestination = new AudioFileWriter(dataStream as PathLike);\r\n } else {\r\n audioDestination = undefined;\r\n }\r\n this.synthesisRequestQueue.enqueue(new SynthesisRequest(requestId, text, IsSsml, (e: SpeechSynthesisResult): void => {\r\n this.privSynthesizing = false;\r\n if (!!cb) {\r\n try {\r\n cb(e);\r\n } catch (e) {\r\n if (!!err) {\r\n err(e as string);\r\n }\r\n }\r\n }\r\n cb = undefined;\r\n /* eslint-disable no-empty */\r\n this.adapterSpeak().catch((): void => { });\r\n\r\n }, (e: string): void => {\r\n if (!!err) {\r\n err(e);\r\n }\r\n }, audioDestination));\r\n\r\n /* eslint-disable no-empty-function */\r\n this.adapterSpeak().catch((): void => { });\r\n\r\n } catch (error) {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n\r\n // Destroy the synthesizer.\r\n /* eslint-disable no-empty */\r\n this.dispose(true).catch((): void => { });\r\n }\r\n }\r\n\r\n protected async getVoices(locale: string): Promise {\r\n const requestId = createNoDashGuid();\r\n const response: IRestResponse = await this.privRestAdapter.getVoicesList(requestId);\r\n if (response.ok && Array.isArray(response.json)) {\r\n let json = response.json;\r\n if (!!locale && locale.length > 0) {\r\n json = json.filter((item: { Locale: string }): boolean => !!item.Locale && item.Locale.toLowerCase() === locale.toLowerCase() );\r\n }\r\n return new SynthesisVoicesResult(requestId, json, undefined);\r\n } else {\r\n return new SynthesisVoicesResult(requestId, undefined, `Error: ${response.status}: ${response.statusText}`);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport {\r\n ForceDictationPropertyName,\r\n OutputFormatPropertyName,\r\n ServicePropertiesPropertyName\r\n} from \"../common.speech/Exports.js\";\r\nimport { IStringDictionary } from \"../common/Exports.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n OutputFormat,\r\n ProfanityOption,\r\n PropertyCollection,\r\n PropertyId,\r\n SpeechConfig,\r\n SpeechSynthesisOutputFormat,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Speech translation configuration.\r\n * @class SpeechTranslationConfig\r\n */\r\nexport abstract class SpeechTranslationConfig extends SpeechConfig {\r\n\r\n /**\r\n * Creates an instance of recognizer config.\r\n */\r\n protected constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Static instance of SpeechTranslationConfig returned by passing a subscription key and service region.\r\n * @member SpeechTranslationConfig.fromSubscription\r\n * @function\r\n * @public\r\n * @param {string} subscriptionKey - The subscription key.\r\n * @param {string} region - The region name (see the region page).\r\n * @returns {SpeechTranslationConfig} The speech translation config.\r\n */\r\n public static fromSubscription(subscriptionKey: string, region: string): SpeechTranslationConfig {\r\n Contracts.throwIfNullOrWhitespace(subscriptionKey, \"subscriptionKey\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const ret: SpeechTranslationConfigImpl = new SpeechTranslationConfigImpl();\r\n ret.properties.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n ret.properties.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n return ret;\r\n }\r\n\r\n /**\r\n * Static instance of SpeechTranslationConfig returned by passing authorization token and service region.\r\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\r\n * expires, the caller needs to refresh it by setting the property authorizationToken with a new\r\n * valid token. Otherwise, all the recognizers created by this SpeechTranslationConfig instance\r\n * will encounter errors during recognition.\r\n * As configuration values are copied when creating a new recognizer, the new token value will not apply\r\n * to recognizers that have already been created.\r\n * For recognizers that have been created before, you need to set authorization token of the corresponding recognizer\r\n * to refresh the token. Otherwise, the recognizers will encounter errors during recognition.\r\n * @member SpeechTranslationConfig.fromAuthorizationToken\r\n * @function\r\n * @public\r\n * @param {string} authorizationToken - The authorization token.\r\n * @param {string} region - The region name (see the region page).\r\n * @returns {SpeechTranslationConfig} The speech translation config.\r\n */\r\n public static fromAuthorizationToken(authorizationToken: string, region: string): SpeechTranslationConfig {\r\n Contracts.throwIfNullOrWhitespace(authorizationToken, \"authorizationToken\");\r\n Contracts.throwIfNullOrWhitespace(region, \"region\");\r\n\r\n const ret: SpeechTranslationConfigImpl = new SpeechTranslationConfigImpl();\r\n ret.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, authorizationToken);\r\n ret.properties.setProperty(PropertyId.SpeechServiceConnection_Region, region);\r\n return ret;\r\n }\r\n\r\n /**\r\n * Creates an instance of the speech config with specified host and subscription key.\r\n * This method is intended only for users who use a non-default service host. Standard resource path will be assumed.\r\n * For services with a non-standard resource path or no path at all, use fromEndpoint instead.\r\n * Note: Query parameters are not allowed in the host URI and must be set by other APIs.\r\n * Note: To use an authorization token with fromHost, use fromHost(URL),\r\n * and then set the AuthorizationToken property on the created SpeechConfig instance.\r\n * Note: Added in version 1.9.0.\r\n * @member SpeechConfig.fromHost\r\n * @function\r\n * @public\r\n * @param {URL} host - The service endpoint to connect to. Format is \"protocol://host:port\" where \":port\" is optional.\r\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization token must be set.\r\n * @returns {SpeechConfig} A speech factory instance.\r\n */\r\n public static fromHost(hostName: URL, subscriptionKey?: string): SpeechConfig {\r\n Contracts.throwIfNull(hostName, \"hostName\");\r\n\r\n const speechImpl: SpeechTranslationConfigImpl = new SpeechTranslationConfigImpl();\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Host, hostName.protocol + \"//\" + hostName.hostname + (hostName.port === \"\" ? \"\" : \":\" + hostName.port));\r\n\r\n if (undefined !== subscriptionKey) {\r\n speechImpl.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n }\r\n return speechImpl;\r\n }\r\n\r\n /**\r\n * Creates an instance of the speech translation config with specified endpoint and subscription key.\r\n * This method is intended only for users who use a non-standard service endpoint or paramters.\r\n * Note: The query properties specified in the endpoint URL are not changed, even if they are\r\n * set by any other APIs. For example, if language is defined in the uri as query parameter\r\n * \"language=de-DE\", and also set by the speechRecognitionLanguage property, the language\r\n * setting in uri takes precedence, and the effective language is \"de-DE\".\r\n * Only the properties that are not specified in the endpoint URL can be set by other APIs.\r\n * Note: To use authorization token with fromEndpoint, pass an empty string to the subscriptionKey in the\r\n * fromEndpoint method, and then set authorizationToken=\"token\" on the created SpeechConfig instance to\r\n * use the authorization token.\r\n * @member SpeechTranslationConfig.fromEndpoint\r\n * @function\r\n * @public\r\n * @param {URL} endpoint - The service endpoint to connect to.\r\n * @param {string} subscriptionKey - The subscription key.\r\n * @returns {SpeechTranslationConfig} A speech config instance.\r\n */\r\n public static fromEndpoint(endpoint: URL, subscriptionKey: string): SpeechTranslationConfig {\r\n Contracts.throwIfNull(endpoint, \"endpoint\");\r\n Contracts.throwIfNull(subscriptionKey, \"subscriptionKey\");\r\n\r\n const ret: SpeechTranslationConfigImpl = new SpeechTranslationConfigImpl();\r\n ret.properties.setProperty(PropertyId.SpeechServiceConnection_Endpoint, endpoint.href);\r\n ret.properties.setProperty(PropertyId.SpeechServiceConnection_Key, subscriptionKey);\r\n return ret;\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token.\r\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\r\n * expires, the caller needs to refresh it by calling this setter with a new valid token.\r\n * @member SpeechTranslationConfig.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} value - The authorization token.\r\n */\r\n public abstract set authorizationToken(value: string);\r\n\r\n /**\r\n * Gets/Sets the speech recognition language.\r\n * @member SpeechTranslationConfig.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The authorization token.\r\n */\r\n public abstract set speechRecognitionLanguage(value: string);\r\n\r\n /**\r\n * Add a (text) target language to translate into.\r\n * @member SpeechTranslationConfig.prototype.addTargetLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The language such as de-DE\r\n */\r\n public abstract addTargetLanguage(value: string): void;\r\n\r\n /**\r\n * Gets the (text) target language to translate into.\r\n * @member SpeechTranslationConfig.prototype.targetLanguages\r\n * @function\r\n * @public\r\n * @param {string} value - The language such as de-DE\r\n */\r\n public abstract get targetLanguages(): string[];\r\n\r\n /**\r\n * Gets the selected voice name.\r\n * @member SpeechTranslationConfig.prototype.voiceName\r\n * @function\r\n * @public\r\n * @returns {string} The voice name.\r\n */\r\n public abstract get voiceName(): string;\r\n\r\n /**\r\n * Gets/Sets voice of the translated language, enable voice synthesis output.\r\n * @member SpeechTranslationConfig.prototype.voiceName\r\n * @function\r\n * @public\r\n * @param {string} value - The name of the voice.\r\n */\r\n public abstract set voiceName(value: string);\r\n\r\n /**\r\n * Sets a named property as value\r\n * @member SpeechTranslationConfig.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {string | PropertyId} name - The name of the property to set.\r\n * @param {string} value - The new value of the property.\r\n */\r\n public abstract setProperty(name: string | PropertyId, value: string): void;\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member SpeechTranslationConfig.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public abstract close(): void;\r\n}\r\n\r\n/**\r\n * @private\r\n * @class SpeechTranslationConfigImpl\r\n */\r\nexport class SpeechTranslationConfigImpl extends SpeechTranslationConfig {\r\n\r\n private privSpeechProperties: PropertyCollection;\r\n\r\n public constructor() {\r\n super();\r\n this.privSpeechProperties = new PropertyCollection();\r\n this.outputFormat = OutputFormat.Simple;\r\n }\r\n /**\r\n * Gets/Sets the authorization token.\r\n * If this is set, subscription key is ignored.\r\n * User needs to make sure the provided authorization token is valid and not expired.\r\n * @member SpeechTranslationConfigImpl.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} value - The authorization token.\r\n */\r\n public set authorizationToken(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"value\");\r\n\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceAuthorization_Token, value);\r\n }\r\n\r\n /**\r\n * Sets the speech recognition language.\r\n * @member SpeechTranslationConfigImpl.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The authorization token.\r\n */\r\n public set speechRecognitionLanguage(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"value\");\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_RecoLanguage, value);\r\n }\r\n\r\n /**\r\n * Gets the speech recognition language.\r\n * @member SpeechTranslationConfigImpl.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @return {string} The speechRecognitionLanguage.\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n return this.privSpeechProperties.getProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n }\r\n\r\n /**\r\n * @member SpeechTranslationConfigImpl.prototype.subscriptionKey\r\n * @function\r\n * @public\r\n */\r\n public get subscriptionKey(): string {\r\n return this.privSpeechProperties.getProperty(PropertyId[PropertyId.SpeechServiceConnection_Key]);\r\n }\r\n\r\n /**\r\n * Gets the output format\r\n * @member SpeechTranslationConfigImpl.prototype.outputFormat\r\n * @function\r\n * @public\r\n */\r\n public get outputFormat(): OutputFormat {\r\n // eslint-disable-next-line\r\n return (OutputFormat as any)[this.privSpeechProperties.getProperty(OutputFormatPropertyName, undefined)];\r\n }\r\n\r\n /**\r\n * Gets/Sets the output format\r\n * @member SpeechTranslationConfigImpl.prototype.outputFormat\r\n * @function\r\n * @public\r\n */\r\n public set outputFormat(value: OutputFormat) {\r\n this.privSpeechProperties.setProperty(OutputFormatPropertyName, OutputFormat[value]);\r\n }\r\n\r\n /**\r\n * Gets the endpoint id.\r\n * @member SpeechTranslationConfigImpl.prototype.endpointId\r\n * @function\r\n * @public\r\n */\r\n public get endpointId(): string {\r\n return this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_EndpointId);\r\n }\r\n\r\n /**\r\n * Gets/Sets the endpoint id.\r\n * @member SpeechTranslationConfigImpl.prototype.endpointId\r\n * @function\r\n * @public\r\n */\r\n public set endpointId(value: string) {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_EndpointId, value);\r\n }\r\n\r\n /**\r\n * Add a (text) target language to translate into.\r\n * @member SpeechTranslationConfigImpl.prototype.addTargetLanguage\r\n * @function\r\n * @public\r\n * @param {string} value - The language such as de-DE\r\n */\r\n public addTargetLanguage(value: string): void {\r\n Contracts.throwIfNullOrWhitespace(value, \"value\");\r\n\r\n const languages: string[] = this.targetLanguages;\r\n if (!languages.includes(value)) {\r\n languages.push(value);\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, languages.join(\",\"));\r\n }\r\n }\r\n\r\n /**\r\n * Gets the (text) target language to translate into.\r\n * @member SpeechTranslationConfigImpl.prototype.targetLanguages\r\n * @function\r\n * @public\r\n * @param {string} value - The language such as de-DE\r\n */\r\n public get targetLanguages(): string[] {\r\n\r\n if (this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, undefined) !== undefined) {\r\n return this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages).split(\",\");\r\n } else {\r\n return [];\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Gets the voice name.\r\n * @member SpeechTranslationConfigImpl.prototype.voiceName\r\n * @function\r\n * @public\r\n */\r\n public get voiceName(): string {\r\n return this.getProperty(PropertyId[PropertyId.SpeechServiceConnection_TranslationVoice]);\r\n }\r\n\r\n /**\r\n * Gets/Sets the voice of the translated language, enable voice synthesis output.\r\n * @member SpeechTranslationConfigImpl.prototype.voiceName\r\n * @function\r\n * @public\r\n * @param {string} value - The name of the voice.\r\n */\r\n public set voiceName(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"value\");\r\n\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_TranslationVoice, value);\r\n }\r\n\r\n /**\r\n * Provides the region.\r\n * @member SpeechTranslationConfigImpl.prototype.region\r\n * @function\r\n * @public\r\n * @returns {string} The region.\r\n */\r\n public get region(): string {\r\n return this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_Region);\r\n }\r\n\r\n public setProxy(proxyHostName: string, proxyPort: number): void;\r\n public setProxy(proxyHostName: string, proxyPort: number, proxyUserName: string, proxyPassword: string): void;\r\n public setProxy(proxyHostName: any, proxyPort: any, proxyUserName?: any, proxyPassword?: any): void {\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyHostName], proxyHostName as string);\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyPort], proxyPort as string);\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyUserName], proxyUserName as string);\r\n this.setProperty(PropertyId[PropertyId.SpeechServiceConnection_ProxyPassword], proxyPassword as string);\r\n }\r\n\r\n /**\r\n * Gets an arbitrary property value.\r\n * @member SpeechTranslationConfigImpl.prototype.getProperty\r\n * @function\r\n * @public\r\n * @param {string} name - The name of the property.\r\n * @param {string} def - The default value of the property in case it is not set.\r\n * @returns {string} The value of the property.\r\n */\r\n public getProperty(name: string, def?: string): string {\r\n return this.privSpeechProperties.getProperty(name, def);\r\n }\r\n\r\n /**\r\n * Gets/Sets an arbitrary property value.\r\n * @member SpeechTranslationConfigImpl.prototype.setProperty\r\n * @function\r\n * @public\r\n * @param {string | PropertyId} name - The name of the property to set.\r\n * @param {string} value - The value of the property.\r\n */\r\n public setProperty(name: string | PropertyId, value: string): void {\r\n this.privSpeechProperties.setProperty(name, value);\r\n }\r\n\r\n /**\r\n * Provides access to custom properties.\r\n * @member SpeechTranslationConfigImpl.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The properties.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privSpeechProperties;\r\n }\r\n\r\n /**\r\n * Dispose of associated resources.\r\n * @member SpeechTranslationConfigImpl.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(): void {\r\n return;\r\n }\r\n\r\n public setServiceProperty(name: string, value: string): void {\r\n const currentProperties: IStringDictionary = JSON.parse(this.privSpeechProperties.getProperty(ServicePropertiesPropertyName, \"{}\")) as IStringDictionary;\r\n\r\n currentProperties[name] = value;\r\n\r\n this.privSpeechProperties.setProperty(ServicePropertiesPropertyName, JSON.stringify(currentProperties));\r\n }\r\n\r\n public setProfanity(profanity: ProfanityOption): void {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceResponse_ProfanityOption, ProfanityOption[profanity]);\r\n }\r\n\r\n public enableAudioLogging(): void {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging, \"true\");\r\n }\r\n public requestWordLevelTimestamps(): void {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, \"true\");\r\n }\r\n public enableDictation(): void {\r\n this.privSpeechProperties.setProperty(ForceDictationPropertyName, \"true\");\r\n }\r\n\r\n public get speechSynthesisLanguage(): string {\r\n return this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_SynthLanguage);\r\n }\r\n\r\n public set speechSynthesisLanguage(language: string) {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_SynthLanguage, language);\r\n }\r\n\r\n public get speechSynthesisVoiceName(): string {\r\n return this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_SynthVoice);\r\n }\r\n\r\n public set speechSynthesisVoiceName(voice: string) {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_SynthVoice, voice);\r\n }\r\n\r\n public get speechSynthesisOutputFormat(): SpeechSynthesisOutputFormat {\r\n // eslint-disable-next-line\r\n return (SpeechSynthesisOutputFormat as any)[this.privSpeechProperties.getProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)];\r\n }\r\n\r\n public set speechSynthesisOutputFormat(format: SpeechSynthesisOutputFormat) {\r\n this.privSpeechProperties.setProperty(PropertyId.SpeechServiceConnection_SynthOutputFormat, SpeechSynthesisOutputFormat[format]);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection, ResultReason } from \"./Exports.js\";\r\n\r\n/**\r\n * Base class for synthesis results\r\n * @class SynthesisResult\r\n * Added in version 1.20.0\r\n */\r\nexport class SynthesisResult {\r\n private privResultId: string;\r\n private privReason: ResultReason;\r\n private privErrorDetails: string;\r\n private privProperties: PropertyCollection;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n */\r\n public constructor(resultId?: string, reason?: ResultReason, errorDetails?: string, properties?: PropertyCollection) {\r\n this.privResultId = resultId;\r\n this.privReason = reason;\r\n this.privErrorDetails = errorDetails;\r\n this.privProperties = properties;\r\n }\r\n\r\n /**\r\n * Specifies the result identifier.\r\n * @member SynthesisResult.prototype.resultId\r\n * @function\r\n * @public\r\n * @returns {string} Specifies the result identifier.\r\n */\r\n public get resultId(): string {\r\n return this.privResultId;\r\n }\r\n\r\n /**\r\n * Specifies status of the result.\r\n * @member SynthesisResult.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {ResultReason} Specifies status of the result.\r\n */\r\n public get reason(): ResultReason {\r\n return this.privReason;\r\n }\r\n\r\n /**\r\n * In case of an unsuccessful synthesis, provides details of the occurred error.\r\n * @member SynthesisResult.prototype.errorDetails\r\n * @function\r\n * @public\r\n * @returns {string} a brief description of an error.\r\n */\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n\r\n /**\r\n * The set of properties exposed in the result.\r\n * @member SynthesisResult.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The set of properties exposed in the result.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IVoiceJson,\r\n PropertyCollection,\r\n ResultReason,\r\n SynthesisResult,\r\n VoiceInfo,\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Defines result of speech synthesis.\r\n * @class SynthesisVoicesResult\r\n * Added in version 1.20.0\r\n */\r\nexport class SynthesisVoicesResult extends SynthesisResult {\r\n private privVoices: VoiceInfo[];\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param requestId - result id for request.\r\n * @param json - json payload from endpoint.\r\n */\r\n public constructor(requestId: string, json: any, errorDetails: string ) {\r\n if (Array.isArray(json)) {\r\n super(requestId, ResultReason.VoicesListRetrieved, undefined, new PropertyCollection());\r\n this.privVoices = [];\r\n for (const item of json) {\r\n this.privVoices.push(new VoiceInfo(item as IVoiceJson));\r\n }\r\n } else {\r\n super(requestId, ResultReason.Canceled, errorDetails ? errorDetails : \"Error information unavailable\", new PropertyCollection());\r\n }\r\n }\r\n\r\n /**\r\n * The list of voices\r\n * @member SynthesisVoicesResult.prototype.voices\r\n * @function\r\n * @public\r\n * @returns {VoiceInfo[]} List of synthesized voices.\r\n */\r\n public get voices(): VoiceInfo[] {\r\n return this.privVoices;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n AutoDetectSourceLanguagesOpenRangeOptionName,\r\n CognitiveSubscriptionKeyAuthentication,\r\n CognitiveTokenAuthentication,\r\n Context,\r\n IAuthentication,\r\n ISynthesisConnectionFactory,\r\n OS,\r\n SpeechServiceConfig,\r\n SynthesisAdapterBase,\r\n SynthesisRestAdapter,\r\n SynthesizerConfig } from \"../common.speech/Exports.js\";\r\nimport { IAudioDestination, IStringDictionary, Queue } from \"../common/Exports.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport { PropertyCollection, PropertyId, SpeechConfig, SpeechConfigImpl, SpeechSynthesisResult } from \"./Exports.js\";\r\n\r\nexport abstract class Synthesizer {\r\n protected privAdapter: SynthesisAdapterBase;\r\n protected privRestAdapter: SynthesisRestAdapter;\r\n protected privProperties: PropertyCollection;\r\n protected privConnectionFactory: ISynthesisConnectionFactory;\r\n protected privDisposed: boolean;\r\n protected privSynthesizing: boolean;\r\n protected synthesisRequestQueue: Queue;\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member Synthesizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member Synthesizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this Synthesizer.\r\n * @member Synthesizer.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeechSynthesizer.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Indicates if auto detect source language is enabled\r\n * @member Synthesizer.prototype.autoDetectSourceLanguage\r\n * @function\r\n * @public\r\n * @returns {boolean} if auto detect source language is enabled\r\n */\r\n public get autoDetectSourceLanguage(): boolean {\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages) === AutoDetectSourceLanguagesOpenRangeOptionName;\r\n }\r\n\r\n /**\r\n * Creates and initializes an instance of a Recognizer\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - The speech config to initialize the synthesizer.\r\n */\r\n protected constructor(speechConfig: SpeechConfig) {\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\r\n\r\n this.privProperties = speechConfigImpl.properties.clone();\r\n this.privDisposed = false;\r\n this.privSynthesizing = false;\r\n this.synthesisRequestQueue = new Queue();\r\n }\r\n\r\n public buildSsml(text: string): string {\r\n const languageToDefaultVoice: IStringDictionary = {\r\n [\"af-ZA\"]: \"af-ZA-AdriNeural\",\r\n [\"am-ET\"]: \"am-ET-AmehaNeural\",\r\n [\"ar-AE\"]: \"ar-AE-FatimaNeural\",\r\n [\"ar-BH\"]: \"ar-BH-AliNeural\",\r\n [\"ar-DZ\"]: \"ar-DZ-AminaNeural\",\r\n [\"ar-EG\"]: \"ar-EG-SalmaNeural\",\r\n [\"ar-IQ\"]: \"ar-IQ-BasselNeural\",\r\n [\"ar-JO\"]: \"ar-JO-SanaNeural\",\r\n [\"ar-KW\"]: \"ar-KW-FahedNeural\",\r\n [\"ar-LY\"]: \"ar-LY-ImanNeural\",\r\n [\"ar-MA\"]: \"ar-MA-JamalNeural\",\r\n [\"ar-QA\"]: \"ar-QA-AmalNeural\",\r\n [\"ar-SA\"]: \"ar-SA-HamedNeural\",\r\n [\"ar-SY\"]: \"ar-SY-AmanyNeural\",\r\n [\"ar-TN\"]: \"ar-TN-HediNeural\",\r\n [\"ar-YE\"]: \"ar-YE-MaryamNeural\",\r\n [\"bg-BG\"]: \"bg-BG-BorislavNeural\",\r\n [\"bn-BD\"]: \"bn-BD-NabanitaNeural\",\r\n [\"bn-IN\"]: \"bn-IN-BashkarNeural\",\r\n [\"ca-ES\"]: \"ca-ES-JoanaNeural\",\r\n [\"cs-CZ\"]: \"cs-CZ-AntoninNeural\",\r\n [\"cy-GB\"]: \"cy-GB-AledNeural\",\r\n [\"da-DK\"]: \"da-DK-ChristelNeural\",\r\n [\"de-AT\"]: \"de-AT-IngridNeural\",\r\n [\"de-CH\"]: \"de-CH-JanNeural\",\r\n [\"de-DE\"]: \"de-DE-KatjaNeural\",\r\n [\"el-GR\"]: \"el-GR-AthinaNeural\",\r\n [\"en-AU\"]: \"en-AU-NatashaNeural\",\r\n [\"en-CA\"]: \"en-CA-ClaraNeural\",\r\n [\"en-GB\"]: \"en-GB-LibbyNeural\",\r\n [\"en-HK\"]: \"en-HK-SamNeural\",\r\n [\"en-IE\"]: \"en-IE-ConnorNeural\",\r\n [\"en-IN\"]: \"en-IN-NeerjaNeural\",\r\n [\"en-KE\"]: \"en-KE-AsiliaNeural\",\r\n [\"en-NG\"]: \"en-NG-AbeoNeural\",\r\n [\"en-NZ\"]: \"en-NZ-MitchellNeural\",\r\n [\"en-PH\"]: \"en-PH-JamesNeural\",\r\n [\"en-SG\"]: \"en-SG-LunaNeural\",\r\n [\"en-TZ\"]: \"en-TZ-ElimuNeural\",\r\n [\"en-US\"]: \"en-US-JennyNeural\",\r\n [\"en-ZA\"]: \"en-ZA-LeahNeural\",\r\n [\"es-AR\"]: \"es-AR-ElenaNeural\",\r\n [\"es-BO\"]: \"es-BO-MarceloNeural\",\r\n [\"es-CL\"]: \"es-CL-CatalinaNeural\",\r\n [\"es-CO\"]: \"es-CO-GonzaloNeural\",\r\n [\"es-CR\"]: \"es-CR-JuanNeural\",\r\n [\"es-CU\"]: \"es-CU-BelkysNeural\",\r\n [\"es-DO\"]: \"es-DO-EmilioNeural\",\r\n [\"es-EC\"]: \"es-EC-AndreaNeural\",\r\n [\"es-ES\"]: \"es-ES-AlvaroNeural\",\r\n [\"es-GQ\"]: \"es-GQ-JavierNeural\",\r\n [\"es-GT\"]: \"es-GT-AndresNeural\",\r\n [\"es-HN\"]: \"es-HN-CarlosNeural\",\r\n [\"es-MX\"]: \"es-MX-DaliaNeural\",\r\n [\"es-NI\"]: \"es-NI-FedericoNeural\",\r\n [\"es-PA\"]: \"es-PA-MargaritaNeural\",\r\n [\"es-PE\"]: \"es-PE-AlexNeural\",\r\n [\"es-PR\"]: \"es-PR-KarinaNeural\",\r\n [\"es-PY\"]: \"es-PY-MarioNeural\",\r\n [\"es-SV\"]: \"es-SV-LorenaNeural\",\r\n [\"es-US\"]: \"es-US-AlonsoNeural\",\r\n [\"es-UY\"]: \"es-UY-MateoNeural\",\r\n [\"es-VE\"]: \"es-VE-PaolaNeural\",\r\n [\"et-EE\"]: \"et-EE-AnuNeural\",\r\n [\"fa-IR\"]: \"fa-IR-DilaraNeural\",\r\n [\"fi-FI\"]: \"fi-FI-SelmaNeural\",\r\n [\"fil-PH\"]: \"fil-PH-AngeloNeural\",\r\n [\"fr-BE\"]: \"fr-BE-CharlineNeural\",\r\n [\"fr-CA\"]: \"fr-CA-SylvieNeural\",\r\n [\"fr-CH\"]: \"fr-CH-ArianeNeural\",\r\n [\"fr-FR\"]: \"fr-FR-DeniseNeural\",\r\n [\"ga-IE\"]: \"ga-IE-ColmNeural\",\r\n [\"gl-ES\"]: \"gl-ES-RoiNeural\",\r\n [\"gu-IN\"]: \"gu-IN-DhwaniNeural\",\r\n [\"he-IL\"]: \"he-IL-AvriNeural\",\r\n [\"hi-IN\"]: \"hi-IN-MadhurNeural\",\r\n [\"hr-HR\"]: \"hr-HR-GabrijelaNeural\",\r\n [\"hu-HU\"]: \"hu-HU-NoemiNeural\",\r\n [\"id-ID\"]: \"id-ID-ArdiNeural\",\r\n [\"is-IS\"]: \"is-IS-GudrunNeural\",\r\n [\"it-IT\"]: \"it-IT-IsabellaNeural\",\r\n [\"ja-JP\"]: \"ja-JP-NanamiNeural\",\r\n [\"jv-ID\"]: \"jv-ID-DimasNeural\",\r\n [\"kk-KZ\"]: \"kk-KZ-AigulNeural\",\r\n [\"km-KH\"]: \"km-KH-PisethNeural\",\r\n [\"kn-IN\"]: \"kn-IN-GaganNeural\",\r\n [\"ko-KR\"]: \"ko-KR-SunHiNeural\",\r\n [\"lo-LA\"]: \"lo-LA-ChanthavongNeural\",\r\n [\"lt-LT\"]: \"lt-LT-LeonasNeural\",\r\n [\"lv-LV\"]: \"lv-LV-EveritaNeural\",\r\n [\"mk-MK\"]: \"mk-MK-AleksandarNeural\",\r\n [\"ml-IN\"]: \"ml-IN-MidhunNeural\",\r\n [\"mr-IN\"]: \"mr-IN-AarohiNeural\",\r\n [\"ms-MY\"]: \"ms-MY-OsmanNeural\",\r\n [\"mt-MT\"]: \"mt-MT-GraceNeural\",\r\n [\"my-MM\"]: \"my-MM-NilarNeural\",\r\n [\"nb-NO\"]: \"nb-NO-PernilleNeural\",\r\n [\"nl-BE\"]: \"nl-BE-ArnaudNeural\",\r\n [\"nl-NL\"]: \"nl-NL-ColetteNeural\",\r\n [\"pl-PL\"]: \"pl-PL-AgnieszkaNeural\",\r\n [\"ps-AF\"]: \"ps-AF-GulNawazNeural\",\r\n [\"pt-BR\"]: \"pt-BR-FranciscaNeural\",\r\n [\"pt-PT\"]: \"pt-PT-DuarteNeural\",\r\n [\"ro-RO\"]: \"ro-RO-AlinaNeural\",\r\n [\"ru-RU\"]: \"ru-RU-SvetlanaNeural\",\r\n [\"si-LK\"]: \"si-LK-SameeraNeural\",\r\n [\"sk-SK\"]: \"sk-SK-LukasNeural\",\r\n [\"sl-SI\"]: \"sl-SI-PetraNeural\",\r\n [\"so-SO\"]: \"so-SO-MuuseNeural\",\r\n [\"sr-RS\"]: \"sr-RS-NicholasNeural\",\r\n [\"su-ID\"]: \"su-ID-JajangNeural\",\r\n [\"sv-SE\"]: \"sv-SE-SofieNeural\",\r\n [\"sw-KE\"]: \"sw-KE-RafikiNeural\",\r\n [\"sw-TZ\"]: \"sw-TZ-DaudiNeural\",\r\n [\"ta-IN\"]: \"ta-IN-PallaviNeural\",\r\n [\"ta-LK\"]: \"ta-LK-KumarNeural\",\r\n [\"ta-SG\"]: \"ta-SG-AnbuNeural\",\r\n [\"te-IN\"]: \"te-IN-MohanNeural\",\r\n [\"th-TH\"]: \"th-TH-PremwadeeNeural\",\r\n [\"tr-TR\"]: \"tr-TR-AhmetNeural\",\r\n [\"uk-UA\"]: \"uk-UA-OstapNeural\",\r\n [\"ur-IN\"]: \"ur-IN-GulNeural\",\r\n [\"ur-PK\"]: \"ur-PK-AsadNeural\",\r\n [\"uz-UZ\"]: \"uz-UZ-MadinaNeural\",\r\n [\"vi-VN\"]: \"vi-VN-HoaiMyNeural\",\r\n [\"zh-CN\"]: \"zh-CN-XiaoxiaoNeural\",\r\n [\"zh-HK\"]: \"zh-HK-HiuMaanNeural\",\r\n [\"zh-TW\"]: \"zh-TW-HsiaoChenNeural\",\r\n [\"zu-ZA\"]: \"zu-ZA-ThandoNeural\",\r\n };\r\n\r\n let language = this.properties.getProperty(PropertyId.SpeechServiceConnection_SynthLanguage, \"en-US\");\r\n let voice = this.properties.getProperty(PropertyId.SpeechServiceConnection_SynthVoice, \"\");\r\n let ssml: string = Synthesizer.XMLEncode(text);\r\n if (this.autoDetectSourceLanguage) {\r\n language = \"en-US\";\r\n } else {\r\n voice = voice || languageToDefaultVoice[language];\r\n }\r\n if (voice) {\r\n ssml = `${ssml}`;\r\n }\r\n ssml = `${ssml}`;\r\n return ssml;\r\n }\r\n\r\n /**\r\n * This method performs cleanup of resources.\r\n * The Boolean parameter disposing indicates whether the method is called\r\n * from Dispose (if disposing is true) or from the finalizer (if disposing is false).\r\n * Derived classes should override this method to dispose resource if needed.\r\n * @member Synthesizer.prototype.dispose\r\n * @function\r\n * @public\r\n * @param {boolean} disposing - Flag to request disposal.\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposed) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n if (this.privAdapter) {\r\n await this.privAdapter.dispose();\r\n }\r\n }\r\n\r\n this.privDisposed = true;\r\n }\r\n\r\n protected async adapterSpeak(): Promise {\r\n if (!this.privDisposed && !this.privSynthesizing) {\r\n this.privSynthesizing = true;\r\n const request: SynthesisRequest = await this.synthesisRequestQueue.dequeue();\r\n return this.privAdapter.Speak(request.text, request.isSSML, request.requestId, request.cb, request.err, request.dataStream);\r\n }\r\n }\r\n\r\n //\r\n // ################################################################################################################\r\n // IMPLEMENTATION.\r\n // Move to independent class\r\n // ################################################################################################################\r\n //\r\n\r\n // Creates the synthesis adapter\r\n protected abstract createSynthesisAdapter(\r\n authentication: IAuthentication,\r\n connectionFactory: ISynthesisConnectionFactory,\r\n synthesizerConfig: SynthesizerConfig): SynthesisAdapterBase;\r\n\r\n // Creates the REST synthesis adapter\r\n protected abstract createRestSynthesisAdapter(\r\n authentication: IAuthentication,\r\n synthesizerConfig: SynthesizerConfig): SynthesisRestAdapter;\r\n\r\n protected createSynthesizerConfig(speechConfig: SpeechServiceConfig): SynthesizerConfig {\r\n return new SynthesizerConfig(\r\n speechConfig,\r\n this.privProperties);\r\n }\r\n\r\n // Does the generic synthesizer setup that is common across all synthesizer types.\r\n protected implCommonSynthesizeSetup(): void {\r\n\r\n let osPlatform = (typeof window !== \"undefined\") ? \"Browser\" : \"Node\";\r\n let osName = \"unknown\";\r\n let osVersion = \"unknown\";\r\n\r\n if (typeof navigator !== \"undefined\") {\r\n osPlatform = osPlatform + \"/\" + navigator.platform;\r\n osName = navigator.userAgent;\r\n osVersion = navigator.appVersion;\r\n }\r\n\r\n const synthesizerConfig: SynthesizerConfig = this.createSynthesizerConfig(\r\n new SpeechServiceConfig(\r\n new Context(new OS(osPlatform, osName, osVersion))));\r\n\r\n const subscriptionKey = this.privProperties.getProperty(PropertyId.SpeechServiceConnection_Key, undefined);\r\n const authentication = (subscriptionKey && subscriptionKey !== \"\") ?\r\n new CognitiveSubscriptionKeyAuthentication(subscriptionKey) :\r\n new CognitiveTokenAuthentication(\r\n (): Promise => {\r\n const authorizationToken = this.privProperties.getProperty(PropertyId.SpeechServiceAuthorization_Token, undefined);\r\n return Promise.resolve(authorizationToken);\r\n },\r\n (): Promise => {\r\n const authorizationToken = this.privProperties.getProperty(PropertyId.SpeechServiceAuthorization_Token, undefined);\r\n return Promise.resolve(authorizationToken);\r\n });\r\n\r\n this.privAdapter = this.createSynthesisAdapter(\r\n authentication,\r\n this.privConnectionFactory,\r\n synthesizerConfig);\r\n\r\n this.privRestAdapter = this.createRestSynthesisAdapter(\r\n authentication,\r\n synthesizerConfig);\r\n }\r\n\r\n protected static XMLEncode(text: string): string {\r\n return text.replace(/&/g, \"&\")\r\n .replace(//g, \">\")\r\n .replace(/\"/g, \""\")\r\n .replace(/'/g, \"'\");\r\n }\r\n}\r\n\r\nexport class SynthesisRequest {\r\n public requestId: string;\r\n public text: string;\r\n public isSSML: boolean;\r\n public cb: (e: SpeechSynthesisResult) => void;\r\n public err: (e: string) => void;\r\n public dataStream: IAudioDestination;\r\n\r\n public constructor(requestId: string, text: string, isSSML: boolean, cb?: (e: SpeechSynthesisResult) => void, err?: (e: string) => void, dataStream?: IAudioDestination) {\r\n this.requestId = requestId;\r\n this.text = text;\r\n this.isSSML = isSSML;\r\n this.cb = cb;\r\n this.err = err;\r\n this.dataStream = dataStream;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n ConversationConnectionConfig,\r\n ConversationManager,\r\n ConversationReceivedTranslationEventArgs,\r\n ConversationRecognizer,\r\n ConversationRecognizerFactory,\r\n ConversationTranslatorCommandTypes,\r\n ConversationTranslatorMessageTypes,\r\n IAuthentication,\r\n IInternalConversation,\r\n IInternalParticipant,\r\n InternalParticipants,\r\n MuteAllEventArgs,\r\n ParticipantAttributeEventArgs,\r\n ParticipantEventArgs,\r\n ParticipantsListEventArgs,\r\n TranscriberRecognizer\r\n} from \"../../common.speech/Exports.js\";\r\nimport {\r\n IDisposable,\r\n IErrorMessages,\r\n marshalPromiseToCallbacks\r\n} from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n ConnectionEventArgs,\r\n ConversationExpirationEventArgs,\r\n ConversationParticipantsChangedEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n ConversationTranslationEventArgs,\r\n ConversationTranslator,\r\n Participant,\r\n ParticipantChangedReason,\r\n ProfanityOption,\r\n PropertyCollection,\r\n PropertyId,\r\n SpeechTranslationConfig,\r\n} from \"../Exports.js\";\r\nimport { SpeechTranslationConfigImpl } from \"../SpeechTranslationConfig.js\";\r\nimport { Callback, ConversationInfo, ConversationProperties, IConversation } from \"./IConversation.js\";\r\nimport { IParticipant, IUser, TranscriptionParticipant } from \"./IParticipant.js\";\r\n\r\nexport abstract class Conversation implements IConversation {\r\n\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n public abstract get authorizationToken(): string;\r\n\r\n public abstract get config(): SpeechTranslationConfig;\r\n\r\n public abstract get conversationId(): string;\r\n public abstract get conversationInfo(): ConversationInfo;\r\n public abstract get properties(): PropertyCollection;\r\n public abstract get speechRecognitionLanguage(): string;\r\n public abstract get participants(): Participant[];\r\n public abstract set authorizationToken(value: string);\r\n public abstract get isConnected(): boolean;\r\n\r\n /**\r\n * Create a conversation\r\n * @param speechConfig\r\n * @param cb\r\n * @param err\r\n */\r\n public static createConversationAsync(speechConfig: SpeechTranslationConfig, arg2?: string | Callback, arg3?: Callback, arg4?: Callback): Conversation {\r\n Contracts.throwIfNullOrUndefined(speechConfig, ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"config\"));\r\n Contracts.throwIfNullOrUndefined(speechConfig.region, ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"SpeechServiceConnection_Region\"));\r\n if (!speechConfig.subscriptionKey && !speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceAuthorization_Token])) {\r\n Contracts.throwIfNullOrUndefined(speechConfig.subscriptionKey, ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"SpeechServiceConnection_Key\"));\r\n }\r\n let conversationImpl: ConversationImpl;\r\n let cb: Callback;\r\n let err: Callback;\r\n if (typeof arg2 === \"string\") {\r\n conversationImpl = new ConversationImpl(speechConfig, arg2);\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n marshalPromiseToCallbacks((async (): Promise => {})(), arg3, arg4);\r\n } else {\r\n conversationImpl = new ConversationImpl(speechConfig);\r\n cb = arg2;\r\n err = arg3;\r\n conversationImpl.createConversationAsync(\r\n ((): void => {\r\n if (!!cb) {\r\n cb();\r\n }\r\n }),\r\n (error: any): void => {\r\n if (!!err) {\r\n err(error);\r\n }\r\n });\r\n }\r\n return conversationImpl;\r\n\r\n }\r\n\r\n /** Start a conversation. */\r\n public abstract startConversationAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Delete a conversation. After this no one will be able to join the conversation. */\r\n public abstract deleteConversationAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** End a conversation. */\r\n public abstract endConversationAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Lock a conversation. This will prevent new participants from joining. */\r\n public abstract lockConversationAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Add Participant to Conversation. */\r\n public abstract addParticipantAsync(participant: IParticipant, cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Mute all other participants in the conversation. After this no other participants will\r\n * have their speech recognitions broadcast, nor be able to send text messages.\r\n */\r\n public abstract muteAllParticipantsAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Mute a participant.\r\n * @param userId A user identifier\r\n */\r\n public abstract muteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Remove a participant from a conversation using the user id, Participant or User object\r\n * @param userId A user identifier\r\n */\r\n public abstract removeParticipantAsync(userId: string | IParticipant | IUser, cb?: Callback, err?: Callback): void;\r\n\r\n /** Unlocks a conversation. */\r\n public abstract unlockConversationAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Unmute all other participants in the conversation. */\r\n public abstract unmuteAllParticipantsAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Unmute a participant.\r\n * @param userId A user identifier\r\n */\r\n public abstract unmuteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;\r\n}\r\n\r\nexport class ConversationImpl extends Conversation implements IDisposable {\r\n\r\n private privConfig: SpeechTranslationConfig;\r\n private privProperties: PropertyCollection;\r\n private privLanguage: string;\r\n private privToken: string;\r\n private privIsDisposed: boolean;\r\n private privRoom: IInternalConversation;\r\n private privManager: ConversationManager;\r\n private privConversationRecognizer: ConversationRecognizer;\r\n private privIsConnected: boolean;\r\n private privParticipants: InternalParticipants;\r\n private privIsReady: boolean;\r\n private privConversationTranslator: ConversationTranslator;\r\n private privTranscriberRecognizer: TranscriberRecognizer;\r\n private privErrors: IErrorMessages = ConversationConnectionConfig.restErrors;\r\n private privConversationId: string;\r\n private readonly privTextMessageMaxLength: number;\r\n\r\n /**\r\n * Create a conversation impl\r\n * @param speechConfig\r\n * @param {string} id - optional conversationId\r\n */\r\n public constructor(speechConfig: SpeechTranslationConfig, id?: string) {\r\n super();\r\n this.privIsConnected = false;\r\n this.privIsDisposed = false;\r\n this.privConversationId = \"\";\r\n this.privProperties = new PropertyCollection();\r\n this.privManager = new ConversationManager();\r\n\r\n // check the speech language\r\n const language: string = speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n if (!language) {\r\n speechConfig.setProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage], ConversationConnectionConfig.defaultLanguageCode);\r\n }\r\n this.privLanguage = speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n\r\n if (!id) {\r\n // check the target language(s)\r\n if (speechConfig.targetLanguages.length === 0) {\r\n speechConfig.addTargetLanguage(this.privLanguage);\r\n }\r\n\r\n // check the profanity setting: speech and conversationTranslator should be in sync\r\n const profanity: string = speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceResponse_ProfanityOption]);\r\n if (!profanity) {\r\n speechConfig.setProfanity(ProfanityOption.Masked);\r\n }\r\n // check the nickname: it should pass this regex: ^\\w+([\\s-][\\w\\(\\)]+)*$\"\r\n // TODO: specify the regex required. Nicknames must be unique or get the duplicate nickname error\r\n // TODO: check what the max length is and if a truncation is required or if the service handles it without an error\r\n let hostNickname: string = speechConfig.getProperty(PropertyId[PropertyId.ConversationTranslator_Name]);\r\n if (hostNickname === undefined || hostNickname === null) {\r\n hostNickname = \"Host\";\r\n }\r\n Contracts.throwIfNullOrTooLong(hostNickname, \"nickname\", 50);\r\n Contracts.throwIfNullOrTooShort(hostNickname, \"nickname\", 2);\r\n speechConfig.setProperty(PropertyId[PropertyId.ConversationTranslator_Name], hostNickname);\r\n\r\n } else {\r\n this.privConversationId = id;\r\n }\r\n\r\n // save the speech config for future usage\r\n this.privConfig = speechConfig;\r\n\r\n // save the config properties\r\n const configImpl = speechConfig as SpeechTranslationConfigImpl;\r\n Contracts.throwIfNull(configImpl, \"speechConfig\");\r\n this.privProperties = configImpl.properties.clone();\r\n this.privIsConnected = false;\r\n this.privParticipants = new InternalParticipants();\r\n this.privIsReady = false;\r\n this.privTextMessageMaxLength = 1000;\r\n }\r\n\r\n // get the internal data about a conversation\r\n public get room(): IInternalConversation {\r\n return this.privRoom;\r\n }\r\n\r\n // get the wrapper for connecting to the websockets\r\n public get connection(): ConversationRecognizer {\r\n return this.privConversationRecognizer; // this.privConnection;\r\n }\r\n\r\n // get the config\r\n public get config(): SpeechTranslationConfig {\r\n return this.privConfig;\r\n }\r\n\r\n // get the conversation Id\r\n public get conversationId(): string {\r\n return this.privRoom ? this.privRoom.roomId : this.privConversationId;\r\n }\r\n\r\n // get the properties\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n // get the speech language\r\n public get speechRecognitionLanguage(): string {\r\n return this.privLanguage;\r\n }\r\n\r\n public get isMutedByHost(): boolean {\r\n return this.privParticipants.me?.isHost ? false : this.privParticipants.me?.isMuted;\r\n }\r\n\r\n public get isConnected(): boolean {\r\n return this.privIsConnected && this.privIsReady;\r\n }\r\n\r\n public get participants(): Participant[] {\r\n return this.toParticipants(true);\r\n }\r\n\r\n public get me(): Participant {\r\n return this.toParticipant(this.privParticipants.me);\r\n }\r\n\r\n public get host(): Participant {\r\n return this.toParticipant(this.privParticipants.host);\r\n }\r\n\r\n public get transcriberRecognizer(): TranscriberRecognizer {\r\n return this.privTranscriberRecognizer;\r\n }\r\n\r\n public get conversationInfo(): ConversationInfo {\r\n const convId: string = this.conversationId;\r\n const p: TranscriptionParticipant[] = this.participants.map((part: Participant): TranscriptionParticipant => (\r\n {\r\n id: part.id,\r\n preferredLanguage: part.preferredLanguage,\r\n voice: part.voice\r\n }\r\n ));\r\n const props: ConversationProperties = {};\r\n for (const key of ConversationConnectionConfig.transcriptionEventKeys) {\r\n const val: string = this.properties.getProperty(key, \"\");\r\n if (val !== \"\") {\r\n props[key] = val;\r\n }\r\n }\r\n const info: ConversationInfo = { id: convId, participants: p, conversationProperties: props };\r\n return info;\r\n }\r\n\r\n private get canSend(): boolean {\r\n return this.privIsConnected && !this.privParticipants.me?.isMuted;\r\n }\r\n\r\n private get canSendAsHost(): boolean {\r\n return this.privIsConnected && this.privParticipants.me?.isHost;\r\n }\r\n\r\n // get / set the speech auth token\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n public get authorizationToken(): string {\r\n return this.privToken;\r\n }\r\n\r\n public set authorizationToken(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"authorizationToken\");\r\n this.privToken = value;\r\n }\r\n\r\n public set conversationTranslator(conversationTranslator: ConversationTranslator) {\r\n this.privConversationTranslator = conversationTranslator;\r\n }\r\n\r\n public onToken(token: IAuthentication): void {\r\n this.privConversationTranslator.onToken(token);\r\n }\r\n\r\n /**\r\n * Create a new conversation as Host\r\n * @param cb\r\n * @param err\r\n */\r\n public createConversationAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n if (!!this.privConversationRecognizer) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedStart), err);\r\n }\r\n this.privManager.createOrJoin(this.privProperties, undefined,\r\n ((room: IInternalConversation): void => {\r\n if (!room) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConnect), err);\r\n }\r\n this.privRoom = room;\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Starts a new conversation as host.\r\n * @param cb\r\n * @param err\r\n */\r\n public startConversationAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n // check if there is already a recognizer\r\n if (!!this.privConversationRecognizer) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedStart), err);\r\n }\r\n // check if there is conversation data available\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedConnect);\r\n // connect to the conversation websocket\r\n this.privParticipants.meId = this.privRoom.participantId;\r\n this.privConversationRecognizer = ConversationRecognizerFactory.fromConfig(this, this.privConfig);\r\n\r\n // Because ConversationTranslator manually sets up and manages the connection, Conversation\r\n // has to forward serviceRecognizer connection events that usually get passed automatically\r\n this.privConversationRecognizer.connected = this.onConnected;\r\n this.privConversationRecognizer.disconnected = this.onDisconnected;\r\n this.privConversationRecognizer.canceled = this.onCanceled;\r\n\r\n this.privConversationRecognizer.participantUpdateCommandReceived = this.onParticipantUpdateCommandReceived;\r\n this.privConversationRecognizer.lockRoomCommandReceived = this.onLockRoomCommandReceived;\r\n this.privConversationRecognizer.muteAllCommandReceived = this.onMuteAllCommandReceived;\r\n this.privConversationRecognizer.participantJoinCommandReceived = this.onParticipantJoinCommandReceived;\r\n this.privConversationRecognizer.participantLeaveCommandReceived = this.onParticipantLeaveCommandReceived;\r\n this.privConversationRecognizer.translationReceived = this.onTranslationReceived;\r\n this.privConversationRecognizer.participantsListReceived = this.onParticipantsListReceived;\r\n this.privConversationRecognizer.conversationExpiration = this.onConversationExpiration;\r\n\r\n this.privConversationRecognizer.connect(this.privRoom.token,\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Join a conversation as a participant.\r\n * @param { IParticipant } participant - participant to add\r\n * @param cb\r\n * @param err\r\n */\r\n public addParticipantAsync(participant: IParticipant, cb?: Callback, err?: Callback): void {\r\n Contracts.throwIfNullOrUndefined(participant, \"Participant\");\r\n marshalPromiseToCallbacks(this.addParticipantImplAsync(participant), cb, err);\r\n }\r\n\r\n /**\r\n * Join a conversation as a participant.\r\n * @param conversation\r\n * @param nickname\r\n * @param lang\r\n * @param cb\r\n * @param err\r\n */\r\n public joinConversationAsync(conversationId: string, nickname: string, lang: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n // TODO\r\n // if (!!this.privConversationRecognizer) {\r\n // throw new Error(this.privErrors.permissionDeniedStart);\r\n // }\r\n Contracts.throwIfNullOrWhitespace(conversationId, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversationId\"));\r\n Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\r\n Contracts.throwIfNullOrWhitespace(lang, this.privErrors.invalidArgs.replace(\"{arg}\", \"language\"));\r\n // join the conversation\r\n this.privManager.createOrJoin(this.privProperties, conversationId,\r\n ((room: IInternalConversation): void => {\r\n Contracts.throwIfNullOrUndefined(room, this.privErrors.permissionDeniedConnect);\r\n this.privRoom = room;\r\n this.privConfig.authorizationToken = room.cognitiveSpeechAuthToken;\r\n // join callback\r\n if (!!cb) {\r\n cb(room.cognitiveSpeechAuthToken);\r\n }\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Deletes a conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public deleteConversationAsync(cb?: Callback, err?: Callback): void {\r\n marshalPromiseToCallbacks(this.deleteConversationImplAsync(), cb, err);\r\n }\r\n\r\n public async deleteConversationImplAsync(): Promise {\r\n Contracts.throwIfNullOrUndefined(this.privProperties, this.privErrors.permissionDeniedConnect);\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.token, this.privErrors.permissionDeniedConnect);\r\n await this.privManager.leave(this.privProperties, this.privRoom.token);\r\n\r\n this.dispose();\r\n }\r\n\r\n /**\r\n * Issues a request to close the client websockets\r\n * @param cb\r\n * @param err\r\n */\r\n public endConversationAsync(cb?: Callback, err?: Callback): void {\r\n marshalPromiseToCallbacks(this.endConversationImplAsync(), cb, err);\r\n }\r\n\r\n public endConversationImplAsync(): Promise {\r\n return this.close(true);\r\n }\r\n\r\n /**\r\n * Issues a request to lock the conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public lockConversationAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"lock\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getLockCommand(true),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to mute the conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public muteAllParticipantsAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privConversationRecognizer, this.privErrors.permissionDeniedSend);\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n // check the user's permissions\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"mute\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteAllCommand(true),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to mute a participant in the conversation\r\n * @param userId\r\n * @param cb\r\n * @param err\r\n */\r\n public muteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(userId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n // check the connection is open (host + participant can perform the mute command)\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n // if not host, check the participant is not muting another participant\r\n if (!this.me.isHost && this.me.id !== userId) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"mute\")), err);\r\n }\r\n // check the user exists\r\n const exists: number = this.privParticipants.getParticipantIndex(userId);\r\n if (exists === -1) {\r\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteCommand(userId, true), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to remove a participant from the conversation\r\n * @param userId\r\n * @param cb\r\n * @param err\r\n */\r\n public removeParticipantAsync(userId: string | IParticipant | IUser, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n if (!!this.privTranscriberRecognizer && userId.hasOwnProperty(\"id\")) {\r\n // Assume this is a transcription participant\r\n marshalPromiseToCallbacks(this.removeParticipantImplAsync(userId as IParticipant), cb, err);\r\n } else {\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"remove\")), err);\r\n }\r\n let participantId = \"\";\r\n if (typeof userId === \"string\") {\r\n participantId = userId;\r\n } else if (userId.hasOwnProperty(\"id\")) {\r\n const participant: IParticipant = userId as IParticipant;\r\n participantId = participant.id;\r\n } else if (userId.hasOwnProperty(\"userId\")) {\r\n const user: IUser = userId as IUser;\r\n participantId = user.userId;\r\n }\r\n Contracts.throwIfNullOrWhitespace(participantId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\r\n // check the participant exists\r\n const index: number = this.participants.findIndex((p: Participant): boolean => p.id === participantId);\r\n if (index === -1) {\r\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getEjectCommand(participantId), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to unlock the conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public unlockConversationAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"unlock\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getLockCommand(false), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to unmute all participants in the conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public unmuteAllParticipantsAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"unmute all\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteAllCommand(false), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to unmute a participant in the conversation\r\n * @param userId\r\n * @param cb\r\n * @param err\r\n */\r\n public unmuteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(userId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n // check the connection is open (host + participant can perform the mute command)\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n // if not host, check the participant is not muting another participant\r\n if (!this.me.isHost && this.me.id !== userId) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"mute\")), err);\r\n }\r\n // check the user exists\r\n const exists: number = this.privParticipants.getParticipantIndex(userId);\r\n if (exists === -1) {\r\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteCommand(userId, false), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Send a text message\r\n * @param message\r\n * @param cb\r\n * @param err\r\n */\r\n public sendTextMessageAsync(message: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(message, this.privErrors.invalidArgs.replace(\"{arg}\", \"message\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n // TODO: is a max length check required?\r\n if (message.length > this.privTextMessageMaxLength) {\r\n this.handleError(new Error(this.privErrors.invalidArgs.replace(\"{arg}\", \"message length\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMessageCommand(message), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Set translated to languages\r\n * @param {string[]} languages - languages to translate to\r\n * @param cb\r\n * @param err\r\n */\r\n public setTranslatedLanguagesAsync(languages: string[], cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfArrayEmptyOrWhitespace(languages, this.privErrors.invalidArgs.replace(\"{arg}\", \"languages\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getSetTranslateToLanguagesCommand(languages),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Change nickname\r\n * @param {string} nickname - new nickname for the room\r\n * @param cb\r\n * @param err\r\n */\r\n public changeNicknameAsync(nickname: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getChangeNicknameCommand(nickname),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public dispose(): void {\r\n if (this.isDisposed) {\r\n return;\r\n }\r\n this.privIsDisposed = true;\r\n if (!!this.config) {\r\n this.config.close();\r\n }\r\n this.privConfig = undefined;\r\n this.privLanguage = undefined;\r\n this.privProperties = undefined;\r\n this.privRoom = undefined;\r\n this.privToken = undefined;\r\n this.privManager = undefined;\r\n this.privIsConnected = false;\r\n this.privIsReady = false;\r\n this.privParticipants = undefined;\r\n }\r\n\r\n public async connectTranscriberRecognizer(recognizer: TranscriberRecognizer): Promise {\r\n if (!!this.privTranscriberRecognizer) {\r\n await this.privTranscriberRecognizer.close();\r\n }\r\n await recognizer.enforceAudioGating();\r\n this.privTranscriberRecognizer = recognizer;\r\n this.privTranscriberRecognizer.conversation = this;\r\n }\r\n\r\n public getKeepAlive(): string {\r\n const nickname: string = (!!this.me) ? this.me.displayName : \"default_nickname\";\r\n return JSON.stringify({\r\n id: \"0\",\r\n nickname,\r\n participantId: this.privRoom.participantId,\r\n roomId: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.keepAlive\r\n });\r\n }\r\n\r\n /** websocket callbacks */\r\n /* eslint-disable @typescript-eslint/typedef */\r\n private onConnected = (e: ConnectionEventArgs): void => {\r\n this.privIsConnected = true;\r\n try {\r\n if (!!this.privConversationTranslator?.sessionStarted) {\r\n this.privConversationTranslator.sessionStarted(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onDisconnected = (e: ConnectionEventArgs): void => {\r\n try {\r\n if (!!this.privConversationTranslator?.sessionStopped) {\r\n this.privConversationTranslator.sessionStopped(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n } finally {\r\n void this.close(false);\r\n }\r\n };\r\n\r\n private onCanceled = (r: ConversationRecognizer, e: ConversationTranslationCanceledEventArgs): void => {\r\n try {\r\n if (!!this.privConversationTranslator?.canceled) {\r\n this.privConversationTranslator.canceled(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantUpdateCommandReceived = (r: ConversationRecognizer, e: ParticipantAttributeEventArgs): void => {\r\n try {\r\n const updatedParticipant: IInternalParticipant = this.privParticipants.getParticipant(e.id);\r\n if (updatedParticipant !== undefined) {\r\n\r\n switch (e.key) {\r\n case ConversationTranslatorCommandTypes.changeNickname:\r\n updatedParticipant.displayName = e.value as string;\r\n break;\r\n case ConversationTranslatorCommandTypes.setUseTTS:\r\n updatedParticipant.isUsingTts = e.value as boolean;\r\n break;\r\n case ConversationTranslatorCommandTypes.setProfanityFiltering:\r\n updatedParticipant.profanity = e.value as boolean;\r\n break;\r\n case ConversationTranslatorCommandTypes.setMute:\r\n updatedParticipant.isMuted = e.value as boolean;\r\n break;\r\n case ConversationTranslatorCommandTypes.setTranslateToLanguages:\r\n updatedParticipant.translateToLanguages = e.value as string[];\r\n break;\r\n }\r\n this.privParticipants.addOrUpdateParticipant(updatedParticipant);\r\n\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.Updated,\r\n [this.toParticipant(updatedParticipant)], e.sessionId));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onLockRoomCommandReceived = (): void => {\r\n // TODO\r\n };\r\n\r\n private onMuteAllCommandReceived = (r: ConversationRecognizer, e: MuteAllEventArgs): void => {\r\n try {\r\n this.privParticipants.participants.forEach((p: IInternalParticipant): boolean => p.isMuted = (p.isHost ? false : e.isMuted));\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.Updated,\r\n this.toParticipants(false), e.sessionId));\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantJoinCommandReceived = (r: ConversationRecognizer, e: ParticipantEventArgs): void => {\r\n try {\r\n const newParticipant: IInternalParticipant = this.privParticipants.addOrUpdateParticipant(e.participant);\r\n if (newParticipant !== undefined) {\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.JoinedConversation,\r\n [this.toParticipant(newParticipant)], e.sessionId));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantLeaveCommandReceived = (r: ConversationRecognizer, e: ParticipantEventArgs): void => {\r\n try {\r\n const ejectedParticipant: IInternalParticipant = this.privParticipants.getParticipant(e.participant.id);\r\n if (ejectedParticipant !== undefined) {\r\n // remove the participant from the internal participants list\r\n this.privParticipants.deleteParticipant(e.participant.id);\r\n if (!!this.privConversationTranslator) {\r\n // notify subscribers that the participant has left the conversation\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.LeftConversation,\r\n [this.toParticipant(ejectedParticipant)], e.sessionId));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onTranslationReceived = (r: ConversationRecognizer, e: ConversationReceivedTranslationEventArgs): void => {\r\n try {\r\n switch (e.command) {\r\n case ConversationTranslatorMessageTypes.final:\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.transcribed(\r\n this.privConversationTranslator,\r\n new ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\r\n }\r\n break;\r\n case ConversationTranslatorMessageTypes.partial:\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.transcribing(\r\n this.privConversationTranslator,\r\n new ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\r\n }\r\n break;\r\n case ConversationTranslatorMessageTypes.instantMessage:\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.textMessageReceived(\r\n this.privConversationTranslator,\r\n new ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\r\n }\r\n break;\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantsListReceived = (r: ConversationRecognizer, e: ParticipantsListEventArgs): void => {\r\n try {\r\n // check if the session token needs to be updated\r\n if (e.sessionToken !== undefined && e.sessionToken !== null) {\r\n this.privRoom.token = e.sessionToken;\r\n }\r\n // save the participants\r\n this.privParticipants.participants = [...e.participants];\r\n // enable the conversation\r\n if (this.privParticipants.me !== undefined) {\r\n this.privIsReady = true;\r\n }\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.JoinedConversation, this.toParticipants(true), e.sessionId));\r\n }\r\n // if this is the host, update the nickname if needed\r\n if (this.me.isHost) {\r\n const nickname: string = this.privConversationTranslator?.properties.getProperty(PropertyId.ConversationTranslator_Name);\r\n if (nickname !== undefined && nickname.length > 0 && nickname !== this.me.displayName) {\r\n // issue a change nickname request\r\n this.changeNicknameAsync(nickname);\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onConversationExpiration = (r: ConversationRecognizer, e: ConversationExpirationEventArgs): void => {\r\n try {\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.conversationExpiration(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n /* eslint-enable @typescript-eslint/typedef */\r\n\r\n private addParticipantImplAsync(participant: IParticipant): Promise {\r\n const newParticipant: IInternalParticipant = this.privParticipants.addOrUpdateParticipant(participant);\r\n if (newParticipant !== undefined) {\r\n if (!!this.privTranscriberRecognizer) {\r\n const conversationInfo = this.conversationInfo;\r\n conversationInfo.participants = [participant];\r\n return this.privTranscriberRecognizer.pushConversationEvent(conversationInfo, \"join\");\r\n }\r\n }\r\n }\r\n\r\n private removeParticipantImplAsync(participant: IParticipant): Promise {\r\n this.privParticipants.deleteParticipant(participant.id);\r\n const conversationInfo = this.conversationInfo;\r\n conversationInfo.participants = [participant];\r\n return this.privTranscriberRecognizer.pushConversationEvent(conversationInfo, \"leave\");\r\n }\r\n\r\n private async close(dispose: boolean): Promise {\r\n try {\r\n this.privIsConnected = false;\r\n await this.privConversationRecognizer?.close();\r\n this.privConversationRecognizer = undefined;\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.dispose();\r\n }\r\n } catch (e) {\r\n // ignore error\r\n throw e;\r\n }\r\n if (dispose) {\r\n this.dispose();\r\n }\r\n }\r\n\r\n /** Helpers */\r\n private handleCallback(cb: () => void, err: (message: string) => void): void {\r\n if (!!cb) {\r\n try {\r\n cb();\r\n } catch (e) {\r\n if (!!err) {\r\n err(e as string);\r\n }\r\n }\r\n cb = undefined;\r\n }\r\n }\r\n\r\n private handleError(error: any, err: (message: string) => void): void {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n }\r\n\r\n /** Participant Helpers */\r\n private toParticipants(includeHost: boolean): Participant[] {\r\n\r\n const participants: Participant[] = this.privParticipants.participants.map((p: IInternalParticipant): Participant => ( this.toParticipant(p) ) );\r\n if (!includeHost) {\r\n return participants.filter((p: Participant): boolean => p.isHost === false);\r\n } else {\r\n return participants;\r\n }\r\n }\r\n\r\n private toParticipant(p: IInternalParticipant): Participant {\r\n return new Participant(p.id, p.avatar, p.displayName, p.isHost, p.isMuted, p.isUsingTts, p.preferredLanguage, p.voice);\r\n }\r\n\r\n private getMuteAllCommand(isMuted: boolean): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setMuteAll,\r\n participantId: this.privRoom.participantId, // the id of the host\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: isMuted\r\n });\r\n }\r\n\r\n private getMuteCommand(participantId: string, isMuted: boolean): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setMute,\r\n // eslint-disable-next-line object-shorthand\r\n participantId: participantId,\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: isMuted\r\n });\r\n }\r\n\r\n private getLockCommand(isLocked: boolean): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setLockState,\r\n participantId: this.privRoom.participantId,\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: isLocked\r\n });\r\n }\r\n\r\n private getEjectCommand(participantId: string): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.ejectParticipant,\r\n // eslint-disable-next-line object-shorthand\r\n participantId: participantId,\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n });\r\n }\r\n\r\n private getSetTranslateToLanguagesCommand(languages: string[]): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setTranslateToLanguages,\r\n participantId: this.privRoom.participantId, // the id of the host\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: languages\r\n });\r\n }\r\n\r\n private getChangeNicknameCommand(nickname: string): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(nickname, \"nickname\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.changeNickname,\r\n nickname,\r\n participantId: this.privRoom.participantId, // the id of the host\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: nickname\r\n });\r\n }\r\n\r\n private getMessageCommand(message: string): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n Contracts.throwIfNullOrWhitespace(message, \"message\");\r\n\r\n return JSON.stringify({\r\n participantId: this.privRoom.participantId,\r\n roomId: this.privRoom.roomId,\r\n text: message,\r\n type: ConversationTranslatorMessageTypes.instantMessage\r\n });\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n AudioConfig,\r\n SpeechTranslationConfig\r\n} from \"../Exports.js\";\r\nimport { Callback } from \"./IConversation.js\";\r\n\r\nexport class ConversationCommon {\r\n\r\n protected privAudioConfig: AudioConfig;\r\n protected privSpeechTranslationConfig: SpeechTranslationConfig;\r\n\r\n public constructor(audioConfig?: AudioConfig) {\r\n this.privAudioConfig = audioConfig;\r\n }\r\n\r\n protected handleCallback(cb: Callback, err: Callback): void {\r\n if (!!cb) {\r\n try {\r\n cb();\r\n } catch (e) {\r\n if (!!err) {\r\n err(e);\r\n }\r\n }\r\n cb = undefined;\r\n }\r\n }\r\n\r\n protected handleError(error: any, err: Callback): void {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n\r\n } else {\r\n err(error);\r\n }\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nimport { SessionEventArgs } from \"../Exports.js\";\r\n\r\nexport class ConversationExpirationEventArgs extends SessionEventArgs {\r\n private privExpirationTime: number;\r\n\r\n public constructor(expirationTime: number, sessionId?: string) {\r\n super(sessionId);\r\n this.privExpirationTime = expirationTime;\r\n }\r\n\r\n /** How much longer until the conversation expires (in minutes). */\r\n public get expirationTime(): number {\r\n return this.privExpirationTime;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nimport { SessionEventArgs } from \"../Exports.js\";\r\nimport { ParticipantChangedReason } from \"./Exports.js\";\r\nimport { IParticipant } from \"./IParticipant.js\";\r\n\r\nexport class ConversationParticipantsChangedEventArgs extends SessionEventArgs {\r\n private privReason: ParticipantChangedReason;\r\n private privParticipant: IParticipant[];\r\n\r\n public constructor(reason: ParticipantChangedReason, participants: IParticipant[], sessionId?: string) {\r\n super(sessionId);\r\n this.privReason = reason;\r\n this.privParticipant = participants;\r\n }\r\n\r\n public get reason(): ParticipantChangedReason {\r\n return this.privReason;\r\n }\r\n\r\n public get participants(): IParticipant[] {\r\n return this.privParticipant;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n OutputFormatPropertyName,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n // SpeechConnectionFactory,\r\n ConversationTranscriberConnectionFactory,\r\n SpeechServiceConfig,\r\n ConversationTranscriptionServiceRecognizer,\r\n} from \"../../common.speech/Exports.js\";\r\nimport { marshalPromiseToCallbacks } from \"../../common/Exports.js\";\r\nimport { AudioConfigImpl } from \"../Audio/AudioConfig.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n AutoDetectSourceLanguageConfig,\r\n ConversationTranscriptionEventArgs,\r\n ConversationTranscriptionCanceledEventArgs,\r\n OutputFormat,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n} from \"../Exports.js\";\r\nimport { SpeechConfig, SpeechConfigImpl } from \"../SpeechConfig.js\";\r\n\r\n/**\r\n * Performs speech recognition with speaker separation from microphone, file, or other audio input streams, and gets transcribed text as result.\r\n * @class ConversationTranscriber\r\n */\r\nexport class ConversationTranscriber extends Recognizer {\r\n private privDisposedRecognizer: boolean;\r\n\r\n /**\r\n * ConversationTranscriber constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - an set of initial properties for this recognizer\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\r\n */\r\n public constructor(speechConfig: SpeechConfig, audioConfig?: AudioConfig) {\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\r\n\r\n Contracts.throwIfNullOrWhitespace(\r\n speechConfigImpl.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage),\r\n PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n\r\n super(audioConfig, speechConfigImpl.properties, new ConversationTranscriberConnectionFactory());\r\n this.privProperties.setProperty(PropertyId.SpeechServiceConnection_RecognitionEndpointVersion, \"2\");\r\n this.privDisposedRecognizer = false;\r\n }\r\n\r\n /**\r\n * ConversationTranscriber constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - an set of initial properties for this recognizer\r\n * @param {AutoDetectSourceLanguageConfig} autoDetectSourceLanguageConfig - An source language detection configuration associated with the recognizer\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\r\n */\r\n public static FromConfig(speechConfig: SpeechConfig, autoDetectSourceLanguageConfig: AutoDetectSourceLanguageConfig, audioConfig?: AudioConfig): ConversationTranscriber {\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n autoDetectSourceLanguageConfig.properties.mergeTo(speechConfigImpl.properties);\r\n const recognizer = new ConversationTranscriber(speechConfig, audioConfig);\r\n return recognizer;\r\n }\r\n\r\n /**\r\n * The event transcribing signals that an intermediate transcription result is received.\r\n * @member ConversationTranscriber.prototype.transcribing\r\n * @function\r\n * @public\r\n */\r\n public transcribing: (sender: Recognizer, event: ConversationTranscriptionEventArgs) => void;\r\n\r\n /**\r\n * The event transcriber signals that a final recognition result is received.\r\n * @member ConversationTranscriber.prototype.transcribed\r\n * @function\r\n * @public\r\n */\r\n public transcribed: (sender: Recognizer, event: ConversationTranscriptionEventArgs) => void;\r\n\r\n /**\r\n * The event canceled signals that an error occurred during transcription.\r\n * @member ConversationTranscriber.prototype.canceled\r\n * @function\r\n * @public\r\n */\r\n public canceled: (sender: Recognizer, event: ConversationTranscriptionCanceledEventArgs) => void;\r\n\r\n /**\r\n * Gets the endpoint id of a customized speech model that is used for transcription.\r\n * @member ConversationTranscriber.prototype.endpointId\r\n * @function\r\n * @public\r\n * @returns {string} the endpoint id of a customized speech model that is used for speech recognition.\r\n */\r\n public get endpointId(): string {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_EndpointId, \"00000000-0000-0000-0000-000000000000\");\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member ConversationTranscriber.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member ConversationTranscriber.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * Gets the spoken language of transcription.\r\n * @member ConversationTranscriber.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @returns {string} The spoken language of transcription.\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n /**\r\n * Gets the output format of transcription.\r\n * @member ConversationTranscriber.prototype.outputFormat\r\n * @function\r\n * @public\r\n * @returns {OutputFormat} The output format of transcription.\r\n */\r\n public get outputFormat(): OutputFormat {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n if (this.properties.getProperty(OutputFormatPropertyName, OutputFormat[OutputFormat.Simple]) === OutputFormat[OutputFormat.Simple]) {\r\n return OutputFormat.Simple;\r\n } else {\r\n return OutputFormat.Detailed;\r\n }\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this conversation transcriber.\r\n * @member ConversationTranscriber.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeechRecognizer.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Starts conversation transcription, until stopTranscribingAsync() is called.\r\n * User must subscribe to events to receive transcription results.\r\n * @member ConversationTranscriber.prototype.startTranscribingAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the transcription has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startTranscribingAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(RecognitionMode.Conversation), cb, err);\r\n }\r\n\r\n /**\r\n * Stops conversation transcription.\r\n * @member ConversationTranscriber.prototype.stopTranscribingAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the transcription has stopped.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopTranscribingAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\r\n }\r\n\r\n /**\r\n * closes all external resources held by an instance of this class.\r\n * @member ConversationTranscriber.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, errorCb?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\r\n }\r\n\r\n /**\r\n * Disposes any resources held by the object.\r\n * @member SpeechRecognizer.prototype.dispose\r\n * @function\r\n * @public\r\n * @param {boolean} disposing - true if disposing the object.\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedRecognizer) {\r\n return;\r\n }\r\n\r\n if (disposing) {\r\n this.privDisposedRecognizer = true;\r\n await this.implRecognizerStop();\r\n }\r\n\r\n await super.dispose(disposing);\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n protected createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n const configImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n recognizerConfig.isSpeakerDiarizationEnabled = true;\r\n return new ConversationTranscriptionServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection, RecognitionResult, ResultReason } from \"../Exports.js\";\r\n\r\n/**\r\n * Defines result of conversation transcription.\r\n * @class ConversationTranscriptionResult\r\n */\r\nexport class ConversationTranscriptionResult extends RecognitionResult {\r\n private readonly privSpeakerId: string;\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @public\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {string} text - The recognized text.\r\n * @param {number} duration - The duration.\r\n * @param {number} offset - The offset into the stream.\r\n * @param {string} language - Primary Language detected, if provided.\r\n * @param {string} languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\r\n * @param {string} speakerId - speaker id for conversation transcription.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {string} json - Additional Json, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n */\r\n public constructor(resultId?: string, reason?: ResultReason, text?: string,\r\n duration?: number, offset?: number, language?: string,\r\n languageDetectionConfidence?: string, speakerId?: string, errorDetails?: string,\r\n json?: string, properties?: PropertyCollection) {\r\n super(resultId, reason, text, duration, offset, language, languageDetectionConfidence, errorDetails, json, properties);\r\n this.privSpeakerId = speakerId;\r\n }\r\n\r\n /**\r\n * speaker id\r\n * @member ConversationTranscriptionResult.prototype.speakerId\r\n * @function\r\n * @public\r\n * @returns {string} id of speaker in given result\r\n */\r\n public get speakerId(): string {\r\n return this.privSpeakerId;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nimport { CancellationEventArgsBase } from \"../CancellationEventArgsBase.js\";\r\n\r\nexport class ConversationTranslationCanceledEventArgs extends CancellationEventArgsBase {\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nimport { RecognitionEventArgs } from \"../Exports.js\";\r\nimport { ConversationTranslationResult } from \"./Exports.js\";\r\n\r\nexport class ConversationTranslationEventArgs extends RecognitionEventArgs {\r\n private privResult: ConversationTranslationResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {ConversationTranslationResult} result - The translation recognition result.\r\n * @param {number} offset - The offset.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(result: ConversationTranslationResult, offset?: number, sessionId?: string) {\r\n super(offset, sessionId);\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Specifies the recognition result.\r\n * @returns {ConversationTranslationResult} the recognition result.\r\n */\r\n public get result(): ConversationTranslationResult {\r\n return this.privResult;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nimport { PropertyCollection } from \"../PropertyCollection.js\";\r\nimport { ResultReason } from \"../ResultReason.js\";\r\nimport { TranslationRecognitionResult } from \"../TranslationRecognitionResult.js\";\r\nimport { Translations } from \"../Translations.js\";\r\n\r\nexport class ConversationTranslationResult extends TranslationRecognitionResult {\r\n private privId: string;\r\n private privOrigLang: string;\r\n\r\n public constructor(participantId: string,\r\n translations: Translations,\r\n originalLanguage?: string,\r\n resultId?: string,\r\n reason?: ResultReason,\r\n text?: string,\r\n duration?: number,\r\n offset?: number,\r\n errorDetails?: string,\r\n json?: string,\r\n properties?: PropertyCollection) {\r\n super(translations, resultId, reason, text, duration, offset, undefined, undefined, errorDetails, json, properties);\r\n this.privId = participantId;\r\n this.privOrigLang = originalLanguage;\r\n }\r\n\r\n /**\r\n * The unique identifier for the participant this result is for.\r\n */\r\n public get participantId(): string {\r\n return this.privId;\r\n }\r\n\r\n /**\r\n * The original language this result was in.\r\n */\r\n public get originalLang(): string {\r\n return this.privOrigLang;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n ConversationConnectionConfig,\r\n IAuthentication,\r\n ServicePropertiesPropertyName,\r\n} from \"../../common.speech/Exports.js\";\r\nimport { ConversationTranslatorConnectionFactory } from \"../../common.speech/Transcription/ConversationTranslatorConnectionFactory.js\";\r\nimport {\r\n IDisposable,\r\n IErrorMessages,\r\n IStringDictionary,\r\n marshalPromiseToCallbacks\r\n} from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n CancellationErrorCode,\r\n CancellationReason,\r\n ProfanityOption,\r\n PropertyCollection,\r\n PropertyId,\r\n ServicePropertyChannel,\r\n SessionEventArgs,\r\n SpeechTranslationConfig,\r\n TranslationRecognitionEventArgs,\r\n TranslationRecognizer\r\n} from \"../Exports.js\";\r\nimport { ConversationImpl } from \"./Conversation.js\";\r\nimport {\r\n ConversationCommon,\r\n ConversationExpirationEventArgs,\r\n ConversationHandler,\r\n ConversationParticipantsChangedEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n ConversationTranslationEventArgs,\r\n IConversationTranslator,\r\n Participant\r\n} from \"./Exports.js\";\r\nimport { Callback, IConversation } from \"./IConversation.js\";\r\n\r\nexport enum SpeechState {\r\n Inactive, Connecting, Connected\r\n}\r\n\r\n// child class of TranslationRecognizer meant only for use with ConversationTranslator\r\nclass ConversationTranslationRecognizer extends TranslationRecognizer {\r\n private privTranslator: ConversationTranslator;\r\n private privSpeechState: SpeechState;\r\n\r\n public constructor(speechConfig: SpeechTranslationConfig, audioConfig: AudioConfig, translator: ConversationTranslator, convGetter: () => ConversationImpl) {\r\n\r\n super(speechConfig, audioConfig, new ConversationTranslatorConnectionFactory(convGetter));\r\n\r\n this.privSpeechState = SpeechState.Inactive;\r\n if (!!translator) {\r\n this.privTranslator = translator;\r\n this.sessionStarted = (): void => {\r\n this.privSpeechState = SpeechState.Connected;\r\n };\r\n\r\n this.sessionStopped = (): void => {\r\n this.privSpeechState = SpeechState.Inactive;\r\n };\r\n\r\n this.recognizing = (tr: TranslationRecognizer, e: TranslationRecognitionEventArgs): void => {\r\n if (!!this.privTranslator.recognizing) {\r\n this.privTranslator.recognizing(this.privTranslator, e);\r\n }\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\r\n this.recognized = async (tr: TranslationRecognizer, e: TranslationRecognitionEventArgs): Promise => {\r\n // if there is an error connecting to the conversation service from the speech service the error will be returned in the ErrorDetails field.\r\n if (e.result?.errorDetails) {\r\n await this.cancelSpeech();\r\n // TODO: format the error message contained in 'errorDetails'\r\n this.fireCancelEvent(e.result.errorDetails);\r\n } else {\r\n if (!!this.privTranslator.recognized) {\r\n this.privTranslator.recognized(this.privTranslator, e);\r\n }\r\n }\r\n return;\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\r\n this.canceled = async (): Promise => {\r\n if (this.privSpeechState !== SpeechState.Inactive) {\r\n try {\r\n await this.cancelSpeech();\r\n } catch (error) {\r\n this.privSpeechState = SpeechState.Inactive;\r\n }\r\n }\r\n };\r\n }\r\n }\r\n\r\n public get state(): SpeechState {\r\n return this.privSpeechState;\r\n }\r\n\r\n public set state(newState: SpeechState) {\r\n this.privSpeechState = newState;\r\n }\r\n\r\n public set authentication(token: IAuthentication) {\r\n this.privReco.authentication = token;\r\n }\r\n\r\n\r\n public onConnection(): void {\r\n this.privSpeechState = SpeechState.Connected;\r\n }\r\n\r\n public async onCancelSpeech(): Promise {\r\n this.privSpeechState = SpeechState.Inactive;\r\n await this.cancelSpeech();\r\n }\r\n\r\n /**\r\n * Fire a cancel event\r\n * @param error\r\n */\r\n private fireCancelEvent(error: string): void {\r\n try {\r\n if (!!this.privTranslator.canceled) {\r\n const cancelEvent: ConversationTranslationCanceledEventArgs = new ConversationTranslationCanceledEventArgs(\r\n CancellationReason.Error,\r\n error,\r\n CancellationErrorCode.RuntimeError\r\n );\r\n\r\n this.privTranslator.canceled(this.privTranslator, cancelEvent);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n }\r\n\r\n private async cancelSpeech(): Promise {\r\n try {\r\n this.stopContinuousRecognitionAsync();\r\n await this.privReco?.disconnect();\r\n this.privSpeechState = SpeechState.Inactive;\r\n } catch (e) {\r\n // ignore the error\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Join, leave or connect to a conversation.\r\n */\r\nexport class ConversationTranslator extends ConversationCommon implements IConversationTranslator, IDisposable {\r\n\r\n public canceled: (sender: ConversationHandler, event: ConversationTranslationCanceledEventArgs) => void;\r\n public conversationExpiration: (sender: IConversationTranslator, event: ConversationExpirationEventArgs) => void;\r\n public participantsChanged: (sender: IConversationTranslator, event: ConversationParticipantsChangedEventArgs) => void;\r\n public sessionStarted: (sender: ConversationHandler, event: SessionEventArgs) => void;\r\n public sessionStopped: (sender: ConversationHandler, event: SessionEventArgs) => void;\r\n public textMessageReceived: (sender: IConversationTranslator, event: ConversationTranslationEventArgs) => void;\r\n\r\n // Callbacks for whole conversation results\r\n public transcribed: (sender: IConversationTranslator, event: ConversationTranslationEventArgs) => void;\r\n public transcribing: (sender: IConversationTranslator, event: ConversationTranslationEventArgs) => void;\r\n\r\n // Callbacks for detecting speech/translation results from self\r\n public recognized: (sender: IConversationTranslator, event: TranslationRecognitionEventArgs) => void;\r\n public recognizing: (sender: IConversationTranslator, event: TranslationRecognitionEventArgs) => void;\r\n\r\n private privSpeechRecognitionLanguage: string;\r\n private privProperties: PropertyCollection;\r\n private privIsDisposed: boolean;\r\n private privCTRecognizer: ConversationTranslationRecognizer;\r\n private privIsSpeaking: boolean;\r\n private privConversation: ConversationImpl;\r\n private privErrors: IErrorMessages = ConversationConnectionConfig.restErrors;\r\n private privPlaceholderKey: string;\r\n private privPlaceholderRegion: string;\r\n\r\n public constructor(audioConfig?: AudioConfig) {\r\n super(audioConfig);\r\n this.privIsDisposed = false;\r\n this.privIsSpeaking = false;\r\n this.privPlaceholderKey = \"abcdefghijklmnopqrstuvwxyz012345\";\r\n this.privPlaceholderRegion = \"westus\";\r\n this.privProperties = new PropertyCollection();\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public get speechRecognitionLanguage(): string {\r\n return this.privSpeechRecognitionLanguage;\r\n }\r\n\r\n public get participants(): Participant[] {\r\n return this.privConversation?.participants;\r\n }\r\n\r\n private get canSpeak(): boolean {\r\n\r\n // is there a Conversation websocket available and has the Recognizer been set up\r\n if (!this.privConversation.isConnected || !this.privCTRecognizer) {\r\n return false;\r\n }\r\n\r\n // is the user already speaking\r\n if (this.privIsSpeaking || this.privCTRecognizer.state === SpeechState.Connected || this.privCTRecognizer.state === SpeechState.Connecting) {\r\n return false;\r\n }\r\n\r\n // is the user muted\r\n if (this.privConversation.isMutedByHost) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public onToken(token: IAuthentication): void {\r\n this.privCTRecognizer.authentication = token;\r\n }\r\n\r\n public setServiceProperty(name: string, value: string): void {\r\n const currentProperties: IStringDictionary = JSON.parse(this.privProperties.getProperty(ServicePropertiesPropertyName, \"{}\")) as IStringDictionary;\r\n\r\n currentProperties[name] = value;\r\n\r\n this.privProperties.setProperty(ServicePropertiesPropertyName, JSON.stringify(currentProperties));\r\n }\r\n\r\n /**\r\n * Join a conversation. If this is the host, pass in the previously created Conversation object.\r\n * @param conversation\r\n * @param nickname\r\n * @param lang\r\n * @param cb\r\n * @param err\r\n */\r\n public joinConversationAsync(conversation: IConversation, nickname: string, cb?: Callback, err?: Callback): void;\r\n public joinConversationAsync(conversationId: string, nickname: string, lang: string, cb?: Callback, err?: Callback): void;\r\n public joinConversationAsync(conversation: string | IConversation, nickname: string, param1?: string | Callback, param2?: Callback, param3?: Callback): void {\r\n\r\n try {\r\n\r\n if (typeof conversation === \"string\") {\r\n\r\n Contracts.throwIfNullOrUndefined(conversation, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversation id\"));\r\n Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\r\n\r\n if (!!this.privConversation) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedStart), param3);\r\n }\r\n\r\n let lang: string = param1 as string;\r\n if (lang === undefined || lang === null || lang === \"\") {\r\n lang = ConversationConnectionConfig.defaultLanguageCode;\r\n }\r\n\r\n // create a placeholder config\r\n this.privSpeechTranslationConfig = SpeechTranslationConfig.fromSubscription(\r\n this.privPlaceholderKey,\r\n this.privPlaceholderRegion);\r\n this.privSpeechTranslationConfig.setProfanity(ProfanityOption.Masked);\r\n this.privSpeechTranslationConfig.addTargetLanguage(lang);\r\n this.privSpeechTranslationConfig.setProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage], lang);\r\n this.privSpeechTranslationConfig.setProperty(PropertyId[PropertyId.ConversationTranslator_Name], nickname);\r\n\r\n const propertyIdsToCopy: (string | PropertyId)[] = [\r\n PropertyId.SpeechServiceConnection_Host,\r\n PropertyId.ConversationTranslator_Host,\r\n PropertyId.SpeechServiceConnection_Endpoint,\r\n PropertyId.SpeechServiceConnection_ProxyHostName,\r\n PropertyId.SpeechServiceConnection_ProxyPassword,\r\n PropertyId.SpeechServiceConnection_ProxyPort,\r\n PropertyId.SpeechServiceConnection_ProxyUserName,\r\n \"ConversationTranslator_MultiChannelAudio\",\r\n \"ConversationTranslator_Region\"\r\n ];\r\n\r\n for (const prop of propertyIdsToCopy) {\r\n const value = this.privProperties.getProperty(prop);\r\n if (value) {\r\n const key = typeof prop === \"string\" ? prop : PropertyId[prop];\r\n this.privSpeechTranslationConfig.setProperty(key, value);\r\n }\r\n }\r\n\r\n const currentProperties = JSON.parse(this.privProperties.getProperty(ServicePropertiesPropertyName, \"{}\")) as IStringDictionary;\r\n for (const prop of Object.keys(currentProperties)) {\r\n this.privSpeechTranslationConfig.setServiceProperty(prop, currentProperties[prop], ServicePropertyChannel.UriQueryParameter);\r\n }\r\n\r\n // join the conversation\r\n this.privConversation = new ConversationImpl(this.privSpeechTranslationConfig);\r\n this.privConversation.conversationTranslator = this;\r\n\r\n this.privConversation.joinConversationAsync(\r\n conversation,\r\n nickname,\r\n lang,\r\n ((result: string): void => {\r\n\r\n if (!result) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConnect), param3);\r\n }\r\n\r\n this.privSpeechTranslationConfig.authorizationToken = result;\r\n this.privConversation.room.isHost = false;\r\n\r\n // connect to the ws\r\n this.privConversation.startConversationAsync(\r\n ((): void => {\r\n this.handleCallback(param2, param3);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, param3);\r\n }));\r\n\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, param3);\r\n }));\r\n\r\n } else if (typeof conversation === \"object\") {\r\n\r\n Contracts.throwIfNullOrUndefined(conversation, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversation id\"));\r\n Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\r\n\r\n // save the nickname\r\n this.privProperties.setProperty(PropertyId.ConversationTranslator_Name, nickname);\r\n // ref the conversation object\r\n this.privConversation = conversation as ConversationImpl;\r\n // ref the conversation translator object\r\n this.privConversation.conversationTranslator = this;\r\n this.privConversation.room.isHost = true;\r\n\r\n Contracts.throwIfNullOrUndefined(this.privConversation, this.privErrors.permissionDeniedConnect);\r\n Contracts.throwIfNullOrUndefined(this.privConversation.room.token, this.privErrors.permissionDeniedConnect);\r\n\r\n this.privSpeechTranslationConfig = conversation.config;\r\n\r\n this.handleCallback(param1 as Callback, param2);\r\n } else {\r\n this.handleError(\r\n new Error(this.privErrors.invalidArgs.replace(\"{arg}\", \"invalid conversation type\")),\r\n param2);\r\n }\r\n\r\n } catch (error) {\r\n this.handleError(error, typeof param1 === \"string\" ? param3 : param2);\r\n }\r\n }\r\n\r\n /**\r\n * Leave the conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public leaveConversationAsync(cb?: Callback, err?: Callback): void {\r\n\r\n marshalPromiseToCallbacks((async (): Promise => {\r\n\r\n // stop the speech websocket\r\n await this.cancelSpeech();\r\n // stop the websocket\r\n await this.privConversation.endConversationImplAsync();\r\n // https delete request\r\n await this.privConversation.deleteConversationImplAsync();\r\n this.dispose();\r\n\r\n })(), cb, err);\r\n }\r\n\r\n /**\r\n * Send a text message\r\n * @param message\r\n * @param cb\r\n * @param err\r\n */\r\n public sendTextMessageAsync(message: string, cb?: Callback, err?: Callback): void {\r\n\r\n try {\r\n Contracts.throwIfNullOrUndefined(this.privConversation, this.privErrors.permissionDeniedSend);\r\n Contracts.throwIfNullOrWhitespace(message, this.privErrors.invalidArgs.replace(\"{arg}\", message));\r\n\r\n this.privConversation.sendTextMessageAsync(message, cb, err);\r\n } catch (error) {\r\n\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Start speaking\r\n * @param cb\r\n * @param err\r\n */\r\n public startTranscribingAsync(cb?: Callback, err?: Callback): void {\r\n marshalPromiseToCallbacks((async (): Promise => {\r\n try {\r\n Contracts.throwIfNullOrUndefined(this.privConversation, this.privErrors.permissionDeniedSend);\r\n Contracts.throwIfNullOrUndefined(this.privConversation.room.token, this.privErrors.permissionDeniedConnect);\r\n\r\n if (this.privCTRecognizer === undefined) {\r\n await this.connectTranslatorRecognizer();\r\n }\r\n Contracts.throwIfNullOrUndefined(this.privCTRecognizer, this.privErrors.permissionDeniedSend);\r\n\r\n if (!this.canSpeak) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n\r\n await this.startContinuousRecognition();\r\n\r\n this.privIsSpeaking = true;\r\n } catch (error) {\r\n this.privIsSpeaking = false;\r\n await this.cancelSpeech();\r\n throw error;\r\n }\r\n })(), cb, err);\r\n }\r\n\r\n /**\r\n * Stop speaking\r\n * @param cb\r\n * @param err\r\n */\r\n public stopTranscribingAsync(cb?: Callback, err?: Callback): void {\r\n marshalPromiseToCallbacks((async (): Promise => {\r\n try {\r\n if (!this.privIsSpeaking) {\r\n // stop speech\r\n await this.cancelSpeech();\r\n return;\r\n }\r\n\r\n // stop the recognition but leave the websocket open\r\n this.privIsSpeaking = false;\r\n await new Promise((resolve: () => void, reject: (error: string) => void): void => {\r\n this.privCTRecognizer.stopContinuousRecognitionAsync(resolve, reject);\r\n });\r\n\r\n } catch (error) {\r\n await this.cancelSpeech();\r\n }\r\n })(), cb, err);\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public dispose(reason?: string, success?: () => void, err?: (error: string) => void): void {\r\n marshalPromiseToCallbacks((async (): Promise => {\r\n if (this.isDisposed && !this.privIsSpeaking) {\r\n return;\r\n }\r\n await this.cancelSpeech();\r\n this.privIsDisposed = true;\r\n this.privSpeechTranslationConfig.close();\r\n this.privSpeechRecognitionLanguage = undefined;\r\n this.privProperties = undefined;\r\n this.privAudioConfig = undefined;\r\n this.privSpeechTranslationConfig = undefined;\r\n this.privConversation.dispose();\r\n this.privConversation = undefined;\r\n })(), success, err);\r\n }\r\n\r\n /**\r\n * Cancel the speech websocket\r\n */\r\n private async cancelSpeech(): Promise {\r\n try {\r\n this.privIsSpeaking = false;\r\n await this.privCTRecognizer?.onCancelSpeech();\r\n this.privCTRecognizer = undefined;\r\n } catch (e) {\r\n // ignore the error\r\n }\r\n }\r\n\r\n /**\r\n * Connect to the speech translation recognizer.\r\n * Currently there is no language validation performed before sending the SpeechLanguage code to the service.\r\n * If it's an invalid language the raw error will be: 'Error during WebSocket handshake: Unexpected response code: 400'\r\n * e.g. pass in 'fr' instead of 'fr-FR', or a text-only language 'cy'\r\n */\r\n private async connectTranslatorRecognizer(): Promise {\r\n try {\r\n\r\n if (this.privAudioConfig === undefined) {\r\n this.privAudioConfig = AudioConfig.fromDefaultMicrophoneInput();\r\n }\r\n\r\n // clear the temp subscription key if it's a participant joining\r\n if (this.privSpeechTranslationConfig.getProperty(PropertyId[PropertyId.SpeechServiceConnection_Key])\r\n === this.privPlaceholderKey) {\r\n this.privSpeechTranslationConfig.setProperty(PropertyId[PropertyId.SpeechServiceConnection_Key], \"\");\r\n }\r\n\r\n const convGetter = (): ConversationImpl => this.privConversation;\r\n this.privCTRecognizer = new ConversationTranslationRecognizer(this.privSpeechTranslationConfig, this.privAudioConfig, this, convGetter);\r\n } catch (error) {\r\n await this.cancelSpeech();\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Handle the start speaking request\r\n */\r\n private startContinuousRecognition(): Promise {\r\n return new Promise((resolve: () => void, reject: (error: string) => void): void => {\r\n this.privCTRecognizer.startContinuousRecognitionAsync(resolve, reject);\r\n });\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nexport { Conversation, ConversationImpl } from \"./Conversation.js\";\r\nexport { ConversationInfo } from \"./IConversation.js\";\r\nexport { ConversationCommon } from \"./ConversationCommon.js\";\r\nexport { ConversationExpirationEventArgs } from \"./ConversationExpirationEventArgs.js\";\r\nexport { ConversationParticipantsChangedEventArgs } from \"./ConversationParticipantsChangedEventArgs.js\";\r\nexport { ConversationTranslationCanceledEventArgs } from \"./ConversationTranslationCanceledEventArgs.js\";\r\nexport { ConversationTranslationEventArgs } from \"./ConversationTranslationEventArgs.js\";\r\nexport { ConversationTranslationResult } from \"./ConversationTranslationResult.js\";\r\nexport { ConversationTranslator } from \"./ConversationTranslator.js\";\r\nexport { ConversationTranscriber } from \"./ConversationTranscriber.js\";\r\nexport { IParticipant, Participant, User, VoiceSignature } from \"./IParticipant.js\";\r\nexport { ParticipantChangedReason } from \"./ParticipantChangedReason.js\";\r\nexport { ConversationHandler, ConversationTranscriptionHandler, IConversationTranslator } from \"./ConversationHandler.js\";\r\nexport { Meeting, MeetingImpl } from \"./Meeting.js\";\r\nexport { MeetingInfo } from \"./IMeeting.js\";\r\nexport { MeetingTranscriptionCanceledEventArgs } from \"./MeetingTranscriptionCanceledEventArgs.js\";\r\nexport { MeetingTranscriber } from \"./MeetingTranscriber.js\";\r\nexport { MeetingHandler, MeetingTranscriptionHandler } from \"./MeetingHandler.js\";\r\nexport { ConversationTranscriptionResult } from \"./ConversationTranscriptionResult.js\";\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { PropertyCollection } from \"../Exports.js\";\r\n\r\n/**\r\n * Represents a user in a conversation.\r\n * Added in version 1.4.0\r\n */\r\nexport interface IUser {\r\n /** Gets the user's ID */\r\n readonly userId: string;\r\n}\r\n\r\nexport class User implements IUser {\r\n private privUserId: string;\r\n\r\n public constructor(userId: string) {\r\n this.privUserId = userId;\r\n }\r\n\r\n public get userId(): string {\r\n return this.privUserId;\r\n }\r\n}\r\n\r\nexport interface VoiceSignature {\r\n Version: number;\r\n Tag: string;\r\n Data: string;\r\n}\r\n\r\nexport interface TranscriptionParticipant {\r\n /** The unique identifier for the participant. */\r\n readonly id: string;\r\n /** The participant's preferred spoken language. */\r\n readonly preferredLanguage: string;\r\n /** The participant's voice signature */\r\n readonly voice: string;\r\n}\r\n\r\n/**\r\n * Represents a participant in a conversation.\r\n * Added in version 1.4.0\r\n */\r\nexport interface IParticipant extends TranscriptionParticipant {\r\n /** Gets the colour of the user's avatar as an HTML hex string (e.g. FF0000 for red). */\r\n readonly avatar: string;\r\n /**\r\n * The participant's display name. Please note that there may be more than one participant\r\n * with the same name. You can use property to tell them apart.\r\n */\r\n readonly displayName: string;\r\n /** Gets whether or not this participant is the host. */\r\n readonly isHost: boolean;\r\n /** Gets whether or not this participant is muted. */\r\n readonly isMuted: boolean;\r\n /** Gets whether or not the participant is using Text To Speech (TTS). */\r\n readonly isUsingTts: boolean;\r\n /** Contains properties of the participant. */\r\n readonly properties: PropertyCollection;\r\n}\r\n\r\nexport class Participant implements IParticipant {\r\n private privAvatar: string;\r\n private privDisplayName: string;\r\n private privId: string;\r\n private privIsHost: boolean;\r\n private privIsMuted: boolean;\r\n private privIsUsingTts: boolean;\r\n private privPreferredLanguage: string;\r\n private privVoice: string;\r\n private privProperties: PropertyCollection;\r\n\r\n public constructor(id: string, avatar: string, displayName: string, isHost: boolean, isMuted: boolean, isUsingTts: boolean, preferredLanguage: string, voice?: string) {\r\n this.privId = id;\r\n this.privAvatar = avatar;\r\n this.privDisplayName = displayName;\r\n this.privIsHost = isHost;\r\n this.privIsMuted = isMuted;\r\n this.privIsUsingTts = isUsingTts;\r\n this.privPreferredLanguage = preferredLanguage;\r\n this.privVoice = voice;\r\n this.privProperties = new PropertyCollection();\r\n }\r\n\r\n public get avatar(): string {\r\n return this.privAvatar;\r\n }\r\n\r\n public get displayName(): string {\r\n return this.privDisplayName;\r\n }\r\n\r\n public get id(): string {\r\n return this.privId;\r\n }\r\n\r\n public get preferredLanguage(): string {\r\n return this.privPreferredLanguage;\r\n }\r\n\r\n public get isHost(): boolean {\r\n return this.privIsHost;\r\n }\r\n\r\n public get isMuted(): boolean {\r\n return this.privIsMuted;\r\n }\r\n\r\n public get isUsingTts(): boolean {\r\n return this.privIsUsingTts;\r\n }\r\n\r\n public get voice(): string {\r\n return this.privVoice;\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public static From(id: string, language: string, voice: string): IParticipant {\r\n return new Participant(id, \"\", id, false, false, false, language, voice);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport {\r\n ConversationConnectionConfig,\r\n ConversationManager,\r\n ConversationReceivedTranslationEventArgs,\r\n ConversationRecognizer,\r\n ConversationTranslatorCommandTypes,\r\n ConversationTranslatorMessageTypes,\r\n IInternalConversation,\r\n IInternalParticipant,\r\n InternalParticipants,\r\n MuteAllEventArgs,\r\n ParticipantAttributeEventArgs,\r\n ParticipantEventArgs,\r\n ParticipantsListEventArgs,\r\n TranscriberRecognizer\r\n} from \"../../common.speech/Exports.js\";\r\nimport {\r\n IDisposable,\r\n IErrorMessages,\r\n marshalPromiseToCallbacks\r\n} from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n ConnectionEventArgs,\r\n ConversationExpirationEventArgs,\r\n ConversationParticipantsChangedEventArgs,\r\n ConversationTranslationCanceledEventArgs,\r\n ConversationTranslationEventArgs,\r\n ConversationTranslator,\r\n Participant,\r\n ParticipantChangedReason,\r\n PropertyCollection,\r\n PropertyId,\r\n SpeechTranslationConfig,\r\n} from \"../Exports.js\";\r\nimport { SpeechTranslationConfigImpl } from \"../SpeechTranslationConfig.js\";\r\nimport { Callback, MeetingInfo, MeetingProperties, IMeeting } from \"./IMeeting.js\";\r\nimport { IParticipant, IUser, TranscriptionParticipant } from \"./IParticipant.js\";\r\n\r\nexport abstract class Meeting implements IMeeting {\r\n\r\n protected constructor() {\r\n return;\r\n }\r\n\r\n public abstract get authorizationToken(): string;\r\n\r\n public abstract get config(): SpeechTranslationConfig;\r\n\r\n public abstract get meetingId(): string;\r\n public abstract get meetingInfo(): MeetingInfo;\r\n public abstract get properties(): PropertyCollection;\r\n public abstract get speechRecognitionLanguage(): string;\r\n public abstract get participants(): Participant[];\r\n public abstract set authorizationToken(value: string);\r\n public abstract get isConnected(): boolean;\r\n\r\n /**\r\n * Create a meeting\r\n * @param speechConfig\r\n * @param meetingId\r\n * @param cb\r\n * @param err\r\n */\r\n public static createMeetingAsync(speechConfig: SpeechTranslationConfig, meetingId: string, arg3?: Callback, arg4?: Callback): Meeting {\r\n Contracts.throwIfNullOrUndefined(speechConfig, ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"config\"));\r\n Contracts.throwIfNullOrUndefined(speechConfig.region, ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"SpeechServiceConnection_Region\"));\r\n Contracts.throwIfNull(meetingId, \"meetingId\");\r\n if (meetingId.length === 0) {\r\n throw new Error(\"meetingId cannot be empty\");\r\n }\r\n if (!speechConfig.subscriptionKey && !speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceAuthorization_Token])) {\r\n Contracts.throwIfNullOrUndefined(speechConfig.subscriptionKey, ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"SpeechServiceConnection_Key\"));\r\n }\r\n const meetingImpl = new MeetingImpl(speechConfig, meetingId);\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n marshalPromiseToCallbacks((async (): Promise => {})(), arg3, arg4);\r\n return meetingImpl;\r\n }\r\n\r\n /** Start a meeting. */\r\n public abstract startMeetingAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Delete a meeting. After this no one will be able to join the meeting. */\r\n public abstract deleteMeetingAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** End a meeting. */\r\n public abstract endMeetingAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Lock a meeting. This will prevent new participants from joining. */\r\n public abstract lockMeetingAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Add Participant to Meeting. */\r\n public abstract addParticipantAsync(participant: IParticipant, cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Mute all other participants in the Meeting. After this no other participants will\r\n * have their speech recognitions broadcast, nor be able to send text messages.\r\n */\r\n public abstract muteAllParticipantsAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Mute a participant.\r\n * @param userId A user identifier\r\n */\r\n public abstract muteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Remove a participant from a meeting using the user id, Participant or User object\r\n * @param userId A user identifier\r\n */\r\n public abstract removeParticipantAsync(userId: string | IParticipant | IUser, cb?: Callback, err?: Callback): void;\r\n\r\n /** Unlocks a meeting. */\r\n public abstract unlockMeetingAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /** Unmute all other participants in the meeting. */\r\n public abstract unmuteAllParticipantsAsync(cb?: Callback, err?: Callback): void;\r\n\r\n /**\r\n * Unmute a participant.\r\n * @param userId A user identifier\r\n */\r\n public abstract unmuteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;\r\n}\r\n\r\nexport class MeetingImpl extends Meeting implements IDisposable {\r\n\r\n private privConfig: SpeechTranslationConfig;\r\n private privProperties: PropertyCollection;\r\n private privLanguage: string;\r\n private privToken: string;\r\n private privIsDisposed: boolean;\r\n private privRoom: IInternalConversation;\r\n private privManager: ConversationManager;\r\n private privConversationRecognizer: ConversationRecognizer;\r\n private privIsConnected: boolean;\r\n private privParticipants: InternalParticipants;\r\n private privIsReady: boolean;\r\n private privConversationTranslator: ConversationTranslator;\r\n private privTranscriberRecognizer: TranscriberRecognizer;\r\n private privErrors: IErrorMessages = ConversationConnectionConfig.restErrors;\r\n private privConversationId: string;\r\n private readonly privTextMessageMaxLength: number;\r\n\r\n /**\r\n * Create a Meeting impl\r\n * @param speechConfig\r\n * @param {string} id - optional conversationId\r\n */\r\n public constructor(speechConfig: SpeechTranslationConfig, id: string) {\r\n super();\r\n this.privIsConnected = false;\r\n this.privIsDisposed = false;\r\n this.privConversationId = \"\";\r\n this.privProperties = new PropertyCollection();\r\n this.privManager = new ConversationManager();\r\n\r\n // check the speech language\r\n const language: string = speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n if (!language) {\r\n speechConfig.setProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage], ConversationConnectionConfig.defaultLanguageCode);\r\n }\r\n this.privLanguage = speechConfig.getProperty(PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n this.privConversationId = id;\r\n\r\n // save the speech config for future usage\r\n this.privConfig = speechConfig;\r\n\r\n // save the config properties\r\n const configImpl = speechConfig as SpeechTranslationConfigImpl;\r\n Contracts.throwIfNull(configImpl, \"speechConfig\");\r\n this.privProperties = configImpl.properties.clone();\r\n this.privIsConnected = false;\r\n this.privParticipants = new InternalParticipants();\r\n this.privIsReady = false;\r\n this.privTextMessageMaxLength = 1000;\r\n }\r\n\r\n // get the internal data about a conversation\r\n public get room(): IInternalConversation {\r\n return this.privRoom;\r\n }\r\n\r\n // get the wrapper for connecting to the websockets\r\n public get connection(): ConversationRecognizer {\r\n return this.privConversationRecognizer; // this.privConnection;\r\n }\r\n\r\n // get the config\r\n public get config(): SpeechTranslationConfig {\r\n return this.privConfig;\r\n }\r\n\r\n // get the meeting Id\r\n public get meetingId(): string {\r\n return this.privRoom ? this.privRoom.roomId : this.privConversationId;\r\n }\r\n\r\n // get the properties\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n // get the speech language\r\n public get speechRecognitionLanguage(): string {\r\n return this.privLanguage;\r\n }\r\n\r\n public get isMutedByHost(): boolean {\r\n return this.privParticipants.me?.isHost ? false : this.privParticipants.me?.isMuted;\r\n }\r\n\r\n public get isConnected(): boolean {\r\n return this.privIsConnected && this.privIsReady;\r\n }\r\n\r\n public get participants(): Participant[] {\r\n return this.toParticipants(true);\r\n }\r\n\r\n public get me(): Participant {\r\n return this.toParticipant(this.privParticipants.me);\r\n }\r\n\r\n public get host(): Participant {\r\n return this.toParticipant(this.privParticipants.host);\r\n }\r\n\r\n public get transcriberRecognizer(): TranscriberRecognizer {\r\n return this.privTranscriberRecognizer;\r\n }\r\n\r\n public get meetingInfo(): MeetingInfo {\r\n const convId: string = this.meetingId;\r\n const p: TranscriptionParticipant[] = this.participants.map((part: Participant): TranscriptionParticipant => (\r\n {\r\n id: part.id,\r\n preferredLanguage: part.preferredLanguage,\r\n voice: part.voice\r\n }\r\n ));\r\n const props: MeetingProperties = {};\r\n for (const key of ConversationConnectionConfig.transcriptionEventKeys) {\r\n const val: string = this.properties.getProperty(key, \"\");\r\n if (val !== \"\") {\r\n props[key] = val;\r\n }\r\n }\r\n const info: MeetingInfo = { id: convId, participants: p, meetingProperties: props };\r\n return info;\r\n }\r\n\r\n private get canSend(): boolean {\r\n return this.privIsConnected && !this.privParticipants.me?.isMuted;\r\n }\r\n\r\n private get canSendAsHost(): boolean {\r\n return this.privIsConnected && this.privParticipants.me?.isHost;\r\n }\r\n\r\n // get / set the speech auth token\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n public get authorizationToken(): string {\r\n return this.privToken;\r\n }\r\n\r\n public set authorizationToken(value: string) {\r\n Contracts.throwIfNullOrWhitespace(value, \"authorizationToken\");\r\n this.privToken = value;\r\n }\r\n\r\n /**\r\n * Create a new meeting as Host\r\n * @param cb\r\n * @param err\r\n */\r\n public createMeetingAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n if (!!this.privConversationRecognizer) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedStart), err);\r\n }\r\n this.privManager.createOrJoin(this.privProperties, undefined,\r\n ((room: IInternalConversation): void => {\r\n if (!room) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConnect), err);\r\n }\r\n this.privRoom = room;\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Starts a new meeting as host.\r\n * @param cb\r\n * @param err\r\n */\r\n public startMeetingAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n // check if there is already a recognizer\r\n if (!!this.privConversationRecognizer) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedStart), err);\r\n }\r\n // check if there is conversation data available\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedConnect);\r\n // connect to the conversation websocket\r\n this.privParticipants.meId = this.privRoom.participantId;\r\n\r\n // Because ConversationTranslator manually sets up and manages the connection, Conversation\r\n // has to forward serviceRecognizer connection events that usually get passed automatically\r\n this.privConversationRecognizer.connected = this.onConnected;\r\n this.privConversationRecognizer.disconnected = this.onDisconnected;\r\n this.privConversationRecognizer.canceled = this.onCanceled;\r\n\r\n this.privConversationRecognizer.participantUpdateCommandReceived = this.onParticipantUpdateCommandReceived;\r\n this.privConversationRecognizer.lockRoomCommandReceived = this.onLockRoomCommandReceived;\r\n this.privConversationRecognizer.muteAllCommandReceived = this.onMuteAllCommandReceived;\r\n this.privConversationRecognizer.participantJoinCommandReceived = this.onParticipantJoinCommandReceived;\r\n this.privConversationRecognizer.participantLeaveCommandReceived = this.onParticipantLeaveCommandReceived;\r\n this.privConversationRecognizer.translationReceived = this.onTranslationReceived;\r\n this.privConversationRecognizer.participantsListReceived = this.onParticipantsListReceived;\r\n this.privConversationRecognizer.conversationExpiration = this.onConversationExpiration;\r\n\r\n this.privConversationRecognizer.connect(this.privRoom.token,\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Join a meeting as a participant.\r\n * @param { IParticipant } participant - participant to add\r\n * @param cb\r\n * @param err\r\n */\r\n public addParticipantAsync(participant: IParticipant, cb?: Callback, err?: Callback): void {\r\n Contracts.throwIfNullOrUndefined(participant, \"Participant\");\r\n marshalPromiseToCallbacks(this.addParticipantImplAsync(participant), cb, err);\r\n }\r\n\r\n /**\r\n * Join a meeting as a participant.\r\n * @param meeting\r\n * @param nickname\r\n * @param lang\r\n * @param cb\r\n * @param err\r\n */\r\n public joinMeetingAsync(meetingId: string, nickname: string, lang: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n // TODO\r\n // if (!!this.privConversationRecognizer) {\r\n // throw new Error(this.privErrors.permissionDeniedStart);\r\n // }\r\n Contracts.throwIfNullOrWhitespace(meetingId, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversationId\"));\r\n Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\r\n Contracts.throwIfNullOrWhitespace(lang, this.privErrors.invalidArgs.replace(\"{arg}\", \"language\"));\r\n // join the conversation\r\n this.privManager.createOrJoin(this.privProperties, meetingId,\r\n ((room: IInternalConversation): void => {\r\n Contracts.throwIfNullOrUndefined(room, this.privErrors.permissionDeniedConnect);\r\n this.privRoom = room;\r\n this.privConfig.authorizationToken = room.cognitiveSpeechAuthToken;\r\n // join callback\r\n if (!!cb) {\r\n cb(room.cognitiveSpeechAuthToken);\r\n }\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Deletes a meeting\r\n * @param cb\r\n * @param err\r\n */\r\n public deleteMeetingAsync(cb?: Callback, err?: Callback): void {\r\n marshalPromiseToCallbacks(this.deleteMeetingImplAsync(), cb, err);\r\n }\r\n\r\n public async deleteMeetingImplAsync(): Promise {\r\n Contracts.throwIfNullOrUndefined(this.privProperties, this.privErrors.permissionDeniedConnect);\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.token, this.privErrors.permissionDeniedConnect);\r\n await this.privManager.leave(this.privProperties, this.privRoom.token);\r\n\r\n this.dispose();\r\n }\r\n\r\n /**\r\n * Issues a request to close the client websockets\r\n * @param cb\r\n * @param err\r\n */\r\n public endMeetingAsync(cb?: Callback, err?: Callback): void {\r\n marshalPromiseToCallbacks(this.endMeetingImplAsync(), cb, err);\r\n }\r\n\r\n public endMeetingImplAsync(): Promise {\r\n return this.close(true);\r\n }\r\n\r\n /**\r\n * Issues a request to lock the conversation\r\n * @param cb\r\n * @param err\r\n */\r\n public lockMeetingAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"lock\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getLockCommand(true),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to mute the meeting\r\n * @param cb\r\n * @param err\r\n */\r\n public muteAllParticipantsAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privConversationRecognizer, this.privErrors.permissionDeniedSend);\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n // check the user's permissions\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"mute\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteAllCommand(true),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to mute a participant in the meeting\r\n * @param userId\r\n * @param cb\r\n * @param err\r\n */\r\n public muteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(userId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n // check the connection is open (host + participant can perform the mute command)\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n // if not host, check the participant is not muting another participant\r\n if (!this.me.isHost && this.me.id !== userId) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"mute\")), err);\r\n }\r\n // check the user exists\r\n const exists: number = this.privParticipants.getParticipantIndex(userId);\r\n if (exists === -1) {\r\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteCommand(userId, true), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to remove a participant from the conversation\r\n * @param userId\r\n * @param cb\r\n * @param err\r\n */\r\n public removeParticipantAsync(userId: string | IParticipant | IUser, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n if (!!this.privTranscriberRecognizer && userId.hasOwnProperty(\"id\")) {\r\n // Assume this is a transcription participant\r\n marshalPromiseToCallbacks(this.removeParticipantImplAsync(userId as IParticipant), cb, err);\r\n } else {\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"remove\")), err);\r\n }\r\n let participantId = \"\";\r\n if (typeof userId === \"string\") {\r\n participantId = userId;\r\n } else if (userId.hasOwnProperty(\"id\")) {\r\n const participant: IParticipant = userId as IParticipant;\r\n participantId = participant.id;\r\n } else if (userId.hasOwnProperty(\"userId\")) {\r\n const user: IUser = userId as IUser;\r\n participantId = user.userId;\r\n }\r\n Contracts.throwIfNullOrWhitespace(participantId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\r\n // check the participant exists\r\n const index: number = this.participants.findIndex((p: Participant): boolean => p.id === participantId);\r\n if (index === -1) {\r\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getEjectCommand(participantId), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to unlock the meeting\r\n * @param cb\r\n * @param err\r\n */\r\n public unlockMeetingAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"unlock\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getLockCommand(false), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to unmute all participants in the meeting\r\n * @param cb\r\n * @param err\r\n */\r\n public unmuteAllParticipantsAsync(cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSendAsHost) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"unmute all\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteAllCommand(false), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Issues a request to unmute a participant in the meeting\r\n * @param userId\r\n * @param cb\r\n * @param err\r\n */\r\n public unmuteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(userId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n // check the connection is open (host + participant can perform the mute command)\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n // if not host, check the participant is not muting another participant\r\n if (!this.me.isHost && this.me.id !== userId) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"mute\")), err);\r\n }\r\n // check the user exists\r\n const exists: number = this.privParticipants.getParticipantIndex(userId);\r\n if (exists === -1) {\r\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMuteCommand(userId, false), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Send a text message\r\n * @param message\r\n * @param cb\r\n * @param err\r\n */\r\n public sendTextMessageAsync(message: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(message, this.privErrors.invalidArgs.replace(\"{arg}\", \"message\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n // TODO: is a max length check required?\r\n if (message.length > this.privTextMessageMaxLength) {\r\n this.handleError(new Error(this.privErrors.invalidArgs.replace(\"{arg}\", \"message length\")), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getMessageCommand(message), ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Set translated to languages\r\n * @param {string[]} languages - languages to translate to\r\n * @param cb\r\n * @param err\r\n */\r\n public setTranslatedLanguagesAsync(languages: string[], cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfArrayEmptyOrWhitespace(languages, this.privErrors.invalidArgs.replace(\"{arg}\", \"languages\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getSetTranslateToLanguagesCommand(languages),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n /**\r\n * Change nickname\r\n * @param {string} nickname - new nickname for the room\r\n * @param cb\r\n * @param err\r\n */\r\n public changeNicknameAsync(nickname: string, cb?: Callback, err?: Callback): void {\r\n try {\r\n Contracts.throwIfDisposed(this.privIsDisposed);\r\n Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\r\n Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\r\n Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\r\n if (!this.canSend) {\r\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\r\n }\r\n if (!!this.privConversationRecognizer) {\r\n this.privConversationRecognizer.sendRequest(this.getChangeNicknameCommand(nickname),\r\n ((): void => {\r\n this.handleCallback(cb, err);\r\n }),\r\n ((error: any): void => {\r\n this.handleError(error, err);\r\n }));\r\n }\r\n } catch (error) {\r\n this.handleError(error, err);\r\n }\r\n }\r\n\r\n public isDisposed(): boolean {\r\n return this.privIsDisposed;\r\n }\r\n\r\n public dispose(): void {\r\n if (this.isDisposed) {\r\n return;\r\n }\r\n this.privIsDisposed = true;\r\n if (!!this.config) {\r\n this.config.close();\r\n }\r\n this.privConfig = undefined;\r\n this.privLanguage = undefined;\r\n this.privProperties = undefined;\r\n this.privRoom = undefined;\r\n this.privToken = undefined;\r\n this.privManager = undefined;\r\n this.privIsConnected = false;\r\n this.privIsReady = false;\r\n this.privParticipants = undefined;\r\n }\r\n\r\n public async connectTranscriberRecognizer(recognizer: TranscriberRecognizer): Promise {\r\n if (!!this.privTranscriberRecognizer) {\r\n await this.privTranscriberRecognizer.close();\r\n }\r\n await recognizer.enforceAudioGating();\r\n this.privTranscriberRecognizer = recognizer;\r\n this.privTranscriberRecognizer.meeting = this;\r\n }\r\n\r\n public getKeepAlive(): string {\r\n const nickname: string = (!!this.me) ? this.me.displayName : \"default_nickname\";\r\n return JSON.stringify({\r\n id: \"0\",\r\n nickname,\r\n participantId: this.privRoom.participantId,\r\n roomId: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.keepAlive\r\n });\r\n }\r\n\r\n /** websocket callbacks */\r\n /* eslint-disable @typescript-eslint/typedef */\r\n private onConnected = (e: ConnectionEventArgs): void => {\r\n this.privIsConnected = true;\r\n try {\r\n if (!!this.privConversationTranslator?.sessionStarted) {\r\n this.privConversationTranslator.sessionStarted(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onDisconnected = (e: ConnectionEventArgs): void => {\r\n try {\r\n if (!!this.privConversationTranslator?.sessionStopped) {\r\n this.privConversationTranslator.sessionStopped(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n } finally {\r\n void this.close(false);\r\n }\r\n };\r\n\r\n private onCanceled = (r: ConversationRecognizer, e: ConversationTranslationCanceledEventArgs): void => {\r\n try {\r\n if (!!this.privConversationTranslator?.canceled) {\r\n this.privConversationTranslator.canceled(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantUpdateCommandReceived = (r: ConversationRecognizer, e: ParticipantAttributeEventArgs): void => {\r\n try {\r\n const updatedParticipant: IInternalParticipant = this.privParticipants.getParticipant(e.id);\r\n if (updatedParticipant !== undefined) {\r\n\r\n switch (e.key) {\r\n case ConversationTranslatorCommandTypes.changeNickname:\r\n updatedParticipant.displayName = e.value as string;\r\n break;\r\n case ConversationTranslatorCommandTypes.setUseTTS:\r\n updatedParticipant.isUsingTts = e.value as boolean;\r\n break;\r\n case ConversationTranslatorCommandTypes.setProfanityFiltering:\r\n updatedParticipant.profanity = e.value as boolean;\r\n break;\r\n case ConversationTranslatorCommandTypes.setMute:\r\n updatedParticipant.isMuted = e.value as boolean;\r\n break;\r\n case ConversationTranslatorCommandTypes.setTranslateToLanguages:\r\n updatedParticipant.translateToLanguages = e.value as string[];\r\n break;\r\n }\r\n this.privParticipants.addOrUpdateParticipant(updatedParticipant);\r\n\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.Updated,\r\n [this.toParticipant(updatedParticipant)], e.sessionId));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onLockRoomCommandReceived = (): void => {\r\n // TODO\r\n };\r\n\r\n private onMuteAllCommandReceived = (r: ConversationRecognizer, e: MuteAllEventArgs): void => {\r\n try {\r\n this.privParticipants.participants.forEach((p: IInternalParticipant): boolean => p.isMuted = (p.isHost ? false : e.isMuted));\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.Updated,\r\n this.toParticipants(false), e.sessionId));\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantJoinCommandReceived = (r: ConversationRecognizer, e: ParticipantEventArgs): void => {\r\n try {\r\n const newParticipant: IInternalParticipant = this.privParticipants.addOrUpdateParticipant(e.participant);\r\n if (newParticipant !== undefined) {\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.JoinedConversation,\r\n [this.toParticipant(newParticipant)], e.sessionId));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantLeaveCommandReceived = (r: ConversationRecognizer, e: ParticipantEventArgs): void => {\r\n try {\r\n const ejectedParticipant: IInternalParticipant = this.privParticipants.getParticipant(e.participant.id);\r\n if (ejectedParticipant !== undefined) {\r\n // remove the participant from the internal participants list\r\n this.privParticipants.deleteParticipant(e.participant.id);\r\n if (!!this.privConversationTranslator) {\r\n // notify subscribers that the participant has left the conversation\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.LeftConversation,\r\n [this.toParticipant(ejectedParticipant)], e.sessionId));\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onTranslationReceived = (r: ConversationRecognizer, e: ConversationReceivedTranslationEventArgs): void => {\r\n try {\r\n switch (e.command) {\r\n case ConversationTranslatorMessageTypes.final:\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.transcribed(\r\n this.privConversationTranslator,\r\n new ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\r\n }\r\n break;\r\n case ConversationTranslatorMessageTypes.partial:\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.transcribing(\r\n this.privConversationTranslator,\r\n new ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\r\n }\r\n break;\r\n case ConversationTranslatorMessageTypes.instantMessage:\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.textMessageReceived(\r\n this.privConversationTranslator,\r\n new ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\r\n }\r\n break;\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onParticipantsListReceived = (r: ConversationRecognizer, e: ParticipantsListEventArgs): void => {\r\n try {\r\n // check if the session token needs to be updated\r\n if (e.sessionToken !== undefined && e.sessionToken !== null) {\r\n this.privRoom.token = e.sessionToken;\r\n }\r\n // save the participants\r\n this.privParticipants.participants = [...e.participants];\r\n // enable the conversation\r\n if (this.privParticipants.me !== undefined) {\r\n this.privIsReady = true;\r\n }\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.participantsChanged(\r\n this.privConversationTranslator,\r\n new ConversationParticipantsChangedEventArgs(ParticipantChangedReason.JoinedConversation, this.toParticipants(true), e.sessionId));\r\n }\r\n // if this is the host, update the nickname if needed\r\n if (this.me.isHost) {\r\n const nickname: string = this.privConversationTranslator?.properties.getProperty(PropertyId.ConversationTranslator_Name);\r\n if (nickname !== undefined && nickname.length > 0 && nickname !== this.me.displayName) {\r\n // issue a change nickname request\r\n this.changeNicknameAsync(nickname);\r\n }\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n\r\n private onConversationExpiration = (r: ConversationRecognizer, e: ConversationExpirationEventArgs): void => {\r\n try {\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.conversationExpiration(this.privConversationTranslator, e);\r\n }\r\n } catch (e) {\r\n //\r\n }\r\n };\r\n /* eslint-enable @typescript-eslint/typedef */\r\n\r\n private addParticipantImplAsync(participant: IParticipant): Promise {\r\n const newParticipant: IInternalParticipant = this.privParticipants.addOrUpdateParticipant(participant);\r\n if (newParticipant !== undefined) {\r\n if (!!this.privTranscriberRecognizer) {\r\n const meetingInfo = this.meetingInfo;\r\n meetingInfo.participants = [participant];\r\n return this.privTranscriberRecognizer.pushMeetingEvent(meetingInfo, \"join\");\r\n }\r\n }\r\n }\r\n\r\n private removeParticipantImplAsync(participant: IParticipant): Promise {\r\n this.privParticipants.deleteParticipant(participant.id);\r\n const meetingInfo = this.meetingInfo;\r\n meetingInfo.participants = [participant];\r\n return this.privTranscriberRecognizer.pushMeetingEvent(meetingInfo, \"leave\");\r\n }\r\n\r\n private async close(dispose: boolean): Promise {\r\n try {\r\n this.privIsConnected = false;\r\n await this.privConversationRecognizer?.close();\r\n this.privConversationRecognizer = undefined;\r\n if (!!this.privConversationTranslator) {\r\n this.privConversationTranslator.dispose();\r\n }\r\n } catch (e) {\r\n // ignore error\r\n throw e;\r\n }\r\n if (dispose) {\r\n this.dispose();\r\n }\r\n }\r\n\r\n /** Helpers */\r\n private handleCallback(cb: () => void, err: (message: string) => void): void {\r\n if (!!cb) {\r\n try {\r\n cb();\r\n } catch (e) {\r\n if (!!err) {\r\n err(e as string);\r\n }\r\n }\r\n cb = undefined;\r\n }\r\n }\r\n\r\n private handleError(error: any, err: (message: string) => void): void {\r\n if (!!err) {\r\n if (error instanceof Error) {\r\n const typedError: Error = error;\r\n err(typedError.name + \": \" + typedError.message);\r\n\r\n } else {\r\n err(error as string);\r\n }\r\n }\r\n }\r\n\r\n /** Participant Helpers */\r\n private toParticipants(includeHost: boolean): Participant[] {\r\n\r\n const participants: Participant[] = this.privParticipants.participants.map((p: IInternalParticipant): Participant => ( this.toParticipant(p) ) );\r\n if (!includeHost) {\r\n return participants.filter((p: Participant): boolean => p.isHost === false);\r\n } else {\r\n return participants;\r\n }\r\n }\r\n\r\n private toParticipant(p: IInternalParticipant): Participant {\r\n return new Participant(p.id, p.avatar, p.displayName, p.isHost, p.isMuted, p.isUsingTts, p.preferredLanguage, p.voice);\r\n }\r\n\r\n private getMuteAllCommand(isMuted: boolean): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"meetingd\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setMuteAll,\r\n participantId: this.privRoom.participantId, // the id of the host\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: isMuted\r\n });\r\n }\r\n\r\n private getMuteCommand(participantId: string, isMuted: boolean): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\r\n Contracts.throwIfNullOrWhitespace(participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setMute,\r\n // eslint-disable-next-line object-shorthand\r\n participantId: participantId,\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: isMuted\r\n });\r\n }\r\n\r\n private getLockCommand(isLocked: boolean): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"meetingId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setLockState,\r\n participantId: this.privRoom.participantId,\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: isLocked\r\n });\r\n }\r\n\r\n private getEjectCommand(participantId: string): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"meetingId\");\r\n Contracts.throwIfNullOrWhitespace(participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.ejectParticipant,\r\n // eslint-disable-next-line object-shorthand\r\n participantId: participantId,\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n });\r\n }\r\n\r\n private getSetTranslateToLanguagesCommand(languages: string[]): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"meetingId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.setTranslateToLanguages,\r\n participantId: this.privRoom.participantId, // the id of the host\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: languages\r\n });\r\n }\r\n\r\n private getChangeNicknameCommand(nickname: string): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"meetingId\");\r\n Contracts.throwIfNullOrWhitespace(nickname, \"nickname\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n\r\n return JSON.stringify({\r\n command: ConversationTranslatorCommandTypes.changeNickname,\r\n nickname,\r\n participantId: this.privRoom.participantId, // the id of the host\r\n roomid: this.privRoom.roomId,\r\n type: ConversationTranslatorMessageTypes.participantCommand,\r\n value: nickname\r\n });\r\n }\r\n\r\n private getMessageCommand(message: string): string {\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"meetingId\");\r\n Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\r\n Contracts.throwIfNullOrWhitespace(message, \"message\");\r\n\r\n return JSON.stringify({\r\n participantId: this.privRoom.participantId,\r\n roomId: this.privRoom.roomId,\r\n text: message,\r\n type: ConversationTranslatorMessageTypes.instantMessage\r\n });\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { TranscriberRecognizer } from \"../../common.speech/Exports.js\";\r\nimport { marshalPromiseToCallbacks } from \"../../common/Exports.js\";\r\nimport { Contracts } from \"../Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n CancellationEventArgs,\r\n Connection,\r\n MeetingTranscriptionEventArgs,\r\n PropertyCollection,\r\n PropertyId,\r\n SessionEventArgs\r\n} from \"../Exports.js\";\r\nimport {\r\n MeetingHandler,\r\n MeetingImpl,\r\n MeetingTranscriptionHandler\r\n} from \"./Exports.js\";\r\nimport { Callback, IMeeting } from \"./IMeeting.js\";\r\n\r\nexport class MeetingTranscriber implements MeetingTranscriptionHandler {\r\n\r\n /**\r\n * The event canceled signals that an error occurred during the meeting.\r\n * @member MeetingTranscriber.prototype.MeetingCanceled\r\n * @function\r\n * @public\r\n */\r\n public MeetingCanceled: (sender: MeetingHandler, event: CancellationEventArgs) => void;\r\n\r\n /**\r\n * The event canceled signals that an error occurred during transcription.\r\n * @member MeetingTranscriber.prototype.canceled\r\n * @function\r\n * @public\r\n */\r\n public canceled: (sender: MeetingHandler, event: CancellationEventArgs) => void;\r\n\r\n /**\r\n * The event recognized signals that a final meeting transcription result is received.\r\n * @member MeetingTranscriber.prototype.transcribed\r\n * @function\r\n * @public\r\n */\r\n public transcribed: (sender: MeetingTranscriptionHandler, event: MeetingTranscriptionEventArgs) => void;\r\n\r\n /**\r\n * The event recognizing signals that an intermediate meeting transcription result is received.\r\n * @member MeetingTranscriber.prototype.transcribing\r\n * @function\r\n * @public\r\n */\r\n public transcribing: (sender: MeetingTranscriptionHandler, event: MeetingTranscriptionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for session started events.\r\n * @member MeetingTranscriber.prototype.sessionStarted\r\n * @function\r\n * @public\r\n */\r\n public sessionStarted: (sender: MeetingHandler, event: SessionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for session stopped events.\r\n * @member MeetingTranscriber.prototype.sessionStopped\r\n * @function\r\n * @public\r\n */\r\n public sessionStopped: (sender: MeetingHandler, event: SessionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for meeting started events.\r\n * @member MeetingTranscriber.prototype.MeetingStarted\r\n * @function\r\n * @public\r\n */\r\n public MeetingStarted: (sender: MeetingHandler, event: SessionEventArgs) => void;\r\n\r\n /**\r\n * Defines event handler for meeting stopped events.\r\n * @member MeetingTranscriber.prototype.MeetingStopped\r\n * @function\r\n * @public\r\n */\r\n public meetingStopped: (sender: MeetingHandler, event: SessionEventArgs) => void;\r\n\r\n protected privAudioConfig: AudioConfig;\r\n private privDisposedRecognizer: boolean;\r\n private privRecognizer: TranscriberRecognizer;\r\n private privProperties: PropertyCollection;\r\n\r\n /**\r\n * MeetingTranscriber constructor.\r\n * @constructor\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\r\n */\r\n public constructor(audioConfig?: AudioConfig) {\r\n this.privAudioConfig = audioConfig;\r\n this.privProperties = new PropertyCollection();\r\n this.privRecognizer = undefined;\r\n this.privDisposedRecognizer = false;\r\n }\r\n\r\n /**\r\n * Gets the spoken language of recognition.\r\n * @member MeetingTranscriber.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @returns {string} The spoken language of recognition.\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this MeetingTranscriber.\r\n * @member MeetingTranscriber.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this MeetingTranscriber.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * @Internal\r\n * Internal data member to support fromRecognizer* pattern methods on other classes.\r\n * Do not use externally, object returned will change without warning or notice.\r\n */\r\n public get internalData(): object {\r\n return this.privRecognizer.internalData;\r\n }\r\n\r\n /**\r\n * @Deprecated\r\n * @Obsolete\r\n * Please use the Connection.fromRecognizer pattern to obtain a connection object\r\n */\r\n public get connection(): Connection {\r\n return Connection.fromRecognizer(this.privRecognizer);\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member MeetingTranscriber.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member MeetingTranscriber.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * @param {Meeting} meeting - meeting to be recognized\r\n */\r\n public joinMeetingAsync(meeting: IMeeting, cb?: Callback, err?: Callback): void {\r\n /* eslint-disable no-console */\r\n // console.log(\">> MeetingTranscriber::joinMeetingAsync\");\r\n /* eslint-enable no-console */\r\n const meetingImpl = meeting as MeetingImpl;\r\n Contracts.throwIfNullOrUndefined(MeetingImpl, \"Meeting\");\r\n\r\n // ref the meeting object\r\n // create recognizer and subscribe to recognizer events\r\n this.privRecognizer = new TranscriberRecognizer(meeting.config, this.privAudioConfig);\r\n Contracts.throwIfNullOrUndefined(this.privRecognizer, \"Recognizer\");\r\n this.privRecognizer.connectMeetingCallbacks(this);\r\n\r\n marshalPromiseToCallbacks(meetingImpl.connectTranscriberRecognizer(this.privRecognizer), cb, err);\r\n }\r\n\r\n /**\r\n * Starts meeting transcription, until stopTranscribingAsync() is called.\r\n * User must subscribe to events to receive transcription results.\r\n * @member MeetingTranscriber.prototype.startTranscribingAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the transcription has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startTranscribingAsync(cb?: Callback, err?: Callback): void {\r\n this.privRecognizer.startContinuousRecognitionAsync(cb, err);\r\n }\r\n\r\n /**\r\n * Starts meeting transcription, until stopTranscribingAsync() is called.\r\n * User must subscribe to events to receive transcription results.\r\n * @member MeetingTranscriber.prototype.stopTranscribingAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback invoked once the transcription has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopTranscribingAsync(cb?: Callback, err?: Callback): void {\r\n this.privRecognizer.stopContinuousRecognitionAsync(cb, err);\r\n }\r\n\r\n /**\r\n * Leave the current meeting. After this is called, you will no longer receive any events.\r\n */\r\n public leaveMeetingAsync(cb?: Callback, err?: Callback): void {\r\n this.privRecognizer.disconnectCallbacks();\r\n // eslint-disable-next-line\r\n marshalPromiseToCallbacks((async (): Promise => { return; })(), cb, err);\r\n }\r\n\r\n /**\r\n * closes all external resources held by an instance of this class.\r\n * @member MeetingTranscriber.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, errorCb?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedRecognizer);\r\n marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\r\n }\r\n\r\n /**\r\n * Disposes any resources held by the object.\r\n * @member MeetingTranscriber.prototype.dispose\r\n * @function\r\n * @public\r\n * @param {boolean} disposing - true if disposing the object.\r\n */\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedRecognizer) {\r\n return;\r\n }\r\n if (!!this.privRecognizer) {\r\n await this.privRecognizer.close();\r\n this.privRecognizer = undefined;\r\n }\r\n if (disposing) {\r\n this.privDisposedRecognizer = true;\r\n }\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nimport { CancellationEventArgsBase } from \"../CancellationEventArgsBase.js\";\r\n\r\nexport class MeetingTranscriptionCanceledEventArgs extends CancellationEventArgsBase {\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n// Multi-device Conversation is a Preview feature.\r\n\r\nexport enum ParticipantChangedReason {\r\n /** Participant has joined the conversation. */\r\n JoinedConversation,\r\n\r\n /** Participant has left the conversation. This could be voluntary, or involuntary\r\n * (e.g. they are experiencing networking issues).\r\n */\r\n LeftConversation,\r\n\r\n /** The participants' state has changed (e.g. they became muted, changed their nickname). */\r\n Updated\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { CancellationErrorCode, CancellationReason, TranslationRecognitionResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Define payload of speech recognition canceled result events.\r\n * @class TranslationRecognitionCanceledEventArgs\r\n */\r\nexport class TranslationRecognitionCanceledEventArgs {\r\n private privResult: TranslationRecognitionResult;\r\n private privSessionId: string;\r\n private privCancelReason: CancellationReason;\r\n private privErrorDetails: string;\r\n private privErrorCode: CancellationErrorCode;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} sessionid - The session id.\r\n * @param {CancellationReason} cancellationReason - The cancellation reason.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {TranslationRecognitionResult} result - The result.\r\n */\r\n public constructor(\r\n sessionid: string,\r\n cancellationReason: CancellationReason,\r\n errorDetails: string,\r\n errorCode: CancellationErrorCode,\r\n result: TranslationRecognitionResult) {\r\n this.privCancelReason = cancellationReason;\r\n this.privErrorDetails = errorDetails;\r\n this.privResult = result;\r\n this.privSessionId = sessionid;\r\n this.privErrorCode = errorCode;\r\n }\r\n\r\n /**\r\n * Specifies the recognition result.\r\n * @member TranslationRecognitionCanceledEventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {TranslationRecognitionResult} the recognition result.\r\n */\r\n public get result(): TranslationRecognitionResult {\r\n return this.privResult;\r\n }\r\n\r\n /**\r\n * Specifies the session identifier.\r\n * @member TranslationRecognitionCanceledEventArgs.prototype.sessionId\r\n * @function\r\n * @public\r\n * @returns {string} the session identifier.\r\n */\r\n public get sessionId(): string {\r\n return this.privSessionId;\r\n }\r\n\r\n /**\r\n * The reason the recognition was canceled.\r\n * @member TranslationRecognitionCanceledEventArgs.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {CancellationReason} Specifies the reason canceled.\r\n */\r\n public get reason(): CancellationReason {\r\n return this.privCancelReason;\r\n }\r\n\r\n /**\r\n * The error code in case of an unsuccessful recognition.\r\n * Added in version 1.1.0.\r\n * @return An error code that represents the error reason.\r\n */\r\n public get errorCode(): CancellationErrorCode {\r\n return this.privErrorCode;\r\n }\r\n\r\n /**\r\n * In case of an unsuccessful recognition, provides details of the occurred error.\r\n * @member TranslationRecognitionCanceledEventArgs.prototype.errorDetails\r\n * @function\r\n * @public\r\n * @returns {string} A String that represents the error details.\r\n */\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { RecognitionEventArgs, TranslationRecognitionResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Translation text result event arguments.\r\n * @class TranslationRecognitionEventArgs\r\n */\r\nexport class TranslationRecognitionEventArgs extends RecognitionEventArgs {\r\n private privResult: TranslationRecognitionResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {TranslationRecognitionResult} result - The translation recognition result.\r\n * @param {number} offset - The offset.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(result: TranslationRecognitionResult, offset?: number, sessionId?: string) {\r\n super(offset, sessionId);\r\n\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Specifies the recognition result.\r\n * @member TranslationRecognitionEventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {TranslationRecognitionResult} the recognition result.\r\n */\r\n public get result(): TranslationRecognitionResult {\r\n return this.privResult;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection, ResultReason, SpeechRecognitionResult, Translations } from \"./Exports.js\";\r\n\r\n/**\r\n * Translation text result.\r\n * @class TranslationRecognitionResult\r\n */\r\nexport class TranslationRecognitionResult extends SpeechRecognitionResult {\r\n private privTranslations: Translations;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {Translations} translations - The translations.\r\n * @param {string} resultId - The result id.\r\n * @param {ResultReason} reason - The reason.\r\n * @param {string} text - The recognized text.\r\n * @param {number} duration - The duration.\r\n * @param {number} offset - The offset into the stream.\r\n * @param {string} language - Primary Language detected, if provided.\r\n * @param {string} languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\r\n * @param {string} errorDetails - Error details, if provided.\r\n * @param {string} json - Additional Json, if provided.\r\n * @param {PropertyCollection} properties - Additional properties, if provided.\r\n */\r\n public constructor(translations: Translations, resultId?: string, reason?: ResultReason,\r\n text?: string, duration?: number, offset?: number, language?: string,\r\n languageDetectionConfidence?: string, errorDetails?: string,\r\n json?: string, properties?: PropertyCollection) {\r\n super(resultId, reason, text, duration, offset, language, languageDetectionConfidence, undefined, errorDetails, json, properties);\r\n\r\n this.privTranslations = translations;\r\n }\r\n\r\n public static fromSpeechRecognitionResult(result: SpeechRecognitionResult): TranslationRecognitionResult {\r\n return new TranslationRecognitionResult(undefined, result.resultId, result.reason, result.text, result.duration, result.offset, result.language, result.languageDetectionConfidence, result.errorDetails, result.json, result.properties);\r\n }\r\n\r\n /**\r\n * Presents the translation results. Each item in the dictionary represents\r\n * a translation result in one of target languages, where the key is the name\r\n * of the target language, in BCP-47 format, and the value is the translation\r\n * text in the specified language.\r\n * @member TranslationRecognitionResult.prototype.translations\r\n * @function\r\n * @public\r\n * @returns {Translations} the current translation map that holds all translations requested.\r\n */\r\n public get translations(): Translations {\r\n return this.privTranslations;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognitionMode,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig,\r\n TranslationConnectionFactory,\r\n TranslationServiceRecognizer\r\n} from \"../common.speech/Exports.js\";\r\nimport { marshalPromiseToCallbacks } from \"../common/Exports.js\";\r\nimport { AudioConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { Connection } from \"./Connection.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n AudioConfig,\r\n AutoDetectSourceLanguageConfig,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n TranslationRecognitionCanceledEventArgs,\r\n TranslationRecognitionEventArgs,\r\n TranslationRecognitionResult,\r\n TranslationSynthesisEventArgs\r\n} from \"./Exports.js\";\r\nimport { SpeechTranslationConfig, SpeechTranslationConfigImpl } from \"./SpeechTranslationConfig.js\";\r\n\r\n/**\r\n * Translation recognizer\r\n * @class TranslationRecognizer\r\n */\r\nexport class TranslationRecognizer extends Recognizer {\r\n /**\r\n * The event recognizing signals that an intermediate recognition result is received.\r\n * @member TranslationRecognizer.prototype.recognizing\r\n * @function\r\n * @public\r\n */\r\n public recognizing: (sender: TranslationRecognizer, event: TranslationRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event recognized signals that a final recognition result is received.\r\n * @member TranslationRecognizer.prototype.recognized\r\n * @function\r\n * @public\r\n */\r\n public recognized: (sender: TranslationRecognizer, event: TranslationRecognitionEventArgs) => void;\r\n\r\n /**\r\n * The event canceled signals that an error occurred during recognition.\r\n * @member TranslationRecognizer.prototype.canceled\r\n * @function\r\n * @public\r\n */\r\n public canceled: (sender: TranslationRecognizer, event: TranslationRecognitionCanceledEventArgs) => void;\r\n\r\n /**\r\n * The event synthesizing signals that a translation synthesis result is received.\r\n * @member TranslationRecognizer.prototype.synthesizing\r\n * @function\r\n * @public\r\n */\r\n public synthesizing: (sender: TranslationRecognizer, event: TranslationSynthesisEventArgs) => void;\r\n\r\n private privDisposedTranslationRecognizer: boolean;\r\n\r\n /**\r\n * Initializes an instance of the TranslationRecognizer.\r\n * @constructor\r\n * @param {SpeechTranslationConfig} speechConfig - Set of properties to configure this recognizer.\r\n * @param {AudioConfig} audioConfig - An optional audio config associated with the recognizer\r\n * @param {IConnectionFactory} connectionFactory - An optional connection factory to use to generate the endpoint URIs, headers to set, etc...\r\n */\r\n public constructor(speechConfig: SpeechTranslationConfig, audioConfig?: AudioConfig, connectionFactory?: IConnectionFactory) {\r\n const configImpl = speechConfig as SpeechTranslationConfigImpl;\r\n Contracts.throwIfNull(configImpl, \"speechConfig\");\r\n\r\n super(audioConfig, configImpl.properties, connectionFactory || new TranslationConnectionFactory());\r\n\r\n this.privDisposedTranslationRecognizer = false;\r\n\r\n if (this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationVoice, undefined) !== undefined) {\r\n Contracts.throwIfNullOrWhitespace(\r\n this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationVoice),\r\n PropertyId[PropertyId.SpeechServiceConnection_TranslationVoice]);\r\n }\r\n\r\n Contracts.throwIfNullOrWhitespace(\r\n this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages),\r\n PropertyId[PropertyId.SpeechServiceConnection_TranslationToLanguages]);\r\n\r\n Contracts.throwIfNullOrWhitespace(this.properties.getProperty(\r\n PropertyId.SpeechServiceConnection_RecoLanguage),\r\n PropertyId[PropertyId.SpeechServiceConnection_RecoLanguage]);\r\n\r\n }\r\n\r\n /**\r\n * TranslationRecognizer constructor.\r\n * @constructor\r\n * @param {SpeechTranslationConfig} speechTranslationConfig - an set of initial properties for this recognizer\r\n * @param {AutoDetectSourceLanguageConfig} autoDetectSourceLanguageConfig - An source language detection configuration associated with the recognizer\r\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\r\n */\r\n public static FromConfig(speechTranslationConfig: SpeechTranslationConfig, autoDetectSourceLanguageConfig: AutoDetectSourceLanguageConfig, audioConfig?: AudioConfig): TranslationRecognizer {\r\n const speechTranslationConfigImpl: SpeechTranslationConfigImpl = speechTranslationConfig as SpeechTranslationConfigImpl;\r\n autoDetectSourceLanguageConfig.properties.mergeTo(speechTranslationConfigImpl.properties);\r\n return new TranslationRecognizer(speechTranslationConfig, audioConfig);\r\n }\r\n\r\n /**\r\n * Gets the language name that was set when the recognizer was created.\r\n * @member TranslationRecognizer.prototype.speechRecognitionLanguage\r\n * @function\r\n * @public\r\n * @returns {string} Gets the language name that was set when the recognizer was created.\r\n */\r\n public get speechRecognitionLanguage(): string {\r\n Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_RecoLanguage);\r\n }\r\n\r\n /**\r\n * Gets target languages for translation that were set when the recognizer was created.\r\n * The language is specified in BCP-47 format. The translation will provide translated text for each of language.\r\n * @member TranslationRecognizer.prototype.targetLanguages\r\n * @function\r\n * @public\r\n * @returns {string[]} Gets target languages for translation that were set when the recognizer was created.\r\n */\r\n public get targetLanguages(): string[] {\r\n Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages).split(\",\");\r\n }\r\n\r\n /**\r\n * Gets the name of output voice.\r\n * @member TranslationRecognizer.prototype.voiceName\r\n * @function\r\n * @public\r\n * @returns {string} the name of output voice.\r\n */\r\n public get voiceName(): string {\r\n Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\r\n\r\n return this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationVoice, undefined);\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this TranslationRecognizer.\r\n * @member TranslationRecognizer.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this TranslationRecognizer.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member TranslationRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member TranslationRecognizer.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} value - Authorization token.\r\n */\r\n public set authorizationToken(value: string) {\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, value);\r\n }\r\n\r\n /**\r\n * Starts recognition and translation, and stops after the first utterance is recognized.\r\n * The task returns the translation text as result.\r\n * Note: recognizeOnceAsync returns when the first utterance has been recognized, so it is suitable only\r\n * for single shot recognition like command or query. For long-running recognition,\r\n * use startContinuousRecognitionAsync() instead.\r\n * @member TranslationRecognizer.prototype.recognizeOnceAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback that received the result when the translation has completed.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public recognizeOnceAsync(cb?: (e: TranslationRecognitionResult) => void, err?: (e: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\r\n marshalPromiseToCallbacks(this.recognizeOnceAsyncImpl(RecognitionMode.Interactive), cb, err);\r\n }\r\n\r\n /**\r\n * Starts recognition and translation, until stopContinuousRecognitionAsync() is called.\r\n * User must subscribe to events to receive translation results.\r\n * @member TranslationRecognizer.prototype.startContinuousRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback that received the translation has started.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public startContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(RecognitionMode.Conversation), cb, err);\r\n }\r\n\r\n /**\r\n * Stops continuous recognition and translation.\r\n * @member TranslationRecognizer.prototype.stopContinuousRecognitionAsync\r\n * @function\r\n * @public\r\n * @param cb - Callback that received the translation has stopped.\r\n * @param err - Callback invoked in case of an error.\r\n */\r\n public stopContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void): void {\r\n marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\r\n }\r\n\r\n /**\r\n * dynamically remove a language from list of target language\r\n * (can be used while recognition is ongoing)\r\n * @member TranslationRecognizer.prototype.removeTargetLanguage\r\n * @function\r\n * @param lang - language to be removed\r\n * @public\r\n */\r\n public removeTargetLanguage(lang: string): void {\r\n Contracts.throwIfNullOrUndefined(lang, \"language to be removed\");\r\n if (this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, undefined) !== undefined) {\r\n const languages: string[] = this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages).split(\",\");\r\n const index: number = languages.indexOf(lang);\r\n if (index > -1) {\r\n languages.splice(index, 1);\r\n this.properties.setProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, languages.join(\",\"));\r\n this.updateLanguages(languages);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * dynamically add a language to list of target language\r\n * (can be used while recognition is ongoing)\r\n * @member TranslationRecognizer.prototype.addTargetLanguage\r\n * @function\r\n * @param lang - language to be added\r\n * @public\r\n */\r\n public addTargetLanguage(lang: string): void {\r\n Contracts.throwIfNullOrUndefined(lang, \"language to be added\");\r\n let languages: string[] = [];\r\n if (this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, undefined) !== undefined) {\r\n languages = this.properties.getProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages).split(\",\");\r\n if (!languages.includes(lang)) {\r\n languages.push(lang);\r\n this.properties.setProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, languages.join(\",\"));\r\n }\r\n } else {\r\n this.properties.setProperty(PropertyId.SpeechServiceConnection_TranslationToLanguages, lang);\r\n languages = [lang];\r\n }\r\n this.updateLanguages(languages);\r\n }\r\n\r\n /**\r\n * closes all external resources held by an instance of this class.\r\n * @member TranslationRecognizer.prototype.close\r\n * @function\r\n * @public\r\n */\r\n public close(cb?: () => void, errorCb?: (error: string) => void): void {\r\n Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\r\n marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\r\n }\r\n\r\n /**\r\n * handles ConnectionEstablishedEvent for conversation translation scenarios.\r\n * @member TranslationRecognizer.prototype.onConnection\r\n * @function\r\n * @public\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onConnection(): void { }\r\n\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedTranslationRecognizer) {\r\n return;\r\n }\r\n\r\n this.privDisposedTranslationRecognizer = true;\r\n\r\n if (disposing) {\r\n await this.implRecognizerStop();\r\n await super.dispose(disposing);\r\n }\r\n }\r\n\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.privProperties);\r\n }\r\n\r\n protected createServiceRecognizer(\r\n authentication: IAuthentication,\r\n connectionFactory: IConnectionFactory,\r\n audioConfig: AudioConfig,\r\n recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n\r\n const configImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n\r\n return new TranslationServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\r\n }\r\n\r\n private updateLanguages(languages: string[]): void {\r\n const conn: Connection = Connection.fromRecognizer(this);\r\n if (!!conn) {\r\n conn.setMessageProperty(\"speech.context\", \"translationcontext\", {to: languages});\r\n conn.sendMessageAsync(\"event\", JSON.stringify({\r\n id: \"translation\",\r\n name: \"updateLanguage\",\r\n to: languages\r\n }));\r\n }\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { SessionEventArgs, TranslationSynthesisResult } from \"./Exports.js\";\r\n\r\n/**\r\n * Translation Synthesis event arguments\r\n * @class TranslationSynthesisEventArgs\r\n */\r\nexport class TranslationSynthesisEventArgs extends SessionEventArgs {\r\n private privResult: TranslationSynthesisResult;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {TranslationSynthesisResult} result - The translation synthesis result.\r\n * @param {string} sessionId - The session id.\r\n */\r\n public constructor(result: TranslationSynthesisResult, sessionId?: string) {\r\n super(sessionId);\r\n\r\n this.privResult = result;\r\n }\r\n\r\n /**\r\n * Specifies the translation synthesis result.\r\n * @member TranslationSynthesisEventArgs.prototype.result\r\n * @function\r\n * @public\r\n * @returns {TranslationSynthesisResult} Specifies the translation synthesis result.\r\n */\r\n public get result(): TranslationSynthesisResult {\r\n return this.privResult;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { ResultReason } from \"./ResultReason.js\";\r\n\r\n/**\r\n * Defines translation synthesis result, i.e. the voice output of the translated\r\n * text in the target language.\r\n * @class TranslationSynthesisResult\r\n */\r\nexport class TranslationSynthesisResult {\r\n private privReason: ResultReason;\r\n private privAudio: ArrayBuffer;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {ResultReason} reason - The synthesis reason.\r\n * @param {ArrayBuffer} audio - The audio data.\r\n */\r\n public constructor(reason: ResultReason, audio: ArrayBuffer) {\r\n this.privReason = reason;\r\n this.privAudio = audio;\r\n }\r\n\r\n /**\r\n * Translated text in the target language.\r\n * @member TranslationSynthesisResult.prototype.audio\r\n * @function\r\n * @public\r\n * @returns {ArrayBuffer} Translated audio in the target language.\r\n */\r\n public get audio(): ArrayBuffer {\r\n return this.privAudio;\r\n }\r\n\r\n /**\r\n * The synthesis status.\r\n * @member TranslationSynthesisResult.prototype.reason\r\n * @function\r\n * @public\r\n * @returns {ResultReason} The synthesis status.\r\n */\r\n public get reason(): ResultReason {\r\n return this.privReason;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { PropertyCollection } from \"./Exports.js\";\r\n\r\n/**\r\n * Represents collection of parameters and their values.\r\n * @class Translations\r\n */\r\nexport class Translations {\r\n // Use an PropertyCollection internally, just wrapping it to hide the | enum syntax it has.\r\n private privMap: PropertyCollection = new PropertyCollection();\r\n\r\n /**\r\n * Get the languages in the object in a String array.\r\n * @member Translations.prototype.languages\r\n * @function\r\n * @public\r\n * @returns {string[]} languages in translations object.\r\n */\r\n public get languages(): string[] {\r\n return this.privMap.keys;\r\n }\r\n\r\n /**\r\n * Returns the parameter value in type String. The parameter must have the same type as String.\r\n * Currently only String, int and bool are allowed.\r\n * If the name is not available, the specified defaultValue is returned.\r\n * @member Translations.prototype.get\r\n * @function\r\n * @public\r\n * @param {string} key - The parameter name.\r\n * @param {string} def - The default value which is returned if the parameter is not available in the collection.\r\n * @returns {string} value of the parameter.\r\n */\r\n public get(key: string, def?: string): string {\r\n return this.privMap.getProperty(key, def);\r\n }\r\n\r\n /**\r\n * Sets the String value of the parameter specified by name.\r\n * @member Translations.prototype.set\r\n * @function\r\n * @public\r\n * @param {string} key - The parameter name.\r\n * @param {string} value - The value of the parameter.\r\n */\r\n public set(key: string, value: string): void {\r\n this.privMap.setProperty(key, value);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n ITurnStatusResponsePayload,\r\n TurnStatusResponsePayload\r\n } from \"../common.speech/ServiceMessages/TurnStatusPayload.js\";\r\n\r\n/**\r\n * Defines contents of received message/events.\r\n * @class TurnStatusReceivedEventArgs\r\n */\r\nexport class TurnStatusReceivedEventArgs {\r\n private privTurnStatus: ITurnStatusResponsePayload;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} turnStatus - The JSON-encoded turn status message.\r\n */\r\n public constructor(turnStatus: string) {\r\n this.privTurnStatus = TurnStatusResponsePayload.fromJSON(turnStatus);\r\n }\r\n\r\n /**\r\n * Gets the interaction identifier associated with this turn status event.\r\n * @member TurnStatusReceivedEventArgs.prototype.interactionId\r\n * @function\r\n * @public\r\n * @returns {any} the received interaction id.\r\n */\r\n public get interactionId(): any {\r\n return this.privTurnStatus.interactionId;\r\n }\r\n\r\n /**\r\n * Gets the conversation identifier associated with this turn status event.\r\n * @member TurnStatusReceivedEventArgs.prototype.conversationId\r\n * @function\r\n * @public\r\n * @returns {any} the received conversation id.\r\n */\r\n public get conversationId(): any {\r\n return this.privTurnStatus.conversationId;\r\n }\r\n\r\n /**\r\n * Gets the received turn status code.\r\n * @member TurnStatusReceivedEventArgs.prototype.statusCode\r\n * @function\r\n * @public\r\n * @returns {number} the received turn status.\r\n */\r\n public get statusCode(): number {\r\n return this.privTurnStatus.statusCode; // eslint-disable-line @typescript-eslint/no-unsafe-return\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IVoiceJson } from \"./IVoiceJson\";\r\n\r\n/**\r\n * Defines the gender of synthesis voices.\r\n * Added in version 1.20.0.\r\n */\r\nexport enum SynthesisVoiceGender {\r\n\r\n /** Gender unknown */\r\n Unknown,\r\n\r\n /** Female voice */\r\n Female,\r\n\r\n /** Male voice */\r\n Male,\r\n\r\n /** Neutral voice */\r\n Neutral\r\n}\r\n\r\nexport enum SynthesisVoiceType {\r\n OnlineNeural = 1,\r\n OnlineStandard = 2,\r\n OfflineNeural = 3,\r\n OfflineStandard = 4,\r\n}\r\n\r\nconst GENDER_LOOKUP: Record = {\r\n [SynthesisVoiceGender[SynthesisVoiceGender.Neutral]]: SynthesisVoiceGender.Neutral,\r\n [SynthesisVoiceGender[SynthesisVoiceGender.Male]]: SynthesisVoiceGender.Male,\r\n [SynthesisVoiceGender[SynthesisVoiceGender.Female]]: SynthesisVoiceGender.Female,\r\n};\r\n\r\n/**\r\n * Information about Speech Synthesis voice\r\n * Added in version 1.20.0.\r\n * @class VoiceInfo\r\n */\r\nexport class VoiceInfo {\r\n private privName: IVoiceJson[\"Name\"];\r\n private privLocale: IVoiceJson[\"Locale\"];\r\n private privShortName: IVoiceJson[\"ShortName\"];\r\n private privDisplayName: IVoiceJson[\"DisplayName\"];\r\n private privLocalName: IVoiceJson[\"LocalName\"];\r\n private privLocaleName: IVoiceJson[\"LocaleName\"];\r\n private privGender: SynthesisVoiceGender;\r\n private privVoiceType: SynthesisVoiceType;\r\n private privStyleList: IVoiceJson[\"StyleList\"] = [];\r\n private privSampleRateHertz: IVoiceJson[\"SampleRateHertz\"];\r\n private privStatus: IVoiceJson[\"Status\"];\r\n private privExtendedPropertyMap: IVoiceJson[\"ExtendedPropertyMap\"];\r\n private privWordsPerMinute: IVoiceJson[\"WordsPerMinute\"];\r\n private privSecondaryLocaleList: IVoiceJson[\"SecondaryLocaleList\"];\r\n private privRolePlayList: IVoiceJson[\"RolePlayList\"];\r\n\r\n public constructor(json: IVoiceJson) {\r\n if (!!json) {\r\n this.privName = json.Name;\r\n this.privLocale = json.Locale;\r\n this.privShortName = json.ShortName;\r\n this.privLocaleName = json.LocaleName;\r\n this.privDisplayName = json.DisplayName;\r\n this.privLocalName = json.LocalName;\r\n this.privVoiceType = json.VoiceType.endsWith(\"Standard\") ? SynthesisVoiceType.OnlineStandard : SynthesisVoiceType.OnlineNeural;\r\n this.privGender = GENDER_LOOKUP[json.Gender] || SynthesisVoiceGender.Unknown;\r\n\r\n if (!!json.StyleList && Array.isArray(json.StyleList)) {\r\n for (const style of json.StyleList) {\r\n this.privStyleList.push(style);\r\n }\r\n }\r\n\r\n this.privSampleRateHertz = json.SampleRateHertz;\r\n this.privStatus = json.Status;\r\n\r\n if (json.ExtendedPropertyMap) {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n this.privExtendedPropertyMap = json.ExtendedPropertyMap;\r\n }\r\n\r\n this.privWordsPerMinute = json.WordsPerMinute;\r\n\r\n if (Array.isArray(json.SecondaryLocaleList)) {\r\n this.privSecondaryLocaleList = [...json.SecondaryLocaleList];\r\n }\r\n\r\n if (Array.isArray(json.RolePlayList)) {\r\n this.privRolePlayList = [...json.RolePlayList];\r\n }\r\n }\r\n }\r\n\r\n public get name(): IVoiceJson[\"Name\"] {\r\n return this.privName;\r\n }\r\n\r\n public get locale(): IVoiceJson[\"Locale\"] {\r\n return this.privLocale;\r\n }\r\n\r\n public get shortName(): IVoiceJson[\"ShortName\"] {\r\n return this.privShortName;\r\n }\r\n\r\n public get displayName(): IVoiceJson[\"DisplayName\"] {\r\n return this.privDisplayName;\r\n }\r\n\r\n public get localName(): IVoiceJson[\"LocalName\"] {\r\n return this.privLocalName;\r\n }\r\n\r\n public get localeName(): IVoiceJson[\"LocaleName\"] {\r\n return this.privLocaleName;\r\n }\r\n\r\n public get gender(): SynthesisVoiceGender {\r\n return this.privGender;\r\n }\r\n\r\n public get voiceType(): SynthesisVoiceType {\r\n return this.privVoiceType;\r\n }\r\n\r\n public get styleList(): IVoiceJson[\"StyleList\"] {\r\n return this.privStyleList;\r\n }\r\n\r\n public get sampleRateHertz(): IVoiceJson[\"SampleRateHertz\"] {\r\n return this.privSampleRateHertz;\r\n }\r\n\r\n public get status(): IVoiceJson[\"Status\"] {\r\n return this.privStatus;\r\n }\r\n\r\n public get extendedPropertyMap(): IVoiceJson[\"ExtendedPropertyMap\"] {\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\r\n return this.privExtendedPropertyMap;\r\n }\r\n\r\n public get wordsPerMinute(): IVoiceJson[\"WordsPerMinute\"] {\r\n return this.privWordsPerMinute;\r\n }\r\n\r\n public get secondaryLocaleList(): IVoiceJson[\"SecondaryLocaleList\"] {\r\n return this.privSecondaryLocaleList;\r\n }\r\n\r\n public get rolePlayList(): IVoiceJson[\"RolePlayList\"] {\r\n return this.privRolePlayList;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { VoiceProfileType } from \"./Exports.js\";\r\n\r\n/**\r\n * Defines Voice Profile class for Speaker Recognition\r\n * @class VoiceProfile\r\n */\r\nexport class VoiceProfile {\r\n private privId: string;\r\n private privProfileType: VoiceProfileType;\r\n\r\n /**\r\n * Creates and initializes an instance of this class.\r\n * @constructor\r\n * @param {string} profileId - profileId of this Voice Profile.\r\n * @param {VoiceProfileType} profileType - profileType of this Voice Profile.\r\n */\r\n public constructor(profileId: string, profileType: VoiceProfileType) {\r\n this.privId = profileId;\r\n this.privProfileType = profileType;\r\n }\r\n\r\n /**\r\n * profileId of this Voice Profile instance\r\n * @member VoiceProfile.prototype.profileId\r\n * @function\r\n * @public\r\n * @returns {string} profileId of this Voice Profile instance.\r\n */\r\n public get profileId(): string {\r\n return this.privId;\r\n }\r\n\r\n /**\r\n * profileType of this Voice Profile instance\r\n * @member VoiceProfile.prototype.profileType\r\n * @function\r\n * @public\r\n * @returns {VoiceProfileType} profile type of this Voice Profile instance.\r\n */\r\n public get profileType(): VoiceProfileType {\r\n return this.privProfileType;\r\n }\r\n\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport {\r\n IRestResponse\r\n} from \"../common.browser/Exports.js\";\r\nimport {\r\n IAuthentication,\r\n IConnectionFactory,\r\n RecognizerConfig,\r\n ServiceRecognizerBase,\r\n SpeechServiceConfig,\r\n VoiceProfileConnectionFactory,\r\n VoiceServiceRecognizer\r\n} from \"../common.speech/Exports.js\";\r\nimport { AudioConfig, AudioConfigImpl } from \"./Audio/AudioConfig.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n AudioInputStream,\r\n PropertyCollection,\r\n PropertyId,\r\n Recognizer,\r\n ResultReason,\r\n VoiceProfile,\r\n VoiceProfileEnrollmentResult,\r\n VoiceProfilePhraseResult,\r\n VoiceProfileResult,\r\n VoiceProfileType\r\n} from \"./Exports.js\";\r\nimport { SpeechConfig, SpeechConfigImpl } from \"./SpeechConfig.js\";\r\n\r\n/**\r\n * Defines VoiceProfileClient class for Speaker Recognition\r\n * Handles operations from user for Voice Profile operations (e.g. createProfile, deleteProfile)\r\n * @class VoiceProfileClient\r\n */\r\nexport class VoiceProfileClient extends Recognizer {\r\n protected privProperties: PropertyCollection;\r\n private privVoiceAdapter: VoiceServiceRecognizer;\r\n private privDisposedVoiceAdapter: boolean;\r\n\r\n /**\r\n * VoiceProfileClient constructor.\r\n * @constructor\r\n * @param {SpeechConfig} speechConfig - An set of initial properties for this synthesizer (authentication key, region, &c)\r\n */\r\n public constructor(speechConfig: SpeechConfig) {\r\n Contracts.throwIfNullOrUndefined(speechConfig, \"speechConfig\");\r\n const speechConfigImpl: SpeechConfigImpl = speechConfig as SpeechConfigImpl;\r\n Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\r\n\r\n super(AudioConfig.fromStreamInput(AudioInputStream.createPushStream()), speechConfigImpl.properties, new VoiceProfileConnectionFactory());\r\n\r\n this.privProperties = speechConfigImpl.properties.clone();\r\n this.privVoiceAdapter = this.privReco as VoiceServiceRecognizer;\r\n this.privDisposedVoiceAdapter = false;\r\n }\r\n\r\n /**\r\n * The collection of properties and their values defined for this VoiceProfileClient.\r\n * @member VoiceProfileClient.prototype.properties\r\n * @function\r\n * @public\r\n * @returns {PropertyCollection} The collection of properties and their values defined for this VoiceProfileClient.\r\n */\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n /**\r\n * Gets the authorization token used to communicate with the service.\r\n * @member VoiceProfileClient.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @returns {string} Authorization token.\r\n */\r\n public get authorizationToken(): string {\r\n return this.properties.getProperty(PropertyId.SpeechServiceAuthorization_Token);\r\n }\r\n\r\n /**\r\n * Gets/Sets the authorization token used to communicate with the service.\r\n * @member VoiceProfileClient.prototype.authorizationToken\r\n * @function\r\n * @public\r\n * @param {string} token - Authorization token.\r\n */\r\n public set authorizationToken(token: string) {\r\n Contracts.throwIfNullOrWhitespace(token, \"token\");\r\n this.properties.setProperty(PropertyId.SpeechServiceAuthorization_Token, token);\r\n }\r\n\r\n /**\r\n * Create a speaker recognition voice profile\r\n * @member VoiceProfileClient.prototype.createProfileAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfileType} profileType Type of Voice Profile to be created\r\n * @param {string} lang Language string (locale) for Voice Profile\r\n * @return {Promise} - Promise of a VoiceProfile.\r\n */\r\n public async createProfileAsync(profileType: VoiceProfileType, lang: string): Promise {\r\n const profileIds: string[] = await this.privVoiceAdapter.createProfile(profileType, lang);\r\n return new VoiceProfile(profileIds[0], profileType);\r\n }\r\n\r\n /**\r\n * Get current information of a voice profile\r\n * @member VoiceProfileClient.prototype.retrieveEnrollmentResultAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfile} profile Voice Profile to retrieve info for\r\n * @return {Promise} - Promise of a VoiceProfileEnrollmentResult.\r\n */\r\n public async retrieveEnrollmentResultAsync(profile: VoiceProfile): Promise {\r\n return this.privVoiceAdapter.retrieveEnrollmentResult(profile);\r\n }\r\n\r\n /**\r\n * Get all voice profiles on account with given voice profile type\r\n * @member VoiceProfileClient.prototype.getAllProfilesAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfileType} profileType profile type (identification/verification) for which to list profiles\r\n * @return {Promise} - Promise of an array of VoiceProfileEnrollmentResults.\r\n */\r\n public async getAllProfilesAsync(profileType: VoiceProfileType): Promise {\r\n return this.privVoiceAdapter.getAllProfiles(profileType);\r\n /*\r\n const result: { json: { value: EnrollmentResultJSON[] } } = await this.privAdapter.getProfiles(profileType);\r\n if (profileType === VoiceProfileType.TextIndependentIdentification) {\r\n return VoiceProfileEnrollmentResult.FromIdentificationProfileList(result.json);\r\n }\r\n return VoiceProfileEnrollmentResult.FromVerificationProfileList(result.json);\r\n */\r\n }\r\n\r\n /**\r\n * Get valid authorization phrases for voice profile enrollment\r\n * @member VoiceProfileClient.prototype.getActivationPhrasesAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfileType} profileType Profile Type to get activation phrases for\r\n * @param {string} lang Language string (locale) for Voice Profile\r\n */\r\n public async getActivationPhrasesAsync(profileType: VoiceProfileType, lang: string): Promise {\r\n return this.privVoiceAdapter.getActivationPhrases(profileType, lang);\r\n }\r\n\r\n /**\r\n * Create a speaker recognition voice profile\r\n * @member VoiceProfileClient.prototype.enrollProfileAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfile} profile Voice Profile to create enrollment for\r\n * @param {AudioConfig} audioConfig source info from which to create enrollment\r\n * @return {Promise} - Promise of a VoiceProfileEnrollmentResult.\r\n */\r\n public async enrollProfileAsync(profile: VoiceProfile, audioConfig: AudioConfig): Promise {\r\n const configImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n Contracts.throwIfNullOrUndefined(configImpl, \"audioConfig\");\r\n this.audioConfig = audioConfig;\r\n this.privVoiceAdapter.SpeakerAudioSource = configImpl;\r\n\r\n return this.privVoiceAdapter.enrollProfile(profile);\r\n }\r\n\r\n /**\r\n * Delete a speaker recognition voice profile\r\n * @member VoiceProfileClient.prototype.deleteProfileAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfile} profile Voice Profile to be deleted\r\n * @return {Promise} - Promise of a VoiceProfileResult.\r\n */\r\n public async deleteProfileAsync(profile: VoiceProfile): Promise {\r\n return this.privVoiceAdapter.deleteProfile(profile);\r\n }\r\n\r\n /**\r\n * Remove all enrollments for a speaker recognition voice profile\r\n * @member VoiceProfileClient.prototype.resetProfileAsync\r\n * @function\r\n * @public\r\n * @async\r\n * @param {VoiceProfile} profile Voice Profile to be reset\r\n * @return {Promise} - Promise of a VoiceProfileResult.\r\n */\r\n public async resetProfileAsync(profile: VoiceProfile): Promise {\r\n return this.privVoiceAdapter.resetProfile(profile);\r\n }\r\n\r\n /**\r\n * Clean up object and close underlying connection\r\n * @member VoiceProfileClient.prototype.close\r\n * @function\r\n * @async\r\n * @public\r\n */\r\n public async close(): Promise {\r\n await this.dispose(true);\r\n }\r\n\r\n protected createServiceRecognizer(authentication: IAuthentication, connectionFactory: IConnectionFactory, audioConfig: AudioConfig, recognizerConfig: RecognizerConfig): ServiceRecognizerBase {\r\n const audioImpl: AudioConfigImpl = audioConfig as AudioConfigImpl;\r\n return new VoiceServiceRecognizer(authentication, connectionFactory, audioImpl, recognizerConfig, this);\r\n }\r\n\r\n protected async dispose(disposing: boolean): Promise {\r\n if (this.privDisposedVoiceAdapter) {\r\n return;\r\n }\r\n\r\n this.privDisposedVoiceAdapter = true;\r\n\r\n if (disposing) {\r\n await super.dispose(disposing);\r\n }\r\n }\r\n\r\n protected createRecognizerConfig(speechConfig: SpeechServiceConfig): RecognizerConfig {\r\n return new RecognizerConfig(speechConfig, this.properties);\r\n }\r\n\r\n private getResult(result: IRestResponse, successReason: ResultReason): VoiceProfileResult {\r\n const response: VoiceProfileResult =\r\n new VoiceProfileResult(\r\n result.ok ? successReason : ResultReason.Canceled,\r\n result.statusText\r\n );\r\n return (response);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { CancellationErrorCodePropertyName } from \"../common.speech/Exports.js\";\r\nimport {\r\n CancellationDetailsBase,\r\n CancellationErrorCode,\r\n CancellationReason,\r\n PropertyCollection,\r\n ResultReason\r\n} from \"./Exports.js\";\r\n\r\nexport interface EnrollmentResultDetails {\r\n profileId: string;\r\n enrollmentsCount: number;\r\n enrollmentsLength: number;\r\n enrollmentsSpeechLength: number;\r\n remainingEnrollmentsCount: number;\r\n remainingEnrollmentsSpeechLength: number;\r\n audioLength: number;\r\n audioSpeechLength: number;\r\n enrollmentStatus: string;\r\n}\r\n\r\nexport interface EnrollmentResultJSON {\r\n profileId: string;\r\n enrollmentsCount: number;\r\n enrollmentsLength: string;\r\n enrollmentsSpeechLength: string;\r\n remainingEnrollmentsCount: number;\r\n remainingEnrollmentsSpeechLength: string;\r\n audioLength: string;\r\n audioSpeechLength: string;\r\n enrollmentStatus: string;\r\n remainingEnrollments?: number;\r\n identificationProfileId?: string;\r\n verificationProfileId?: string;\r\n}\r\n\r\n/**\r\n * Output format\r\n * @class VoiceProfileEnrollmentResult\r\n */\r\nexport class VoiceProfileEnrollmentResult {\r\n private privReason: ResultReason;\r\n private privDetails: EnrollmentResultDetails;\r\n private privProperties: PropertyCollection;\r\n private privErrorDetails: string;\r\n\r\n public constructor(reason: ResultReason, json: string, statusText: string) {\r\n this.privReason = reason;\r\n this.privProperties = new PropertyCollection();\r\n if (this.privReason !== ResultReason.Canceled) {\r\n if (!!json) {\r\n this.privDetails = JSON.parse(json) as EnrollmentResultDetails;\r\n if (this.privDetails.enrollmentStatus.toLowerCase() === \"enrolling\") {\r\n this.privReason = ResultReason.EnrollingVoiceProfile;\r\n }\r\n }\r\n } else {\r\n this.privErrorDetails = statusText;\r\n this.privProperties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[CancellationErrorCode.ServiceError]);\r\n }\r\n }\r\n\r\n public get reason(): ResultReason {\r\n return this.privReason;\r\n }\r\n\r\n public get enrollmentsCount(): number {\r\n return this.privDetails.enrollmentsCount;\r\n }\r\n\r\n public get enrollmentsLength(): number {\r\n return this.privDetails.enrollmentsLength;\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public get enrollmentResultDetails(): EnrollmentResultDetails {\r\n return this.privDetails;\r\n }\r\n\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n\r\n public static FromIdentificationProfileList(json: { value: EnrollmentResultJSON[] }): VoiceProfileEnrollmentResult[] {\r\n const results: VoiceProfileEnrollmentResult[] = [];\r\n for (const item of json.value) {\r\n const reason: ResultReason = item.enrollmentStatus.toLowerCase() === \"enrolling\" ?\r\n ResultReason.EnrollingVoiceProfile : item.enrollmentStatus.toLowerCase() === \"enrolled\" ?\r\n ResultReason.EnrolledVoiceProfile : ResultReason.Canceled;\r\n const result = new VoiceProfileEnrollmentResult(reason, null, null);\r\n result.privDetails = this.getIdentificationDetails(item) as EnrollmentResultDetails;\r\n results.push(result);\r\n }\r\n return results;\r\n }\r\n\r\n public static FromVerificationProfileList(json: { value: EnrollmentResultJSON[] }): VoiceProfileEnrollmentResult[] {\r\n const results: VoiceProfileEnrollmentResult[] = [];\r\n for (const item of json.value) {\r\n const reason: ResultReason = item.enrollmentStatus.toLowerCase() === \"enrolling\" ?\r\n ResultReason.EnrollingVoiceProfile : item.enrollmentStatus.toLowerCase() === \"enrolled\" ?\r\n ResultReason.EnrolledVoiceProfile : ResultReason.Canceled;\r\n const result = new VoiceProfileEnrollmentResult(reason, null, null);\r\n result.privDetails = this.getVerificationDetails(item) as EnrollmentResultDetails;\r\n results.push(result);\r\n }\r\n return results;\r\n }\r\n\r\n private static getIdentificationDetails(json: EnrollmentResultJSON): unknown {\r\n return {\r\n audioLength: json.audioLength ? parseFloat(json.audioLength) : 0,\r\n audioSpeechLength: json.audioSpeechLength ? parseFloat(json.audioSpeechLength) : 0,\r\n enrollmentStatus: json.enrollmentStatus,\r\n enrollmentsCount: json.enrollmentsCount || 0,\r\n enrollmentsLength: json.enrollmentsLength ? parseFloat(json.enrollmentsLength) : 0,\r\n enrollmentsSpeechLength: json.enrollmentsSpeechLength ? parseFloat(json.enrollmentsSpeechLength) : 0,\r\n profileId: json.profileId || json.identificationProfileId,\r\n remainingEnrollmentsSpeechLength: json.remainingEnrollmentsSpeechLength ? parseFloat(json.remainingEnrollmentsSpeechLength) : 0\r\n };\r\n }\r\n\r\n private static getVerificationDetails(json: EnrollmentResultJSON): unknown {\r\n return {\r\n audioLength: json.audioLength ? parseFloat(json.audioLength) : 0,\r\n audioSpeechLength: json.audioSpeechLength ? parseFloat(json.audioSpeechLength) : 0,\r\n enrollmentStatus: json.enrollmentStatus,\r\n enrollmentsCount: json.enrollmentsCount,\r\n enrollmentsLength: json.enrollmentsLength ? parseFloat(json.enrollmentsLength) : 0,\r\n enrollmentsSpeechLength: json.enrollmentsSpeechLength ? parseFloat(json.enrollmentsSpeechLength) : 0,\r\n profileId: json.profileId || json.verificationProfileId,\r\n remainingEnrollmentsCount: json.remainingEnrollments || json.remainingEnrollmentsCount,\r\n remainingEnrollmentsSpeechLength: json.remainingEnrollmentsSpeechLength ? parseFloat(json.remainingEnrollmentsSpeechLength) : 0\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * @class VoiceProfileEnrollmentCancellationDetails\r\n */\r\nexport class VoiceProfileEnrollmentCancellationDetails extends CancellationDetailsBase {\r\n\r\n private constructor(reason: CancellationReason, errorDetails: string, errorCode: CancellationErrorCode) {\r\n super(reason, errorDetails, errorCode);\r\n }\r\n\r\n /**\r\n * Creates an instance of VoiceProfileEnrollmentCancellationDetails object for the canceled VoiceProfileEnrollmentResult.\r\n * @member VoiceProfileEnrollmentCancellationDetails.fromResult\r\n * @function\r\n * @public\r\n * @param {VoiceProfileEnrollmentResult} result - The result that was canceled.\r\n * @returns {VoiceProfileEnrollmentCancellationDetails} The cancellation details object being created.\r\n */\r\n public static fromResult(result: VoiceProfileEnrollmentResult): VoiceProfileEnrollmentCancellationDetails {\r\n const reason = CancellationReason.Error;\r\n let errorCode: CancellationErrorCode = CancellationErrorCode.NoError;\r\n\r\n if (!!result.properties) {\r\n errorCode = (CancellationErrorCode as any)[result.properties.getProperty(CancellationErrorCodePropertyName, CancellationErrorCode[CancellationErrorCode.NoError])]; //eslint-disable-line\r\n }\r\n\r\n return new VoiceProfileEnrollmentCancellationDetails(reason, result.errorDetails, errorCode);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n ResultReason,\r\n VoiceProfileResult\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Output format\r\n * @class VoiceProfilePhraseResult\r\n */\r\nexport class VoiceProfilePhraseResult extends VoiceProfileResult {\r\n private privPhrases: string[] = [];\r\n private privType: string;\r\n\r\n public constructor(reason: ResultReason, statusText: string, type: string, phraseArray: string[]) {\r\n super(reason, statusText);\r\n Contracts.throwIfNullOrUndefined(phraseArray, \"phrase array\");\r\n this.privType = type;\r\n if (!!phraseArray && !!phraseArray[0]) {\r\n this.privPhrases = phraseArray;\r\n }\r\n }\r\n\r\n public get phrases(): string[] {\r\n return this.privPhrases;\r\n }\r\n\r\n public get type(): string {\r\n return this.privType;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\nimport { CancellationErrorCodePropertyName } from \"../common.speech/Exports.js\";\r\nimport { Contracts } from \"./Contracts.js\";\r\nimport {\r\n CancellationDetailsBase,\r\n CancellationErrorCode,\r\n CancellationReason,\r\n PropertyCollection,\r\n ResultReason\r\n} from \"./Exports.js\";\r\n\r\n/**\r\n * Output format\r\n * @class VoiceProfileResult\r\n */\r\nexport class VoiceProfileResult {\r\n private privReason: ResultReason;\r\n private privProperties: PropertyCollection;\r\n private privErrorDetails: string;\r\n\r\n public constructor(reason: ResultReason, statusText: string) {\r\n this.privReason = reason;\r\n this.privProperties = new PropertyCollection();\r\n if (reason === ResultReason.Canceled) {\r\n Contracts.throwIfNullOrUndefined(statusText, \"statusText\");\r\n this.privErrorDetails = statusText;\r\n this.privProperties.setProperty(CancellationErrorCodePropertyName, CancellationErrorCode[CancellationErrorCode.ServiceError]);\r\n }\r\n }\r\n\r\n public get reason(): ResultReason {\r\n return this.privReason;\r\n }\r\n\r\n public get properties(): PropertyCollection {\r\n return this.privProperties;\r\n }\r\n\r\n public get errorDetails(): string {\r\n return this.privErrorDetails;\r\n }\r\n}\r\n\r\n/**\r\n * @class VoiceProfileCancellationDetails\r\n */\r\nexport class VoiceProfileCancellationDetails extends CancellationDetailsBase {\r\n\r\n private constructor(reason: CancellationReason, errorDetails: string, errorCode: CancellationErrorCode) {\r\n super(reason, errorDetails, errorCode);\r\n }\r\n\r\n /**\r\n * Creates an instance of VoiceProfileCancellationDetails object for the canceled VoiceProfileResult.\r\n * @member VoiceProfileCancellationDetails.fromResult\r\n * @function\r\n * @public\r\n * @param {VoiceProfileResult} result - The result that was canceled.\r\n * @returns {VoiceProfileCancellationDetails} The cancellation details object being created.\r\n */\r\n public static fromResult(result: VoiceProfileResult): VoiceProfileCancellationDetails {\r\n const reason = CancellationReason.Error;\r\n let errorCode: CancellationErrorCode = CancellationErrorCode.NoError;\r\n\r\n if (!!result.properties) {\r\n errorCode = (CancellationErrorCode as any)[result.properties.getProperty(CancellationErrorCodePropertyName, CancellationErrorCode[CancellationErrorCode.NoError])]; //eslint-disable-line\r\n }\r\n\r\n return new VoiceProfileCancellationDetails(reason, result.errorDetails, errorCode);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/**\r\n * Output format\r\n * @class VoiceProfileType\r\n */\r\nexport enum VoiceProfileType {\r\n\r\n /**\r\n * Text independent speaker identification\r\n * @member VoiceProfileType.TextIndependentIdentification\r\n */\r\n TextIndependentIdentification,\r\n\r\n /**\r\n * Text dependent speaker verification\r\n * @member VoiceProfileType.TextDependentVerification\r\n */\r\n TextDependentVerification,\r\n\r\n /**\r\n * Text independent speaker verification\r\n * @member VoiceProfileType.TextIndependentVerification\r\n */\r\n TextIndependentVerification,\r\n}\r\n","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n","'use strict'\n\nvar legacy = require('character-entities-legacy')\nvar invalid = require('character-reference-invalid')\nvar decimal = require('is-decimal')\nvar hexadecimal = require('is-hexadecimal')\nvar alphanumerical = require('is-alphanumerical')\nvar decodeEntity = require('./decode-entity')\n\nmodule.exports = parseEntities\n\nvar own = {}.hasOwnProperty\nvar fromCharCode = String.fromCharCode\nvar noop = Function.prototype\n\n// Default settings.\nvar defaults = {\n warning: null,\n reference: null,\n text: null,\n warningContext: null,\n referenceContext: null,\n textContext: null,\n position: {},\n additional: null,\n attribute: false,\n nonTerminated: true\n}\n\n// Characters.\nvar tab = 9 // '\\t'\nvar lineFeed = 10 // '\\n'\nvar formFeed = 12 // '\\f'\nvar space = 32 // ' '\nvar ampersand = 38 // '&'\nvar semicolon = 59 // ';'\nvar lessThan = 60 // '<'\nvar equalsTo = 61 // '='\nvar numberSign = 35 // '#'\nvar uppercaseX = 88 // 'X'\nvar lowercaseX = 120 // 'x'\nvar replacementCharacter = 65533 // '�'\n\n// Reference types.\nvar name = 'named'\nvar hexa = 'hexadecimal'\nvar deci = 'decimal'\n\n// Map of bases.\nvar bases = {}\n\nbases[hexa] = 16\nbases[deci] = 10\n\n// Map of types to tests.\n// Each type of character reference accepts different characters.\n// This test is used to detect whether a reference has ended (as the semicolon\n// is not strictly needed).\nvar tests = {}\n\ntests[name] = alphanumerical\ntests[deci] = decimal\ntests[hexa] = hexadecimal\n\n// Warning types.\nvar namedNotTerminated = 1\nvar numericNotTerminated = 2\nvar namedEmpty = 3\nvar numericEmpty = 4\nvar namedUnknown = 5\nvar numericDisallowed = 6\nvar numericProhibited = 7\n\n// Warning messages.\nvar messages = {}\n\nmessages[namedNotTerminated] =\n 'Named character references must be terminated by a semicolon'\nmessages[numericNotTerminated] =\n 'Numeric character references must be terminated by a semicolon'\nmessages[namedEmpty] = 'Named character references cannot be empty'\nmessages[numericEmpty] = 'Numeric character references cannot be empty'\nmessages[namedUnknown] = 'Named character references must be known'\nmessages[numericDisallowed] =\n 'Numeric character references cannot be disallowed'\nmessages[numericProhibited] =\n 'Numeric character references cannot be outside the permissible Unicode range'\n\n// Wrap to ensure clean parameters are given to `parse`.\nfunction parseEntities(value, options) {\n var settings = {}\n var option\n var key\n\n if (!options) {\n options = {}\n }\n\n for (key in defaults) {\n option = options[key]\n settings[key] =\n option === null || option === undefined ? defaults[key] : option\n }\n\n if (settings.position.indent || settings.position.start) {\n settings.indent = settings.position.indent || []\n settings.position = settings.position.start\n }\n\n return parse(value, settings)\n}\n\n// Parse entities.\n// eslint-disable-next-line complexity\nfunction parse(value, settings) {\n var additional = settings.additional\n var nonTerminated = settings.nonTerminated\n var handleText = settings.text\n var handleReference = settings.reference\n var handleWarning = settings.warning\n var textContext = settings.textContext\n var referenceContext = settings.referenceContext\n var warningContext = settings.warningContext\n var pos = settings.position\n var indent = settings.indent || []\n var length = value.length\n var index = 0\n var lines = -1\n var column = pos.column || 1\n var line = pos.line || 1\n var queue = ''\n var result = []\n var entityCharacters\n var namedEntity\n var terminated\n var characters\n var character\n var reference\n var following\n var warning\n var reason\n var output\n var entity\n var begin\n var start\n var type\n var test\n var prev\n var next\n var diff\n var end\n\n if (typeof additional === 'string') {\n additional = additional.charCodeAt(0)\n }\n\n // Cache the current point.\n prev = now()\n\n // Wrap `handleWarning`.\n warning = handleWarning ? parseError : noop\n\n // Ensure the algorithm walks over the first character and the end\n // (inclusive).\n index--\n length++\n\n while (++index < length) {\n // If the previous character was a newline.\n if (character === lineFeed) {\n column = indent[lines] || 1\n }\n\n character = value.charCodeAt(index)\n\n if (character === ampersand) {\n following = value.charCodeAt(index + 1)\n\n // The behaviour depends on the identity of the next character.\n if (\n following === tab ||\n following === lineFeed ||\n following === formFeed ||\n following === space ||\n following === ampersand ||\n following === lessThan ||\n following !== following ||\n (additional && following === additional)\n ) {\n // Not a character reference.\n // No characters are consumed, and nothing is returned.\n // This is not an error, either.\n queue += fromCharCode(character)\n column++\n\n continue\n }\n\n start = index + 1\n begin = start\n end = start\n\n if (following === numberSign) {\n // Numerical entity.\n end = ++begin\n\n // The behaviour further depends on the next character.\n following = value.charCodeAt(end)\n\n if (following === uppercaseX || following === lowercaseX) {\n // ASCII hex digits.\n type = hexa\n end = ++begin\n } else {\n // ASCII digits.\n type = deci\n }\n } else {\n // Named entity.\n type = name\n }\n\n entityCharacters = ''\n entity = ''\n characters = ''\n test = tests[type]\n end--\n\n while (++end < length) {\n following = value.charCodeAt(end)\n\n if (!test(following)) {\n break\n }\n\n characters += fromCharCode(following)\n\n // Check if we can match a legacy named reference.\n // If so, we cache that as the last viable named reference.\n // This ensures we do not need to walk backwards later.\n if (type === name && own.call(legacy, characters)) {\n entityCharacters = characters\n entity = legacy[characters]\n }\n }\n\n terminated = value.charCodeAt(end) === semicolon\n\n if (terminated) {\n end++\n\n namedEntity = type === name ? decodeEntity(characters) : false\n\n if (namedEntity) {\n entityCharacters = characters\n entity = namedEntity\n }\n }\n\n diff = 1 + end - start\n\n if (!terminated && !nonTerminated) {\n // Empty.\n } else if (!characters) {\n // An empty (possible) entity is valid, unless it’s numeric (thus an\n // ampersand followed by an octothorp).\n if (type !== name) {\n warning(numericEmpty, diff)\n }\n } else if (type === name) {\n // An ampersand followed by anything unknown, and not terminated, is\n // invalid.\n if (terminated && !entity) {\n warning(namedUnknown, 1)\n } else {\n // If theres something after an entity name which is not known, cap\n // the reference.\n if (entityCharacters !== characters) {\n end = begin + entityCharacters.length\n diff = 1 + end - begin\n terminated = false\n }\n\n // If the reference is not terminated, warn.\n if (!terminated) {\n reason = entityCharacters ? namedNotTerminated : namedEmpty\n\n if (settings.attribute) {\n following = value.charCodeAt(end)\n\n if (following === equalsTo) {\n warning(reason, diff)\n entity = null\n } else if (alphanumerical(following)) {\n entity = null\n } else {\n warning(reason, diff)\n }\n } else {\n warning(reason, diff)\n }\n }\n }\n\n reference = entity\n } else {\n if (!terminated) {\n // All non-terminated numeric entities are not rendered, and trigger a\n // warning.\n warning(numericNotTerminated, diff)\n }\n\n // When terminated and number, parse as either hexadecimal or decimal.\n reference = parseInt(characters, bases[type])\n\n // Trigger a warning when the parsed number is prohibited, and replace\n // with replacement character.\n if (prohibited(reference)) {\n warning(numericProhibited, diff)\n reference = fromCharCode(replacementCharacter)\n } else if (reference in invalid) {\n // Trigger a warning when the parsed number is disallowed, and replace\n // by an alternative.\n warning(numericDisallowed, diff)\n reference = invalid[reference]\n } else {\n // Parse the number.\n output = ''\n\n // Trigger a warning when the parsed number should not be used.\n if (disallowed(reference)) {\n warning(numericDisallowed, diff)\n }\n\n // Stringify the number.\n if (reference > 0xffff) {\n reference -= 0x10000\n output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800)\n reference = 0xdc00 | (reference & 0x3ff)\n }\n\n reference = output + fromCharCode(reference)\n }\n }\n\n // Found it!\n // First eat the queued characters as normal text, then eat an entity.\n if (reference) {\n flush()\n\n prev = now()\n index = end - 1\n column += end - start + 1\n result.push(reference)\n next = now()\n next.offset++\n\n if (handleReference) {\n handleReference.call(\n referenceContext,\n reference,\n {start: prev, end: next},\n value.slice(start - 1, end)\n )\n }\n\n prev = next\n } else {\n // If we could not find a reference, queue the checked characters (as\n // normal characters), and move the pointer to their end.\n // This is possible because we can be certain neither newlines nor\n // ampersands are included.\n characters = value.slice(start - 1, end)\n queue += characters\n column += characters.length\n index = end - 1\n }\n } else {\n // Handle anything other than an ampersand, including newlines and EOF.\n if (\n character === 10 // Line feed\n ) {\n line++\n lines++\n column = 0\n }\n\n if (character === character) {\n queue += fromCharCode(character)\n column++\n } else {\n flush()\n }\n }\n }\n\n // Return the reduced nodes.\n return result.join('')\n\n // Get current position.\n function now() {\n return {\n line: line,\n column: column,\n offset: index + (pos.offset || 0)\n }\n }\n\n // “Throw” a parse-error: a warning.\n function parseError(code, offset) {\n var position = now()\n\n position.column += offset\n position.offset += offset\n\n handleWarning.call(warningContext, messages[code], position, code)\n }\n\n // Flush `queue` (normal text).\n // Macro invoked before each entity and at the end of `value`.\n // Does nothing when `queue` is empty.\n function flush() {\n if (queue) {\n result.push(queue)\n\n if (handleText) {\n handleText.call(textContext, queue, {start: prev, end: now()})\n }\n\n queue = ''\n }\n }\n}\n\n// Check if `character` is outside the permissible unicode range.\nfunction prohibited(code) {\n return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff\n}\n\n// Check if `character` is disallowed.\nfunction disallowed(code) {\n return (\n (code >= 0x0001 && code <= 0x0008) ||\n code === 0x000b ||\n (code >= 0x000d && code <= 0x001f) ||\n (code >= 0x007f && code <= 0x009f) ||\n (code >= 0xfdd0 && code <= 0xfdef) ||\n (code & 0xffff) === 0xffff ||\n (code & 0xffff) === 0xfffe\n )\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"printJS\"] = factory();\n\telse\n\t\troot[\"printJS\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './sass/index.scss'\nimport print from './js/init'\n\nconst printJS = print.init\n\nif (typeof window !== 'undefined') {\n window.printJS = printJS\n}\n\nexport default printJS\n","const Browser = {\n // Firefox 1.0+\n isFirefox: () => {\n return typeof InstallTrigger !== 'undefined'\n },\n // Internet Explorer 6-11\n isIE: () => {\n return navigator.userAgent.indexOf('MSIE') !== -1 || !!document.documentMode\n },\n // Edge 20+\n isEdge: () => {\n return !Browser.isIE() && !!window.StyleMedia\n },\n // Chrome 1+\n isChrome: (context = window) => {\n return !!context.chrome\n },\n // At least Safari 3+: \"[object HTMLElementConstructor]\"\n isSafari: () => {\n return Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0 ||\n navigator.userAgent.toLowerCase().indexOf('safari') !== -1\n },\n // IOS Chrome\n isIOSChrome: () => {\n return navigator.userAgent.toLowerCase().indexOf('crios') !== -1\n }\n}\n\nexport default Browser\n","import Modal from './modal'\nimport Browser from './browser'\n\nexport function addWrapper (htmlData, params) {\n const bodyStyle = 'font-family:' + params.font + ' !important; font-size: ' + params.font_size + ' !important; width:100%;'\n return '
' + htmlData + '
'\n}\n\nexport function capitalizePrint (obj) {\n return obj.charAt(0).toUpperCase() + obj.slice(1)\n}\n\nexport function collectStyles (element, params) {\n const win = document.defaultView || window\n\n // String variable to hold styling for each element\n let elementStyle = ''\n\n // Loop over computed styles\n const styles = win.getComputedStyle(element, '')\n\n for (let key = 0; key < styles.length; key++) {\n // Check if style should be processed\n if (params.targetStyles.indexOf('*') !== -1 || params.targetStyle.indexOf(styles[key]) !== -1 || targetStylesMatch(params.targetStyles, styles[key])) {\n if (styles.getPropertyValue(styles[key])) elementStyle += styles[key] + ':' + styles.getPropertyValue(styles[key]) + ';'\n }\n }\n\n // Print friendly defaults (deprecated)\n elementStyle += 'max-width: ' + params.maxWidth + 'px !important; font-size: ' + params.font_size + ' !important;'\n\n return elementStyle\n}\n\nfunction targetStylesMatch (styles, value) {\n for (let i = 0; i < styles.length; i++) {\n if (typeof value === 'object' && value.indexOf(styles[i]) !== -1) return true\n }\n return false\n}\n\nexport function addHeader (printElement, params) {\n // Create the header container div\n const headerContainer = document.createElement('div')\n\n // Check if the header is text or raw html\n if (isRawHTML(params.header)) {\n headerContainer.innerHTML = params.header\n } else {\n // Create header element\n const headerElement = document.createElement('h1')\n\n // Create header text node\n const headerNode = document.createTextNode(params.header)\n\n // Build and style\n headerElement.appendChild(headerNode)\n headerElement.setAttribute('style', params.headerStyle)\n headerContainer.appendChild(headerElement)\n }\n\n printElement.insertBefore(headerContainer, printElement.childNodes[0])\n}\n\nexport function cleanUp (params) {\n // If we are showing a feedback message to user, remove it\n if (params.showModal) Modal.close()\n\n // Check for a finished loading hook function\n if (params.onLoadingEnd) params.onLoadingEnd()\n\n // If preloading pdf files, clean blob url\n if (params.showModal || params.onLoadingStart) window.URL.revokeObjectURL(params.printable)\n\n // Run onPrintDialogClose callback\n let event = 'mouseover'\n\n if (Browser.isChrome() || Browser.isFirefox()) {\n // Ps.: Firefox will require an extra click in the document to fire the focus event.\n event = 'focus'\n }\n\n const handler = () => {\n // Make sure the event only happens once.\n window.removeEventListener(event, handler)\n\n params.onPrintDialogClose()\n\n // Remove iframe from the DOM\n const iframe = document.getElementById(params.frameId)\n\n if (iframe) {\n iframe.remove()\n }\n }\n\n window.addEventListener(event, handler)\n}\n\nexport function isRawHTML (raw) {\n const regexHtml = new RegExp('<([A-Za-z][A-Za-z0-9]*)\\\\b[^>]*>(.*?)')\n return regexHtml.test(raw)\n}\n","import { collectStyles, addHeader } from './functions'\nimport Print from './print'\n\nexport default {\n print: (params, printFrame) => {\n // Get the DOM printable element\n const printElement = isHtmlElement(params.printable) ? params.printable : document.getElementById(params.printable)\n\n // Check if the element exists\n if (!printElement) {\n window.console.error('Invalid HTML element id: ' + params.printable)\n return\n }\n\n // Clone the target element including its children (if available)\n params.printableElement = cloneElement(printElement, params)\n\n // Add header\n if (params.header) {\n addHeader(params.printableElement, params)\n }\n\n // Print html element contents\n Print.send(params, printFrame)\n }\n}\n\nfunction cloneElement (element, params) {\n // Clone the main node (if not already inside the recursion process)\n const clone = element.cloneNode()\n\n // Loop over and process the children elements / nodes (including text nodes)\n const childNodesArray = Array.prototype.slice.call(element.childNodes)\n for (let i = 0; i < childNodesArray.length; i++) {\n // Check if we are skipping the current element\n if (params.ignoreElements.indexOf(childNodesArray[i].id) !== -1) {\n continue\n }\n\n // Clone the child element\n const clonedChild = cloneElement(childNodesArray[i], params)\n\n // Attach the cloned child to the cloned parent node\n clone.appendChild(clonedChild)\n }\n\n // Get all styling for print element (for nodes of type element only)\n if (params.scanStyles && element.nodeType === 1) {\n clone.setAttribute('style', collectStyles(element, params))\n }\n\n // Check if the element needs any state processing (copy user input data)\n switch (element.tagName) {\n case 'SELECT':\n // Copy the current selection value to its clone\n clone.value = element.value\n break\n case 'CANVAS':\n // Copy the canvas content to its clone\n clone.getContext('2d').drawImage(element, 0, 0)\n break\n }\n\n return clone\n}\n\nfunction isHtmlElement (printable) {\n // Check if element is instance of HTMLElement or has nodeType === 1 (for elements in iframe)\n return typeof printable === 'object' && printable && (printable instanceof HTMLElement || printable.nodeType === 1)\n}\n","import { addHeader } from './functions'\nimport Print from './print'\nimport Browser from './browser'\n\nexport default {\n print: (params, printFrame) => {\n // Check if we are printing one image or multiple images\n if (params.printable.constructor !== Array) {\n // Create array with one image\n params.printable = [params.printable]\n }\n\n // Create printable element (container)\n params.printableElement = document.createElement('div')\n\n // Create all image elements and append them to the printable container\n params.printable.forEach(src => {\n // Create the image element\n const img = document.createElement('img')\n img.setAttribute('style', params.imageStyle)\n\n // Set image src with the file url\n img.src = src\n\n // The following block is for Firefox, which for some reason requires the image's src to be fully qualified in\n // order to print it\n if (Browser.isFirefox()) {\n const fullyQualifiedSrc = img.src\n img.src = fullyQualifiedSrc\n }\n\n // Create the image wrapper\n const imageWrapper = document.createElement('div')\n\n // Append image to the wrapper element\n imageWrapper.appendChild(img)\n\n // Append wrapper to the printable element\n params.printableElement.appendChild(imageWrapper)\n })\n\n // Check if we are adding a print header\n if (params.header) addHeader(params.printableElement, params)\n\n // Print image\n Print.send(params, printFrame)\n }\n}\n","'use strict'\n\nimport Browser from './browser'\nimport Modal from './modal'\nimport Pdf from './pdf'\nimport Html from './html'\nimport RawHtml from './raw-html'\nimport Image from './image'\nimport Json from './json'\n\nconst printTypes = ['pdf', 'html', 'image', 'json', 'raw-html']\n\nexport default {\n init () {\n const params = {\n printable: null,\n fallbackPrintable: null,\n type: 'pdf',\n header: null,\n headerStyle: 'font-weight: 300;',\n maxWidth: 800,\n properties: null,\n gridHeaderStyle: 'font-weight: bold; padding: 5px; border: 1px solid #dddddd;',\n gridStyle: 'border: 1px solid lightgray; margin-bottom: -1px;',\n showModal: false,\n onError: (error) => { throw error },\n onLoadingStart: null,\n onLoadingEnd: null,\n onPrintDialogClose: () => {},\n onIncompatibleBrowser: () => {},\n modalMessage: 'Retrieving Document...',\n frameId: 'printJS',\n printableElement: null,\n documentTitle: 'Document',\n targetStyle: ['clear', 'display', 'width', 'min-width', 'height', 'min-height', 'max-height'],\n targetStyles: ['border', 'box', 'break', 'text-decoration'],\n ignoreElements: [],\n repeatTableHeader: true,\n css: null,\n style: null,\n scanStyles: true,\n base64: false,\n\n // Deprecated\n onPdfOpen: null,\n font: 'TimesNewRoman',\n font_size: '12pt',\n honorMarginPadding: true,\n honorColor: false,\n imageStyle: 'max-width: 100%;'\n }\n\n // Check if a printable document or object was supplied\n const args = arguments[0]\n if (args === undefined) {\n throw new Error('printJS expects at least 1 attribute.')\n }\n\n // Process parameters\n switch (typeof args) {\n case 'string':\n params.printable = encodeURI(args)\n params.fallbackPrintable = params.printable\n params.type = arguments[1] || params.type\n break\n case 'object':\n params.printable = args.printable\n params.fallbackPrintable = typeof args.fallbackPrintable !== 'undefined' ? args.fallbackPrintable : params.printable\n params.fallbackPrintable = params.base64 ? `data:application/pdf;base64,${params.fallbackPrintable}` : params.fallbackPrintable\n for (var k in params) {\n if (k === 'printable' || k === 'fallbackPrintable') continue\n\n params[k] = typeof args[k] !== 'undefined' ? args[k] : params[k]\n }\n break\n default:\n throw new Error('Unexpected argument type! Expected \"string\" or \"object\", got ' + typeof args)\n }\n\n // Validate printable\n if (!params.printable) throw new Error('Missing printable information.')\n\n // Validate type\n if (!params.type || typeof params.type !== 'string' || printTypes.indexOf(params.type.toLowerCase()) === -1) {\n throw new Error('Invalid print type. Available types are: pdf, html, image and json.')\n }\n\n // Check if we are showing a feedback message to the user (useful for large files)\n if (params.showModal) Modal.show(params)\n\n // Check for a print start hook function\n if (params.onLoadingStart) params.onLoadingStart()\n\n // To prevent duplication and issues, remove any used printFrame from the DOM\n const usedFrame = document.getElementById(params.frameId)\n\n if (usedFrame) usedFrame.parentNode.removeChild(usedFrame)\n\n // Create a new iframe for the print job\n const printFrame = document.createElement('iframe')\n\n if (Browser.isFirefox()) {\n // Set the iframe to be is visible on the page (guaranteed by fixed position) but hidden using opacity 0, because\n // this works in Firefox. The height needs to be sufficient for some part of the document other than the PDF\n // viewer's toolbar to be visible in the page\n printFrame.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0')\n } else {\n // Hide the iframe in other browsers\n printFrame.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0')\n }\n\n // Set iframe element id\n printFrame.setAttribute('id', params.frameId)\n\n // For non pdf printing, pass an html document string to srcdoc (force onload callback)\n if (params.type !== 'pdf') {\n printFrame.srcdoc = '' + params.documentTitle + ''\n\n // Attach css files\n if (params.css) {\n // Add support for single file\n if (!Array.isArray(params.css)) params.css = [params.css]\n\n // Create link tags for each css file\n params.css.forEach(file => {\n printFrame.srcdoc += ''\n })\n }\n\n printFrame.srcdoc += ''\n }\n\n // Check printable type\n switch (params.type) {\n case 'pdf':\n // Check browser support for pdf and if not supported we will just open the pdf file instead\n if (Browser.isIE()) {\n try {\n console.info('Print.js doesn\\'t support PDF printing in Internet Explorer.')\n const win = window.open(params.fallbackPrintable, '_blank')\n win.focus()\n params.onIncompatibleBrowser()\n } catch (error) {\n params.onError(error)\n } finally {\n // Make sure there is no loading modal opened\n if (params.showModal) Modal.close()\n if (params.onLoadingEnd) params.onLoadingEnd()\n }\n } else {\n Pdf.print(params, printFrame)\n }\n break\n case 'image':\n Image.print(params, printFrame)\n break\n case 'html':\n Html.print(params, printFrame)\n break\n case 'raw-html':\n RawHtml.print(params, printFrame)\n break\n case 'json':\n Json.print(params, printFrame)\n break\n }\n }\n}\n","import { capitalizePrint, addHeader } from './functions'\nimport Print from './print'\n\nexport default {\n print: (params, printFrame) => {\n // Check if we received proper data\n if (typeof params.printable !== 'object') {\n throw new Error('Invalid javascript data object (JSON).')\n }\n\n // Validate repeatTableHeader\n if (typeof params.repeatTableHeader !== 'boolean') {\n throw new Error('Invalid value for repeatTableHeader attribute (JSON).')\n }\n\n // Validate properties\n if (!params.properties || !Array.isArray(params.properties)) {\n throw new Error('Invalid properties array for your JSON data.')\n }\n\n // We will format the property objects to keep the JSON api compatible with older releases\n params.properties = params.properties.map(property => {\n return {\n field: typeof property === 'object' ? property.field : property,\n displayName: typeof property === 'object' ? property.displayName : property,\n columnSize: typeof property === 'object' && property.columnSize ? property.columnSize + ';' : 100 / params.properties.length + '%;'\n }\n })\n\n // Create a print container element\n params.printableElement = document.createElement('div')\n\n // Check if we are adding a print header\n if (params.header) {\n addHeader(params.printableElement, params)\n }\n\n // Build the printable html data\n params.printableElement.innerHTML += jsonToHTML(params)\n\n // Print the json data\n Print.send(params, printFrame)\n }\n}\n\nfunction jsonToHTML (params) {\n // Get the row and column data\n const data = params.printable\n const properties = params.properties\n\n // Create a html table\n let htmlData = ''\n\n // Check if the header should be repeated\n if (params.repeatTableHeader) {\n htmlData += ''\n }\n\n // Add the table header row\n htmlData += ''\n\n // Add the table header columns\n for (let a = 0; a < properties.length; a++) {\n htmlData += ''\n }\n\n // Add the closing tag for the table header row\n htmlData += ''\n\n // If the table header is marked as repeated, add the closing tag\n if (params.repeatTableHeader) {\n htmlData += ''\n }\n\n // Create the table body\n htmlData += ''\n\n // Add the table data rows\n for (let i = 0; i < data.length; i++) {\n // Add the row starting tag\n htmlData += ''\n\n // Print selected properties only\n for (let n = 0; n < properties.length; n++) {\n let stringData = data[i]\n\n // Support nested objects\n const property = properties[n].field.split('.')\n if (property.length > 1) {\n for (let p = 0; p < property.length; p++) {\n stringData = stringData[property[p]]\n }\n } else {\n stringData = stringData[properties[n].field]\n }\n\n // Add the row contents and styles\n htmlData += ''\n }\n\n // Add the row closing tag\n htmlData += ''\n }\n\n // Add the table and body closing tags\n htmlData += '
' + capitalizePrint(properties[a].displayName) + '
' + stringData + '
'\n\n return htmlData\n}\n","const Modal = {\n show (params) {\n // Build modal\n const modalStyle = 'font-family:sans-serif; ' +\n 'display:table; ' +\n 'text-align:center; ' +\n 'font-weight:300; ' +\n 'font-size:30px; ' +\n 'left:0; top:0;' +\n 'position:fixed; ' +\n 'z-index: 9990;' +\n 'color: #0460B5; ' +\n 'width: 100%; ' +\n 'height: 100%; ' +\n 'background-color:rgba(255,255,255,.9);' +\n 'transition: opacity .3s ease;'\n\n // Create wrapper\n const printModal = document.createElement('div')\n printModal.setAttribute('style', modalStyle)\n printModal.setAttribute('id', 'printJS-Modal')\n\n // Create content div\n const contentDiv = document.createElement('div')\n contentDiv.setAttribute('style', 'display:table-cell; vertical-align:middle; padding-bottom:100px;')\n\n // Add close button (requires print.css)\n const closeButton = document.createElement('div')\n closeButton.setAttribute('class', 'printClose')\n closeButton.setAttribute('id', 'printClose')\n contentDiv.appendChild(closeButton)\n\n // Add spinner (requires print.css)\n const spinner = document.createElement('span')\n spinner.setAttribute('class', 'printSpinner')\n contentDiv.appendChild(spinner)\n\n // Add message\n const messageNode = document.createTextNode(params.modalMessage)\n contentDiv.appendChild(messageNode)\n\n // Add contentDiv to printModal\n printModal.appendChild(contentDiv)\n\n // Append print modal element to document body\n document.getElementsByTagName('body')[0].appendChild(printModal)\n\n // Add event listener to close button\n document.getElementById('printClose').addEventListener('click', function () {\n Modal.close()\n })\n },\n close () {\n const printModal = document.getElementById('printJS-Modal')\n\n if (printModal) {\n printModal.parentNode.removeChild(printModal)\n }\n }\n}\n\nexport default Modal\n","import Print from './print'\nimport { cleanUp } from './functions'\n\nexport default {\n print: (params, printFrame) => {\n // Check if we have base64 data\n if (params.base64) {\n const bytesArray = Uint8Array.from(atob(params.printable), c => c.charCodeAt(0))\n createBlobAndPrint(params, printFrame, bytesArray)\n return\n }\n\n // Format pdf url\n params.printable = /^(blob|http|\\/\\/)/i.test(params.printable)\n ? params.printable\n : window.location.origin + (params.printable.charAt(0) !== '/' ? '/' + params.printable : params.printable)\n\n // Get the file through a http request (Preload)\n const req = new window.XMLHttpRequest()\n req.responseType = 'arraybuffer'\n\n req.addEventListener('error', () => {\n cleanUp(params)\n params.onError(req.statusText, req)\n\n // Since we don't have a pdf document available, we will stop the print job\n })\n\n req.addEventListener('load', () => {\n // Check for errors\n if ([200, 201].indexOf(req.status) === -1) {\n cleanUp(params)\n params.onError(req.statusText, req)\n\n // Since we don't have a pdf document available, we will stop the print job\n return\n }\n\n // Print requested document\n createBlobAndPrint(params, printFrame, req.response)\n })\n\n req.open('GET', params.printable, true)\n req.send()\n }\n}\n\nfunction createBlobAndPrint (params, printFrame, data) {\n // Pass response or base64 data to a blob and create a local object url\n let localPdf = new window.Blob([data], { type: 'application/pdf' })\n localPdf = window.URL.createObjectURL(localPdf)\n\n // Set iframe src with pdf document url\n printFrame.setAttribute('src', localPdf)\n\n Print.send(params, printFrame)\n}\n","import Browser from './browser'\nimport { cleanUp } from './functions'\n\nconst Print = {\n send: (params, printFrame) => {\n // Append iframe element to document body\n document.getElementsByTagName('body')[0].appendChild(printFrame)\n\n // Get iframe element\n const iframeElement = document.getElementById(params.frameId)\n\n // Wait for iframe to load all content\n iframeElement.onload = () => {\n if (params.type === 'pdf') {\n // Add a delay for Firefox. In my tests, 1000ms was sufficient but 100ms was not\n if (Browser.isFirefox()) {\n setTimeout(() => performPrint(iframeElement, params), 1000)\n } else {\n performPrint(iframeElement, params)\n }\n return\n }\n\n // Get iframe element document\n let printDocument = (iframeElement.contentWindow || iframeElement.contentDocument)\n if (printDocument.document) printDocument = printDocument.document\n\n // Append printable element to the iframe body\n printDocument.body.appendChild(params.printableElement)\n\n // Add custom style\n if (params.type !== 'pdf' && params.style) {\n // Create style element\n const style = document.createElement('style')\n style.innerHTML = params.style\n\n // Append style element to iframe's head\n printDocument.head.appendChild(style)\n }\n\n // If printing images, wait for them to load inside the iframe\n const images = printDocument.getElementsByTagName('img')\n\n if (images.length > 0) {\n loadIframeImages(Array.from(images)).then(() => performPrint(iframeElement, params))\n } else {\n performPrint(iframeElement, params)\n }\n }\n }\n}\n\nfunction performPrint (iframeElement, params) {\n try {\n iframeElement.focus()\n\n // If Edge or IE, try catch with execCommand\n if (Browser.isEdge() || Browser.isIE()) {\n try {\n iframeElement.contentWindow.document.execCommand('print', false, null)\n } catch (e) {\n iframeElement.contentWindow.print()\n }\n } else {\n // Other browsers\n iframeElement.contentWindow.print()\n }\n } catch (error) {\n params.onError(error)\n } finally {\n if (Browser.isFirefox()) {\n // Move the iframe element off-screen and make it invisible\n iframeElement.style.visibility = 'hidden'\n iframeElement.style.left = '-1px'\n }\n\n cleanUp(params)\n }\n}\n\nfunction loadIframeImages (images) {\n const promises = images.map(image => {\n if (image.src && image.src !== window.location.href) {\n return loadIframeImage(image)\n }\n })\n\n return Promise.all(promises)\n}\n\nfunction loadIframeImage (image) {\n return new Promise(resolve => {\n const pollImage = () => {\n !image || typeof image.naturalWidth === 'undefined' || image.naturalWidth === 0 || !image.complete\n ? setTimeout(pollImage, 500)\n : resolve()\n }\n pollImage()\n })\n}\n\nexport default Print\n","import Print from './print'\n\nexport default {\n print: (params, printFrame) => {\n // Create printable element (container)\n params.printableElement = document.createElement('div')\n params.printableElement.setAttribute('style', 'width:100%')\n\n // Set our raw html as the printable element inner html content\n params.printableElement.innerHTML = params.printable\n\n // Print html contents\n Print.send(params, printFrame)\n }\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict'\n\nvar normalize = require('./normalize')\nvar DefinedInfo = require('./lib/util/defined-info')\nvar Info = require('./lib/util/info')\n\nvar data = 'data'\n\nmodule.exports = find\n\nvar valid = /^data[-\\w.:]+$/i\nvar dash = /-[a-z]/g\nvar cap = /[A-Z]/g\n\nfunction find(schema, value) {\n var normal = normalize(value)\n var prop = value\n var Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n prop = datasetToProperty(value)\n } else {\n value = datasetToAttribute(value)\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\nfunction datasetToProperty(attribute) {\n var value = attribute.slice(5).replace(dash, camelcase)\n return data + value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nfunction datasetToAttribute(property) {\n var value = property.slice(4)\n\n if (dash.test(value)) {\n return property\n }\n\n value = value.replace(cap, kebab)\n\n if (value.charAt(0) !== '-') {\n value = '-' + value\n }\n\n return data + value\n}\n\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar html = require('./lib/html')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, html])\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\n\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\n\nmodule.exports = create({\n transform: ariaTransform,\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n\nfunction ariaTransform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n}\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nvar boolean = types.boolean\nvar overloadedBoolean = types.overloadedBoolean\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\n\nmodule.exports = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: commaSeparated,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextMenu: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: commaSeparated,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // ``. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // ``. List of URIs to archives\n axis: null, // `` and ``. Use `scope` on ``\n background: null, // ``. Use CSS `background-image` instead\n bgColor: null, // `` and table elements. Use CSS `background-color` instead\n border: number, // ``. Use CSS `border-width` instead,\n borderColor: null, // `
`. Use CSS `border-color` instead,\n bottomMargin: number, // ``\n cellPadding: null, // `
`\n cellSpacing: null, // `
`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // ``\n clear: null, // `
`. Use CSS `clear` instead\n code: null, // ``\n codeBase: null, // ``\n codeType: null, // ``\n color: null, // `` and `
`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // ``\n event: null, // `\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase()\n if (htmlRawNames.includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n return continuation(code)\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return continuationAfter(code)\n }\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit('htmlFlow')\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return after\n }\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n/** @type {Construct} */\nconst nonLazyContinuation = {\n tokenize: tokenizeNonLazyContinuation,\n partial: true\n}\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n const closeStart = {\n tokenize: tokenizeCloseStart,\n partial: true\n }\n let initialPrefix = 0\n let sizeOpen = 0\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code)\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1]\n initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n marker = code\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return sequenceOpen(code)\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++\n effects.consume(code)\n return sequenceOpen\n }\n if (sizeOpen < 3) {\n return nok(code)\n }\n effects.exit('codeFencedFenceSequence')\n return markdownSpace(code)\n ? factorySpace(effects, infoBefore, 'whitespace')(code)\n : infoBefore(code)\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return self.interrupt\n ? ok(code)\n : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return infoBefore(code)\n }\n if (markdownSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, metaBefore, 'whitespace')(code)\n }\n if (code === 96 && code === marker) {\n return nok(code)\n }\n effects.consume(code)\n return info\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code)\n }\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return infoBefore(code)\n }\n if (code === 96 && code === marker) {\n return nok(code)\n }\n effects.consume(code)\n return meta\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code)\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return contentStart\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code)\n ? factorySpace(\n effects,\n beforeContentChunk,\n 'linePrefix',\n initialPrefix + 1\n )(code)\n : beforeContentChunk(code)\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n effects.enter('codeFlowValue')\n return contentChunk(code)\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return beforeContentChunk(code)\n }\n effects.consume(code)\n return contentChunk\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0\n return startBefore\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter('codeFencedFence')\n return markdownSpace(code)\n ? factorySpace(\n effects,\n beforeSequenceClose,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : beforeSequenceClose(code)\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter('codeFencedFenceSequence')\n return sequenceClose(code)\n }\n return nok(code)\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++\n effects.consume(code)\n return sequenceClose\n }\n if (size >= sizeOpen) {\n effects.exit('codeFencedFenceSequence')\n return markdownSpace(code)\n ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code)\n : sequenceCloseAfter(code)\n }\n return nok(code)\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n return nok(code)\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this\n return start\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code)\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n let max\n /** @type {(code: Code) => boolean} */\n let test\n return start\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit('characterReferenceValue')\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {asciiPunctuation} from 'micromark-util-character'\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return inside\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n while (++index < events.length) {\n const token = events[index][1]\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = push(media, [['enter', text, context]])\n\n // Always populated by defaults.\n\n // Between.\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1))\n\n // Media close.\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code)\n }\n return factoryDestination(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n resourceTitleAfter,\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n let open\n /** @type {Token} */\n let group\n /** @type {Token} */\n let text\n /** @type {Token} */\n let openingSequence\n /** @type {Token} */\n let closingSequence\n /** @type {number} */\n let use\n /** @type {Array} */\n let nextEvents\n /** @type {number} */\n let offset\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n }\n\n // Number of markers to use from the sequence.\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = []\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n }\n\n // Opening.\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ])\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n )\n\n // Closing.\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ])\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code\n effects.enter('attentionSequence')\n return inside(code)\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n const token = effects.exit('attentionSequence')\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code)\n\n // Always populated by defaults.\n\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {undefined}\n */\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0\n return start\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n return emailAtext(code)\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1\n return schemeInsideOrEmailAtext(code)\n }\n return emailAtext(code)\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n size = 0\n return urlInside\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n size = 0\n return emailAtext(code)\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n effects.consume(code)\n return urlInside\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n return emailAtSignOrDot\n }\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n return nok(code)\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n return emailValue(code)\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel\n effects.consume(code)\n return next\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable | undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpenInside\n }\n if (code === 91) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n if (markdownLineEnding(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62\n ? end(code)\n : code === 45\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = 'CDATA['\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n if (markdownLineEnding(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n if (markdownLineEnding(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n if (markdownLineEnding(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n if (code === null) {\n return nok(code)\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code)\n ? factorySpace(\n effects,\n lineEndingAfterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.consume(code)\n return after\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n let index\n /** @type {number | undefined} */\n let enter\n\n // If we start and end with an EOL or a space.\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1\n tailExitIndex++\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n enter = undefined\n }\n }\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n let size\n /** @type {Token} */\n let token\n return start\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return sequenceOpen(code)\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n effects.exit('codeTextSequence')\n return between(code)\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return between\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return sequenceClose(code)\n }\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return between\n }\n\n // Data.\n effects.enter('codeTextData')\n return data(code)\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return between(code)\n }\n effects.consume(code)\n return data\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return sequenceClose\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n }\n\n // More or less accents: mark as data.\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n}\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n value =\n buffer +\n (typeof value === 'string'\n ? value.toString()\n : new TextDecoder(encoding || undefined).decode(value))\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').Html} Html\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Omit & {type: 'fragment', children: Array}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | null | undefined | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {undefined | void}\n * Nothing.\n *\n * @typedef {Record} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {undefined}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array} transforms\n * Tree transforms.\n *\n * @typedef {Partial} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array} stack\n * Stack of nodes.\n * @property {Array} tokenStack\n * Stack of tokens.\n * @property {(this: CompileContext) => undefined} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {(this: CompileContext, node: Nodes, token: Token, onError?: OnEnterError) => undefined} enter\n * Enter a node.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => undefined} exit\n * Exit a node.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n * @property {CompileData} data\n * Info passed around; key/value store.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse, postprocess, preprocess} from 'micromark'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n }\n /** @type {Array} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n switch (event[1].type) {\n case 'listUnordered':\n case 'listOrdered':\n case 'blockQuote': {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n break\n }\n case 'lineEndingBlank': {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n break\n }\n case 'linePrefix':\n case 'listItemValue':\n case 'listItemMarker':\n case 'listItemPrefix':\n case 'listItemPrefixWhitespace': {\n // Empty.\n\n break\n }\n default: {\n atMarker = undefined\n }\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n }\n listItem = item\n events.splice(index, 0, ['enter', item, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {undefined}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Nodes} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {undefined}\n * Nothing.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n /** @type {Array} */\n const siblings = parent.children\n siblings.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n }\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {undefined}\n * Nothing.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n this.data.expectingFirstListItemValue = undefined\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return\n this.buffer()\n this.data.flowCodeInside = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n this.data.flowCodeInside = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n /** @type {Array} */\n const siblings = node.children\n let tail = siblings[siblings.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n }\n siblings.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n this.data.atHardBreak = undefined\n return\n }\n if (\n !this.data.setextHeadingSlurpLineEnding &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n this.data.inReference = true\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n this.data.referenceType = 'full'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = this.data.characterReferenceType\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n this.data.characterReferenceType = undefined\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n break\n }\n case 'transforms': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n break\n }\n case 'enter':\n case 'exit': {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n break\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {string, text} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nexport function parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser} Parser\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {Omit} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n \n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n if (!protocol) {\n return value\n }\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n return ''\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n let replace = ''\n\n // A correct percent encoded value.\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1)\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n }\n // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n if (skip) {\n index += skip\n skip = 0\n }\n }\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n * Generate content for the backreference dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n * Content for the backreference when linking back from definitions to their\n * reference.\n *\n * @callback FootnoteBackLabelTemplate\n * Generate a back label dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n * Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n /** @type {Array} */\n const result = [{type: 'text', value: '↩'}]\n\n if (rereferenceIndex > 1) {\n result.push({\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [{type: 'text', value: String(rereferenceIndex)}]\n })\n }\n\n return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n return (\n 'Back to reference ' +\n (referenceIndex + 1) +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const footnoteBackContent =\n state.options.footnoteBackContent || defaultFootnoteBackContent\n const footnoteBackLabel =\n state.options.footnoteBackLabel || defaultFootnoteBackLabel\n const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n className: ['sr-only']\n }\n /** @type {Array} */\n const listItems = []\n let referenceIndex = -1\n\n while (++referenceIndex < state.footnoteOrder.length) {\n const def = state.footnoteById.get(state.footnoteOrder[referenceIndex])\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let rereferenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n const counts = state.footnoteCounts.get(id)\n\n // eslint-disable-next-line no-unmodified-loop-condition\n while (counts !== undefined && ++rereferenceIndex <= counts) {\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n let children =\n typeof footnoteBackContent === 'string'\n ? footnoteBackContent\n : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n if (typeof children === 'string') {\n children = {type: 'text', value: children}\n }\n\n backReferences.push({\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n clobberPrefix +\n 'fnref-' +\n safeId +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n dataFootnoteBackref: '',\n ariaLabel:\n typeof footnoteBackLabel === 'string'\n ? footnoteBackLabel\n : footnoteBackLabel(referenceIndex, rereferenceIndex),\n className: ['data-footnote-backref']\n },\n children: Array.isArray(children) ? children : [children]\n })\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: footnoteLabelTagName,\n properties: {\n ...structuredClone(footnoteLabelProperties),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propsFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Reference} Reference\n *\n * @typedef {import('./state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {Extract} node\n * Reference node (image, link).\n * @returns {Array}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return [{type: 'text', value: '![' + node.alt + suffix}]\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: .\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === null || spread === undefined\n ? node.children.length > 1\n : spread\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {import('../state.js').Handlers}\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n // @ts-expect-error: root is different, but hard to type.\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {FootnoteReference} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnoteReference(state, node) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const id = String(node.identifier).toUpperCase()\n  const safeId = normalizeUri(id.toLowerCase())\n  const index = state.footnoteOrder.indexOf(id)\n  /** @type {number} */\n  let counter\n\n  let reuseCounter = state.footnoteCounts.get(id)\n\n  if (reuseCounter === undefined) {\n    reuseCounter = 0\n    state.footnoteOrder.push(id)\n    counter = state.footnoteOrder.length\n  } else {\n    counter = index + 1\n  }\n\n  reuseCounter += 1\n  state.footnoteCounts.set(id, reuseCounter)\n\n  /** @type {Element} */\n  const link = {\n    type: 'element',\n    tagName: 'a',\n    properties: {\n      href: '#' + clobberPrefix + 'fn-' + safeId,\n      id:\n        clobberPrefix +\n        'fnref-' +\n        safeId +\n        (reuseCounter > 1 ? '-' + reuseCounter : ''),\n      dataFootnoteRef: true,\n      ariaDescribedBy: ['footnote-label']\n    },\n    children: [{type: 'text', value: String(counter)}]\n  }\n  state.patch(node, link)\n\n  /** @type {Element} */\n  const sup = {\n    type: 'element',\n    tagName: 'sup',\n    properties: {},\n    children: [link]\n  }\n  state.patch(node, sup)\n  return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Html} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Element | Raw | undefined}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.options.allowDangerousHtml) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const def = state.definitionById.get(id)\n\n  if (!def) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(def.url || ''), alt: node.alt}\n\n  if (def.title !== null && def.title !== undefined) {\n    properties.title = def.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const def = state.definitionById.get(id)\n\n  if (!def) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(def.url || '')}\n\n  if (def.title !== null && def.title !== undefined) {\n    properties.title = def.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Parents} HastParents\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastParents}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start && end) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  // To do: option to use `style`?\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(cell, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastElement | HastText}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > 👉 **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","// Include `data` fields in mdast and `raw` nodes in hast.\n/// \n\n/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} ToHastOptions\n * @typedef {import('unified').Processor} Processor\n * @typedef {import('vfile').VFile} VFile\n */\n\n/**\n * @typedef {Omit} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given, runs the (rehype) plugins used on it with a\n * hast tree, then discards the result (*bridge mode*)\n * * otherwise, returns a hast tree, the plugins used after `remarkRehype`\n * are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only way\n * to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(options || destination)})\n )\n }\n}\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","// To do: remove `void`s\n// To do: remove `null` from output of our APIs, allow it as user APIs.\n\n/**\n * @typedef {(error?: Error | null | undefined, ...output: Array) => void} Callback\n * Callback.\n *\n * @typedef {(...input: Array) => any} Middleware\n * Ware.\n *\n * @typedef Pipeline\n * Pipeline.\n * @property {Run} run\n * Run the pipeline.\n * @property {Use} use\n * Add middleware.\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n *\n * Calls `done` on completion with either an error or the output of the\n * last middleware.\n *\n * > 👉 **Note**: as the length of input defines whether async functions get a\n * > `next` function,\n * > it’s recommended to keep `input` at one value normally.\n\n *\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n * Pipeline.\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error | null | undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware` into a uniform interface.\n *\n * You can pass all input to the resulting function.\n * `callback` is then called with the output of `middleware`.\n *\n * If `middleware` accepts more arguments than the later given in input,\n * an extra `done` function is passed to it after that input,\n * which must be called by `middleware`.\n *\n * The first value in `input` is the main input value.\n * All other input values are the rest input values.\n * The values given to `callback` are the input values,\n * merged with every non-nullish output value.\n *\n * * if `middleware` throws an error,\n * returns a promise that is rejected,\n * or calls the given `done` function with an error,\n * `callback` is called with that error\n * * if `middleware` returns a value or returns a promise that is resolved,\n * that value is the main output value\n * * if `middleware` calls `done`,\n * all non-nullish values except for the first one (the error) overwrite the\n * output values\n *\n * @param {Middleware} middleware\n * Function to wrap.\n * @param {Callback} callback\n * Callback called with the output of `middleware`.\n * @returns {Run}\n * Wrapped middleware.\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result && result.then && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n *\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === ext.codePointAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n","import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n * @typedef {import('vfile-message').Options} MessageOptions\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {Options | URL | VFile | Value} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {string | null | undefined} [basename]\n * Set `basename` (name).\n * @property {string | null | undefined} [cwd]\n * Set `cwd` (working directory).\n * @property {Data | null | undefined} [data]\n * Set `data` (associated info).\n * @property {string | null | undefined} [dirname]\n * Set `dirname` (path w/o basename).\n * @property {string | null | undefined} [extname]\n * Set `extname` (extension with dot).\n * @property {Array | null | undefined} [history]\n * Set `history` (paths the file moved between).\n * @property {URL | string | null | undefined} [path]\n * Set `path` (current path).\n * @property {string | null | undefined} [stem]\n * Set `stem` (name without extension).\n * @property {Value | null | undefined} [value]\n * Set `value` (the contents of the file).\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * .\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array} sources\n * An array of URLs to the original source files.\n * @property {Array} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {Record & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template [Settings=ReporterSettings]\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {path} from 'vfile/do-not-use-conditional-minpath'\nimport {proc} from 'vfile/do-not-use-conditional-minproc'\nimport {urlToPath, isUrl} from 'vfile/do-not-use-conditional-minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","export const CallableInstance =\n /**\n * @type {new , Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const func = proto[property]\n /** @type {(...parameters: Array) => unknown} */\n const apply = function () {\n return func.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n const names = Object.getOwnPropertyNames(func)\n\n for (const p of names) {\n const descriptor = Object.getOwnPropertyDescriptor(func, p)\n if (descriptor) Object.defineProperty(apply, p, descriptor)\n }\n\n return apply\n }\n )\n )\n","/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@link CompileResultMap `CompileResultMap`}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@link Node `Node`}\n * and {@link VFile `VFile`} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@link VFile `VFile`} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@link Node `Node`}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin, any, any> |\n * PluginTuple, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// .\n/**\n * @template {Array} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node it expects.\n * * If the plugin sets a {@link Parser `Parser`}, this should be\n * `string`.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node that that yields.\n * * If the plugin sets a {@link Parser `Parser`}, this should be the\n * node that it yields.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > 👉 **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node it expects.\n * * If the plugin sets a {@link Parser `Parser`}, this should be\n * `string`.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node that that yields.\n * * If the plugin sets a {@link Parser `Parser`}, this should be the\n * node that it yields.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > 👉 **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback} next\n * Callback.\n * @returns {(\n * Promise |\n * Promise | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : // Unknown.\n * Processor\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@link VFile `VFile`} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@link VFile `VFile`}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor}\n * New *unfrozen* processor ({@link Processor `Processor`}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > 👉 **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > 👉 **Note**: to register custom data in TypeScript, augment the\n * > {@link Data `Data`} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > 👉 **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > 👉 **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback> | undefined} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > 👉 **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > 👉 **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > 👉 **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > 👉 **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > 👉 **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor}\n *\n * @overload\n * @param {Plugin} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","// Register `Raw` in tree:\n/// \n\n/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Parents} Parents\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-to-jsx-runtime').Components} JsxRuntimeComponents\n * @typedef {import('remark-rehype').Options} RemarkRehypeOptions\n * @typedef {import('unist-util-visit').BuildVisitor} Visitor\n * @typedef {import('unified').PluggableList} PluggableList\n */\n\n/**\n * @callback AllowElement\n * Filter elements.\n * @param {Readonly} element\n * Element to check.\n * @param {number} index\n * Index of `element` in `parent`.\n * @param {Readonly | undefined} parent\n * Parent of `element`.\n * @returns {boolean | null | undefined}\n * Whether to allow `element` (default: `false`).\n *\n * @typedef {Partial} Components\n * Map tag names to components.\n *\n * @typedef Deprecation\n * Deprecation.\n * @property {string} from\n * Old field.\n * @property {string} id\n * ID in readme.\n * @property {keyof Options} [to]\n * New field.\n *\n * @typedef Options\n * Configuration.\n * @property {AllowElement | null | undefined} [allowElement]\n * Filter elements (optional);\n * `allowedElements` / `disallowedElements` is used first.\n * @property {ReadonlyArray | null | undefined} [allowedElements]\n * Tag names to allow (default: all tag names);\n * cannot combine w/ `disallowedElements`.\n * @property {string | null | undefined} [children]\n * Markdown.\n * @property {string | null | undefined} [className]\n * Wrap in a `div` with this class name.\n * @property {Components | null | undefined} [components]\n * Map tag names to components.\n * @property {ReadonlyArray | null | undefined} [disallowedElements]\n * Tag names to disallow (default: `[]`);\n * cannot combine w/ `allowedElements`.\n * @property {PluggableList | null | undefined} [rehypePlugins]\n * List of rehype plugins to use.\n * @property {PluggableList | null | undefined} [remarkPlugins]\n * List of remark plugins to use.\n * @property {Readonly | null | undefined} [remarkRehypeOptions]\n * Options to pass through to `remark-rehype`.\n * @property {boolean | null | undefined} [skipHtml=false]\n * Ignore HTML in markdown completely (default: `false`).\n * @property {boolean | null | undefined} [unwrapDisallowed=false]\n * Extract (unwrap) what’s in disallowed elements (default: `false`);\n * normally when say `strong` is not allowed, it and it’s children are dropped,\n * with `unwrapDisallowed` the element itself is replaced by its children.\n * @property {UrlTransform | null | undefined} [urlTransform]\n * Change URLs (default: `defaultUrlTransform`)\n *\n * @callback UrlTransform\n * Transform all URLs.\n * @param {string} url\n * URL.\n * @param {string} key\n * Property name (example: `'href'`).\n * @param {Readonly} node\n * Node.\n * @returns {string | null | undefined}\n * Transformed URL (optional).\n */\n\nimport {unreachable} from 'devlop'\nimport {toJsxRuntime} from 'hast-util-to-jsx-runtime'\nimport {urlAttributes} from 'html-url-attributes'\n// @ts-expect-error: untyped.\nimport {Fragment, jsx, jsxs} from 'react/jsx-runtime'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport {unified} from 'unified'\nimport {visit} from 'unist-util-visit'\nimport {VFile} from 'vfile'\n\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {PluggableList} */\nconst emptyPlugins = []\n/** @type {Readonly} */\nconst emptyRemarkRehypeOptions = {allowDangerousHtml: true}\nconst safeProtocol = /^(https?|ircs?|mailto|xmpp)$/i\n\n// Mutable because we `delete` any time it’s used and a message is sent.\n/** @type {ReadonlyArray>} */\nconst deprecations = [\n {from: 'astPlugins', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'allowDangerousHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {\n from: 'allowNode',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowElement'\n },\n {\n from: 'allowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowedElements'\n },\n {\n from: 'disallowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'disallowedElements'\n },\n {from: 'escapeHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'includeElementIndex', id: '#remove-includeelementindex'},\n {\n from: 'includeNodeIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n },\n {from: 'linkTarget', id: 'remove-linktarget'},\n {from: 'plugins', id: 'change-plugins-to-remarkplugins', to: 'remarkPlugins'},\n {from: 'rawSourcePos', id: '#remove-rawsourcepos'},\n {from: 'renderers', id: 'change-renderers-to-components', to: 'components'},\n {from: 'source', id: 'change-source-to-children', to: 'children'},\n {from: 'sourcePos', id: '#remove-sourcepos'},\n {from: 'transformImageUri', id: '#add-urltransform', to: 'urlTransform'},\n {from: 'transformLinkUri', id: '#add-urltransform', to: 'urlTransform'}\n]\n\n/**\n * Component to render markdown.\n *\n * @param {Readonly} options\n * Props.\n * @returns {JSX.Element}\n * React element.\n */\nexport function Markdown(options) {\n const allowedElements = options.allowedElements\n const allowElement = options.allowElement\n const children = options.children || ''\n const className = options.className\n const components = options.components\n const disallowedElements = options.disallowedElements\n const rehypePlugins = options.rehypePlugins || emptyPlugins\n const remarkPlugins = options.remarkPlugins || emptyPlugins\n const remarkRehypeOptions = options.remarkRehypeOptions\n ? {...options.remarkRehypeOptions, ...emptyRemarkRehypeOptions}\n : emptyRemarkRehypeOptions\n const skipHtml = options.skipHtml\n const unwrapDisallowed = options.unwrapDisallowed\n const urlTransform = options.urlTransform || defaultUrlTransform\n\n const processor = unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkRehype, remarkRehypeOptions)\n .use(rehypePlugins)\n\n const file = new VFile()\n\n if (typeof children === 'string') {\n file.value = children\n } else {\n unreachable(\n 'Unexpected value `' +\n children +\n '` for `children` prop, expected `string`'\n )\n }\n\n if (allowedElements && disallowedElements) {\n unreachable(\n 'Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other'\n )\n }\n\n for (const deprecation of deprecations) {\n if (Object.hasOwn(options, deprecation.from)) {\n unreachable(\n 'Unexpected `' +\n deprecation.from +\n '` prop, ' +\n (deprecation.to\n ? 'use `' + deprecation.to + '` instead'\n : 'remove it') +\n ' (see <' +\n changelog +\n '#' +\n deprecation.id +\n '> for more info)'\n )\n }\n }\n\n const mdastTree = processor.parse(file)\n /** @type {Nodes} */\n let hastTree = processor.runSync(mdastTree, file)\n\n // Wrap in `div` if there’s a class name.\n if (className) {\n hastTree = {\n type: 'element',\n tagName: 'div',\n properties: {className},\n // Assume no doctypes.\n children: /** @type {Array} */ (\n hastTree.type === 'root' ? hastTree.children : [hastTree]\n )\n }\n }\n\n visit(hastTree, transform)\n\n return toJsxRuntime(hastTree, {\n Fragment,\n components,\n ignoreInvalidStyle: true,\n jsx,\n jsxs,\n passKeys: true,\n passNode: true\n })\n\n /** @type {Visitor} */\n function transform(node, index, parent) {\n if (node.type === 'raw' && parent && typeof index === 'number') {\n if (skipHtml) {\n parent.children.splice(index, 1)\n } else {\n parent.children[index] = {type: 'text', value: node.value}\n }\n\n return index\n }\n\n if (node.type === 'element') {\n /** @type {string} */\n let key\n\n for (key in urlAttributes) {\n if (\n Object.hasOwn(urlAttributes, key) &&\n Object.hasOwn(node.properties, key)\n ) {\n const value = node.properties[key]\n const test = urlAttributes[key]\n if (test === null || test.includes(node.tagName)) {\n node.properties[key] = urlTransform(String(value || ''), key, node)\n }\n }\n }\n }\n\n if (node.type === 'element') {\n let remove = allowedElements\n ? !allowedElements.includes(node.tagName)\n : disallowedElements\n ? disallowedElements.includes(node.tagName)\n : false\n\n if (!remove && allowElement && typeof index === 'number') {\n remove = !allowElement(node, index, parent)\n }\n\n if (remove && parent && typeof index === 'number') {\n if (unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n }\n }\n}\n\n/**\n * Make a URL safe.\n *\n * @satisfies {UrlTransform}\n * @param {string} value\n * URL.\n * @returns {string}\n * Safe URL.\n */\nexport function defaultUrlTransform(value) {\n // Same as:\n // \n // But without the `encode` part.\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n safeProtocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Text} Text\n * @typedef {import('unist-util-visit-parents').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef RegExpMatchObject\n * Info on the match.\n * @property {number} index\n * The index of the search at which the result was found.\n * @property {string} input\n * A copy of the search string in the text node.\n * @property {[...Array, Text]} stack\n * All ancestors of the text node, where the last node is the text itself.\n *\n * @typedef {RegExp | string} Find\n * Pattern to find.\n *\n * Strings are escaped and then turned into global expressions.\n *\n * @typedef {Array} FindAndReplaceList\n * Several find and replaces, in array form.\n *\n * @typedef {[Find, Replace?]} FindAndReplaceTuple\n * Find and replace in tuple form.\n *\n * @typedef {ReplaceFunction | string | null | undefined} Replace\n * Thing to replace with.\n *\n * @callback ReplaceFunction\n * Callback called when a search matches.\n * @param {...any} parameters\n * The parameters are the result of corresponding search expression:\n *\n * * `value` (`string`) — whole match\n * * `...capture` (`Array`) — matches from regex capture groups\n * * `match` (`RegExpMatchObject`) — info on the match\n * @returns {Array | PhrasingContent | string | false | null | undefined}\n * Thing to replace with.\n *\n * * when `null`, `undefined`, `''`, remove the match\n * * …or when `false`, do not replace at all\n * * …or when `string`, replace with a text node of that value\n * * …or when `Node` or `Array`, replace with those nodes\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * Normalized find and replace.\n *\n * @typedef {Array} Pairs\n * All find and replaced.\n *\n * @typedef Options\n * Configuration.\n * @property {Test | null | undefined} [ignore]\n * Test for which nodes to ignore (optional).\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\n/**\n * Find patterns in a tree and replace them.\n *\n * The algorithm searches the tree in *preorder* for complete values in `Text`\n * nodes.\n * Partial matches are not supported.\n *\n * @param {Nodes} tree\n * Tree to change.\n * @param {FindAndReplaceList | FindAndReplaceTuple} list\n * Patterns to find.\n * @param {Options | null | undefined} [options]\n * Configuration (when `find` is not `Find`).\n * @returns {undefined}\n * Nothing.\n */\nexport function findAndReplace(tree, list, options) {\n const settings = options || {}\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(list)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n /** @type {import('unist-util-visit-parents').BuildVisitor} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parents | undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = parents[index]\n /** @type {Array | undefined} */\n const siblings = grandparent ? grandparent.children : undefined\n\n if (\n ignored(\n parent,\n siblings ? siblings.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n return handler(node, parents)\n }\n }\n\n /**\n * Handle a text node which is not in an ignored parent.\n *\n * @param {Text} node\n * Text node.\n * @param {Array} parents\n * Parents.\n * @returns {VisitorResult}\n * Result.\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n /** @type {Array} */\n const siblings = parent.children\n const index = siblings.indexOf(node)\n let change = false\n /** @type {Array} */\n let nodes = []\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n // It wasn’t a match after all.\n if (value === false) {\n // False acts as if there was no match.\n // So we need to reset `lastIndex`, which currently being at the end of\n // the current match, to the beginning.\n find.lastIndex = position + 1\n } else {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n}\n\n/**\n * Turn a tuple or a list of tuples into pairs.\n *\n * @param {FindAndReplaceList | FindAndReplaceTuple} tupleOrList\n * Schema.\n * @returns {Pairs}\n * Clean pairs.\n */\nfunction toPairs(tupleOrList) {\n /** @type {Pairs} */\n const result = []\n\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError('Expected find and replace tuple or list of tuples')\n }\n\n /** @type {FindAndReplaceList} */\n // @ts-expect-error: correct.\n const list =\n !tupleOrList[0] || Array.isArray(tupleOrList[0])\n ? tupleOrList\n : [tupleOrList]\n\n let index = -1\n\n while (++index < list.length) {\n const tuple = list[index]\n result.push([toExpression(tuple[0]), toFunction(tuple[1])])\n }\n\n return result\n}\n\n/**\n * Turn a find into an expression.\n *\n * @param {Find} find\n * Find.\n * @returns {RegExp}\n * Expression.\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * Turn a replace into a function.\n *\n * @param {Replace} replace\n * Replace.\n * @returns {ReplaceFunction}\n * Function.\n */\nfunction toFunction(replace) {\n return typeof replace === 'function'\n ? replace\n : function () {\n return replace\n }\n}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-from-markdown').Transform} FromMarkdownTransform\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n *\n * @typedef {import('mdast-util-find-and-replace').RegExpMatchObject} RegExpMatchObject\n * @typedef {import('mdast-util-find-and-replace').ReplaceFunction} ReplaceFunction\n */\n\nimport {ccount} from 'ccount'\nimport {ok as assert} from 'devlop'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\n\n/** @type {ConstructName} */\nconst inConstruct = 'phrasing'\n/** @type {Array} */\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: ':',\n before: '[ps]',\n after: '\\\\/',\n inConstruct,\n notInConstruct\n }\n ]\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'link')\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n * @returns {Array | Link | false}\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {Link} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n * @returns {Link | false}\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string | undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n\n if (!trailExec) {\n return [url, undefined]\n }\n\n url = url.slice(0, trailExec.index)\n\n let trail = trailExec[0]\n let closingParenIndex = trail.indexOf(')')\n const openingParens = ccount(url, '(')\n let closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean | null | undefined} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n (!email || code !== 47)\n )\n}\n","/**\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Map} Map\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\nimport {ok as assert} from 'devlop'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\n\nfootnoteReference.peek = footnoteReferencePeek\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown`.\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown`.\n */\nexport function gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['phrasing', 'label', 'reference']}],\n handlers: {footnoteDefinition, footnoteReference}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteDefinition')\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinition(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCallString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCallString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteReference')\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCall(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\nfunction footnoteReference(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteReference')\n const subexit = state.enter('reference')\n value += tracker.move(\n state.safe(state.associationId(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction footnoteReferencePeek() {\n return '['\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\nfunction footnoteDefinition(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteDefinition')\n const subexit = state.enter('label')\n value += tracker.move(\n state.safe(state.associationId(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n value += tracker.move(\n ']:' + (node.children && node.children.length > 0 ? ' ' : '')\n )\n tracker.shift(4)\n value += tracker.move(\n state.indentLines(state.containerFlow(node, tracker.current()), map)\n )\n exit()\n\n return value\n}\n\n/** @type {Map} */\nfunction map(line, index, blank) {\n if (index === 0) {\n return line\n }\n\n return (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * List of constructs that occur in phrasing (paragraphs, headings), but cannot\n * contain strikethrough.\n * So they sort of cancel each other out.\n * Note: could use a better name.\n *\n * Note: keep in sync with: \n *\n * @type {Array}\n */\nconst constructsWithoutStrikethrough = [\n 'autolink',\n 'destinationLiteral',\n 'destinationRaw',\n 'reference',\n 'titleQuote',\n 'titleApostrophe'\n]\n\nhandleDelete.peek = peekDelete\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: '~',\n inConstruct: 'phrasing',\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: {delete: handleDelete}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, state, info) {\n const tracker = state.createTracker(info)\n const exit = state.enter('strikethrough')\n let value = tracker.move('~~')\n value += state.containerPhrasing(node, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {string|null|ReadonlyArray} [align]\n * One style for all columns, or styles for their respective columns.\n * Each style is either `'l'` (left), `'r'` (right), or `'c'` (center).\n * Other values are treated as `''`, which doesn’t place the colon in the\n * alignment row but does align left.\n * *Only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean} [padding=true]\n * Whether to add a space of padding between delimiters and cells.\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {boolean} [delimiterStart=true]\n * Whether to begin each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean} [delimiterEnd=true]\n * Whether to end each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean} [alignDelimiters=true]\n * Whether to align the delimiters.\n * By default, they are aligned:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {(value: string) => number} [stringLength]\n * Function to detect the length of table cell content.\n * This is used when aligning the delimiters (`|`) between table cells.\n * Full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source.\n * To fix this, you can pass this function, which receives the cell content\n * and returns its “visible” size.\n * Note that what is and isn’t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n */\n\n/**\n * @typedef {Options} MarkdownTableOptions\n * @todo\n * Remove next major.\n */\n\n/**\n * Generate a markdown ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)) table..\n *\n * @param {ReadonlyArray>} table\n * Table data (matrix of strings).\n * @param {Options} [options]\n * Configuration (optional).\n * @returns {string}\n */\nexport function markdownTable(table, options = {}) {\n const align = (options.align || []).concat()\n const stringLength = options.stringLength || defaultStringLength\n /** @type {Array} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array>} Cells per row. */\n const cellMatrix = []\n /** @type {Array>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don’t align delimiters, but otherwise we’d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n options.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (options.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (options.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n options.padding !== false &&\n // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === '') &&\n (options.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (options.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (options.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (options.padding !== false) {\n line.push(' ')\n }\n\n if (\n options.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n options.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string|null|undefined} [value]\n * @returns {string}\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string} value\n * @returns {number}\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * @param {string|null|undefined} value\n * @returns {number}\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n","/**\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Map} Map\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Blockquote} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function blockquote(node, _, state, info) {\n const exit = state.enter('blockquote')\n const tracker = state.createTracker(info)\n tracker.move('> ')\n tracker.shift(2)\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return '>' + (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('../types.js').ConstructName} ConstructName\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Array} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (typeof list === 'string') {\n list = [list]\n }\n\n if (!list || list.length === 0) {\n return none\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {patternInScope} from '../util/pattern-in-scope.js'\n\n/**\n * @param {Break} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function hardBreak(_, _1, state, info) {\n let index = -1\n\n while (++index < state.unsafe.length) {\n // If we can’t put eols in this construct (setext headings, tables), use a\n // space instead.\n if (\n state.unsafe[index].character === '\\n' &&\n patternInScope(state.stack, state.unsafe[index])\n ) {\n return /[ \\t]/.test(info.before) ? '' : ' '\n }\n }\n\n return '\\\\\\n'\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Map} Map\n * @typedef {import('../types.js').State} State\n */\n\nimport {longestStreak} from 'longest-streak'\nimport {formatCodeAsIndented} from '../util/format-code-as-indented.js'\nimport {checkFence} from '../util/check-fence.js'\n\n/**\n * @param {Code} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function code(node, _, state, info) {\n const marker = checkFence(state)\n const raw = node.value || ''\n const suffix = marker === '`' ? 'GraveAccent' : 'Tilde'\n\n if (formatCodeAsIndented(node, state)) {\n const exit = state.enter('codeIndented')\n const value = state.indentLines(raw, map)\n exit()\n return value\n }\n\n const tracker = state.createTracker(info)\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3))\n const exit = state.enter('codeFenced')\n let value = tracker.move(sequence)\n\n if (node.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`)\n value += tracker.move(\n state.safe(node.lang, {\n before: value,\n after: ' ',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n if (node.lang && node.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`)\n value += tracker.move(' ')\n value += tracker.move(\n state.safe(node.meta, {\n before: value,\n after: '\\n',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n value += tracker.move('\\n')\n\n if (raw) {\n value += tracker.move(raw + '\\n')\n }\n\n value += tracker.move(sequence)\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkQuote(state) {\n const marker = state.options.quote || '\"'\n\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n 'Cannot serialize title with `' +\n marker +\n '` for `options.quote`, expected `\"`, or `\\'`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkEmphasis} from '../util/check-emphasis.js'\n\nemphasis.peek = emphasisPeek\n\n// To do: there are cases where emphasis cannot “form” depending on the\n// previous or next character of sequences.\n// There’s no way around that though, except for injecting zero-width stuff.\n// Do we need to safeguard against that?\n/**\n * @param {Emphasis} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function emphasis(node, _, state, info) {\n const marker = checkEmphasis(state)\n const exit = state.enter('emphasis')\n const tracker = state.createTracker(info)\n let value = tracker.move(marker)\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n )\n value += tracker.move(marker)\n exit()\n return value\n}\n\n/**\n * @param {Emphasis} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || '*'\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkEmphasis(state) {\n const marker = state.options.emphasis || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize emphasis with `' +\n marker +\n '` for `options.emphasis`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Html} Html\n */\n\nhtml.peek = htmlPeek\n\n/**\n * @param {Html} node\n * @returns {string}\n */\nexport function html(node) {\n return node.value || ''\n}\n\n/**\n * @returns {string}\n */\nfunction htmlPeek() {\n return '<'\n}\n","/**\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\nimage.peek = imagePeek\n\n/**\n * @param {Image} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function image(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('image')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n value += tracker.move(\n state.safe(node.alt, {before: value, after: ']', ...tracker.current()})\n )\n value += tracker.move('](')\n\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n exit()\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imagePeek() {\n return '!'\n}\n","/**\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimageReference.peek = imageReferencePeek\n\n/**\n * @param {ImageReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function imageReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('imageReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n const alt = state.safe(node.alt, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(alt + '][')\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !alt || alt !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imageReferencePeek() {\n return '!'\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').State} State\n */\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @param {InlineCode} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nexport function inlineCode(node, _, state) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index]\n const expression = state.compilePattern(pattern)\n /** @type {RegExpExecArray | null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @returns {string}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../types.js').State} State\n */\n\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Link} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatLinkAsAutolink(node, state) {\n const raw = toString(node)\n\n return Boolean(\n !state.options.resourceLink &&\n // If there’s a url…\n node.url &&\n // And there’s a no title…\n !node.title &&\n // And the content of `node` is a single text node…\n node.children &&\n node.children.length === 1 &&\n node.children[0].type === 'text' &&\n // And if the url is the same as the content…\n (raw === node.url || 'mailto:' + raw === node.url) &&\n // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node.url) &&\n // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node.url)\n )\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Exit} Exit\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkQuote} from '../util/check-quote.js'\nimport {formatLinkAsAutolink} from '../util/format-link-as-autolink.js'\n\nlink.peek = linkPeek\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function link(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const tracker = state.createTracker(info)\n /** @type {Exit} */\n let exit\n /** @type {Exit} */\n let subexit\n\n if (formatLinkAsAutolink(node, state)) {\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n exit = state.enter('autolink')\n let value = tracker.move('<')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '>',\n ...tracker.current()\n })\n )\n value += tracker.move('>')\n exit()\n state.stack = stack\n return value\n }\n\n exit = state.enter('link')\n subexit = state.enter('label')\n let value = tracker.move('[')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '](',\n ...tracker.current()\n })\n )\n value += tracker.move('](')\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n\n exit()\n return value\n}\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nfunction linkPeek(node, _, state) {\n return formatLinkAsAutolink(node, state) ? '<' : '['\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nlinkReference.peek = linkReferencePeek\n\n/**\n * @param {LinkReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function linkReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('linkReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n const text = state.containerPhrasing(node, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(text + '][')\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !text || text !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction linkReferencePeek() {\n return '['\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBullet(state) {\n const marker = state.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkRule(state) {\n const marker = state.options.rule || '*'\n\n if (marker !== '*' && marker !== '-' && marker !== '_') {\n throw new Error(\n 'Cannot serialize rules with `' +\n marker +\n '` for `options.rule`, expected `*`, `-`, or `_`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Html} Html\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Check if the given value is *phrasing content*.\n *\n * > 👉 **Note**: Excludes `html`, which can be both phrasing or flow.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @returns\n * Whether `value` is phrasing content.\n */\n\nexport const phrasing =\n /** @type {(node?: unknown) => node is Exclude} */\n (\n convert([\n 'break',\n 'delete',\n 'emphasis',\n // To do: next major: removed since footnotes were added to GFM.\n 'footnote',\n 'footnoteReference',\n 'image',\n 'imageReference',\n 'inlineCode',\n // Enabled by `mdast-util-math`:\n 'inlineMath',\n 'link',\n 'linkReference',\n // Enabled by `mdast-util-mdx`:\n 'mdxJsxTextElement',\n // Enabled by `mdast-util-mdx`:\n 'mdxTextExpression',\n 'strong',\n 'text',\n // Enabled by `mdast-util-directive`:\n 'textDirective'\n ])\n )\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkStrong} from '../util/check-strong.js'\n\nstrong.peek = strongPeek\n\n// To do: there are cases where emphasis cannot “form” depending on the\n// previous or next character of sequences.\n// There’s no way around that though, except for injecting zero-width stuff.\n// Do we need to safeguard against that?\n/**\n * @param {Strong} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function strong(node, _, state, info) {\n const marker = checkStrong(state)\n const exit = state.enter('strong')\n const tracker = state.createTracker(info)\n let value = tracker.move(marker + marker)\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n )\n value += tracker.move(marker + marker)\n exit()\n return value\n}\n\n/**\n * @param {Strong} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction strongPeek(_, _1, state) {\n return state.options.strong || '*'\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkStrong(state) {\n const marker = state.options.strong || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize strong with `' +\n marker +\n '` for `options.strong`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {definition} from './definition.js'\nimport {emphasis} from './emphasis.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {image} from './image.js'\nimport {imageReference} from './image-reference.js'\nimport {inlineCode} from './inline-code.js'\nimport {link} from './link.js'\nimport {linkReference} from './link-reference.js'\nimport {list} from './list.js'\nimport {listItem} from './list-item.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default (CommonMark) handlers.\n */\nexport const handle = {\n blockquote,\n break: hardBreak,\n code,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text,\n thematicBreak\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkFence(state) {\n const marker = state.options.fence || '`'\n\n if (marker !== '`' && marker !== '~') {\n throw new Error(\n 'Cannot serialize code with `' +\n marker +\n '` for `options.fence`, expected `` ` `` or `~`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Code} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatCodeAsIndented(node, state) {\n return Boolean(\n state.options.fences === false &&\n node.value &&\n // If there’s no info…\n !node.lang &&\n // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node.value) &&\n // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n )\n}\n","/**\n * Get the count of the longest repeating streak of `substring` in `value`.\n *\n * @param {string} value\n * Content to search in.\n * @param {string} substring\n * Substring to look for, typically one character.\n * @returns {number}\n * Count of most frequent adjacent `substring`s in `value`.\n */\nexport function longestStreak(value, substring) {\n const source = String(value)\n let index = source.indexOf(substring)\n let expected = index\n let count = 0\n let max = 0\n\n if (typeof substring !== 'string') {\n throw new TypeError('Expected substring')\n }\n\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count\n }\n } else {\n count = 1\n }\n\n expected = index + substring.length\n index = source.indexOf(substring, expected)\n }\n\n return max\n}\n","/**\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\n/**\n * @param {Definition} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function definition(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('definition')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n value += tracker.move(\n state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n )\n value += tracker.move(']: ')\n\n subexit()\n\n if (\n // If there’s no url, or…\n !node.url ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : '\\n',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n exit()\n\n return value\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {formatHeadingAsSetext} from '../util/format-heading-as-setext.js'\n\n/**\n * @param {Heading} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function heading(node, _, state, info) {\n const rank = Math.max(Math.min(6, node.depth || 1), 1)\n const tracker = state.createTracker(info)\n\n if (formatHeadingAsSetext(node, state)) {\n const exit = state.enter('headingSetext')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...tracker.current(),\n before: '\\n',\n after: '\\n'\n })\n subexit()\n exit()\n\n return (\n value +\n '\\n' +\n (rank === 1 ? '=' : '-').repeat(\n // The whole size…\n value.length -\n // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value.lastIndexOf('\\r'), value.lastIndexOf('\\n')) + 1)\n )\n )\n }\n\n const sequence = '#'.repeat(rank)\n const exit = state.enter('headingAtx')\n const subexit = state.enter('phrasing')\n\n // Note: for proper tracking, we should reset the output positions when there\n // is no content returned, because then the space is not output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n tracker.move(sequence + ' ')\n\n let value = state.containerPhrasing(node, {\n before: '# ',\n after: '\\n',\n ...tracker.current()\n })\n\n if (/^[\\t ]/.test(value)) {\n // To do: what effect has the character reference on tracking?\n value =\n '&#x' +\n value.charCodeAt(0).toString(16).toUpperCase() +\n ';' +\n value.slice(1)\n }\n\n value = value ? sequence + ' ' + value : sequence\n\n if (state.options.closeAtx) {\n value += ' ' + sequence\n }\n\n subexit()\n exit()\n\n return value\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../types.js').State} State\n */\n\nimport {EXIT, visit} from 'unist-util-visit'\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Heading} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatHeadingAsSetext(node, state) {\n let literalWithBreak = false\n\n // Look for literals with a line break.\n // Note that this also\n visit(node, function (node) {\n if (\n ('value' in node && /\\r?\\n|\\r/.test(node.value)) ||\n node.type === 'break'\n ) {\n literalWithBreak = true\n return EXIT\n }\n })\n\n return Boolean(\n (!node.depth || node.depth < 3) &&\n toString(node) &&\n (state.options.setext || literalWithBreak)\n )\n}\n","/**\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkBulletOther} from '../util/check-bullet-other.js'\nimport {checkBulletOrdered} from '../util/check-bullet-ordered.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {List} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function list(node, parent, state, info) {\n const exit = state.enter('list')\n const bulletCurrent = state.bulletCurrent\n /** @type {string} */\n let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state)\n /** @type {string} */\n const bulletOther = node.ordered\n ? bullet === '.'\n ? ')'\n : '.'\n : checkBulletOther(state)\n let useDifferentMarker =\n parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false\n\n if (!node.ordered) {\n const firstListItem = node.children ? node.children[0] : undefined\n\n // If there’s an empty first list item directly in two list items,\n // we have to use a different bullet:\n //\n // ```markdown\n // * - *\n // ```\n //\n // …because otherwise it would become one big thematic break.\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === '*' || bullet === '-') &&\n // Empty first list item:\n firstListItem &&\n (!firstListItem.children || !firstListItem.children[0]) &&\n // Directly in two other list items:\n state.stack[state.stack.length - 1] === 'list' &&\n state.stack[state.stack.length - 2] === 'listItem' &&\n state.stack[state.stack.length - 3] === 'list' &&\n state.stack[state.stack.length - 4] === 'listItem' &&\n // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 &&\n state.indexStack[state.indexStack.length - 2] === 0 &&\n state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true\n }\n\n // If there’s a thematic break at the start of the first list item,\n // we have to use a different bullet:\n //\n // ```markdown\n // * ---\n // ```\n //\n // …because otherwise it would become one big thematic break.\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1\n\n while (++index < node.children.length) {\n const item = node.children[index]\n\n if (\n item &&\n item.type === 'listItem' &&\n item.children &&\n item.children[0] &&\n item.children[0].type === 'thematicBreak'\n ) {\n useDifferentMarker = true\n break\n }\n }\n }\n }\n\n if (useDifferentMarker) {\n bullet = bulletOther\n }\n\n state.bulletCurrent = bullet\n const value = state.containerFlow(node, info)\n state.bulletLastUsed = bullet\n state.bulletCurrent = bulletCurrent\n exit()\n return value\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || '.'\n\n if (marker !== '.' && marker !== ')') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bulletOrdered`, expected `.` or `)`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkBullet} from './check-bullet.js'\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBulletOther(state) {\n const bullet = checkBullet(state)\n const bulletOther = state.options.bulletOther\n\n if (!bulletOther) {\n return bullet === '*' ? '-' : '*'\n }\n\n if (bulletOther !== '*' && bulletOther !== '+' && bulletOther !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n bulletOther +\n '` for `options.bulletOther`, expected `*`, `+`, or `-`'\n )\n }\n\n if (bulletOther === bullet) {\n throw new Error(\n 'Expected `bullet` (`' +\n bullet +\n '`) and `bulletOther` (`' +\n bulletOther +\n '`) to be different'\n )\n }\n\n return bulletOther\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Map} Map\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\n\n/**\n * @param {ListItem} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state)\n let bullet = state.bulletCurrent || checkBullet(state)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (state.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = state.createTracker(info)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = state.enter('listItem')\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkListItemIndent(state) {\n const style = state.options.listItemIndent || 'one'\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n","/**\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Paragraph} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function paragraph(node, _, state, info) {\n const exit = state.enter('paragraph')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, info)\n subexit()\n exit()\n return value\n}\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {phrasing} from 'mdast-util-phrasing'\n\n/**\n * @param {Root} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function root(node, _, state, info) {\n // Note: `html` nodes are ambiguous.\n const hasPhrasing = node.children.some(function (d) {\n return phrasing(d)\n })\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow\n return fn.call(state, node, info)\n}\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').Text} Text\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Text} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function text(node, _, state, info) {\n return state.safe(node.value, info)\n}\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkRuleRepetition} from '../util/check-rule-repetition.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {ThematicBreak} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nexport function thematicBreak(_, _1, state) {\n const value = (\n checkRule(state) + (state.options.ruleSpaces ? ' ' : '')\n ).repeat(checkRuleRepetition(state))\n\n return state.options.ruleSpaces ? value.slice(0, -1) : value\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3\n\n if (repetition < 3) {\n throw new Error(\n 'Cannot serialize rules with repetition `' +\n repetition +\n '` for `options.ruleRepetition`, expected `3` or more'\n )\n }\n\n return repetition\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').TableRow} TableRow\n *\n * @typedef {import('markdown-table').Options} MarkdownTableOptions\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').State} State\n * @typedef {import('mdast-util-to-markdown').Info} Info\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [tableCellPadding=true]\n * Whether to add a space of padding between delimiters and cells (default:\n * `true`).\n * @property {boolean | null | undefined} [tablePipeAlign=true]\n * Whether to align the delimiters (default: `true`).\n * @property {MarkdownTableOptions['stringLength'] | null | undefined} [stringLength]\n * Function to detect the length of table cell content, used when aligning\n * the delimiters between cells (optional).\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownTable} from 'markdown-table'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM tables in\n * markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM tables.\n */\nexport function gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterTable(token) {\n const align = token._align\n assert(align, 'expected `_align` on table')\n this.enter(\n {\n type: 'table',\n align: align.map(function (d) {\n return d === 'none' ? null : d\n }),\n children: []\n },\n token\n )\n this.data.inTable = true\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitTable(token) {\n this.exit(token)\n this.data.inTable = undefined\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exit(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'inlineCode')\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don’t (but can’t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM tables in\n * markdown.\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM tables.\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, state, info) {\n return serializeData(handleTableAsData(node, state, info), node.align)\n }\n\n /**\n * This function isn’t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, state, info) {\n const row = handleTableRowAsData(node, state, info)\n const value = serializeData([row])\n // `markdown-table` will always add an align row\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, state, info) {\n const exit = state.enter('tableCell')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...info,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array>} matrix\n * @param {Array | null | undefined} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array>} */\n const result = []\n const subexit = state.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableRowAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array} */\n const result = []\n const subexit = state.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(children[index], node, state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, state) {\n let value = defaultHandlers.inlineCode(node, parent, state)\n\n if (state.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {ok as assert} from 'devlop'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM task\n * list items in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM task list\n * items in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCheck(token) {\n // We’re always in a paragraph, in a list item.\n const node = this.stack[this.stack.length - 2]\n assert(node.type === 'listItem')\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2]\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean'\n ) {\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'paragraph')\n const head = node.children[0]\n\n if (head && head.type === 'text') {\n const siblings = parent.children\n let index = -1\n /** @type {Paragraph | undefined} */\n let firstParaghraph\n\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, state, info) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = state.createTracker(info)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = defaultHandlers.listItem(node, parent, state, {\n ...info,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiControl,\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n}\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n}\nconst path = {\n tokenize: tokenizePath,\n partial: true\n}\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n}\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n}\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n}\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n}\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n}\n\n/** @type {ConstructRecord} */\nconst text = {}\n\n/**\n * Create an extension for `micromark` to support GitHub autolink literal\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * autolink literal syntax.\n */\nexport function gfmAutolinkLiteral() {\n return {\n text\n }\n}\n\n/** @type {Code} */\nlet code = 48\n\n// Add alphanumerics.\nwhile (code < 123) {\n text[code] = emailAutolink\n code++\n if (code === 58) code = 65\n else if (code === 91) code = 97\n}\ntext[43] = emailAutolink\ntext[45] = emailAutolink\ntext[46] = emailAutolink\ntext[95] = emailAutolink\ntext[72] = [emailAutolink, protocolAutolink]\ntext[104] = [emailAutolink, protocolAutolink]\ntext[87] = [emailAutolink, wwwAutolink]\ntext[119] = [emailAutolink, wwwAutolink]\n\n// To do: perform email autolink literals on events, afterwards.\n// That’s where `markdown-rs` and `cmark-gfm` perform it.\n// It should look for `@`, then for atext backwards, and then for a label\n// forwards.\n// To do: `mailto:`, `xmpp:` protocol as prefix.\n\n/**\n * Email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this\n /** @type {boolean | undefined} */\n let dot\n /** @type {boolean} */\n let data\n return start\n\n /**\n * Start of email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (\n !gfmAtext(code) ||\n !previousEmail.call(self, self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkEmail')\n return atext(code)\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code)\n return atext\n }\n if (code === 64) {\n effects.consume(code)\n return emailDomain\n }\n return nok(code)\n }\n\n /**\n * In email domain.\n *\n * The reference code is a bit overly complex as it handles the `@`, of which\n * there may be just one.\n * Source: \n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomain(code) {\n // Dot followed by alphanumerical (not `-` or `_`).\n if (code === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code)\n }\n\n // Alphanumerical, `-`, and `_`.\n if (code === 45 || code === 95 || asciiAlphanumeric(code)) {\n data = true\n effects.consume(code)\n return emailDomain\n }\n\n // To do: `/` if xmpp.\n\n // Note: normally we’d truncate trailing punctuation from the link.\n // However, email autolink literals cannot contain any of those markers,\n // except for `.`, but that can only occur if it isn’t trailing.\n // So we can ignore truncating!\n return emailDomainAfter(code)\n }\n\n /**\n * In email domain, on dot that is not a trail.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainDot(code) {\n effects.consume(code)\n dot = true\n return emailDomain\n }\n\n /**\n * After email domain.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainAfter(code) {\n // Domain must not be empty, must include a dot, and must end in alphabetical.\n // Source: .\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit('literalAutolinkEmail')\n effects.exit('literalAutolink')\n return ok(code)\n }\n return nok(code)\n }\n}\n\n/**\n * `www` autolink literal.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this\n return wwwStart\n\n /**\n * Start of www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwStart(code) {\n if (\n (code !== 87 && code !== 119) ||\n !previousWww.call(self, self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkWww')\n // Note: we *check*, so we can discard the `www.` we parsed.\n // If it worked, we consider it as a part of the domain.\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code)\n }\n\n /**\n * After a www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwAfter(code) {\n effects.exit('literalAutolinkWww')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n\n/**\n * Protocol autolink literal.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeProtocolAutolink(effects, ok, nok) {\n const self = this\n let buffer = ''\n let seen = false\n return protocolStart\n\n /**\n * Start of protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolStart(code) {\n if (\n (code === 72 || code === 104) &&\n previousProtocol.call(self, self.previous) &&\n !previousUnbalanced(self.events)\n ) {\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkHttp')\n buffer += String.fromCodePoint(code)\n effects.consume(code)\n return protocolPrefixInside\n }\n return nok(code)\n }\n\n /**\n * In protocol.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^^^^\n * ```\n *\n * @type {State}\n */\n function protocolPrefixInside(code) {\n // `5` is size of `https`\n if (asciiAlpha(code) && buffer.length < 5) {\n // @ts-expect-error: definitely number.\n buffer += String.fromCodePoint(code)\n effects.consume(code)\n return protocolPrefixInside\n }\n if (code === 58) {\n const protocol = buffer.toLowerCase()\n if (protocol === 'http' || protocol === 'https') {\n effects.consume(code)\n return protocolSlashesInside\n }\n }\n return nok(code)\n }\n\n /**\n * In slashes.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^\n * ```\n *\n * @type {State}\n */\n function protocolSlashesInside(code) {\n if (code === 47) {\n effects.consume(code)\n if (seen) {\n return afterProtocol\n }\n seen = true\n return protocolSlashesInside\n }\n return nok(code)\n }\n\n /**\n * After protocol, before domain.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function afterProtocol(code) {\n // To do: this is different from `markdown-rs`:\n // https://github.com/wooorm/markdown-rs/blob/b3a921c761309ae00a51fe348d8a43adbc54b518/src/construct/gfm_autolink_literal.rs#L172-L182\n return code === null ||\n asciiControl(code) ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)\n ? nok(code)\n : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code)\n }\n\n /**\n * After a protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolAfter(code) {\n effects.exit('literalAutolinkHttp')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n\n/**\n * `www` prefix.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwPrefix(effects, ok, nok) {\n let size = 0\n return wwwPrefixInside\n\n /**\n * In www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixInside(code) {\n if ((code === 87 || code === 119) && size < 3) {\n size++\n effects.consume(code)\n return wwwPrefixInside\n }\n if (code === 46 && size === 3) {\n effects.consume(code)\n return wwwPrefixAfter\n }\n return nok(code)\n }\n\n /**\n * After www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixAfter(code) {\n // If there is *anything*, we can link.\n return code === null ? nok(code) : ok(code)\n }\n}\n\n/**\n * Domain.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean | undefined} */\n let underscoreInLastSegment\n /** @type {boolean | undefined} */\n let underscoreInLastLastSegment\n /** @type {boolean | undefined} */\n let seen\n return domainInside\n\n /**\n * In domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^^^^^^^^^^\n * ```\n *\n * @type {State}\n */\n function domainInside(code) {\n // Check whether this marker, which is a trailing punctuation\n // marker, optionally followed by more trailing markers, and then\n // followed by an end.\n if (code === 46 || code === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code)\n }\n\n // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so that’s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n // Source: .\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code) ||\n (code !== 45 && unicodePunctuation(code))\n ) {\n return domainAfter(code)\n }\n seen = true\n effects.consume(code)\n return domainInside\n }\n\n /**\n * In domain, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function domainAtPunctuation(code) {\n // There is an underscore in the last segment of the domain\n if (code === 95) {\n underscoreInLastSegment = true\n }\n // Otherwise, it’s a `.`: save the last segment underscore in the\n // penultimate segment slot.\n else {\n underscoreInLastLastSegment = underscoreInLastSegment\n underscoreInLastSegment = undefined\n }\n effects.consume(code)\n return domainInside\n }\n\n /**\n * After domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^\n * ```\n *\n * @type {State} */\n function domainAfter(code) {\n // Note: that’s GH says a dot is needed, but it’s not true:\n // \n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code)\n }\n return ok(code)\n }\n}\n\n/**\n * Path.\n *\n * ```markdown\n * > | a https://example.org/stuff b\n * ^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePath(effects, ok) {\n let sizeOpen = 0\n let sizeClose = 0\n return pathInside\n\n /**\n * In path.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^\n * ```\n *\n * @type {State}\n */\n function pathInside(code) {\n if (code === 40) {\n sizeOpen++\n effects.consume(code)\n return pathInside\n }\n\n // To do: `markdown-rs` also needs this.\n // If this is a paren, and there are less closings than openings,\n // we don’t check for a trail.\n if (code === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code)\n }\n\n // Check whether this trailing punctuation marker is optionally\n // followed by more trailing markers, and then followed\n // by an end.\n if (\n code === 33 ||\n code === 34 ||\n code === 38 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 60 ||\n code === 63 ||\n code === 93 ||\n code === 95 ||\n code === 126\n ) {\n return effects.check(trail, ok, pathAtPunctuation)(code)\n }\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return ok(code)\n }\n effects.consume(code)\n return pathInside\n }\n\n /**\n * In path, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com/a\"b\n * ^\n * ```\n *\n * @type {State}\n */\n function pathAtPunctuation(code) {\n // Count closing parens.\n if (code === 41) {\n sizeClose++\n }\n effects.consume(code)\n return pathInside\n }\n}\n\n/**\n * Trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the entire trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | https://example.com\").\n * ^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTrail(effects, ok, nok) {\n return trail\n\n /**\n * In trail of domain or path.\n *\n * ```markdown\n * > | https://example.com\").\n * ^\n * ```\n *\n * @type {State}\n */\n function trail(code) {\n // Regular trailing punctuation.\n if (\n code === 33 ||\n code === 34 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 63 ||\n code === 95 ||\n code === 126\n ) {\n effects.consume(code)\n return trail\n }\n\n // `&` followed by one or more alphabeticals and then a `;`, is\n // as a whole considered as trailing punctuation.\n // In all other cases, it is considered as continuation of the URL.\n if (code === 38) {\n effects.consume(code)\n return trailCharRefStart\n }\n\n // Needed because we allow literals after `[`, as we fix:\n // .\n // Check that it is not followed by `(` or `[`.\n if (code === 93) {\n effects.consume(code)\n return trailBracketAfter\n }\n if (\n // `<` is an end.\n code === 60 ||\n // So is whitespace.\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return ok(code)\n }\n return nok(code)\n }\n\n /**\n * In trail, after `]`.\n *\n * > 👉 **Note**: this deviates from `cmark-gfm` to fix a bug.\n * > See end of for more.\n *\n * ```markdown\n * > | https://example.com](\n * ^\n * ```\n *\n * @type {State}\n */\n function trailBracketAfter(code) {\n // Whitespace or something that could start a resource or reference is the end.\n // Switch back to trail otherwise.\n if (\n code === null ||\n code === 40 ||\n code === 91 ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return ok(code)\n }\n return trail(code)\n }\n\n /**\n * In character-reference like trail, after `&`.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharRefStart(code) {\n // When non-alpha, it’s not a trail.\n return asciiAlpha(code) ? trailCharRefInside(code) : nok(code)\n }\n\n /**\n * In character-reference like trail.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharRefInside(code) {\n // Switch back to trail if this is well-formed.\n if (code === 59) {\n effects.consume(code)\n return trail\n }\n if (asciiAlpha(code)) {\n effects.consume(code)\n return trailCharRefInside\n }\n\n // It’s not a trail.\n return nok(code)\n }\n}\n\n/**\n * Dot in email domain trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | contact@example.org.\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailDomainDotTrail(effects, ok, nok) {\n return start\n\n /**\n * Dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Must be dot.\n effects.consume(code)\n return after\n }\n\n /**\n * After dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Not a trail if alphanumeric.\n return asciiAlphanumeric(code) ? nok(code) : ok(code)\n }\n}\n\n/**\n * See:\n * .\n *\n * @type {Previous}\n */\nfunction previousWww(code) {\n return (\n code === null ||\n code === 40 ||\n code === 42 ||\n code === 95 ||\n code === 91 ||\n code === 93 ||\n code === 126 ||\n markdownLineEndingOrSpace(code)\n )\n}\n\n/**\n * See:\n * .\n *\n * @type {Previous}\n */\nfunction previousProtocol(code) {\n return !asciiAlpha(code)\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previousEmail(code) {\n // Do not allow a slash “inside” atext.\n // The reference code is a bit weird, but that’s what it results in.\n // Source: .\n // Other than slash, every preceding character is allowed.\n return !(code === 47 || gfmAtext(code))\n}\n\n/**\n * @param {Code} code\n * @returns {boolean}\n */\nfunction gfmAtext(code) {\n return (\n code === 43 ||\n code === 45 ||\n code === 46 ||\n code === 95 ||\n asciiAlphanumeric(code)\n )\n}\n\n/**\n * @param {Array} events\n * @returns {boolean}\n */\nfunction previousUnbalanced(events) {\n let index = events.length\n let result = false\n while (index--) {\n const token = events[index][1]\n if (\n (token.type === 'labelLink' || token.type === 'labelImage') &&\n !token._balanced\n ) {\n result = true\n break\n }\n\n // If we’ve seen this token, and it was marked as not having any unbalanced\n // bracket before it, we can exit.\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false\n break\n }\n }\n if (events.length > 0 && !result) {\n // Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true\n }\n return result\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {blankLine} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\n// To do: micromark should support a `_hiddenGfmFootnoteSupport`, which only\n// affects label start (image).\n// That will let us drop `tokenizePotentialGfmFootnote*`.\n// It currently has a `_hiddenFootnoteSupport`, which affects that and more.\n// That can be removed when `micromark-extension-footnote` is archived.\n\n/**\n * Create an extension for `micromark` to enable GFM footnote syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to\n * enable GFM footnote syntax.\n */\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n }\n}\n\n// To do: remove after micromark update.\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this\n let index = self.events.length\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {Token} */\n let labelStart\n\n // Find an opening.\n while (index--) {\n const token = self.events[index][1]\n if (token.type === 'labelImage') {\n labelStart = token\n break\n }\n\n // Exit if we’ve walked far enough.\n if (\n token.type === 'gfmFootnoteCall' ||\n token.type === 'labelLink' ||\n token.type === 'label' ||\n token.type === 'image' ||\n token.type === 'link'\n ) {\n break\n }\n }\n return start\n\n /**\n * @type {State}\n */\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code)\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code)\n }\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return ok(code)\n }\n}\n\n// To do: remove after micromark update.\n/** @type {Resolver} */\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length\n /** @type {Token | undefined} */\n let labelStart\n\n // Find an opening.\n while (index--) {\n if (\n events[index][1].type === 'labelImage' &&\n events[index][0] === 'enter'\n ) {\n labelStart = events[index][1]\n break\n }\n }\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = 'data'\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker'\n\n // The whole (without `!`):\n /** @type {Token} */\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n // The `^` marker\n /** @type {Token} */\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n }\n // Increment the end 1 character.\n marker.end.column++\n marker.end.offset++\n marker.end._bufferIndex++\n /** @type {Token} */\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n }\n /** @type {Token} */\n const chunk = {\n type: 'chunkString',\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n }\n\n /** @type {Array} */\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n ['enter', call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n ['enter', marker, context],\n ['exit', marker, context],\n // Everything in between.\n ['enter', string, context],\n ['enter', chunk, context],\n ['exit', chunk, context],\n ['exit', string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n ['exit', call, context]\n ]\n events.splice(index, events.length - index + 1, ...replacement)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n let size = 0\n /** @type {boolean} */\n let data\n\n // Note: the implementation of `markdown-rs` is different, because it houses\n // core *and* extensions in one project.\n // Therefore, it can include footnote logic inside `label-end`.\n // We can’t do that, but luckily, we can parse footnotes in a simpler way than\n // needed for labels.\n return start\n\n /**\n * Start of footnote label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteCall')\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return callStart\n }\n\n /**\n * After `[`, at `^`.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callStart(code) {\n if (code !== 94) return nok(code)\n effects.enter('gfmFootnoteCallMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallMarker')\n effects.enter('gfmFootnoteCallString')\n effects.enter('chunkString').contentType = 'string'\n return callData\n }\n\n /**\n * In label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callData(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n (code === 93 && !data) ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null ||\n code === 91 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit('chunkString')\n const token = effects.exit('gfmFootnoteCallString')\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code)\n }\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n effects.exit('gfmFootnoteCall')\n return ok\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n size++\n effects.consume(code)\n return code === 92 ? callEscape : callData\n }\n\n /**\n * On character after escape.\n *\n * ```markdown\n * > | a [^b\\c] d\n * ^\n * ```\n *\n * @type {State}\n */\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return callData\n }\n return callData(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {string} */\n let identifier\n let size = 0\n /** @type {boolean | undefined} */\n let data\n return start\n\n /**\n * Start of GFM footnote definition.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true\n effects.enter('gfmFootnoteDefinitionLabel')\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n return labelAtMarker\n }\n\n /**\n * In label, at caret.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAtMarker(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionMarker')\n effects.enter('gfmFootnoteDefinitionLabelString')\n effects.enter('chunkString').contentType = 'string'\n return labelInside\n }\n return nok(code)\n }\n\n /**\n * In label.\n *\n * > 👉 **Note**: `cmark-gfm` prevents whitespace from occurring in footnote\n * > definition labels.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n (code === 93 && !data) ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null ||\n code === 91 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit('chunkString')\n const token = effects.exit('gfmFootnoteDefinitionLabelString')\n identifier = normalizeIdentifier(self.sliceSerialize(token))\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n effects.exit('gfmFootnoteDefinitionLabel')\n return labelAfter\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n size++\n effects.consume(code)\n return code === 92 ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * > 👉 **Note**: `cmark-gfm` currently does not support escaped brackets:\n * > \n *\n * ```markdown\n * > | [^a\\*b]: c\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return labelInside\n }\n return labelInside(code)\n }\n\n /**\n * After definition label.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker')\n if (!defined.includes(identifier)) {\n defined.push(identifier)\n }\n\n // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n return factorySpace(\n effects,\n whitespaceAfter,\n 'gfmFootnoteDefinitionWhitespace'\n )\n }\n return nok(code)\n }\n\n /**\n * After definition prefix.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function whitespaceAfter(code) {\n // `markdown-rs` has a wrapping token for the prefix that is closed here.\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n /// Start of footnote definition continuation.\n ///\n /// ```markdown\n /// | [^a]: b\n /// > | c\n /// ^\n /// ```\n //\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok))\n}\n\n/** @type {Exiter} */\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition')\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'gfmFootnoteDefinitionIndent',\n 4 + 1\n )\n\n /**\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'gfmFootnoteDefinitionIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === 4\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [singleTilde=true]\n * Whether to support strikethrough with a single tilde (default: `true`).\n *\n * Single tildes work on github.com, but are technically prohibited by the\n * GFM spec.\n */\n\nimport {splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/**\n * Create an extension for `micromark` to enable GFM strikethrough syntax.\n *\n * @param {Options | null | undefined} [options={}]\n * Configuration.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable GFM strikethrough syntax.\n */\nexport function gfmStrikethrough(options) {\n const options_ = options || {}\n let single = options_.singleTilde\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n }\n if (single === null || single === undefined) {\n single = true\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n }\n\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n function resolveAllStrikethrough(events, context) {\n let index = -1\n\n // Walk through all events.\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'strikethroughSequenceTemporary' &&\n events[index][1]._close\n ) {\n let open = index\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'strikethroughSequenceTemporary' &&\n events[open][1]._open &&\n // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset ===\n events[open][1].end.offset - events[open][1].start.offset\n ) {\n events[index][1].type = 'strikethroughSequence'\n events[open][1].type = 'strikethroughSequence'\n\n /** @type {Token} */\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n }\n\n /** @type {Token} */\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n\n // Opening.\n /** @type {Array} */\n const nextEvents = [\n ['enter', strikethrough, context],\n ['enter', events[open][1], context],\n ['exit', events[open][1], context],\n ['enter', text, context]\n ]\n const insideSpan = context.parser.constructs.insideSpan.null\n if (insideSpan) {\n // Between.\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n )\n }\n\n // Closing.\n splice(nextEvents, nextEvents.length, 0, [\n ['exit', text, context],\n ['enter', events[index][1], context],\n ['exit', events[index][1], context],\n ['exit', strikethrough, context]\n ])\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - 2\n break\n }\n }\n }\n }\n index = -1\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = 'data'\n }\n }\n return events\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous\n const events = this.events\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n if (\n previous === 126 &&\n events[events.length - 1][1].type !== 'characterEscape'\n ) {\n return nok(code)\n }\n effects.enter('strikethroughSequenceTemporary')\n return more(code)\n }\n\n /** @type {State} */\n function more(code) {\n const before = classifyCharacter(previous)\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code)\n effects.consume(code)\n size++\n return more\n }\n if (size < 2 && !single) return nok(code)\n const token = effects.exit('strikethroughSequenceTemporary')\n const after = classifyCharacter(code)\n token._open = !after || (after === 2 && Boolean(before))\n token._close = !before || (before === 2 && Boolean(after))\n return ok(code)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n// Port of `edit_map.rs` from `markdown-rs`.\n// This should move to `markdown-js` later.\n\n// Deal with several changes in events, batching them together.\n//\n// Preferably, changes should be kept to a minimum.\n// Sometimes, it’s needed to change the list of events, because parsing can be\n// messy, and it helps to expose a cleaner interface of events to the compiler\n// and other users.\n// It can also help to merge many adjacent similar events.\n// And, in other cases, it’s needed to parse subcontent: pass some events\n// through another tokenizer and inject the result.\n\n/**\n * @typedef {[number, number, Array]} Change\n * @typedef {[number, number, number]} Jump\n */\n\n/**\n * Tracks a bunch of edits.\n */\nexport class EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n /**\n * Record of changes.\n *\n * @type {Array}\n */\n this.map = []\n }\n\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add)\n }\n\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function (a, b) {\n return a[0] - b[0]\n })\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (this.map.length === 0) {\n return\n }\n\n // To do: if links are added in events, like they are in `markdown-rs`,\n // this is needed.\n // // Calculate jumps: where items in the current list move to.\n // /** @type {Array} */\n // const jumps = []\n // let index = 0\n // let addAcc = 0\n // let removeAcc = 0\n // while (index < this.map.length) {\n // const [at, remove, add] = this.map[index]\n // removeAcc += remove\n // addAcc += add.length\n // jumps.push([at, removeAcc, addAcc])\n // index += 1\n // }\n //\n // . shiftLinks(events, jumps)\n\n let index = this.map.length\n /** @type {Array>} */\n const vecs = []\n while (index > 0) {\n index -= 1\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n )\n\n // Truncate rest.\n events.length = this.map[index][0]\n }\n vecs.push([...events])\n events.length = 0\n let slice = vecs.pop()\n while (slice) {\n events.push(...slice)\n slice = vecs.pop()\n }\n\n // Truncate everything.\n this.map.length = 0\n }\n}\n\n/**\n * Create an edit.\n *\n * @param {EditMap} editMap\n * @param {number} at\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\nfunction addImpl(editMap, at, remove, add) {\n let index = 0\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (remove === 0 && add.length === 0) {\n return\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove\n\n // To do: before not used by tables, use when moving to micromark.\n // if (before) {\n // add.push(...editMap.map[index][2])\n // editMap.map[index][2] = add\n // } else {\n editMap.map[index][2].push(...add)\n // }\n\n return\n }\n index += 1\n }\n editMap.map.push([at, remove, add])\n}\n\n// /**\n// * Shift `previous` and `next` links according to `jumps`.\n// *\n// * This fixes links in case there are events removed or added between them.\n// *\n// * @param {Array} events\n// * @param {Array} jumps\n// */\n// function shiftLinks(events, jumps) {\n// let jumpIndex = 0\n// let index = 0\n// let add = 0\n// let rm = 0\n\n// while (index < events.length) {\n// const rmCurr = rm\n\n// while (jumpIndex < jumps.length && jumps[jumpIndex][0] <= index) {\n// add = jumps[jumpIndex][2]\n// rm = jumps[jumpIndex][1]\n// jumpIndex += 1\n// }\n\n// // Ignore items that will be removed.\n// if (rm > rmCurr) {\n// index += rm - rmCurr\n// } else {\n// // ?\n// // if let Some(link) = &events[index].link {\n// // if let Some(next) = link.next {\n// // events[next].link.as_mut().unwrap().previous = Some(index + add - rm);\n// // while jumpIndex < jumps.len() && jumps[jumpIndex].0 <= next {\n// // add = jumps[jumpIndex].2;\n// // rm = jumps[jumpIndex].1;\n// // jumpIndex += 1;\n// // }\n// // events[index].link.as_mut().unwrap().next = Some(next + add - rm);\n// // index = next;\n// // continue;\n// // }\n// // }\n// index += 1\n// }\n// }\n// }\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n/**\n * @typedef {'center' | 'left' | 'none' | 'right'} Align\n */\n\n/**\n * Figure out the alignment of a GFM table.\n *\n * @param {Readonly>} events\n * List of events.\n * @param {number} index\n * Table enter event.\n * @returns {Array}\n * List of aligns.\n */\nexport function gfmTableAlign(events, index) {\n let inDelimiterRow = false\n /** @type {Array} */\n const align = []\n while (index < events.length) {\n const event = events[index]\n if (inDelimiterRow) {\n if (event[0] === 'enter') {\n // Start of alignment value: set a new column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n if (event[1].type === 'tableContent') {\n align.push(\n events[index + 1][1].type === 'tableDelimiterMarker'\n ? 'left'\n : 'none'\n )\n }\n }\n // Exits:\n // End of alignment value: change the column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n else if (event[1].type === 'tableContent') {\n if (events[index - 1][1].type === 'tableDelimiterMarker') {\n const alignIndex = align.length - 1\n align[alignIndex] = align[alignIndex] === 'left' ? 'center' : 'right'\n }\n }\n // Done!\n else if (event[1].type === 'tableDelimiterRow') {\n break\n }\n } else if (event[0] === 'enter' && event[1].type === 'tableDelimiterRow') {\n inDelimiterRow = true\n }\n index += 1\n }\n return align\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n/**\n * @typedef {[number, number, number, number]} Range\n * Cell info.\n *\n * @typedef {0 | 1 | 2 | 3} RowKind\n * Where we are: `1` for head row, `2` for delimiter row, `3` for body row.\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {EditMap} from './edit-map.js'\nimport {gfmTableAlign} from './infer.js'\n\n/**\n * Create an HTML extension for `micromark` to support GitHub tables syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * table syntax.\n */\nexport function gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTable(effects, ok, nok) {\n const self = this\n let size = 0\n let sizeB = 0\n /** @type {boolean | undefined} */\n let seen\n return start\n\n /**\n * Start of a GFM table.\n *\n * If there is a valid table row or table head before, then we try to parse\n * another row.\n * Otherwise, we try to parse a head.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * > | | b |\n * ^\n * ```\n * @type {State}\n */\n function start(code) {\n let index = self.events.length - 1\n while (index > -1) {\n const type = self.events[index][1].type\n if (\n type === 'lineEnding' ||\n // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === 'linePrefix'\n )\n index--\n else break\n }\n const tail = index > -1 ? self.events[index][1].type : null\n const next =\n tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore\n\n // Don’t allow lazy body rows.\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n return next(code)\n }\n\n /**\n * Before table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBefore(code) {\n effects.enter('tableHead')\n effects.enter('tableRow')\n return headRowStart(code)\n }\n\n /**\n * Before table head row, after whitespace.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowStart(code) {\n if (code === 124) {\n return headRowBreak(code)\n }\n\n // To do: micromark-js should let us parse our own whitespace in extensions,\n // like `markdown-rs`:\n //\n // ```js\n // // 4+ spaces.\n // if (markdownSpace(code)) {\n // return nok(code)\n // }\n // ```\n\n seen = true\n // Count the first character, that isn’t a pipe, double.\n sizeB += 1\n return headRowBreak(code)\n }\n\n /**\n * At break in table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * ^\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBreak(code) {\n if (code === null) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code)\n }\n if (markdownLineEnding(code)) {\n // If anything other than one pipe (ignoring whitespace) was used, it’s fine.\n if (sizeB > 1) {\n sizeB = 0\n // To do: check if this works.\n // Feel free to interrupt:\n self.interrupt = true\n effects.exit('tableRow')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return headDelimiterStart\n }\n\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code)\n }\n if (markdownSpace(code)) {\n // To do: check if this is fine.\n // effects.attempt(State::Next(StateName::GfmTableHeadRowBreak), State::Nok)\n // State::Retry(space_or_tab(tokenizer))\n return factorySpace(effects, headRowBreak, 'whitespace')(code)\n }\n sizeB += 1\n if (seen) {\n seen = false\n // Header cell count.\n size += 1\n }\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n // Whether a delimiter was seen.\n seen = true\n return headRowBreak\n }\n\n // Anything else is cell data.\n effects.enter('data')\n return headRowData(code)\n }\n\n /**\n * In table head row data.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('data')\n return headRowBreak(code)\n }\n effects.consume(code)\n return code === 92 ? headRowEscape : headRowData\n }\n\n /**\n * In table head row escape.\n *\n * ```markdown\n * > | | a\\-b |\n * ^\n * | | ---- |\n * | | c |\n * ```\n *\n * @type {State}\n */\n function headRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return headRowData\n }\n return headRowData(code)\n }\n\n /**\n * Before delimiter row.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterStart(code) {\n // Reset `interrupt`.\n self.interrupt = false\n\n // Note: in `markdown-rs`, we need to handle piercing here too.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n effects.enter('tableDelimiterRow')\n // Track if we’ve seen a `:` or `|`.\n seen = false\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n return headDelimiterBefore(code)\n }\n\n /**\n * Before delimiter row, after optional whitespace.\n *\n * Reused when a `|` is found later, to parse another cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterBefore(code) {\n if (code === 45 || code === 58) {\n return headDelimiterValueBefore(code)\n }\n if (code === 124) {\n seen = true\n // If we start with a pipe, we open a cell marker.\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return headDelimiterCellBefore\n }\n\n // More whitespace / empty row not allowed at start.\n return headDelimiterNok(code)\n }\n\n /**\n * After `|`, before delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellBefore(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterValueBefore, 'whitespace')(code)\n }\n return headDelimiterValueBefore(code)\n }\n\n /**\n * Before delimiter cell value.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterValueBefore(code) {\n // Align: left.\n if (code === 58) {\n sizeB += 1\n seen = true\n effects.enter('tableDelimiterMarker')\n effects.consume(code)\n effects.exit('tableDelimiterMarker')\n return headDelimiterLeftAlignmentAfter\n }\n\n // Align: none.\n if (code === 45) {\n sizeB += 1\n // To do: seems weird that this *isn’t* left aligned, but that state is used?\n return headDelimiterLeftAlignmentAfter(code)\n }\n if (code === null || markdownLineEnding(code)) {\n return headDelimiterCellAfter(code)\n }\n return headDelimiterNok(code)\n }\n\n /**\n * After delimiter cell left alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | :- |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterLeftAlignmentAfter(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n return headDelimiterFiller(code)\n }\n\n // Anything else is not ok after the left-align colon.\n return headDelimiterNok(code)\n }\n\n /**\n * In delimiter cell filler.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterFiller(code) {\n if (code === 45) {\n effects.consume(code)\n return headDelimiterFiller\n }\n\n // Align is `center` if it was `left`, `right` otherwise.\n if (code === 58) {\n seen = true\n effects.exit('tableDelimiterFiller')\n effects.enter('tableDelimiterMarker')\n effects.consume(code)\n effects.exit('tableDelimiterMarker')\n return headDelimiterRightAlignmentAfter\n }\n effects.exit('tableDelimiterFiller')\n return headDelimiterRightAlignmentAfter(code)\n }\n\n /**\n * After delimiter cell right alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterRightAlignmentAfter(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterCellAfter, 'whitespace')(code)\n }\n return headDelimiterCellAfter(code)\n }\n\n /**\n * After delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellAfter(code) {\n if (code === 124) {\n return headDelimiterBefore(code)\n }\n if (code === null || markdownLineEnding(code)) {\n // Exit when:\n // * there was no `:` or `|` at all (it’s a thematic break or setext\n // underline instead)\n // * the header cell count is not the delimiter cell count\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code)\n }\n\n // Note: in markdown-rs`, a reset is needed here.\n effects.exit('tableDelimiterRow')\n effects.exit('tableHead')\n // To do: in `markdown-rs`, resolvers need to be registered manually.\n // effects.register_resolver(ResolveName::GfmTable)\n return ok(code)\n }\n return headDelimiterNok(code)\n }\n\n /**\n * In delimiter row, at a disallowed byte.\n *\n * ```markdown\n * | | a |\n * > | | x |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterNok(code) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code)\n }\n\n /**\n * Before table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowStart(code) {\n // Note: in `markdown-rs` we need to manually take care of a prefix,\n // but in `micromark-js` that is done for us, so if we’re here, we’re\n // never at whitespace.\n effects.enter('tableRow')\n return bodyRowBreak(code)\n }\n\n /**\n * At break in table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ^\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowBreak(code) {\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return bodyRowBreak\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit('tableRow')\n return ok(code)\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, bodyRowBreak, 'whitespace')(code)\n }\n\n // Anything else is cell content.\n effects.enter('data')\n return bodyRowData(code)\n }\n\n /**\n * In table body row data.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('data')\n return bodyRowBreak(code)\n }\n effects.consume(code)\n return code === 92 ? bodyRowEscape : bodyRowData\n }\n\n /**\n * In table body row escape.\n *\n * ```markdown\n * | | a |\n * | | ---- |\n * > | | b\\-c |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return bodyRowData\n }\n return bodyRowData(code)\n }\n}\n\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1\n let inFirstCellAwaitingPipe = true\n /** @type {RowKind} */\n let rowKind = 0\n /** @type {Range} */\n let lastCell = [0, 0, 0, 0]\n /** @type {Range} */\n let cell = [0, 0, 0, 0]\n let afterHeadAwaitingFirstBodyRow = false\n let lastTableEnd = 0\n /** @type {Token | undefined} */\n let currentTable\n /** @type {Token | undefined} */\n let currentBody\n /** @type {Token | undefined} */\n let currentCell\n const map = new EditMap()\n while (++index < events.length) {\n const event = events[index]\n const token = event[1]\n if (event[0] === 'enter') {\n // Start of head.\n if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = false\n\n // Inject previous (body end and) table end.\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody)\n currentBody = undefined\n lastTableEnd = 0\n }\n\n // Inject table start.\n currentTable = {\n type: 'table',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n }\n map.add(index, 0, [['enter', currentTable, context]])\n } else if (\n token.type === 'tableRow' ||\n token.type === 'tableDelimiterRow'\n ) {\n inFirstCellAwaitingPipe = true\n currentCell = undefined\n lastCell = [0, 0, 0, 0]\n cell = [0, index + 1, 0, 0]\n\n // Inject table body start.\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false\n currentBody = {\n type: 'tableBody',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n }\n map.add(index, 0, [['enter', currentBody, context]])\n }\n rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1\n }\n // Cell data.\n else if (\n rowKind &&\n (token.type === 'data' ||\n token.type === 'tableDelimiterMarker' ||\n token.type === 'tableDelimiterFiller')\n ) {\n inFirstCellAwaitingPipe = false\n\n // First value in cell.\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1]\n currentCell = flushCell(\n map,\n context,\n lastCell,\n rowKind,\n undefined,\n currentCell\n )\n lastCell = [0, 0, 0, 0]\n }\n cell[2] = index\n }\n } else if (token.type === 'tableCellDivider') {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1]\n currentCell = flushCell(\n map,\n context,\n lastCell,\n rowKind,\n undefined,\n currentCell\n )\n }\n lastCell = cell\n cell = [lastCell[1], index, 0, 0]\n }\n }\n }\n // Exit events.\n else if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = true\n lastTableEnd = index\n } else if (\n token.type === 'tableRow' ||\n token.type === 'tableDelimiterRow'\n ) {\n lastTableEnd = index\n if (lastCell[1] !== 0) {\n cell[0] = cell[1]\n currentCell = flushCell(\n map,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n )\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map, context, cell, rowKind, index, currentCell)\n }\n rowKind = 0\n } else if (\n rowKind &&\n (token.type === 'data' ||\n token.type === 'tableDelimiterMarker' ||\n token.type === 'tableDelimiterFiller')\n ) {\n cell[3] = index\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody)\n }\n map.consume(context.events)\n\n // To do: move this into `html`, when events are exposed there.\n // That’s what `markdown-rs` does.\n // That needs updates to `mdast-util-gfm-table`.\n index = -1\n while (++index < context.events.length) {\n const event = context.events[index]\n if (event[0] === 'enter' && event[1].type === 'table') {\n event[1]._align = gfmTableAlign(context.events, index)\n }\n }\n return events\n}\n\n/**\n * Generate a cell.\n *\n * @param {EditMap} map\n * @param {Readonly} context\n * @param {Readonly} range\n * @param {RowKind} rowKind\n * @param {number | undefined} rowEnd\n * @param {Token | undefined} previousCell\n * @returns {Token | undefined}\n */\n// eslint-disable-next-line max-params\nfunction flushCell(map, context, range, rowKind, rowEnd, previousCell) {\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCell' : 'tableCell'\n const groupName =\n rowKind === 1\n ? 'tableHeader'\n : rowKind === 2\n ? 'tableDelimiter'\n : 'tableData'\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCellValue' : 'tableCellText'\n const valueName = 'tableContent'\n\n // Insert an exit for the previous cell, if there is one.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]))\n map.add(range[0], 0, [['exit', previousCell, context]])\n }\n\n // Insert enter of this cell.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^^^^-- this cell\n // ```\n const now = getPoint(context.events, range[1])\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n }\n map.add(range[1], 0, [['enter', previousCell, context]])\n\n // Insert text start at first data start and end at last data end, and\n // remove events between.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2])\n const relatedEnd = getPoint(context.events, range[3])\n /** @type {Token} */\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n }\n map.add(range[2], 0, [['enter', valueToken, context]])\n if (rowKind !== 2) {\n // Fix positional info on remaining events\n const start = context.events[range[2]]\n const end = context.events[range[3]]\n start[1].end = Object.assign({}, end[1].end)\n start[1].type = 'chunkText'\n start[1].contentType = 'text'\n\n // Remove if needed.\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1\n const b = range[3] - range[2] - 1\n map.add(a, b, [])\n }\n }\n map.add(range[3] + 1, 0, [['exit', valueToken, context]])\n }\n\n // Insert an exit for the last cell, if at the row end.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^^^-- this cell (the last one contains two “between” parts)\n // ```\n if (rowEnd !== undefined) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd))\n map.add(rowEnd, 0, [['exit', previousCell, context]])\n previousCell = undefined\n }\n return previousCell\n}\n\n/**\n * Generate table end (and table body end).\n *\n * @param {Readonly} map\n * @param {Readonly} context\n * @param {number} index\n * @param {Token} table\n * @param {Token | undefined} tableBody\n */\n// eslint-disable-next-line max-params\nfunction flushTableEnd(map, context, index, table, tableBody) {\n /** @type {Array} */\n const exits = []\n const related = getPoint(context.events, index)\n if (tableBody) {\n tableBody.end = Object.assign({}, related)\n exits.push(['exit', tableBody, context])\n }\n table.end = Object.assign({}, related)\n exits.push(['exit', table, context])\n map.add(index + 1, 0, exits)\n}\n\n/**\n * @param {Readonly>} events\n * @param {number} index\n * @returns {Readonly}\n */\nfunction getPoint(events, index) {\n const event = events[index]\n const side = event[0] === 'enter' ? 'start' : 'end'\n return event[1][side]\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n}\n\n/**\n * Create an HTML extension for `micromark` to support GFM task list items\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM task list items when serializing to HTML.\n */\nexport function gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this\n return open\n\n /**\n * At start of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null ||\n // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code)\n }\n effects.enter('taskListCheck')\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n return inside\n }\n\n /**\n * In task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // Currently we match how GH works in files.\n // To match how GH works in comments, use `markdownSpace` (`[\\t ]`) instead\n // of `markdownLineEndingOrSpace` (`[\\t\\n\\r ]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked')\n effects.consume(code)\n effects.exit('taskListCheckValueUnchecked')\n return close\n }\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked')\n effects.consume(code)\n effects.exit('taskListCheckValueChecked')\n return close\n }\n return nok(code)\n }\n\n /**\n * At close of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n effects.exit('taskListCheck')\n return after\n }\n return nok(code)\n }\n\n /**\n * @type {State}\n */\n function after(code) {\n // EOL in paragraph means there must be something else after it.\n if (markdownLineEnding(code)) {\n return ok(code)\n }\n\n // Space or tab?\n // Check what comes after.\n if (markdownSpace(code)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok,\n nok\n )(code)\n }\n\n // EOF, or non-whitespace, both wrong.\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction spaceThenNonSpace(effects, ok, nok) {\n return factorySpace(effects, after, 'whitespace')\n\n /**\n * After whitespace, after task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // EOF means there was nothing, so bad.\n // EOL means there’s content after it, so good.\n // Impossible to have more spaces.\n // Anything else is good.\n return code === null ? nok(code) : ok(code)\n }\n}\n","/// \n/// \n\n/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-gfm').Options} MdastOptions\n * @typedef {import('micromark-extension-gfm').Options} MicromarkOptions\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {MicromarkOptions & MdastOptions} Options\n * Configuration.\n */\n\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\nimport {gfm} from 'micromark-extension-gfm'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Add support GFM (autolink literals, footnotes, strikethrough, tables,\n * tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkGfm(options) {\n // @ts-expect-error: TS is wrong about `this`.\n // eslint-disable-next-line unicorn/no-this-assignment\n const self = /** @type {Processor} */ (this)\n const settings = options || emptyOptions\n const data = self.data()\n\n const micromarkExtensions =\n data.micromarkExtensions || (data.micromarkExtensions = [])\n const fromMarkdownExtensions =\n data.fromMarkdownExtensions || (data.fromMarkdownExtensions = [])\n const toMarkdownExtensions =\n data.toMarkdownExtensions || (data.toMarkdownExtensions = [])\n\n micromarkExtensions.push(gfm(settings))\n fromMarkdownExtensions.push(gfmFromMarkdown())\n toMarkdownExtensions.push(gfmToMarkdown(settings))\n}\n","/**\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Create an extension for `micromark` to enable GFM syntax.\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-strikethrough`.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * syntax.\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ])\n}\n\n/**\n * Create an extension for `micromark` to support GFM when serializing to HTML.\n *\n * @param {HtmlOptions | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-footnote`.\n * @returns {HtmlExtension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM when serializing to HTML.\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml(),\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml(),\n gfmTableHtml(),\n gfmTagfilterHtml(),\n gfmTaskListItemHtml()\n ])\n}\n","/**\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * @typedef {import('mdast-util-gfm-table').Options} Options\n * Configuration.\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @returns {Array}\n * Extension for `mdast-util-from-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ]\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n }\n}\n","import { Text, makeStyles, mergeClasses, shorthands, tokens } from '@fluentui/react-components';\nimport { CheckmarkCircle24Regular, DismissCircle24Regular, Info24Regular } from '@fluentui/react-icons';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useChat } from '../../../libs/hooks/useChat';\nimport { IChatMessage } from '../../../libs/models/ChatMessage';\nimport { PlanState, ProposedPlan } from '../../../libs/models/Plan';\nimport { useAppDispatch, useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { updateMessageProperty } from '../../../redux/features/conversations/conversationsSlice';\n\nexport const usePlanViewClasses = makeStyles({\n container: {\n ...shorthands.gap(tokens.spacingVerticalM),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'baseline',\n },\n buttons: {\n display: 'flex',\n flexDirection: 'row',\n marginTop: tokens.spacingVerticalM,\n marginBottom: tokens.spacingVerticalM,\n ...shorthands.gap(tokens.spacingHorizontalL),\n },\n status: {\n ...shorthands.gap(tokens.spacingHorizontalMNudge),\n },\n text: {\n alignSelf: 'center',\n },\n});\n\ninterface PlanViewerProps {\n message: IChatMessage;\n messageIndex: number;\n}\n\nexport const PlanViewer: React.FC = ({ message, messageIndex }) => {\n const classes = usePlanViewClasses();\n const dispatch = useAppDispatch();\n const { selectedId } = useAppSelector((state: RootState) => state.conversations);\n const chat = useChat();\n\n // Track original plan from user message\n const parsedContent = JSON.parse(message.content) as ProposedPlan;\n const originalPlan = parsedContent.proposedPlan;\n const planState =\n parsedContent.state === PlanState.Derived ? PlanState.Derived : message.planState ?? parsedContent.state;\n const [plan] = useState(originalPlan);\n\n const onPlanAction = useCallback(async () => {\n const updatedPlan = JSON.stringify({\n ...parsedContent,\n proposedPlan: plan,\n state: PlanState.Approved,\n generatedPlanMessageId: message.id,\n });\n\n // Update bot message with new plan state\n dispatch(\n updateMessageProperty({\n messageIdOrIndex: messageIndex,\n chatId: selectedId,\n property: 'planState',\n value: PlanState.Approved,\n updatedContent: updatedPlan,\n frontLoad: true,\n }),\n );\n\n await chat.processPlan(selectedId, PlanState.Approved, updatedPlan);\n }, [chat, dispatch, message.id, messageIndex, parsedContent, plan, selectedId]);\n\n useEffect(() => {\n // Automatically approve the plan when it is generated\n if (planState === PlanState.PlanApprovalRequired) {\n void onPlanAction();\n }\n }, [planState, onPlanAction, plan]);\n\n return (\n
\n {(planState === PlanState.Approved || planState === PlanState.Derived) && (\n
\n \n Running Plugin Event...\n
\n )}\n {planState === PlanState.Rejected && (\n
\n \n Plugin Event Cancelled\n
\n )}\n {(planState === PlanState.NoOp || planState === PlanState.Disabled) && (\n
\n \n \n {planState === PlanState.NoOp\n ? 'Your app state has changed since this plan was generated, making it unreliable for the planner. Please request a fresh plan to avoid potential conflicts.'\n : 'Only the person who prompted this plan can take action on it.'}\n \n
\n )}\n
\n );\n};\n","import { Types, getGroupper } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { useTabster } from './useTabster';\n/**\n * A hook that returns the necessary tabster attributes to support groupping.\n * @param options - Options to configure keyboard navigation\n */ export const useFocusableGroup = (options)=>{\n const tabster = useTabster();\n if (tabster) {\n getGroupper(tabster);\n }\n return useTabsterAttributes({\n groupper: {\n tabbability: getTabbability(options === null || options === void 0 ? void 0 : options.tabBehavior)\n },\n focusable: {\n ignoreKeydown: options === null || options === void 0 ? void 0 : options.ignoreDefaultKeydown\n }\n });\n};\nconst getTabbability = (tabBehavior)=>{\n switch(tabBehavior){\n case 'unlimited':\n return Types.GroupperTabbabilities.Unlimited;\n case 'limited':\n return Types.GroupperTabbabilities.Limited;\n case 'limited-trap-focus':\n return Types.GroupperTabbabilities.LimitedTrapFocus;\n default:\n return undefined;\n }\n};\n","import * as React from 'react';\nconst cardContext = React.createContext(undefined);\n/**\n * @internal\n */ export const cardContextDefaultValue = {\n selectableA11yProps: {\n referenceId: undefined,\n setReferenceId () {\n /* Noop */ },\n referenceLabel: undefined,\n setReferenceLabel () {\n /* Noop */ }\n }\n};\n/**\n * @internal\n */ export const CardProvider = cardContext.Provider;\n/**\n * @internal\n */ export const useCardContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(cardContext)) !== null && _React_useContext !== void 0 ? _React_useContext : cardContextDefaultValue;\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useFocusableGroup, useFocusWithin } from '@fluentui/react-tabster';\nimport { useCardSelectable } from './useCardSelectable';\nimport { cardContextDefaultValue } from './CardContext';\nconst focusMap = {\n off: undefined,\n 'no-tab': 'limited-trap-focus',\n 'tab-exit': 'limited',\n 'tab-only': 'unlimited'\n};\n/**\n * Create the state for interactive cards.\n *\n * This internal hook defines if the card is interactive\n * and control focus properties based on that.\n *\n * @param props - props from this instance of Card\n */ const useCardInteractive = ({ focusMode = 'off', ...props })=>{\n const interactive = [\n 'onClick',\n 'onDoubleClick',\n 'onMouseUp',\n 'onMouseDown',\n 'onPointerUp',\n 'onPointerDown',\n 'onTouchStart',\n 'onTouchEnd',\n 'onDragStart',\n 'onDragEnd'\n ].some((prop)=>props[prop]);\n const groupperAttrs = useFocusableGroup({\n tabBehavior: focusMap[interactive ? 'no-tab' : focusMode]\n });\n const interactiveFocusAttributes = {\n ...groupperAttrs,\n tabIndex: 0\n };\n return {\n interactive,\n focusAttributes: !interactive && focusMode === 'off' ? null : interactiveFocusAttributes\n };\n};\n/**\n * Create the state required to render Card.\n *\n * The returned state can be modified with hooks such as useCardStyles_unstable,\n * before being passed to renderCard_unstable.\n *\n * @param props - props from this instance of Card\n * @param ref - reference to the root element of Card\n */ export const useCard_unstable = (props, ref)=>{\n const { appearance = 'filled', orientation = 'vertical', size = 'medium' } = props;\n const [referenceId, setReferenceId] = React.useState(cardContextDefaultValue.selectableA11yProps.referenceId);\n const [referenceLabel, setReferenceLabel] = React.useState(cardContextDefaultValue.selectableA11yProps.referenceId);\n const cardBaseRef = useFocusWithin();\n const { selectable, selected, selectableCardProps, selectFocused, checkboxSlot, floatingActionSlot } = useCardSelectable(props, {\n referenceId,\n referenceLabel\n }, cardBaseRef);\n const cardRef = useMergedRefs(cardBaseRef, ref);\n const { interactive, focusAttributes } = useCardInteractive(props);\n return {\n appearance,\n orientation,\n size,\n interactive,\n selectable,\n selectFocused,\n selected,\n selectableA11yProps: {\n setReferenceId,\n referenceId,\n referenceLabel,\n setReferenceLabel\n },\n components: {\n root: 'div',\n floatingAction: 'div',\n checkbox: 'input'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref: cardRef,\n role: 'group',\n ...!selectable ? focusAttributes : null,\n ...props,\n ...selectableCardProps\n }), {\n elementType: 'div'\n }),\n floatingAction: floatingActionSlot,\n checkbox: checkboxSlot\n };\n};\n","import * as React from 'react';\nimport { mergeCallbacks, slot, useControllableState } from '@fluentui/react-utilities';\nimport { Enter } from '@fluentui/keyboard-keys';\nimport { useFocusFinders } from '@fluentui/react-tabster';\n/**\n * @internal\n *\n * Create the state related to selectable cards.\n *\n * This internal hook controls all the logic for selectable cards and is\n * intended to be used alongside with useCard_unstable.\n *\n * @param props - props from this instance of Card\n * @param a11yProps - accessibility props shared between elements of the card\n * @param cardRef - reference to the root element of Card\n */ export const useCardSelectable = (props, { referenceLabel, referenceId }, cardRef)=>{\n const { checkbox = {}, onSelectionChange, floatingAction, onClick, onKeyDown } = props;\n const { findAllFocusable } = useFocusFinders();\n const checkboxRef = React.useRef(null);\n const [selected, setSelected] = useControllableState({\n state: props.selected,\n defaultState: props.defaultSelected,\n initialState: false\n });\n const selectable = [\n props.selected,\n props.defaultSelected,\n onSelectionChange\n ].some((prop)=>typeof prop !== 'undefined');\n const [selectFocused, setSelectFocused] = React.useState(false);\n const shouldRestrictTriggerAction = React.useCallback((event)=>{\n if (!cardRef.current) {\n return false;\n }\n const focusableElements = findAllFocusable(cardRef.current);\n const target = event.target;\n const isElementInFocusableGroup = focusableElements.some((element)=>element.contains(target));\n const isCheckboxSlot = (checkboxRef === null || checkboxRef === void 0 ? void 0 : checkboxRef.current) === target;\n return isElementInFocusableGroup && !isCheckboxSlot;\n }, [\n cardRef,\n findAllFocusable\n ]);\n const onChangeHandler = React.useCallback((event)=>{\n if (shouldRestrictTriggerAction(event)) {\n return;\n }\n const newCheckedValue = !selected;\n setSelected(newCheckedValue);\n if (onSelectionChange) {\n onSelectionChange(event, {\n selected: newCheckedValue\n });\n }\n }, [\n onSelectionChange,\n selected,\n setSelected,\n shouldRestrictTriggerAction\n ]);\n const onKeyDownHandler = React.useCallback((event)=>{\n if ([\n Enter\n ].includes(event.key)) {\n event.preventDefault();\n onChangeHandler(event);\n }\n }, [\n onChangeHandler\n ]);\n const checkboxSlot = React.useMemo(()=>{\n if (!selectable || floatingAction) {\n return;\n }\n const selectableCheckboxProps = {};\n if (referenceId) {\n selectableCheckboxProps['aria-labelledby'] = referenceId;\n } else if (referenceLabel) {\n selectableCheckboxProps['aria-label'] = referenceLabel;\n }\n return slot.optional(checkbox, {\n defaultProps: {\n ref: checkboxRef,\n type: 'checkbox',\n checked: selected,\n onChange: (event)=>onChangeHandler(event),\n onFocus: ()=>setSelectFocused(true),\n onBlur: ()=>setSelectFocused(false),\n ...selectableCheckboxProps\n },\n elementType: 'input'\n });\n }, [\n checkbox,\n floatingAction,\n selected,\n selectable,\n onChangeHandler,\n referenceId,\n referenceLabel\n ]);\n const floatingActionSlot = React.useMemo(()=>{\n if (!floatingAction) {\n return;\n }\n return slot.optional(floatingAction, {\n defaultProps: {\n ref: checkboxRef\n },\n elementType: 'div'\n });\n }, [\n floatingAction\n ]);\n const selectableCardProps = React.useMemo(()=>{\n if (!selectable) {\n return null;\n }\n return {\n onClick: mergeCallbacks(onClick, onChangeHandler),\n onKeyDown: mergeCallbacks(onKeyDown, onKeyDownHandler)\n };\n }, [\n selectable,\n onChangeHandler,\n onClick,\n onKeyDown,\n onKeyDownHandler\n ]);\n return {\n selected,\n selectable,\n selectFocused,\n selectableCardProps,\n checkboxSlot,\n floatingActionSlot\n };\n};\n","import { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { cardPreviewClassNames } from '../CardPreview/useCardPreviewStyles.styles';\nimport { cardHeaderClassNames } from '../CardHeader/useCardHeaderStyles.styles';\nimport { cardFooterClassNames } from '../CardFooter/useCardFooterStyles.styles';\nimport * as React from 'react';\n/**\n * Static CSS class names used internally for the component slots.\n */ export const cardClassNames = {\n root: 'fui-Card',\n floatingAction: 'fui-Card__floatingAction',\n checkbox: 'fui-Card__checkbox'\n};\n/**\n * CSS variable names used internally for uniform styling in Card.\n */ export const cardCSSVars = {\n cardSizeVar: '--fui-Card--size',\n cardBorderRadiusVar: '--fui-Card--border-radius'\n};\nconst focusOutlineStyle = {\n outlineRadius: `var(${cardCSSVars.cardBorderRadiusVar})`,\n outlineWidth: tokens.strokeWidthThick,\n outlineOffset: '-2px'\n};\nconst useStyles = makeStyles({\n root: {\n ...shorthands.overflow('hidden'),\n ...shorthands.borderRadius(`var(${cardCSSVars.cardBorderRadiusVar})`),\n ...shorthands.padding(`var(${cardCSSVars.cardSizeVar})`),\n ...shorthands.gap(`var(${cardCSSVars.cardSizeVar})`),\n display: 'flex',\n position: 'relative',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground1,\n // Border setting using after pseudo element to allow CardPreview to render behind it.\n '::after': {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n content: '\"\"',\n pointerEvents: 'none',\n ...shorthands.borderStyle('solid'),\n ...shorthands.borderWidth(tokens.strokeWidthThin),\n ...shorthands.borderRadius(`var(${cardCSSVars.cardBorderRadiusVar})`)\n },\n // Prevents CardHeader and CardFooter from shrinking.\n [`> .${cardHeaderClassNames.root}, > .${cardFooterClassNames.root}`]: {\n flexShrink: 0\n }\n },\n focused: {\n ...createFocusOutlineStyle({\n style: focusOutlineStyle,\n selector: 'focus'\n })\n },\n selectableFocused: createFocusOutlineStyle({\n style: focusOutlineStyle,\n selector: 'focus-within'\n }),\n orientationHorizontal: {\n flexDirection: 'row',\n alignItems: 'center',\n // Remove vertical padding to keep CardPreview content flush with Card's borders.\n [`> .${cardPreviewClassNames.root}`]: {\n marginTop: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`,\n marginBottom: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n },\n // Due to Tabster's \"Groupper\" focus functionality, hidden elements are injected before and after Card's content.\n // As such, the code below targets a CardPreview, when it's the first element.\n // Since this is on horizontal cards, the left padding is removed to keep the content flush with the border.\n [`> :not([aria-hidden=\"true\"]).${cardPreviewClassNames.root}:first-of-type`]: {\n marginLeft: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n },\n // Due to Tabster's \"Groupper\" focus functionality, hidden elements are injected before and after Card's content.\n // As such, the code below targets a CardPreview, when it's the last element.\n // Since this is on horizontal cards, the right padding is removed to keep the content flush with the border.\n [`> :not([aria-hidden=\"true\"]).${cardPreviewClassNames.root}:last-of-type`]: {\n marginRight: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n },\n // If the last child is a CardHeader or CardFooter, allow it to grow to fill the available space.\n [`> .${cardHeaderClassNames.root}:last-of-type, > .${cardFooterClassNames.root}:last-of-type`]: {\n flexGrow: 1\n }\n },\n orientationVertical: {\n flexDirection: 'column',\n // Remove lateral padding to keep CardPreview content flush with Card's borders.\n [`> .${cardPreviewClassNames.root}`]: {\n marginLeft: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`,\n marginRight: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n },\n // Due to Tabster's \"Groupper\" focus functionality, hidden elements are injected before and after Card's content.\n // As such, the code below targets a CardPreview, when it's the first element.\n // Since this is on vertical cards, the top padding is removed to keep the content flush with the border.\n [`> :not([aria-hidden=\"true\"]).${cardPreviewClassNames.root}:first-of-type`]: {\n marginTop: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n },\n [`> .${cardClassNames.floatingAction} + .${cardPreviewClassNames.root}`]: {\n marginTop: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n },\n // Due to Tabster's \"Groupper\" focus functionality, hidden elements are injected before and after Card's content.\n // As such, the code below targets a CardPreview, when it's the first element.\n // Since this is on vertical cards, the bottom padding is removed to keep the content flush with the border.\n [`> :not([aria-hidden=\"true\"]).${cardPreviewClassNames.root}:last-of-type`]: {\n marginBottom: `calc(var(${cardCSSVars.cardSizeVar}) * -1)`\n }\n },\n sizeSmall: {\n [cardCSSVars.cardSizeVar]: '8px',\n [cardCSSVars.cardBorderRadiusVar]: tokens.borderRadiusSmall\n },\n sizeMedium: {\n [cardCSSVars.cardSizeVar]: '12px',\n [cardCSSVars.cardBorderRadiusVar]: tokens.borderRadiusMedium\n },\n sizeLarge: {\n [cardCSSVars.cardSizeVar]: '16px',\n [cardCSSVars.cardBorderRadiusVar]: tokens.borderRadiusLarge\n },\n filled: {\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow4,\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n }\n },\n filledInteractive: {\n cursor: 'pointer',\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow4,\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n },\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n boxShadow: tokens.shadow8\n },\n ':active': {\n backgroundColor: tokens.colorNeutralBackground1Pressed\n }\n },\n filledInteractiveSelected: {\n backgroundColor: tokens.colorNeutralBackground1Selected,\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Selected)\n },\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Selected\n }\n },\n filledAlternative: {\n backgroundColor: tokens.colorNeutralBackground2,\n boxShadow: tokens.shadow4,\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n }\n },\n filledAlternativeInteractive: {\n cursor: 'pointer',\n backgroundColor: tokens.colorNeutralBackground2,\n boxShadow: tokens.shadow4,\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n },\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground2Hover,\n boxShadow: tokens.shadow8\n },\n ':active': {\n backgroundColor: tokens.colorNeutralBackground2Pressed\n }\n },\n filledAlternativeInteractiveSelected: {\n backgroundColor: tokens.colorNeutralBackground2Selected,\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Selected)\n },\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground2Selected\n }\n },\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n boxShadow: 'none',\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1)\n }\n },\n outlineInteractive: {\n cursor: 'pointer',\n backgroundColor: tokens.colorTransparentBackground,\n boxShadow: 'none',\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1)\n },\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover)\n }\n },\n ':active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed)\n }\n }\n },\n outlineInteractiveSelected: {\n backgroundColor: tokens.colorTransparentBackgroundSelected,\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Selected)\n },\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundSelected\n }\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n boxShadow: 'none',\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n }\n },\n subtleInteractive: {\n cursor: 'pointer',\n backgroundColor: tokens.colorSubtleBackground,\n boxShadow: 'none',\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n },\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed\n }\n },\n subtleInteractiveSelected: {\n backgroundColor: tokens.colorSubtleBackgroundSelected,\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Selected)\n },\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundSelected\n }\n },\n highContrastSelected: {\n '@media (forced-colors: active)': {\n forcedColorAdjust: 'none',\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n [`& .${cardPreviewClassNames.root}, & .${cardFooterClassNames.root}`]: {\n forcedColorAdjust: 'auto'\n },\n '::after': {\n ...shorthands.borderColor('Highlight')\n }\n }\n },\n highContrastInteractive: {\n '@media (forced-colors: active)': {\n ':hover, :active': {\n forcedColorAdjust: 'none',\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n [`& .${cardPreviewClassNames.root}, & .${cardFooterClassNames.root}`]: {\n forcedColorAdjust: 'auto'\n }\n },\n '::after': {\n ...shorthands.borderColor('Highlight')\n }\n }\n },\n select: {\n position: 'absolute',\n top: '4px',\n right: '4px',\n zIndex: 1\n },\n hiddenCheckbox: {\n ...shorthands.overflow('hidden'),\n width: '1px',\n height: '1px',\n position: 'absolute',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap'\n }\n});\n/**\n * Apply styling to the Card slots based on the state.\n */ export const useCardStyles_unstable = (state)=>{\n const styles = useStyles();\n const orientationMap = {\n horizontal: styles.orientationHorizontal,\n vertical: styles.orientationVertical\n };\n const sizeMap = {\n small: styles.sizeSmall,\n medium: styles.sizeMedium,\n large: styles.sizeLarge\n };\n const appearanceMap = {\n filled: styles.filled,\n 'filled-alternative': styles.filledAlternative,\n outline: styles.outline,\n subtle: styles.subtle\n };\n const selectedMap = {\n filled: styles.filledInteractiveSelected,\n 'filled-alternative': styles.filledAlternativeInteractiveSelected,\n outline: styles.outlineInteractiveSelected,\n subtle: styles.subtleInteractiveSelected\n };\n const interactiveMap = {\n filled: styles.filledInteractive,\n 'filled-alternative': styles.filledAlternativeInteractive,\n outline: styles.outlineInteractive,\n subtle: styles.subtleInteractive\n };\n const isSelectableOrInteractive = state.interactive || state.selectable;\n const focusedClassName = React.useMemo(()=>{\n if (state.selectable) {\n if (state.selectFocused) {\n return styles.selectableFocused;\n }\n return '';\n }\n return styles.focused;\n }, [\n state.selectFocused,\n state.selectable,\n styles.focused,\n styles.selectableFocused\n ]);\n state.root.className = mergeClasses(cardClassNames.root, styles.root, orientationMap[state.orientation], sizeMap[state.size], appearanceMap[state.appearance], isSelectableOrInteractive && interactiveMap[state.appearance], state.selected && selectedMap[state.appearance], // Focus overrides\n focusedClassName, // High contrast overrides\n isSelectableOrInteractive && styles.highContrastInteractive, state.selected && styles.highContrastSelected, state.root.className);\n if (state.floatingAction) {\n state.floatingAction.className = mergeClasses(cardClassNames.floatingAction, styles.select, state.floatingAction.className);\n }\n if (state.checkbox) {\n state.checkbox.className = mergeClasses(cardClassNames.checkbox, styles.hiddenCheckbox, state.checkbox.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useCard_unstable } from './useCard';\nimport { renderCard_unstable } from './renderCard';\nimport { useCardStyles_unstable } from './useCardStyles.styles';\nimport { useCardContextValue } from './useCardContextValue';\n/**\n * A card provides scaffolding for hosting actions and content for a single topic.\n */ export const Card = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCard_unstable(props, ref);\n const cardContextValue = useCardContextValue(state);\n useCardStyles_unstable(state);\n return renderCard_unstable(state, cardContextValue);\n});\nCard.displayName = 'Card';\n","export function useCardContextValue({ selectableA11yProps }) {\n return {\n selectableA11yProps\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { CardProvider } from './CardContext';\n/**\n * Render the final JSX of Card.\n */ export const renderCard_unstable = (state, cardContextValue)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: /*#__PURE__*/ _jsxs(CardProvider, {\n value: cardContextValue,\n children: [\n state.checkbox ? /*#__PURE__*/ _jsx(state.checkbox, {}) : null,\n state.floatingAction ? /*#__PURE__*/ _jsx(state.floatingAction, {}) : null,\n state.root.children\n ]\n })\n });\n};\n","import { makeStyles, mergeClasses } from '@griffel/react';\n/**\n * Static CSS class names used internally for the component slots.\n */ export const cardHeaderClassNames = {\n root: 'fui-CardHeader',\n image: 'fui-CardHeader__image',\n header: 'fui-CardHeader__header',\n description: 'fui-CardHeader__description',\n action: 'fui-CardHeader__action'\n};\n/**\n * CSS variable names used internally for uniform styling in CardHeader.\n */ export const cardHeaderCSSVars = {\n cardHeaderGapVar: '--fui-CardHeader--gap'\n};\nconst useStyles = makeStyles({\n root: {\n [cardHeaderCSSVars.cardHeaderGapVar]: '12px',\n display: 'grid',\n gridAutoColumns: 'min-content 1fr min-content',\n alignItems: 'center'\n },\n image: {\n display: 'inline-flex',\n marginRight: `var(${cardHeaderCSSVars.cardHeaderGapVar})`,\n gridColumnStart: '1',\n gridRowStart: 'span 2'\n },\n header: {\n gridColumnStart: '2',\n gridRowStart: '1',\n display: 'flex'\n },\n description: {\n gridColumnStart: '2',\n gridRowStart: '2',\n display: 'flex'\n },\n action: {\n marginLeft: `var(${cardHeaderCSSVars.cardHeaderGapVar})`,\n gridColumnStart: '3',\n gridRowStart: 'span 2'\n }\n});\n/**\n * Apply styling to the CardHeader slots based on the state.\n */ export const useCardHeaderStyles_unstable = (state)=>{\n const styles = useStyles();\n state.root.className = mergeClasses(cardHeaderClassNames.root, styles.root, state.root.className);\n if (state.image) {\n state.image.className = mergeClasses(cardHeaderClassNames.image, styles.image, state.image.className);\n }\n if (state.header) {\n state.header.className = mergeClasses(cardHeaderClassNames.header, styles.header, state.header.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(cardHeaderClassNames.description, styles.description, state.description.className);\n }\n if (state.action) {\n state.action.className = mergeClasses(cardHeaderClassNames.action, styles.action, state.action.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useId, slot } from '@fluentui/react-utilities';\nimport { useCardContext_unstable } from '../Card/CardContext';\nimport { cardHeaderClassNames } from './useCardHeaderStyles.styles';\n/**\n * Finds the first child of CardHeader with an id prop.\n *\n * @param header - the header prop of CardHeader\n */ function getChildWithId(header) {\n function isReactElementWithIdProp(element) {\n return React.isValidElement(element) && Boolean(element.props.id);\n }\n return React.Children.toArray(header).find(isReactElementWithIdProp);\n}\n/**\n * Returns the id to use for the CardHeader root element.\n *\n * @param headerId - the id prop of the CardHeader component\n * @param childWithId - the first child of the CardHeader component with an id prop\n * @param generatedId - a generated id\n *\n * @returns the id to use for the CardHeader root element\n */ function getReferenceId(headerId, childWithId, generatedId) {\n if (headerId) {\n return headerId;\n }\n if (childWithId === null || childWithId === void 0 ? void 0 : childWithId.props.id) {\n return childWithId.props.id;\n }\n return generatedId;\n}\n/**\n * Create the state required to render CardHeader.\n *\n * The returned state can be modified with hooks such as useCardHeaderStyles_unstable,\n * before being passed to renderCardHeader_unstable.\n *\n * @param props - props from this instance of CardHeader\n * @param ref - reference to root HTMLElement of CardHeader\n */ export const useCardHeader_unstable = (props, ref)=>{\n const { image, header, description, action } = props;\n const { selectableA11yProps: { referenceId, setReferenceId } } = useCardContext_unstable();\n const headerRef = React.useRef(null);\n const hasChildId = React.useRef(false);\n const generatedId = useId(cardHeaderClassNames.header, referenceId);\n const headerSlot = slot.optional(header, {\n renderByDefault: true,\n defaultProps: {\n ref: headerRef,\n id: !hasChildId.current ? referenceId : undefined\n },\n elementType: 'div'\n });\n React.useEffect(()=>{\n var _headerRef_current;\n const headerId = !hasChildId.current ? (_headerRef_current = headerRef.current) === null || _headerRef_current === void 0 ? void 0 : _headerRef_current.id : undefined;\n const childWithId = getChildWithId(headerSlot === null || headerSlot === void 0 ? void 0 : headerSlot.children);\n hasChildId.current = Boolean(childWithId);\n setReferenceId(getReferenceId(headerId, childWithId, generatedId));\n }, [\n generatedId,\n header,\n headerSlot,\n setReferenceId\n ]);\n return {\n components: {\n root: 'div',\n image: 'div',\n header: 'div',\n description: 'div',\n action: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'div'\n }),\n image: slot.optional(image, {\n elementType: 'div'\n }),\n header: headerSlot,\n description: slot.optional(description, {\n elementType: 'div'\n }),\n action: slot.optional(action, {\n elementType: 'div'\n })\n };\n};\n","import * as React from 'react';\nimport { useCardHeader_unstable } from './useCardHeader';\nimport { renderCardHeader_unstable } from './renderCardHeader';\nimport { useCardHeaderStyles_unstable } from './useCardHeaderStyles.styles';\n/**\n * Component to render an image, text and an action in a Card component.\n */ export const CardHeader = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCardHeader_unstable(props, ref);\n useCardHeaderStyles_unstable(state);\n return renderCardHeader_unstable(state);\n});\nCardHeader.displayName = 'CardHeader';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of CardHeader.\n */ export const renderCardHeader_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.image && /*#__PURE__*/ _jsx(state.image, {}),\n /*#__PURE__*/ _jsx(state.header, {}),\n state.description && /*#__PURE__*/ _jsx(state.description, {}),\n state.action && /*#__PURE__*/ _jsx(state.action, {})\n ]\n });\n};\n","import { makeStyles } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nexport const caption1ClassNames = {\n root: 'fui-Caption1'\n};\n/**\n * Styles for the root slot\n */ export const useCaption1Styles = makeStyles({\n root: typographyStyles.caption1\n});\n","import { createPreset } from '../createPreset';\nimport { caption1ClassNames, useCaption1Styles } from './useCaption1Styles.styles';\n/**\n * Text preset component for the Caption1 typography variant\n */ export const Caption1 = createPreset({\n useStyles: useCaption1Styles,\n className: caption1ClassNames.root,\n displayName: 'Caption1'\n});\n","import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const progressBarClassNames = {\n root: 'fui-ProgressBar',\n bar: 'fui-ProgressBar__bar'\n};\n// If the percentComplete is near 0, don't animate it.\n// This prevents animations on reset to 0 scenarios.\nconst ZERO_THRESHOLD = 0.01;\nconst barThicknessValues = {\n medium: '2px',\n large: '4px'\n};\nconst indeterminateProgressBar = {\n '0%': {\n left: '-33%'\n },\n '100%': {\n left: '100%'\n }\n};\n/**\n * Styles for the root slot\n */ const useRootStyles = makeStyles({\n root: {\n display: 'block',\n backgroundColor: tokens.colorNeutralBackground6,\n width: '100%',\n ...shorthands.overflow('hidden'),\n '@media screen and (forced-colors: active)': {\n backgroundColor: 'CanvasText'\n }\n },\n rounded: {\n ...shorthands.borderRadius(tokens.borderRadiusMedium)\n },\n square: {\n ...shorthands.borderRadius(tokens.borderRadiusNone)\n },\n medium: {\n height: barThicknessValues.medium\n },\n large: {\n height: barThicknessValues.large\n }\n});\n/**\n * Styles for the ProgressBar bar\n */ const useBarStyles = makeStyles({\n base: {\n '@media screen and (forced-colors: active)': {\n backgroundColor: 'Highlight'\n },\n ...shorthands.borderRadius('inherit'),\n height: '100%'\n },\n nonZeroDeterminate: {\n transitionProperty: 'width',\n transitionDuration: '0.3s',\n transitionTimingFunction: 'ease'\n },\n indeterminate: {\n maxWidth: '33%',\n position: 'relative',\n backgroundImage: `linear-gradient(\n to right,\n ${tokens.colorNeutralBackground6} 0%,\n ${tokens.colorTransparentBackground} 50%,\n ${tokens.colorNeutralBackground6} 100%\n )`,\n animationName: indeterminateProgressBar,\n animationDuration: '3s',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n '@media screen and (prefers-reduced-motion: reduce)': {\n animationDuration: '0.01ms',\n animationIterationCount: '1'\n }\n },\n brand: {\n backgroundColor: tokens.colorCompoundBrandBackground\n },\n error: {\n backgroundColor: tokens.colorPaletteRedBackground3\n },\n warning: {\n backgroundColor: tokens.colorPaletteDarkOrangeBackground3\n },\n success: {\n backgroundColor: tokens.colorPaletteGreenBackground3\n }\n});\n/**\n * Apply styling to the ProgressBar slots based on the state\n */ export const useProgressBarStyles_unstable = (state)=>{\n const { color, max, shape, thickness, value } = state;\n const rootStyles = useRootStyles();\n const barStyles = useBarStyles();\n state.root.className = mergeClasses(progressBarClassNames.root, rootStyles.root, rootStyles[shape], rootStyles[thickness], state.root.className);\n if (state.bar) {\n state.bar.className = mergeClasses(progressBarClassNames.bar, barStyles.base, barStyles.brand, value === undefined && barStyles.indeterminate, value !== undefined && value > ZERO_THRESHOLD && barStyles.nonZeroDeterminate, color && value !== undefined && barStyles[color], state.bar.className);\n }\n if (state.bar && value !== undefined) {\n state.bar.style = {\n width: Math.min(100, Math.max(0, value / max * 100)) + '%',\n ...state.bar.style\n };\n }\n return state;\n};\n","import * as React from 'react';\nimport { useProgressBar_unstable } from './useProgressBar';\nimport { renderProgressBar_unstable } from './renderProgressBar';\nimport { useProgressBarStyles_unstable } from './useProgressBarStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A ProgressBar bar shows the progression of a task.\n */ export const ProgressBar = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useProgressBar_unstable(props, ref);\n useProgressBarStyles_unstable(state);\n useCustomStyleHook_unstable('useProgressBarStyles_unstable')(state);\n return renderProgressBar_unstable(state);\n});\nProgressBar.displayName = 'ProgressBar';\n","import * as React from 'react';\nimport { useFieldContext_unstable } from '@fluentui/react-field';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { clampValue, clampMax } from '../../utils/index';\n/**\n * Create the state required to render ProgressBar.\n *\n * The returned state can be modified with hooks such as useProgressBarStyles_unstable,\n * before being passed to renderProgressBar_unstable.\n *\n * @param props - props from this instance of ProgressBar\n * @param ref - reference to root HTMLElement of ProgressBar\n */ export const useProgressBar_unstable = (props, ref)=>{\n const field = useFieldContext_unstable();\n const fieldState = field === null || field === void 0 ? void 0 : field.validationState;\n const { color = fieldState === 'error' || fieldState === 'warning' || fieldState === 'success' ? fieldState : 'brand', shape = 'rounded', thickness = 'medium' } = props;\n var _props_max;\n const max = clampMax((_props_max = props.max) !== null && _props_max !== void 0 ? _props_max : 1);\n const value = clampValue(props.value, max);\n const root = slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n role: 'progressbar',\n 'aria-valuemin': value !== undefined ? 0 : undefined,\n 'aria-valuemax': value !== undefined ? max : undefined,\n 'aria-valuenow': value,\n 'aria-labelledby': field === null || field === void 0 ? void 0 : field.labelId,\n ...props\n }), {\n elementType: 'div'\n });\n if (field && (field.validationMessageId || field.hintId)) {\n // Prepend the field's validation message and/or hint to the user's aria-describedby\n root['aria-describedby'] = [\n field === null || field === void 0 ? void 0 : field.validationMessageId,\n field === null || field === void 0 ? void 0 : field.hintId,\n root['aria-describedby']\n ].filter(Boolean).join(' ');\n }\n const bar = slot.always(props.bar, {\n elementType: 'div'\n });\n const state = {\n color,\n max,\n shape,\n thickness,\n value,\n components: {\n root: 'div',\n bar: 'div'\n },\n root,\n bar\n };\n return state;\n};\n","export const clampMax = (max)=>{\n const internalMax = max <= 0 ? 1 : max;\n if (process.env.NODE_ENV !== 'production') {\n if (max <= 0) {\n // eslint-disable-next-line no-console\n console.error(`The prop 'max' must be greater than 0. Received max: ${max}`);\n }\n }\n return internalMax;\n};\n","export const clampValue = (value, max)=>{\n if (value === undefined) {\n return value;\n }\n const internalValue = value < 0 ? 0 : value > max ? max : value;\n if (process.env.NODE_ENV !== 'production') {\n if (value < 0) {\n // eslint-disable-next-line no-console\n console.error(`The prop 'value' must be greater than or equal to zero. Received value: ${value}`);\n }\n if (value > max) {\n // eslint-disable-next-line no-console\n console.error(`The prop 'value' must be less than or equal to 'max'. Received value: ${value}, max: ${max}`);\n }\n }\n return internalValue;\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of ProgressBar\n */ export const renderProgressBar_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: state.bar && /*#__PURE__*/ _jsx(state.bar, {})\n });\n};\n","import * as React from 'react';\n/**\n * RadioGroupContext is provided by RadioGroup, and is consumed by Radio to determine default values of some props.\n */ export const RadioGroupContext = React.createContext(undefined);\nconst radioGroupContextDefaultValue = {};\nexport const RadioGroupProvider = RadioGroupContext.Provider;\n/**\n * Get the value of the RadioGroupContext.\n */ export const useRadioGroupContextValue_unstable = ()=>React.useContext(RadioGroupContext) || radioGroupContextDefaultValue;\n/**\n * @deprecated Use useRadioGroupContextValue_unstable instead.\n * RadioGroupContext is no longer a selector context, and no longer benefits from having a selector.\n */ export const useRadioGroupContext_unstable = (selector)=>selector(useRadioGroupContextValue_unstable());\n","import { makeStyles, mergeClasses } from '@griffel/react';\nexport const radioGroupClassNames = {\n root: 'fui-RadioGroup'\n};\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n vertical: {\n flexDirection: 'column'\n }\n});\n/**\n * Apply styling to the RadioGroup slots based on the state\n */ export const useRadioGroupStyles_unstable = (state)=>{\n const styles = useStyles();\n state.root.className = mergeClasses(radioGroupClassNames.root, styles.root, state.layout === 'vertical' && styles.vertical, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { renderRadioGroup_unstable } from './renderRadioGroup';\nimport { useRadioGroup_unstable } from './useRadioGroup';\nimport { useRadioGroupStyles_unstable } from './useRadioGroupStyles.styles';\nimport { useRadioGroupContextValues } from '../../contexts/useRadioGroupContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A RadioGroup component presents a set of options where only one option can be selected.\n */ export const RadioGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useRadioGroup_unstable(props, ref);\n const contextValues = useRadioGroupContextValues(state);\n useRadioGroupStyles_unstable(state);\n useCustomStyleHook_unstable('useRadioGroupStyles_unstable')(state);\n return renderRadioGroup_unstable(state, contextValues);\n});\nRadioGroup.displayName = 'RadioGroup';\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getIntrinsicElementProps, isHTMLElement, useEventCallback, useId, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render RadioGroup.\n *\n * The returned state can be modified with hooks such as useRadioGroupStyles_unstable,\n * before being passed to renderRadioGroup_unstable.\n *\n * @param props - props from this instance of RadioGroup\n * @param ref - reference to root HTMLElement of RadioGroup\n */ export const useRadioGroup_unstable = (props, ref)=>{\n // Merge props from surrounding , if any\n props = useFieldControlProps_unstable(props);\n const generatedName = useId('radiogroup-');\n const { name = generatedName, value, defaultValue, disabled, layout = 'vertical', onChange, required } = props;\n return {\n layout,\n name,\n value,\n defaultValue,\n disabled,\n required,\n components: {\n root: 'div'\n },\n root: {\n ref,\n role: 'radiogroup',\n ...slot.always(getIntrinsicElementProps('div', props, /*excludedPropNames:*/ [\n 'onChange',\n 'name'\n ]), {\n elementType: 'div'\n }),\n onChange: useEventCallback((ev)=>{\n if (onChange && isHTMLElement(ev.target, {\n constructorName: 'HTMLInputElement'\n }) && ev.target.type === 'radio') {\n onChange(ev, {\n value: ev.target.value\n });\n }\n })\n }\n };\n};\n","import * as React from 'react';\nexport const useRadioGroupContextValues = (state)=>{\n const { name, value, defaultValue, disabled, layout, required } = state;\n const ariaDescribedBy = state.root['aria-describedby'];\n const radioGroup = React.useMemo(()=>({\n name,\n value,\n defaultValue,\n disabled,\n layout,\n required,\n 'aria-describedby': ariaDescribedBy\n }), [\n name,\n value,\n defaultValue,\n disabled,\n layout,\n required,\n ariaDescribedBy\n ]);\n return {\n radioGroup\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { RadioGroupContext } from '../../contexts/RadioGroupContext';\n/**\n * Render the final JSX of RadioGroup\n */ export const renderRadioGroup_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(RadioGroupContext.Provider, {\n value: contextValues.radioGroup,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Radio\n */ export const renderRadio_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n /*#__PURE__*/ _jsx(state.input, {}),\n /*#__PURE__*/ _jsx(state.indicator, {}),\n state.label && /*#__PURE__*/ _jsx(state.label, {})\n ]\n });\n};\n","import { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nexport const radioClassNames = {\n root: 'fui-Radio',\n indicator: 'fui-Radio__indicator',\n input: 'fui-Radio__input',\n label: 'fui-Radio__label'\n};\n// The indicator size is used by the indicator and label styles\nconst indicatorSize = '16px';\nconst useRootBaseClassName = makeResetStyles({\n display: 'inline-flex',\n position: 'relative',\n ...createFocusOutlineStyle({\n style: {},\n selector: 'focus-within'\n })\n});\nconst useRootStyles = makeStyles({\n vertical: {\n flexDirection: 'column',\n alignItems: 'center'\n }\n});\nconst useInputBaseClassName = makeResetStyles({\n position: 'absolute',\n left: 0,\n top: 0,\n width: `calc(${indicatorSize} + 2 * ${tokens.spacingHorizontalS})`,\n height: '100%',\n boxSizing: 'border-box',\n margin: 0,\n opacity: 0,\n ':enabled': {\n cursor: 'pointer',\n [`& ~ .${radioClassNames.label}`]: {\n cursor: 'pointer'\n }\n },\n // Colors for the unchecked state\n ':enabled:not(:checked)': {\n [`& ~ .${radioClassNames.label}`]: {\n color: tokens.colorNeutralForeground3\n },\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorNeutralStrokeAccessible,\n '@media (forced-colors: active)': {\n borderColor: 'ButtonBorder'\n }\n },\n ':hover': {\n [`& ~ .${radioClassNames.label}`]: {\n color: tokens.colorNeutralForeground2\n },\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorNeutralStrokeAccessibleHover\n }\n },\n ':hover:active': {\n [`& ~ .${radioClassNames.label}`]: {\n color: tokens.colorNeutralForeground1\n },\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorNeutralStrokeAccessiblePressed\n }\n }\n },\n // Colors for the checked state\n ':enabled:checked': {\n [`& ~ .${radioClassNames.label}`]: {\n color: tokens.colorNeutralForeground1\n },\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorCompoundBrandStroke,\n color: tokens.colorCompoundBrandForeground1,\n '@media (forced-colors: active)': {\n borderColor: 'Highlight',\n color: 'Highlight',\n '::after': {\n backgroundColor: 'Highlight'\n }\n }\n },\n ':hover': {\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorCompoundBrandStrokeHover,\n color: tokens.colorCompoundBrandForeground1Hover\n }\n },\n ':hover:active': {\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorCompoundBrandStrokePressed,\n color: tokens.colorCompoundBrandForeground1Pressed\n }\n }\n },\n // Colors for the disabled state\n ':disabled': {\n [`& ~ .${radioClassNames.label}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'default',\n '@media (forced-colors: active)': {\n color: 'GrayText'\n }\n },\n [`& ~ .${radioClassNames.indicator}`]: {\n borderColor: tokens.colorNeutralStrokeDisabled,\n color: tokens.colorNeutralForegroundDisabled,\n '@media (forced-colors: active)': {\n borderColor: 'GrayText',\n color: 'GrayText',\n '::after': {\n backgroundColor: 'GrayText'\n }\n }\n }\n }\n});\nconst useInputStyles = makeStyles({\n below: {\n width: '100%',\n height: `calc(${indicatorSize} + 2 * ${tokens.spacingVerticalS})`\n },\n // If the indicator has no children, use the ::after pseudo-element for the checked state\n defaultIndicator: {\n [`:checked ~ .${radioClassNames.indicator}::after`]: {\n content: '\"\"'\n }\n },\n // If the indicator has a child, hide it until the radio is checked\n customIndicator: {\n [`:not(:checked) ~ .${radioClassNames.indicator} > *`]: {\n opacity: '0'\n }\n }\n});\nconst useIndicatorBaseClassName = makeResetStyles({\n position: 'relative',\n width: indicatorSize,\n height: indicatorSize,\n fontSize: '12px',\n boxSizing: 'border-box',\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n border: tokens.strokeWidthThin + ' solid',\n borderRadius: tokens.borderRadiusCircular,\n margin: tokens.spacingVerticalS + ' ' + tokens.spacingHorizontalS,\n fill: 'currentColor',\n pointerEvents: 'none',\n '::after': {\n position: 'absolute',\n width: indicatorSize,\n height: indicatorSize,\n borderRadius: tokens.borderRadiusCircular,\n // Use a transform to avoid pixel rounding errors at 125% DPI\n // https://github.com/microsoft/fluentui/issues/30025\n transform: 'scale(0.625)',\n backgroundColor: 'currentColor'\n }\n});\n// Can't use makeResetStyles here because Label is a component that may itself use makeResetStyles.\nconst useLabelStyles = makeStyles({\n base: {\n alignSelf: 'center',\n ...shorthands.padding(tokens.spacingVerticalS, tokens.spacingHorizontalS)\n },\n after: {\n paddingLeft: tokens.spacingHorizontalXS,\n // Use a (negative) margin to account for the difference between the indicator's height and the label's line height.\n // This prevents the label from expanding the height of the Radio, but preserves line height if the label wraps.\n marginTop: `calc((${indicatorSize} - ${tokens.lineHeightBase300}) / 2)`,\n marginBottom: `calc((${indicatorSize} - ${tokens.lineHeightBase300}) / 2)`\n },\n below: {\n paddingTop: tokens.spacingVerticalXS,\n textAlign: 'center'\n }\n});\n/**\n * Apply styling to the Radio slots based on the state\n */ export const useRadioStyles_unstable = (state)=>{\n const { labelPosition } = state;\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n state.root.className = mergeClasses(radioClassNames.root, rootBaseClassName, labelPosition === 'below' && rootStyles.vertical, state.root.className);\n const inputBaseClassName = useInputBaseClassName();\n const inputStyles = useInputStyles();\n state.input.className = mergeClasses(radioClassNames.input, inputBaseClassName, labelPosition === 'below' && inputStyles.below, state.indicator.children ? inputStyles.customIndicator : inputStyles.defaultIndicator, state.input.className);\n const indicatorBaseClassName = useIndicatorBaseClassName();\n state.indicator.className = mergeClasses(radioClassNames.indicator, indicatorBaseClassName, state.indicator.className);\n const labelStyles = useLabelStyles();\n if (state.label) {\n state.label.className = mergeClasses(radioClassNames.label, labelStyles.base, labelStyles[labelPosition], state.label.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { renderRadio_unstable } from './renderRadio';\nimport { useRadio_unstable } from './useRadio';\nimport { useRadioStyles_unstable } from './useRadioStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Radio component is a wrapper for a radio button with a label.\n */ export const Radio = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useRadio_unstable(props, ref);\n useRadioStyles_unstable(state);\n useCustomStyleHook_unstable('useRadioStyles_unstable')(state);\n return renderRadio_unstable(state);\n});\nRadio.displayName = 'Radio';\n","import * as React from 'react';\nimport { Label } from '@fluentui/react-label';\nimport { getPartitionedNativeProps, mergeCallbacks, useId, slot } from '@fluentui/react-utilities';\nimport { useRadioGroupContextValue_unstable } from '../../contexts/RadioGroupContext';\nimport { useFocusWithin } from '@fluentui/react-tabster';\n/**\n * Create the state required to render Radio.\n *\n * The returned state can be modified with hooks such as useRadioStyles_unstable,\n * before being passed to renderRadio_unstable.\n *\n * @param props - props from this instance of Radio\n * @param ref - reference to `` element of Radio\n */ export const useRadio_unstable = (props, ref)=>{\n const group = useRadioGroupContextValue_unstable();\n const { name = group.name, checked = group.value !== undefined ? group.value === props.value : undefined, defaultChecked = group.defaultValue !== undefined ? group.defaultValue === props.value : undefined, labelPosition = group.layout === 'horizontal-stacked' ? 'below' : 'after', disabled = group.disabled, required = group.required, 'aria-describedby': ariaDescribedBy = group['aria-describedby'], onChange } = props;\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: [\n 'checked',\n 'defaultChecked',\n 'onChange'\n ]\n });\n const root = slot.always(props.root, {\n defaultProps: {\n ref: useFocusWithin(),\n ...nativeProps.root\n },\n elementType: 'span'\n });\n const input = slot.always(props.input, {\n defaultProps: {\n ref,\n type: 'radio',\n id: useId('radio-', nativeProps.primary.id),\n name,\n checked,\n defaultChecked,\n disabled,\n required,\n 'aria-describedby': ariaDescribedBy,\n ...nativeProps.primary\n },\n elementType: 'input'\n });\n input.onChange = mergeCallbacks(input.onChange, (ev)=>onChange === null || onChange === void 0 ? void 0 : onChange(ev, {\n value: ev.currentTarget.value\n }));\n const label = slot.optional(props.label, {\n defaultProps: {\n htmlFor: input.id,\n disabled: input.disabled\n },\n elementType: Label\n });\n const indicator = slot.always(props.indicator, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n });\n return {\n labelPosition,\n components: {\n root: 'span',\n input: 'input',\n label: Label,\n indicator: 'div'\n },\n root,\n input,\n label,\n indicator\n };\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render Table.\n *\n * The returned state can be modified with hooks such as useTableStyles_unstable,\n * before being passed to renderTable_unstable.\n *\n * @param props - props from this instance of Table\n * @param ref - reference to root HTMLElement of Table\n */ export const useTable_unstable = (props, ref)=>{\n var _props_as;\n const rootComponent = ((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : props.noNativeElements) ? 'div' : 'table';\n var _props_size, _props_noNativeElements, _props_sortable;\n return {\n components: {\n root: rootComponent\n },\n root: slot.always(getIntrinsicElementProps(rootComponent, {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n role: rootComponent === 'div' ? 'table' : undefined,\n ...props\n }), {\n elementType: rootComponent\n }),\n size: (_props_size = props.size) !== null && _props_size !== void 0 ? _props_size : 'medium',\n noNativeElements: (_props_noNativeElements = props.noNativeElements) !== null && _props_noNativeElements !== void 0 ? _props_noNativeElements : false,\n sortable: (_props_sortable = props.sortable) !== null && _props_sortable !== void 0 ? _props_sortable : false\n };\n};\n","import * as React from 'react';\nconst tableContext = React.createContext(undefined);\nexport const tableContextDefaultValue = {\n size: 'medium',\n noNativeElements: false,\n sortable: false\n};\nexport const TableContextProvider = tableContext.Provider;\nexport const useTableContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(tableContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tableContextDefaultValue;\n};\n","import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const tableClassName = 'fui-Table';\nexport const tableClassNames = {\n root: 'fui-Table'\n};\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table',\n verticalAlign: 'middle',\n width: '100%',\n tableLayout: 'fixed'\n }\n});\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'block'\n }\n});\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n borderCollapse: 'collapse',\n backgroundColor: tokens.colorSubtleBackground\n }\n});\n/**\n * Apply styling to the Table slots based on the state\n */ export const useTableStyles_unstable = (state)=>{\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles()\n };\n state.root.className = mergeClasses(tableClassName, styles.root, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useTable_unstable } from './useTable';\nimport { renderTable_unstable } from './renderTable';\nimport { useTableStyles_unstable } from './useTableStyles.styles';\nimport { useTableContextValues_unstable } from './useTableContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Table component\n */ export const Table = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTable_unstable(props, ref);\n useTableStyles_unstable(state);\n useCustomStyleHook_unstable('useTableStyles_unstable')(state);\n return renderTable_unstable(state, useTableContextValues_unstable(state));\n});\nTable.displayName = 'Table';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TableContextProvider } from '../../contexts/tableContext';\n/**\n * Render the final JSX of Table\n */ export const renderTable_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(TableContextProvider, {\n value: contextValues.table,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nexport function useTableContextValues_unstable(state) {\n const { size, noNativeElements, sortable } = state;\n const tableContext = React.useMemo(()=>({\n noNativeElements,\n size,\n sortable\n }), [\n noNativeElements,\n size,\n sortable\n ]);\n return {\n table: tableContext\n };\n}\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useTableContext } from '../../contexts/tableContext';\n/**\n * Create the state required to render TableHeader.\n *\n * The returned state can be modified with hooks such as useTableHeaderStyles_unstable,\n * before being passed to renderTableHeader_unstable.\n *\n * @param props - props from this instance of TableHeader\n * @param ref - reference to root HTMLElement of TableHeader\n */ export const useTableHeader_unstable = (props, ref)=>{\n const { noNativeElements } = useTableContext();\n var _props_as;\n const rootComponent = ((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : noNativeElements) ? 'div' : 'thead';\n return {\n components: {\n root: rootComponent\n },\n root: slot.always(getIntrinsicElementProps(rootComponent, {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n role: rootComponent === 'div' ? 'rowgroup' : undefined,\n ...props\n }), {\n elementType: rootComponent\n }),\n noNativeElements\n };\n};\n","import * as React from 'react';\nconst tableHeaderContext = React.createContext(undefined);\nconst tableHeaderContextDefaultValue = '';\nexport const TableHeaderContextProvider = tableHeaderContext.Provider;\nexport const useIsInTableHeader = ()=>React.useContext(tableHeaderContext) === tableHeaderContextDefaultValue;\n","import { mergeClasses, makeStyles } from '@griffel/react';\nexport const tableHeaderClassName = 'fui-TableHeader';\nexport const tableHeaderClassNames = {\n root: 'fui-TableHeader'\n};\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'block'\n }\n});\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-row-group'\n }\n});\n/**\n * Apply styling to the TableHeader slots based on the state\n */ export const useTableHeaderStyles_unstable = (state)=>{\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles()\n };\n state.root.className = mergeClasses(tableHeaderClassName, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useTableHeader_unstable } from './useTableHeader';\nimport { renderTableHeader_unstable } from './renderTableHeader';\nimport { useTableHeaderStyles_unstable } from './useTableHeaderStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TableHeader component\n */ export const TableHeader = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTableHeader_unstable(props, ref);\n useTableHeaderStyles_unstable(state);\n useCustomStyleHook_unstable('useTableHeaderStyles_unstable')(state);\n return renderTableHeader_unstable(state);\n});\nTableHeader.displayName = 'TableHeader';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TableHeaderContextProvider } from '../../contexts/tableHeaderContext';\n/**\n * Render the final JSX of TableHeader\n */ export const renderTableHeader_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(TableHeaderContextProvider, {\n value: \"\",\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useFocusVisible, useFocusWithin } from '@fluentui/react-tabster';\nimport { useTableContext } from '../../contexts/tableContext';\nimport { useIsInTableHeader } from '../../contexts/tableHeaderContext';\n/**\n * Create the state required to render TableRow.\n *\n * The returned state can be modified with hooks such as useTableRowStyles_unstable,\n * before being passed to renderTableRow_unstable.\n *\n * @param props - props from this instance of TableRow\n * @param ref - reference to root HTMLElement of TableRow\n */ export const useTableRow_unstable = (props, ref)=>{\n const { noNativeElements, size } = useTableContext();\n var _props_as;\n const rootComponent = ((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : noNativeElements) ? 'div' : 'tr';\n const focusVisibleRef = useFocusVisible();\n const focusWithinRef = useFocusWithin();\n const isHeaderRow = useIsInTableHeader();\n var _props_appearance;\n return {\n components: {\n root: rootComponent\n },\n root: slot.always(getIntrinsicElementProps(rootComponent, {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, focusVisibleRef, focusWithinRef),\n role: rootComponent === 'div' ? 'row' : undefined,\n ...props\n }), {\n elementType: rootComponent\n }),\n size,\n noNativeElements,\n appearance: (_props_appearance = props.appearance) !== null && _props_appearance !== void 0 ? _props_appearance : 'none',\n isHeaderRow\n };\n};\n","import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { tableCellActionsClassNames } from '../TableCellActions/useTableCellActionsStyles.styles';\nimport { tableSelectionCellClassNames } from '../TableSelectionCell/useTableSelectionCellStyles.styles';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nexport const tableRowClassName = 'fui-TableRow';\nexport const tableRowClassNames = {\n root: tableRowClassName\n};\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-row'\n }\n});\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n alignItems: 'center'\n }\n});\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n color: tokens.colorNeutralForeground1,\n boxSizing: 'border-box',\n ...createCustomFocusIndicatorStyle({\n [`& .${tableSelectionCellClassNames.root}`]: {\n opacity: 1\n },\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1\n }\n }, {\n selector: 'focus-within'\n }),\n ...createCustomFocusIndicatorStyle({\n ...shorthands.outline('2px', 'solid', tokens.colorStrokeFocus2),\n ...shorthands.borderRadius(tokens.borderRadiusMedium)\n }, {\n selector: 'focus'\n })\n },\n rootInteractive: {\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n color: tokens.colorNeutralForeground1Pressed,\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1\n },\n [`& .${tableSelectionCellClassNames.root}`]: {\n opacity: 1\n }\n },\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n color: tokens.colorNeutralForeground1Hover,\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1\n },\n [`& .${tableSelectionCellClassNames.root}`]: {\n opacity: 1\n }\n },\n // High contrast styles\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n ...shorthands.borderColor('Highlight')\n }\n }\n },\n medium: {\n ...shorthands.borderBottom(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2)\n },\n small: {\n ...shorthands.borderBottom(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2)\n },\n 'extra-small': {\n fontSize: tokens.fontSizeBase200\n },\n brand: {\n backgroundColor: tokens.colorBrandBackground2,\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n ':active': {\n backgroundColor: tokens.colorBrandBackground2,\n color: tokens.colorNeutralForeground1\n },\n '@media(forced-colors: active)': {\n ...shorthands.border('2px', 'solid', 'transparent'),\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n boxSizing: 'border-box',\n ':focus-visible': {\n outlineOffset: '-4px'\n }\n }\n },\n neutral: {\n '@media(forced-colors: active)': {\n ...shorthands.border('2px', 'solid', 'transparent'),\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n boxSizing: 'border-box',\n ':focus-visible': {\n outlineOffset: '-4px'\n }\n },\n backgroundColor: tokens.colorSubtleBackgroundSelected,\n color: tokens.colorNeutralForeground1Hover,\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundSelected\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundSelected\n },\n ...shorthands.borderColor(tokens.colorNeutralStrokeOnBrand)\n },\n none: {}\n});\n/**\n * Apply styling to the TableRow slots based on the state\n */ export const useTableRowStyles_unstable = (state)=>{\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles()\n };\n state.root.className = mergeClasses(tableRowClassNames.root, styles.root, !state.isHeaderRow && styles.rootInteractive, styles[state.size], state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, styles[state.appearance], state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useTableRow_unstable } from './useTableRow';\nimport { renderTableRow_unstable } from './renderTableRow';\nimport { useTableRowStyles_unstable } from './useTableRowStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TableRow component\n */ export const TableRow = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTableRow_unstable(props, ref);\n useTableRowStyles_unstable(state);\n useCustomStyleHook_unstable('useTableRowStyles_unstable')(state);\n return renderTableRow_unstable(state);\n});\nTableRow.displayName = 'TableRow';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TableRow\n */ export const renderTableRow_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useTableContext } from '../../contexts/tableContext';\n/**\n * Create the state required to render TableBody.\n *\n * The returned state can be modified with hooks such as useTableBodyStyles_unstable,\n * before being passed to renderTableBody_unstable.\n *\n * @param props - props from this instance of TableBody\n * @param ref - reference to root HTMLElement of TableBody\n */ export const useTableBody_unstable = (props, ref)=>{\n const { noNativeElements } = useTableContext();\n var _props_as;\n const rootComponent = ((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : noNativeElements) ? 'div' : 'tbody';\n return {\n components: {\n root: rootComponent\n },\n root: slot.always(getIntrinsicElementProps(rootComponent, {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n role: rootComponent === 'div' ? 'rowgroup' : undefined,\n ...props\n }), {\n elementType: rootComponent\n }),\n noNativeElements\n };\n};\n","import { mergeClasses, makeStyles } from '@griffel/react';\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-row-group'\n }\n});\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'block'\n }\n});\nexport const tableBodyClassName = 'fui-TableBody';\nexport const tableBodyClassNames = {\n root: 'fui-TableBody'\n};\n/**\n * Apply styling to the TableBody slots based on the state\n */ export const useTableBodyStyles_unstable = (state)=>{\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles()\n };\n state.root.className = mergeClasses(tableBodyClassName, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useTableBody_unstable } from './useTableBody';\nimport { renderTableBody_unstable } from './renderTableBody';\nimport { useTableBodyStyles_unstable } from './useTableBodyStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TableBody component\n */ export const TableBody = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTableBody_unstable(props, ref);\n useTableBodyStyles_unstable(state);\n useCustomStyleHook_unstable('useTableBodyStyles_unstable')(state);\n return renderTableBody_unstable(state);\n});\nTableBody.displayName = 'TableBody';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TableBody\n */ export const renderTableBody_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","const defaultCompare = ()=>0;\nconst defaultRenderCell = ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');\n }\n return null;\n};\nconst defaultRenderHeaderCell = ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');\n }\n return null;\n};\n/**\n * Helper function to create column definition with defaults\n * @param options - column definition options\n * @returns - column definition with defaults\n */ export function createTableColumn(options) {\n const { columnId, renderCell = defaultRenderCell, renderHeaderCell = defaultRenderHeaderCell, compare = defaultCompare } = options;\n return {\n columnId,\n renderCell,\n renderHeaderCell,\n compare\n };\n}\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useFocusWithin } from '@fluentui/react-tabster';\nimport { ArrowUpRegular, ArrowDownRegular } from '@fluentui/react-icons';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { useTableContext } from '../../contexts/tableContext';\nconst sortIcons = {\n ascending: /*#__PURE__*/ React.createElement(ArrowUpRegular, {\n fontSize: 12\n }),\n descending: /*#__PURE__*/ React.createElement(ArrowDownRegular, {\n fontSize: 12\n })\n};\n/**\n * Create the state required to render TableHeaderCell.\n *\n * The returned state can be modified with hooks such as useTableHeaderCellStyles_unstable,\n * before being passed to renderTableHeaderCell_unstable.\n *\n * @param props - props from this instance of TableHeaderCell\n * @param ref - reference to root HTMLElement of TableHeaderCell\n */ export const useTableHeaderCell_unstable = (props, ref)=>{\n const { noNativeElements, sortable: contextSortable } = useTableContext();\n const { sortable = contextSortable } = props;\n var _props_as;\n const rootComponent = ((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : noNativeElements) ? 'div' : 'th';\n const buttonSlot = slot.always(props.button, {\n elementType: 'div',\n defaultProps: {\n as: 'div',\n ...!sortable && {\n role: 'presentation',\n tabIndex: undefined\n }\n }\n });\n var _props_sortDirection;\n return {\n components: {\n root: rootComponent,\n button: 'div',\n sortIcon: 'span',\n aside: 'span'\n },\n root: slot.always(getIntrinsicElementProps(rootComponent, {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, useFocusWithin()),\n role: rootComponent === 'div' ? 'columnheader' : undefined,\n 'aria-sort': sortable ? (_props_sortDirection = props.sortDirection) !== null && _props_sortDirection !== void 0 ? _props_sortDirection : 'none' : undefined,\n ...props\n }), {\n elementType: rootComponent\n }),\n aside: slot.optional(props.aside, {\n elementType: 'span'\n }),\n sortIcon: slot.optional(props.sortIcon, {\n renderByDefault: !!props.sortDirection,\n defaultProps: {\n children: props.sortDirection ? sortIcons[props.sortDirection] : undefined\n },\n elementType: 'span'\n }),\n button: useARIAButtonProps(buttonSlot.as, buttonSlot),\n sortable,\n noNativeElements\n };\n};\n","import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nexport const tableHeaderCellClassName = 'fui-TableHeaderCell';\nexport const tableHeaderCellClassNames = {\n root: 'fui-TableHeaderCell',\n button: 'fui-TableHeaderCell__button',\n sortIcon: 'fui-TableHeaderCell__sortIcon',\n aside: 'fui-TableHeaderCell__aside'\n};\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-cell',\n verticalAlign: 'middle'\n }\n});\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n ...shorthands.flex(1, 1, '0px'),\n minWidth: '0px'\n }\n});\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n fontWeight: tokens.fontWeightRegular,\n ...shorthands.padding('0px', tokens.spacingHorizontalS),\n ...createCustomFocusIndicatorStyle({\n ...shorthands.outline('2px', 'solid', tokens.colorStrokeFocus2),\n ...shorthands.borderRadius(tokens.borderRadiusMedium)\n }, {\n selector: 'focus-within'\n }),\n position: 'relative'\n },\n rootInteractive: {\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed\n }\n },\n resetButton: {\n resize: 'horizontal',\n boxSizing: 'content-box',\n backgroundColor: 'inherit',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'normal',\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0),\n ...shorthands.borderStyle('none'),\n textAlign: 'unset'\n },\n button: {\n position: 'relative',\n width: '100%',\n display: 'flex',\n flexGrow: 1,\n height: '100%',\n alignItems: 'center',\n ...shorthands.gap(tokens.spacingHorizontalXS),\n minHeight: '32px',\n ...shorthands.flex(1, 1, '0px'),\n outlineStyle: 'none'\n },\n sortable: {\n cursor: 'pointer'\n },\n sortIcon: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: tokens.spacingVerticalXXS\n },\n resizeHandle: {}\n});\n/**\n * Apply styling to the TableHeaderCell slots based on the state\n */ export const useTableHeaderCellStyles_unstable = (state)=>{\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles()\n };\n state.root.className = mergeClasses(tableHeaderCellClassNames.root, styles.root, state.sortable && styles.rootInteractive, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.root.className);\n state.button.className = mergeClasses(tableHeaderCellClassNames.button, styles.resetButton, styles.button, state.sortable && styles.sortable, state.button.className);\n if (state.sortIcon) {\n state.sortIcon.className = mergeClasses(tableHeaderCellClassNames.sortIcon, styles.sortIcon, state.sortIcon.className);\n }\n if (state.aside) {\n state.aside.className = mergeClasses(tableHeaderCellClassNames.aside, styles.resizeHandle, state.aside.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useTableHeaderCell_unstable } from './useTableHeaderCell';\nimport { renderTableHeaderCell_unstable } from './renderTableHeaderCell';\nimport { useTableHeaderCellStyles_unstable } from './useTableHeaderCellStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TableHeaderCell component\n */ export const TableHeaderCell = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTableHeaderCell_unstable(props, ref);\n useTableHeaderCellStyles_unstable(state);\n useCustomStyleHook_unstable('useTableHeaderCellStyles_unstable')(state);\n return renderTableHeaderCell_unstable(state);\n});\nTableHeaderCell.displayName = 'TableHeaderCell';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TableHeaderCell\n */ export const renderTableHeaderCell_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n /*#__PURE__*/ _jsxs(state.button, {\n children: [\n state.root.children,\n state.sortIcon && /*#__PURE__*/ _jsx(state.sortIcon, {})\n ]\n }),\n state.aside && /*#__PURE__*/ _jsx(state.aside, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useTableContext } from '../../contexts/tableContext';\n/**\n * Create the state required to render TableCell.\n *\n * The returned state can be modified with hooks such as useTableCellStyles_unstable,\n * before being passed to renderTableCell_unstable.\n *\n * @param props - props from this instance of TableCell\n * @param ref - reference to root HTMLElement of TableCell\n */ export const useTableCell_unstable = (props, ref)=>{\n const { noNativeElements, size } = useTableContext();\n var _props_as;\n const rootComponent = ((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : noNativeElements) ? 'div' : 'td';\n return {\n components: {\n root: rootComponent\n },\n root: slot.always(getIntrinsicElementProps(rootComponent, {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n role: rootComponent === 'div' ? 'cell' : undefined,\n ...props\n }), {\n elementType: rootComponent\n }),\n noNativeElements,\n size\n };\n};\n","import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nexport const tableCellClassName = 'fui-TableCell';\nexport const tableCellClassNames = {\n root: tableCellClassName\n};\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-cell',\n verticalAlign: 'middle'\n },\n medium: {\n height: '44px'\n },\n small: {\n height: '34px'\n },\n 'extra-small': {\n height: '24px'\n }\n});\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n minWidth: '0px',\n alignItems: 'center',\n ...shorthands.flex(1, 1, '0px')\n },\n medium: {\n minHeight: '44px'\n },\n small: {\n minHeight: '34px'\n },\n 'extra-small': {\n minHeight: '24px'\n }\n});\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n position: 'relative',\n ...shorthands.padding('0px', tokens.spacingHorizontalS),\n ...createCustomFocusIndicatorStyle({\n ...shorthands.outline('2px', 'solid', tokens.colorStrokeFocus2),\n ...shorthands.borderRadius(tokens.borderRadiusMedium)\n }, {\n selector: 'focus'\n })\n }\n});\n/**\n * Apply styling to the TableCell slots based on the state\n */ export const useTableCellStyles_unstable = (state)=>{\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles()\n };\n state.root.className = mergeClasses(tableCellClassNames.root, styles.root, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.noNativeElements ? layoutStyles.flex[state.size] : layoutStyles.table[state.size], state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useTableCell_unstable } from './useTableCell';\nimport { renderTableCell_unstable } from './renderTableCell';\nimport { useTableCellStyles_unstable } from './useTableCellStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TableCell component\n */ export const TableCell = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTableCell_unstable(props, ref);\n useTableCellStyles_unstable(state);\n useCustomStyleHook_unstable('useTableCellStyles_unstable')(state);\n return renderTableCell_unstable(state);\n});\nTableCell.displayName = 'TableCell';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TableCell\n */ export const renderTableCell_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useTableContext } from '../../contexts/tableContext';\nconst tableAvatarSizeMap = {\n medium: 32,\n small: 24,\n 'extra-small': 20\n};\n/**\n * Create the state required to render TableCellLayout.\n *\n * The returned state can be modified with hooks such as useTableCellLayoutStyles_unstable,\n * before being passed to renderTableCellLayout_unstable.\n *\n * @param props - props from this instance of TableCellLayout\n * @param ref - reference to root HTMLElement of TableCellLayout\n */ export const useTableCellLayout_unstable = (props, ref)=>{\n const { size } = useTableContext();\n return {\n components: {\n root: 'div',\n main: 'span',\n description: 'span',\n content: 'div',\n media: 'span'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'div'\n }),\n appearance: props.appearance,\n truncate: props.truncate,\n main: slot.optional(props.main, {\n renderByDefault: true,\n elementType: 'span'\n }),\n media: slot.optional(props.media, {\n elementType: 'span'\n }),\n description: slot.optional(props.description, {\n elementType: 'span'\n }),\n content: slot.optional(props.content, {\n renderByDefault: !!props.description || !!props.children,\n elementType: 'div'\n }),\n avatarSize: tableAvatarSizeMap[size],\n size\n };\n};\n","import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { typographyStyles } from '@fluentui/react-theme';\nexport const tableCellLayoutClassNames = {\n root: 'fui-TableCellLayout',\n media: 'fui-TableCellLayout__media',\n main: 'fui-TableCellLayout__main',\n description: 'fui-TableCellLayout__description',\n content: 'fui-TableCellLayout__content'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n ...shorthands.gap(tokens.spacingHorizontalS),\n ...shorthands.flex(1, 1, '0px')\n },\n rootTruncate: {\n overflowX: 'hidden'\n },\n content: {\n display: 'flex',\n flexDirection: 'column'\n },\n contentTruncate: {\n overflowX: 'hidden'\n },\n media: {\n display: 'flex',\n alignItems: 'center'\n },\n mediaExtraSmall: {\n fontSize: '16px'\n },\n mediaSmallAndMedium: {\n fontSize: '20px'\n },\n mediaPrimary: {\n fontSize: '24px'\n },\n mainPrimary: {\n fontWeight: tokens.fontWeightSemibold\n },\n mainTruncate: {\n overflowX: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n description: {\n color: tokens.colorNeutralForeground2,\n ...typographyStyles.caption1\n }\n});\n/**\n * Apply styling to the TableCellLayout slots based on the state\n */ export const useTableCellLayoutStyles_unstable = (state)=>{\n const styles = useStyles();\n const { truncate } = state;\n state.root.className = mergeClasses(tableCellLayoutClassNames.root, styles.root, truncate && styles.rootTruncate, state.root.className);\n const primary = state.appearance === 'primary';\n if (state.media) {\n const mediaSizedStyles = {\n small: styles.mediaSmallAndMedium,\n medium: styles.mediaSmallAndMedium,\n 'extra-small': styles.mediaExtraSmall\n };\n state.media.className = mergeClasses(tableCellLayoutClassNames.media, styles.media, mediaSizedStyles[state.size], primary && styles.mediaPrimary, state.media.className);\n }\n if (state.main) {\n state.main.className = mergeClasses(tableCellLayoutClassNames.main, truncate && styles.mainTruncate, primary && styles.mainPrimary, state.main.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(tableCellLayoutClassNames.description, styles.description, state.description.className);\n }\n if (state.content) {\n state.content.className = mergeClasses(tableCellLayoutClassNames.content, styles.content, truncate && styles.contentTruncate, state.content.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useTableCellLayout_unstable } from './useTableCellLayout';\nimport { renderTableCellLayout_unstable } from './renderTableCellLayout';\nimport { useTableCellLayoutStyles_unstable } from './useTableCellLayoutStyles.styles';\nimport { useTableCellLayoutContextValues_unstable } from './useTableCellLayoutContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TableCellLayout component\n */ export const TableCellLayout = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTableCellLayout_unstable(props, ref);\n useTableCellLayoutStyles_unstable(state);\n useCustomStyleHook_unstable('useTableCellLayoutStyles_unstable')(state);\n return renderTableCellLayout_unstable(state, useTableCellLayoutContextValues_unstable(state));\n});\nTableCellLayout.displayName = 'TableCellLayout';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n/**\n * Render the final JSX of TableCellLayout\n */ export const renderTableCellLayout_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.media && /*#__PURE__*/ _jsx(AvatarContextProvider, {\n value: contextValues.avatar,\n children: /*#__PURE__*/ _jsx(state.media, {})\n }),\n state.content && /*#__PURE__*/ _jsxs(state.content, {\n children: [\n state.main && /*#__PURE__*/ _jsx(state.main, {\n children: state.root.children\n }),\n state.description && /*#__PURE__*/ _jsx(state.description, {})\n ]\n })\n ]\n });\n};\n","import * as React from 'react';\nexport function useTableCellLayoutContextValues_unstable(state) {\n const { avatarSize } = state;\n const avatar = React.useMemo(()=>({\n size: avatarSize\n }), [\n avatarSize\n ]);\n return {\n avatar\n };\n}\n","import * as React from 'react';\nimport { useEventCallback, useSelection } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSelectionState = {\n allRowsSelected: false,\n clearRows: noop,\n deselectRow: noop,\n isRowSelected: ()=>false,\n selectRow: noop,\n selectedRows: new Set(),\n someRowsSelected: false,\n toggleAllRows: noop,\n toggleRow: noop,\n selectionMode: 'multiselect'\n};\nexport function useTableSelection(options) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableSelectionState(tableState, options);\n}\nexport function useTableSelectionState(tableState, options) {\n const { items, getRowId } = tableState;\n const { selectionMode: selectionMode, defaultSelectedItems, selectedItems, onSelectionChange } = options;\n const [selected, selectionMethods] = useSelection({\n selectionMode,\n defaultSelectedItems,\n selectedItems,\n onSelectionChange\n });\n // Selection state can contain obselete items (i.e. rows that are removed)\n const selectableRowIds = React.useMemo(()=>{\n const rowIds = new Set();\n for(let i = 0; i < items.length; i++){\n var _getRowId;\n rowIds.add((_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(items[i])) !== null && _getRowId !== void 0 ? _getRowId : i);\n }\n return rowIds;\n }, [\n items,\n getRowId\n ]);\n const allRowsSelected = React.useMemo(()=>{\n if (selectionMode === 'single') {\n const selectedRow = Array.from(selected)[0];\n return selectableRowIds.has(selectedRow);\n }\n // multiselect case\n if (selected.size < selectableRowIds.size) {\n return false;\n }\n let res = true;\n selectableRowIds.forEach((selectableRowId)=>{\n if (!selected.has(selectableRowId)) {\n res = false;\n }\n });\n return res;\n }, [\n selectableRowIds,\n selected,\n selectionMode\n ]);\n const someRowsSelected = React.useMemo(()=>{\n if (selected.size <= 0) {\n return false;\n }\n let res = false;\n selectableRowIds.forEach((selectableRowId)=>{\n if (selected.has(selectableRowId)) {\n res = true;\n }\n });\n return res;\n }, [\n selectableRowIds,\n selected\n ]);\n const toggleAllRows = useEventCallback((e)=>{\n selectionMethods.toggleAllItems(e, items.map((item, i)=>{\n var _getRowId;\n return (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i;\n }));\n });\n const toggleRow = useEventCallback((e, rowId)=>selectionMethods.toggleItem(e, rowId));\n const deselectRow = useEventCallback((e, rowId)=>selectionMethods.deselectItem(e, rowId));\n const selectRow = useEventCallback((e, rowId)=>selectionMethods.selectItem(e, rowId));\n const isRowSelected = (rowId)=>selectionMethods.isSelected(rowId);\n const clearRows = useEventCallback((e)=>selectionMethods.clearItems(e));\n return {\n ...tableState,\n selection: {\n selectionMode,\n someRowsSelected,\n allRowsSelected,\n selectedRows: selected,\n toggleRow,\n toggleAllRows,\n clearRows,\n deselectRow,\n selectRow,\n isRowSelected\n }\n };\n}\n","import * as React from 'react';\nimport { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSortState = {\n getSortDirection: ()=>'ascending',\n setColumnSort: noop,\n sort: (rows)=>[\n ...rows\n ],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop\n};\nexport function useTableSort(options) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableSortState(tableState, options);\n}\nexport function useTableSortState(tableState, options) {\n const { columns } = tableState;\n const { sortState, defaultSortState, onSortChange: onSortChangeProp = noop } = options;\n const [sorted, setSorted] = useControllableState({\n initialState: {\n sortDirection: 'ascending',\n sortColumn: undefined\n },\n defaultState: defaultSortState,\n state: sortState\n });\n const { sortColumn, sortDirection } = sorted;\n const onSortChange = useEventCallback(onSortChangeProp);\n const toggleColumnSort = React.useCallback((e, columnId)=>{\n setSorted((s)=>{\n const newState = {\n ...s,\n sortColumn: columnId\n };\n if (s.sortColumn === columnId) {\n newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';\n } else {\n newState.sortDirection = 'ascending';\n }\n onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);\n return newState;\n });\n }, [\n onSortChange,\n setSorted\n ]);\n const setColumnSort = (e, nextSortColumn, nextSortDirection)=>{\n const newState = {\n sortColumn: nextSortColumn,\n sortDirection: nextSortDirection\n };\n onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);\n setSorted(newState);\n };\n const sort = React.useCallback((rows)=>{\n return rows.slice().sort((a, b)=>{\n const sortColumnDef = columns.find((column)=>column.columnId === sortColumn);\n if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {\n return 0;\n }\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n }, [\n columns,\n sortColumn,\n sortDirection\n ]);\n const getSortDirection = (columnId)=>{\n return sortColumn === columnId ? sortDirection : undefined;\n };\n return {\n ...tableState,\n sort: {\n sort,\n sortColumn,\n sortDirection,\n setColumnSort,\n toggleColumnSort,\n getSortDirection\n }\n };\n}\n","import * as React from 'react';\nimport { TableResizeHandle } from '../TableResizeHandle';\nimport { useMeasureElement } from './useMeasureElement';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useKeyboardResizing } from './useKeyboardResizing';\nexport const defaultColumnSizingState = {\n getColumnWidths: ()=>[],\n getOnMouseDown: ()=>()=>null,\n setColumnWidth: ()=>null,\n getTableProps: ()=>({}),\n getTableHeaderCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n getTableCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n enableKeyboardMode: ()=>()=>null\n};\nexport function useTableColumnSizing_unstable(params) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableColumnSizingState(tableState, params);\n}\nfunction getColumnStyles(column) {\n const width = column.width;\n return {\n // native styles\n width,\n // non-native element styles (flex layout)\n minWidth: width,\n maxWidth: width\n };\n}\nfunction useTableColumnSizingState(tableState, params) {\n const { columns } = tableState;\n // Gets the container width\n const { width, measureElementRef } = useMeasureElement();\n // Creates the state based on columns and available containerWidth\n const columnResizeState = useTableColumnResizeState(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);\n // Creates the mouse handler and attaches the state to it\n const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);\n // Creates the keyboard handler for resizing columns\n const { toggleInteractiveMode, getKeyboardResizingProps } = useKeyboardResizing(columnResizeState);\n const enableKeyboardMode = React.useCallback((columnId, onChange)=>(e)=>{\n e.preventDefault();\n e.nativeEvent.stopPropagation();\n toggleInteractiveMode(columnId, onChange);\n }, [\n toggleInteractiveMode\n ]);\n const { getColumnById, setColumnWidth, getColumns } = columnResizeState;\n const { getOnMouseDown } = mouseHandler;\n return {\n ...tableState,\n tableRef: measureElementRef,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: {\n getOnMouseDown,\n setColumnWidth: (columnId, w)=>setColumnWidth(undefined, {\n columnId,\n width: w\n }),\n getColumnWidths: getColumns,\n getTableProps: (props = {})=>{\n return {\n ...props,\n style: {\n minWidth: 'fit-content',\n ...props.style || {}\n }\n };\n },\n getTableHeaderCellProps: React.useCallback((columnId)=>{\n var _columns_;\n const col = getColumnById(columnId);\n const isLastColumn = ((_columns_ = columns[columns.length - 1]) === null || _columns_ === void 0 ? void 0 : _columns_.columnId) === columnId;\n const aside = isLastColumn ? null : /*#__PURE__*/ React.createElement(TableResizeHandle, {\n onMouseDown: getOnMouseDown(columnId),\n onTouchStart: getOnMouseDown(columnId),\n ...getKeyboardResizingProps(columnId, (col === null || col === void 0 ? void 0 : col.width) || 0)\n });\n return col ? {\n style: getColumnStyles(col),\n aside\n } : {};\n }, [\n getColumnById,\n columns,\n getKeyboardResizingProps,\n getOnMouseDown\n ]),\n getTableCellProps: React.useCallback((columnId)=>{\n const col = getColumnById(columnId);\n return col ? {\n style: getColumnStyles(col)\n } : {};\n }, [\n getColumnById\n ]),\n enableKeyboardMode\n }\n };\n}\n","import * as React from 'react';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\nimport { defaultColumnSizingState } from './useTableColumnSizing';\nconst defaultRowEnhancer = (row)=>row;\nexport const defaultTableState = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: ()=>[],\n getRowId: ()=>'',\n items: [],\n columns: [],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n};\nexport function useTableFeatures(options, plugins = []) {\n const { items, getRowId, columns } = options;\n const getRows = React.useCallback((rowEnhancer = defaultRowEnhancer)=>{\n return items.map((item, i)=>{\n var _getRowId;\n return rowEnhancer({\n item,\n rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i\n });\n });\n }, [\n items,\n getRowId\n ]);\n const initialState = {\n getRowId,\n items,\n columns,\n getRows,\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n };\n return plugins.reduce((state, plugin)=>plugin(state), initialState);\n}\n","import * as React from 'react';\n/**\n * @internal\n */ export const BackgroundAppearanceContext = React.createContext(undefined);\n/**\n * @internal\n */ export const BackgroundAppearanceProvider = BackgroundAppearanceContext.Provider;\nexport function useBackgroundAppearance() {\n return React.useContext(BackgroundAppearanceContext);\n}\n","import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\n/**\n * The useLinkState_unstable hook processes the Link state.\n * @param state - Link state to mutate.\n */ export const useLinkState_unstable = (state)=>{\n const { disabled, disabledFocusable } = state;\n const { onClick, onKeyDown, role, tabIndex } = state.root;\n // Add href for anchor elements.\n if (state.root.as === 'a') {\n state.root.href = disabled ? undefined : state.root.href;\n // Add role=\"link\" for disabled and disabledFocusable links.\n if (disabled || disabledFocusable) {\n state.root.role = role || 'link';\n }\n }\n // Add tabIndex=0 for anchor and span elements.\n if (state.root.as === 'a' || state.root.as === 'span') {\n state.root.tabIndex = tabIndex !== null && tabIndex !== void 0 ? tabIndex : disabled && !disabledFocusable ? undefined : 0;\n }\n // Disallow click event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onClick = (ev)=>{\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n } else {\n onClick === null || onClick === void 0 ? void 0 : onClick(ev);\n }\n };\n // Disallow keydown event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onKeyDown = (ev)=>{\n if ((disabled || disabledFocusable) && (ev.key === Enter || ev.key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(ev);\n }\n };\n // Set the aria-disabled and disabled props correctly.\n state.disabled = disabled || disabledFocusable;\n state.root['aria-disabled'] = disabled || disabledFocusable || undefined;\n if (state.root.as === 'button') {\n state.root.disabled = disabled && !disabledFocusable;\n }\n return state;\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBackgroundAppearance } from '@fluentui/react-shared-contexts';\nimport { useLinkState_unstable } from './useLinkState';\n/**\n * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */ export const useLink_unstable = (props, ref)=>{\n const backgroundAppearance = useBackgroundAppearance();\n const { appearance = 'default', disabled = false, disabledFocusable = false, inline = false } = props;\n const elementType = props.as || (props.href ? 'a' : 'button');\n // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types\n const propsWithAssignedAs = {\n role: elementType === 'span' ? 'button' : undefined,\n type: elementType === 'button' ? 'button' : undefined,\n ...props,\n as: elementType\n };\n const state = {\n // Props passed at the top-level\n appearance,\n disabled,\n disabledFocusable,\n inline,\n // Slots definition\n components: {\n root: elementType\n },\n root: slot.always(getIntrinsicElementProps(elementType, {\n ref,\n ...propsWithAssignedAs\n }), {\n elementType\n }),\n backgroundAppearance\n };\n useLinkState_unstable(state);\n return state;\n};\n","import { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const linkClassNames = {\n root: 'fui-Link'\n};\nconst useStyles = makeStyles({\n focusIndicator: createCustomFocusIndicatorStyle({\n textDecorationColor: tokens.colorStrokeFocus2,\n textDecorationLine: 'underline',\n textDecorationStyle: 'double',\n outlineStyle: 'none'\n }),\n // Common styles.\n root: {\n ':focus-visible': {\n outlineStyle: 'none'\n },\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n color: tokens.colorBrandForegroundLink,\n cursor: 'pointer',\n display: 'inline',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightRegular,\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n ...shorthands.overflow('inherit'),\n textAlign: 'left',\n textDecorationLine: 'none',\n textDecorationThickness: tokens.strokeWidthThin,\n textOverflow: 'inherit',\n userSelect: 'text',\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkPressed\n }\n },\n // Overrides when the Link renders as a button.\n button: {\n ...shorthands.borderStyle('none')\n },\n // Overrides when an href is present so the Link renders as an anchor.\n href: {\n fontSize: 'inherit'\n },\n // Overrides when the Link appears subtle.\n subtle: {\n color: tokens.colorNeutralForeground2,\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2Hover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2Pressed\n }\n },\n // Overrides when the Link is rendered inline within text.\n inline: {\n textDecorationLine: 'underline'\n },\n // Overrides when the Link is disabled.\n disabled: {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n ':hover': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n ':active': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n }\n },\n inverted: {\n color: tokens.colorBrandForegroundInverted,\n ':hover': {\n color: tokens.colorBrandForegroundInvertedHover\n },\n ':active': {\n color: tokens.colorBrandForegroundInvertedPressed\n }\n }\n});\nexport const useLinkStyles_unstable = (state)=>{\n const styles = useStyles();\n const { appearance, disabled, inline, root, backgroundAppearance } = state;\n state.root.className = mergeClasses(linkClassNames.root, styles.root, styles.focusIndicator, root.as === 'a' && root.href && styles.href, root.as === 'button' && styles.button, appearance === 'subtle' && styles.subtle, backgroundAppearance === 'inverted' && styles.inverted, inline && styles.inline, disabled && styles.disabled, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useLink_unstable } from './useLink';\nimport { useLinkStyles_unstable } from './useLinkStyles.styles';\nimport { renderLink_unstable } from './renderLink';\n/**\n * A Link is a reference to data that a user can follow by clicking or tapping it.\n */ export const Link = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useLink_unstable(props, ref);\n useLinkStyles_unstable(state);\n return renderLink_unstable(state);\n// Work around some small mismatches in inferred types which don't matter in practice\n});\nLink.displayName = 'Link';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Renders a Link component by passing the state defined props to the appropriate slots.\n */ export const renderLink_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { Label, Link, makeStyles, shorthands } from '@fluentui/react-components';\nimport { tokens } from '@fluentui/tokens';\nimport { SharedStyles } from '../../../styles';\n\nconst useClasses = makeStyles({\n root: {\n ...shorthands.margin(tokens.spacingVerticalM, tokens.spacingHorizontalM),\n ...SharedStyles.scroll,\n display: 'flex',\n flexDirection: 'column',\n },\n footer: {\n paddingTop: tokens.spacingVerticalL,\n },\n});\n\ninterface ITabViewProps {\n title: string;\n learnMoreDescription: string;\n learnMoreLink: string;\n children?: React.ReactNode;\n}\n\nexport const TabView: React.FC = ({ title, learnMoreDescription, learnMoreLink, children }) => {\n const classes = useClasses();\n\n return (\n
\n

{title}

\n {children}\n \n
\n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport {\n Button,\n Label,\n Menu,\n MenuItem,\n MenuList,\n MenuPopover,\n MenuTrigger,\n ProgressBar,\n Radio,\n RadioGroup,\n Spinner,\n Table,\n TableBody,\n TableCell,\n TableCellLayout,\n TableColumnDefinition,\n TableColumnId,\n TableHeader,\n TableHeaderCell,\n TableHeaderCellProps,\n TableRow,\n Tooltip,\n createTableColumn,\n makeStyles,\n shorthands,\n tokens,\n useTableFeatures,\n useTableSort,\n} from '@fluentui/react-components';\nimport {\n DocumentArrowUp20Regular,\n DocumentPdfRegular,\n DocumentTextRegular,\n FluentIconsProps,\n GlobeAdd20Regular,\n} from '@fluentui/react-icons';\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Constants } from '../../../Constants';\nimport { useChat, useFile } from '../../../libs/hooks';\nimport { ChatMemorySource } from '../../../libs/models/ChatMemorySource';\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { Add20 } from '../../shared/BundledIcons';\nimport { timestampToDateString } from '../../utils/TextUtils';\nimport { TabView } from './TabView';\n\nconst EmptyGuid = '00000000-0000-0000-0000-000000000000';\n\nconst useClasses = makeStyles({\n functional: {\n display: 'flex',\n flexDirection: 'row',\n ...shorthands.margin('0', '0', tokens.spacingVerticalS, '0'),\n },\n uploadButton: {\n ...shorthands.margin('0', tokens.spacingHorizontalS, '0', '0'),\n },\n vectorDatabase: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'baseline',\n marginLeft: 'auto',\n ...shorthands.gap(tokens.spacingHorizontalSNudge),\n },\n table: {\n backgroundColor: tokens.colorNeutralBackground1,\n },\n tableHeader: {\n fontWeight: tokens.fontSizeBase600,\n },\n});\n\ninterface TableItem {\n id: string;\n chatId: string;\n name: {\n label: string;\n icon: JSX.Element;\n url?: string;\n };\n createdOn: {\n label: string;\n timestamp: number;\n };\n size: number;\n}\n\nexport const DocumentsTab: React.FC = () => {\n const classes = useClasses();\n const chat = useChat();\n const fileHandler = useFile();\n\n const { serviceInfo } = useAppSelector((state: RootState) => state.app);\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\n const { importingDocuments } = conversations[selectedId];\n\n const [resources, setResources] = React.useState([]);\n const localDocumentFileRef = useRef(null);\n const globalDocumentFileRef = useRef(null);\n\n React.useEffect(() => {\n if (!conversations[selectedId].disabled) {\n const importingResources = importingDocuments\n ? importingDocuments.map((document, index) => {\n return {\n id: `in-progress-${index}`,\n chatId: selectedId,\n sourceType: 'N/A',\n name: document,\n sharedBy: 'N/A',\n createdOn: 0,\n size: 0,\n } as ChatMemorySource;\n })\n : [];\n setResources(importingResources);\n\n void chat.getChatMemorySources(selectedId).then((sources) => {\n setResources([...importingResources, ...sources]);\n });\n }\n // We don't want to have chat as one of the dependencies as it will cause infinite loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [importingDocuments, selectedId]);\n\n const { columns, rows } = useTable(resources);\n return (\n \n
\n {/* Hidden input for file upload. Only accept .txt and .pdf files for now. */}\n {\n void fileHandler.handleImport(selectedId, localDocumentFileRef, false);\n }}\n />\n {\n void fileHandler.handleImport(selectedId, globalDocumentFileRef, true);\n }}\n />\n \n \n \n }\n disabled={\n conversations[selectedId].disabled ||\n (importingDocuments && importingDocuments.length > 0)\n }\n >\n Upload\n \n \n \n \n \n localDocumentFileRef.current?.click()}\n icon={}\n disabled={\n conversations[selectedId].disabled ||\n (importingDocuments && importingDocuments.length > 0)\n }\n >\n New local chat document\n \n globalDocumentFileRef.current?.click()}\n icon={}\n disabled={\n conversations[selectedId].disabled ||\n (importingDocuments && importingDocuments.length > 0)\n }\n >\n New global document\n \n \n \n \n {importingDocuments && importingDocuments.length > 0 && }\n {/* Hardcode vector database as we don't support switching vector store dynamically now. */}\n
\n \n \n {serviceInfo.memoryStore.types.map((storeType) => {\n return (\n \n );\n })}\n \n
\n
\n
\n \n {columns.map((column) => column.renderHeaderCell())}\n \n \n {rows.map((item) => (\n {columns.map((column) => column.renderCell(item))}\n ))}\n \n
\n \n );\n};\n\nfunction useTable(resources: ChatMemorySource[]) {\n const headerSortProps = (columnId: TableColumnId): TableHeaderCellProps => ({\n onClick: (e: React.MouseEvent) => {\n toggleColumnSort(e, columnId);\n },\n sortDirection: getSortDirection(columnId),\n });\n\n const columns: Array> = [\n createTableColumn({\n columnId: 'name',\n renderHeaderCell: () => (\n \n Name\n \n ),\n renderCell: (item) => (\n \n \n \n {item.name.label}\n \n \n \n ),\n compare: (a, b) => {\n const comparison = a.name.label.localeCompare(b.name.label);\n return getSortDirection('name') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n createTableColumn({\n columnId: 'createdOn',\n renderHeaderCell: () => (\n \n Created on\n \n ),\n renderCell: (item) => (\n \n {item.id.startsWith('in-progress') ? 'N/A' : item.createdOn.label}\n \n ),\n compare: (a, b) => {\n const comparison = a.createdOn.timestamp > b.createdOn.timestamp ? 1 : -1;\n return getSortDirection('createdOn') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n createTableColumn({\n columnId: 'fileSize',\n renderHeaderCell: () => (\n \n Size (bytes)\n \n ),\n renderCell: (item) => (\n \n {item.id.startsWith('in-progress') ? 'N/A' : item.size.toLocaleString()}\n \n ),\n compare: (a, b) => {\n const aAccess = getAccessString(a.chatId);\n const bAccess = getAccessString(b.chatId);\n const comparison = aAccess.localeCompare(bAccess);\n return getSortDirection('fileSize') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n createTableColumn({\n columnId: 'access',\n renderHeaderCell: () => (\n \n Access\n \n ),\n renderCell: (item) => (\n {getAccessString(item.chatId)}\n ),\n compare: (a, b) => {\n const aAccess = getAccessString(a.chatId);\n const bAccess = getAccessString(b.chatId);\n const comparison = aAccess.localeCompare(bAccess);\n return getSortDirection('access') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n createTableColumn({\n columnId: 'progress',\n renderHeaderCell: () => (\n \n Progress\n \n ),\n renderCell: (item) => (\n \n \n \n ),\n compare: (a, b) => {\n const aAccess = getAccessString(a.chatId);\n const bAccess = getAccessString(b.chatId);\n const comparison = aAccess.localeCompare(bAccess);\n return getSortDirection('progress') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n ];\n\n const items = resources.map((item) => ({\n id: item.id,\n chatId: item.chatId,\n name: {\n label: item.name,\n icon: getFileIconByFileExtension(item.name),\n url: item.hyperlink,\n },\n createdOn: {\n label: timestampToDateString(item.createdOn),\n timestamp: item.createdOn,\n },\n size: item.size,\n }));\n\n const {\n sort: { getSortDirection, toggleColumnSort, sortColumn },\n } = useTableFeatures(\n {\n columns,\n items,\n },\n [\n useTableSort({\n defaultSortState: { sortColumn: 'createdOn', sortDirection: 'descending' },\n }),\n ],\n );\n\n if (sortColumn) {\n items.sort((a, b) => {\n const compare = columns.find((column) => column.columnId === sortColumn)?.compare;\n return compare?.(a, b) ?? 0;\n });\n }\n\n return { columns, rows: items };\n}\n\nfunction getAccessString(chatId: string) {\n return chatId === EmptyGuid ? 'Global' : 'This chat';\n}\n\nexport function getFileIconByFileExtension(fileName: string, props: FluentIconsProps = {}) {\n const extension = fileName.toLowerCase().substring(fileName.lastIndexOf('.') + 1);\n if (extension === 'pdf') {\n return ;\n }\n return ;\n}\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport {\n Caption1,\n Card,\n CardHeader,\n ProgressBar,\n Text,\n makeStyles,\n mergeClasses,\n shorthands,\n tokens,\n} from '@fluentui/react-components';\nimport React from 'react';\nimport { IChatMessage } from '../../../libs/models/ChatMessage';\nimport { SharedStyles } from '../../../styles';\nimport { getFileIconByFileExtension } from '../tabs/DocumentsTab';\n\nconst useClasses = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.margin(tokens.spacingVerticalM, 0),\n },\n card: {\n height: 'fit-content',\n width: '275px',\n backgroundColor: tokens.colorNeutralBackground3,\n ...shorthands.gap(0),\n ...shorthands.margin(tokens.spacingVerticalXXS, 0),\n ...shorthands.padding(tokens.spacingVerticalXXS, 0),\n },\n cardCaption: {\n color: tokens.colorNeutralForeground2,\n },\n cardHeader: {\n ...shorthands.margin(0, tokens.spacingHorizontalS),\n },\n cardHeaderText: {\n fontSize: 'small',\n fontWeight: '500',\n },\n cardHeaderTextContainer: {\n ...SharedStyles.overflowEllipsis,\n },\n footer: {\n float: 'right',\n fontSize: 'small',\n fontWeight: '500',\n color: tokens.colorNeutralForegroundDisabled,\n },\n icon: {\n height: '32px',\n width: '32px',\n },\n floatLeft: {\n float: 'left',\n },\n success: {\n backgroundColor: '#ff8200',\n },\n error: {\n backgroundColor: '#ff2400',\n },\n});\n\ninterface ChatHistoryDocumentContentProps {\n isMe: boolean;\n message: IChatMessage;\n}\n\ninterface DocumentData {\n name: string;\n size: string;\n isUploaded: boolean;\n}\n\ninterface DocumentMessageContent {\n documents: DocumentData[];\n}\n\nexport const ChatHistoryDocumentContent: React.FC = ({ isMe, message }) => {\n const classes = useClasses();\n\n let documents: DocumentData[] = [];\n try {\n ({ documents } = JSON.parse(message.content) as DocumentMessageContent);\n } catch (e) {\n console.error('Error parsing chat history file item: ' + message.content);\n }\n\n return (\n <>\n {documents.map(({ name, size, isUploaded }, index) => (\n
\n \n \n {name}\n \n ),\n }}\n description={\n \n {size}\n \n }\n />\n \n \n \n {isUploaded ? 'Success: file uploaded' : 'Failed: file failed to upload'}\n \n
\n ))}\n \n );\n};\n","import { Button, Text, Tooltip, makeStyles } from '@fluentui/react-components';\nimport { useCallback } from 'react';\nimport { UserFeedback } from '../../../libs/models/ChatMessage';\nimport { useAppDispatch, useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { updateMessageProperty } from '../../../redux/features/conversations/conversationsSlice';\nimport { ThumbDislike16, ThumbLike16 } from '../../shared/BundledIcons';\n\nconst useClasses = makeStyles({\n root: {\n display: 'flex',\n 'place-content': 'flex-end',\n alignItems: 'center',\n },\n});\n\ninterface IUserFeedbackProps {\n messageIndex: number;\n}\n\nexport const UserFeedbackActions: React.FC = ({ messageIndex }) => {\n const classes = useClasses();\n\n const dispatch = useAppDispatch();\n const { selectedId } = useAppSelector((state: RootState) => state.conversations);\n\n const onUserFeedbackProvided = useCallback(\n (positive: boolean) => {\n dispatch(\n updateMessageProperty({\n chatId: selectedId,\n messageIdOrIndex: messageIndex,\n property: 'userFeedback',\n value: positive ? UserFeedback.Positive : UserFeedback.Negative,\n frontLoad: true,\n }),\n );\n },\n [dispatch, messageIndex, selectedId],\n );\n\n return (\n
\n \n AI-generated content may be incorrect\n \n \n }\n appearance=\"transparent\"\n aria-label=\"Edit\"\n onClick={() => {\n onUserFeedbackProvided(true);\n }}\n />\n \n \n }\n appearance=\"transparent\"\n aria-label=\"Edit\"\n onClick={() => {\n onUserFeedbackProvided(false);\n }}\n />\n \n
\n );\n};\n","import { useMsal } from '@azure/msal-react';\r\nimport {\r\n AvatarProps,\r\n Persona,\r\n Text,\r\n // ToggleButton,\r\n makeStyles,\r\n mergeClasses,\r\n shorthands,\r\n} from '@fluentui/react-components';\r\nimport {\r\n Chat24Regular,\r\n // ChevronDown20Regular,\r\n // ChevronUp20Regular,\r\n ClipboardRegular,\r\n Copy20Filled,\r\n Copy20Regular,\r\n FontIncrease24Regular,\r\n Highlight24Regular,\r\n NumberSymbol20Filled,\r\n NumberSymbol20Regular,\r\n Pause16Regular,\r\n Play16Regular,\r\n SplitHorizontal20Regular,\r\n Stop16Filled,\r\n TextUnderline24Filled,\r\n TextWrap20Filled,\r\n TextWrap20Regular,\r\n ThumbDislikeFilled,\r\n ThumbLikeFilled,\r\n Translate16Filled,\r\n} from '@fluentui/react-icons';\r\nimport 'katex/dist/katex.min.css';\r\nimport 'prism-themes/themes/prism-vsc-dark-plus.css';\r\nimport React, { HTMLAttributes, useEffect, useState } from 'react';\r\nimport ReactDOMServer from 'react-dom/server';\r\nimport { BlockMath, InlineMath } from 'react-katex';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\r\nimport remarkGfm from 'remark-gfm';\r\nimport { AuthHelper } from '../../../libs/auth/AuthHelper';\r\nimport { useChat } from '../../../libs/hooks/useChat';\r\nimport { AlertType } from '../../../libs/models/AlertType';\r\nimport { AuthorRoles, ChatMessageType, IChatMessage, UserFeedback } from '../../../libs/models/ChatMessage';\r\nimport { SpeechService } from '../../../libs/services/SpeechService';\r\nimport { useAppDispatch, useAppSelector } from '../../../redux/app/hooks';\r\nimport { RootState } from '../../../redux/app/store';\r\nimport { DefaultChatUser, FeatureKeys } from '../../../redux/features/app/AppState';\r\nimport { addAlert } from '../../../redux/features/app/appSlice';\r\nimport { Breakpoints, customTokens } from '../../../styles';\r\nimport { timestampToDateString } from '../../utils/TextUtils';\r\nimport { PlanViewer } from '../plan-viewer/PlanViewer';\r\nimport { TypingIndicator } from '../typing-indicator/TypingIndicator';\r\nimport { HandleClickFunction, HandleHoverFunction } from './ChatHistory';\r\nimport { ChatHistoryDocumentContent } from './ChatHistoryDocumentContent';\r\n// import { CitationCards } from './CitationCards';\r\nimport { CodeBlock } from './CodeBlock';\r\nimport { UserFeedbackActions } from './UserFeedbackActions';\r\n\r\nconst useClasses = makeStyles({\r\n defaultFontStyle: {},\r\n root: {\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n maxWidth: '100%',\r\n minWidth: '100%',\r\n width: '100%',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n ...shorthands.borderRadius(customTokens.borderRadiusMedium),\r\n ...Breakpoints.small({\r\n maxWidth: '100%',\r\n }),\r\n ...shorthands.gap(customTokens.spacingHorizontalXS),\r\n },\r\n debug: {\r\n position: 'absolute',\r\n top: '-4px',\r\n right: '-4px',\r\n },\r\n alignEnd: {\r\n alignSelf: 'flex-end',\r\n },\r\n persona: {\r\n paddingTop: customTokens.spacingVerticalS,\r\n },\r\n item: {\r\n width: '100%',\r\n backgroundColor: customTokens.colorNeutralBackground1,\r\n ...shorthands.borderRadius(customTokens.borderRadiusMedium),\r\n ...shorthands.padding(customTokens.spacingVerticalS, customTokens.spacingHorizontalL),\r\n },\r\n me: {\r\n backgroundColor: '#f6f6f6',\r\n },\r\n time: {\r\n color: customTokens.colorNeutralForeground3,\r\n fontSize: customTokens.fontSizeBase200,\r\n fontWeight: 400,\r\n },\r\n header: {\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n ...shorthands.gap(customTokens.spacingHorizontalL),\r\n },\r\n canvas: {\r\n width: '100%',\r\n textAlign: 'center',\r\n },\r\n image: {\r\n maxWidth: '250px',\r\n },\r\n blur: {\r\n filter: 'blur(5px)',\r\n },\r\n copiedIndicator: {\r\n color: '#313e48',\r\n fontSize: '0.8rem',\r\n fontWeight: 'bold',\r\n zIndex: '10',\r\n },\r\n clipboard: {\r\n cursor: 'pointer',\r\n backgroundColor: 'transparent',\r\n opacity: 0.7,\r\n ':hover': {\r\n // hover state\r\n opacity: 1,\r\n color: '#ff8200',\r\n },\r\n },\r\n playerActive: {\r\n opacity: 1,\r\n },\r\n clipboardTranslate: {\r\n cursor: 'pointer',\r\n opacity: 0.7,\r\n backgroundColor: 'transparent',\r\n ':hover': {\r\n // hover state\r\n opacity: 1,\r\n color: '#ff8200',\r\n },\r\n },\r\n controls: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n marginTop: customTokens.spacingVerticalS,\r\n marginBottom: customTokens.spacingVerticalS,\r\n ...shorthands.gap(customTokens.spacingHorizontalL),\r\n },\r\n citationButton: {\r\n marginRight: 'auto',\r\n },\r\n rlhf: {\r\n marginLeft: 'auto',\r\n },\r\n});\r\n\r\ninterface ChatHistoryItemProps {\r\n message: IChatMessage;\r\n messageIndex: number;\r\n userSettings: UserSettings;\r\n handleHover: HandleHoverFunction;\r\n handleClick: HandleClickFunction;\r\n onOpenTab: (codeBlock: CodeBlock) => void;\r\n}\r\n\r\ninterface UserSettings {\r\n voiceGender: string;\r\n translateTo: string;\r\n ignoreCodeVoice: string;\r\n voiceSpeed: string;\r\n voicePitch: string;\r\n forceSpeechLang: string;\r\n wordSpacing: string;\r\n lineHeight: number;\r\n fontSize: string;\r\n}\r\n\r\ninterface AudioControlButtonsProps {\r\n message: string;\r\n isPlaying: boolean;\r\n isPaused: boolean;\r\n selectedId: string;\r\n isNotTranslateContainer: boolean;\r\n handlePlayClick: (content: string) => Promise;\r\n handlePauseClick: () => void;\r\n handleStopClick: () => void;\r\n handleTranslateClick: (content: string) => Promise;\r\n handleCopyClick: (flag: boolean) => void;\r\n}\r\n\r\ninterface BubblePosition {\r\n x: number;\r\n y: number;\r\n}\r\n\r\ninterface CustomParagraphProps extends HTMLAttributes {\r\n children?: React.ReactNode;\r\n [key: string]: any; // Allows any additional props\r\n}\r\nconst CustomParagraph: React.FC = ({ children, ...props }) => {\r\n const childArray = React.Children.toArray(children).filter(React.isValidElement);\r\n\r\n const onlyInlineElements = childArray.every((child) => {\r\n // Adjust your condition here as needed\r\n return (\r\n 'className' in (child.props as { className?: string }) &&\r\n (child.props as { className?: string }).className === 'inlinecode'\r\n );\r\n\r\n // Add more conditions for other types of inline elements if necessary\r\n });\r\n\r\n if (onlyInlineElements) {\r\n return <>{children};\r\n }\r\n\r\n return

{children}

;\r\n};\r\n\r\nexport const ChatHistoryItem: React.FC = ({\r\n message,\r\n messageIndex,\r\n userSettings,\r\n handleHover,\r\n handleClick,\r\n onOpenTab,\r\n}) => {\r\n //console.log(userSettings);\r\n const { instance, inProgress } = useMsal();\r\n const classes = useClasses();\r\n const chat = useChat();\r\n const dispatch = useAppDispatch();\r\n\r\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\r\n const { activeUserInfo, features } = useAppSelector((state: RootState) => state.app);\r\n // const [showCitationCards, setShowCitationCards] = useState(false);\r\n // console.log('<><><><><><> Message DATA <><><><><><><>');\r\n // console.log(message);\r\n\r\n const isDefaultUser = message.userId === DefaultChatUser.id;\r\n const isMe = isDefaultUser || (message.authorRole === AuthorRoles.User && message.userId === activeUserInfo?.id);\r\n const isBot = message.authorRole === AuthorRoles.Bot;\r\n const user = isDefaultUser\r\n ? DefaultChatUser\r\n : chat.getChatUserById(message.userName, selectedId, conversations[selectedId].users);\r\n const fullName = user?.fullName ?? message.userName;\r\n\r\n const avatar: AvatarProps = isBot\r\n ? { image: { src: conversations[selectedId].botProfilePicture } }\r\n : isDefaultUser\r\n ? { idForColor: selectedId, color: 'colorful' }\r\n : { name: fullName, color: 'colorful' };\r\n\r\n const [isPlaying, setIsPlaying] = useState(false);\r\n const [isPaused, setIsPaused] = useState(false);\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n\r\n function getPrismLanguage(language: string): string {\r\n const languageMap: Record = {\r\n POWERSHELL: 'powershell', // Assuming PrismJS recognizes 'powershell'\r\n DOS: 'batch', // Mapping 'DOS' to 'batch' which is commonly used for DOS batch files\r\n TERMINAL: 'shell', // 'TERMINAL' might be mapped to 'shell' or another similar language\r\n shell: 'bash', // Example of mapping 'shell' to 'bash'\r\n sh: 'bash', // Example of mapping 'sh' to 'bash' as well\r\n // Add more mappings as needed\r\n };\r\n\r\n return languageMap[language.toUpperCase()] || language; // Use .toUpperCase() to ensure case-insensitive matching\r\n }\r\n\r\n const [translatedText, setTranslatedText] = useState('');\r\n\r\n const handleTranslateClick = async (text: string) => {\r\n try {\r\n // Pre-translation: Encode code blocks, inline code, and footnotes into placeholders\r\n const codeBlockRegex =\r\n /(```[\\s\\S]*?```|(.*?)<\\/span>|https?:\\/\\/[^\\s]+|\\[\\^([^\\]]+?)\\^\\])/g;\r\n\r\n const placeholders: string[] = []; // Explicitly type the array\r\n const textWithPlaceholders = text.replace(codeBlockRegex, (match, _, __, p3: string) => {\r\n const placeholder = `9d6CODE_3LBLOCK93_0606PLACEHOLDER7756_${placeholders.length}`;\r\n placeholders.push(p3 ? p3 : match); // If the match is a footnote, only store the number\r\n return placeholder;\r\n });\r\n\r\n // console.log('Placeholders:', placeholders);\r\n // console.log('Text with placeholders:', textWithPlaceholders);\r\n\r\n // Initialize the speech service\r\n const speechService = new SpeechService();\r\n\r\n // Translate the text with placeholders\r\n const translatedTextWithPlaceholders = await speechService.translateText(\r\n textWithPlaceholders,\r\n userSettings.translateTo,\r\n );\r\n\r\n // console.log('Translated text with placeholders:', translatedTextWithPlaceholders); // Log the translated text with placeholders\r\n\r\n // Post-translation: Decode placeholders back into code blocks, inline code, and footnotes\r\n let translatedText = translatedTextWithPlaceholders;\r\n placeholders.forEach((original, index) => {\r\n // Use a RegExp to replace placeholders in the translated text\r\n const placeholder = `9d6CODE_3LBLOCK93_0606PLACEHOLDER7756_${index}`;\r\n const replacement =\r\n original.startsWith('[^') && original.endsWith('^]') ? `[^${original.slice(2, -2)}^]` : original; // If the original was a footnote number, add the footnote markers back\r\n translatedText = translatedText.replace(new RegExp(placeholder, 'g'), replacement);\r\n });\r\n\r\n // console.log('Translated text:', translatedText); // Log the translated text\r\n\r\n // Set the translated text with code blocks, inline code, and footnotes restored\r\n setTranslatedText(translatedText);\r\n } catch (error) {\r\n let errorMessage = 'Failed to translate text';\r\n if (error instanceof Error) {\r\n errorMessage += ': ' + error.message;\r\n }\r\n\r\n dispatch(\r\n addAlert({\r\n message: errorMessage,\r\n type: AlertType.Info,\r\n }),\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n // If the audio is not playing or is paused, enable the button\r\n if (!isPlaying || isPaused) {\r\n setIsDisabled(false);\r\n }\r\n }, [isPlaying, isPaused]);\r\n\r\n const speechService = SpeechService.getInstance();\r\n\r\n const handlePlayClick = async (text: string) => {\r\n try {\r\n // Disable the play button\r\n setIsDisabled(true);\r\n\r\n // Function to remove Markdown syntax with TypeScript typing\r\n const removeMarkdown = (markdownText: string): string => {\r\n // Regular expression to match Markdown syntax for headings, inline code, and code blocks\r\n const regex = /(```[\\s\\S]*?```|`[^`]*`|\\#{1,6}\\s)/g;\r\n return markdownText.replace(regex, '');\r\n };\r\n\r\n // Remove Markdown syntax\r\n const cleanText: string = removeMarkdown(text);\r\n\r\n // Check if the audio is paused and resume it\r\n if (isPaused && speechService.player) {\r\n speechService.player.resume();\r\n setIsPaused(false);\r\n setIsPlaying(true);\r\n } else {\r\n // Remove code blocks if ignoreCodeVoice is set to \"1\"\r\n const modifiedText: string =\r\n userSettings.ignoreCodeVoice === 'True' ? cleanText.replace(/```[\\s\\S]*?```/g, '') : cleanText;\r\n\r\n // Start the speech synthesis process\r\n const response = await speechService.getSpeechTokenAsync(\r\n await AuthHelper.getSKaaSAccessToken(instance, inProgress),\r\n );\r\n\r\n if (response.isSuccess) {\r\n await speechService.convertTextToSpeech(\r\n response.token,\r\n response.region,\r\n modifiedText,\r\n userSettings.voiceGender,\r\n userSettings.voiceSpeed,\r\n userSettings.voicePitch,\r\n userSettings.forceSpeechLang,\r\n );\r\n\r\n if (speechService.player) {\r\n speechService.player.onAudioEnd = () => {\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n\r\n // Re-enable the play button\r\n setIsDisabled(false);\r\n };\r\n\r\n setIsPlaying(true);\r\n }\r\n } else {\r\n console.error('Failed to retrieve speech token and region.');\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Failed to handle play action:', error);\r\n }\r\n };\r\n\r\n const handlePauseClick = () => {\r\n if (speechService.player) {\r\n speechService.player.pause();\r\n setIsPaused(true);\r\n }\r\n };\r\n\r\n const handleStopClick = () => {\r\n if (speechService.player) {\r\n // Assuming there's a method to stop the speech\r\n speechService.player.pause(); // or an equivalent method\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n }\r\n };\r\n\r\n type ContentSegment =\r\n | string\r\n | { code: string; language?: string; inline?: boolean }\r\n | { latex: string; type: 'inline' | 'block' };\r\n\r\n type Segment = string | ContentSegment;\r\n\r\n function AudioControlButtons({\r\n message,\r\n isPlaying,\r\n isPaused,\r\n // selectedId,\r\n isNotTranslateContainer,\r\n handlePlayClick,\r\n handlePauseClick,\r\n handleStopClick,\r\n handleTranslateClick,\r\n handleCopyClick,\r\n }: AudioControlButtonsProps) {\r\n return (\r\n
\r\n {/* Display the Play button only when not playing or when paused */}\r\n {(!isPlaying || isPaused) && (\r\n {\r\n handlePlayClick(message).catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }}\r\n className={`${isDisabled ? 'disabledbutton' : ''} ${\r\n isPaused ? 'easybuttons pausedplay' : 'easybuttons'\r\n }`}\r\n disabled={isDisabled}\r\n >\r\n \r\n \r\n )}\r\n\r\n {/* Display the Pause button only when playing and not paused */}\r\n {isPlaying && !isPaused && (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Display the Stop button whenever playing, regardless of paused state */}\r\n {isPlaying && (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Other buttons */}\r\n {\r\n handleTranslateClick(message).catch((error) => {\r\n console.error('Failed to handle translation:', error);\r\n });\r\n }}\r\n // disabled={conversations.disabled}\r\n >\r\n \r\n \r\n {\r\n handleCopyClick(isNotTranslateContainer);\r\n }}\r\n >\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n const codeBlockRegex = /```(\\w+)?\\s*([\\s\\S]*?)```|`([^`]+)`/g;\r\n // const latexRegex = /\\$\\$((?:(?!\\$\\$).)+)\\$\\$/g;\r\n const latexRegex = /\\$\\$?([\\s\\S]+?)\\$\\$?/g;\r\n\r\n /* Normal Content */\r\n // TODO: Create function so not to duplicate.\r\n\r\n function processMessage(messageContent: string): ContentSegment[] {\r\n const splitContent: ContentSegment[] = [];\r\n let lastIndex = 0;\r\n let match;\r\n\r\n while ((match = codeBlockRegex.exec(messageContent)) !== null) {\r\n const textContent = messageContent.slice(lastIndex, match.index);\r\n if (textContent) {\r\n // Process any LaTeX in the text content before the code block\r\n splitContent.push(...processLatex(textContent));\r\n }\r\n\r\n if (match[2]) {\r\n const language = match[1] || 'plaintext';\r\n const code = match[2].trim();\r\n splitContent.push({ code, language });\r\n } else if (match[3]) {\r\n const code = match[3].trim();\r\n splitContent.push({ code, inline: true });\r\n }\r\n\r\n lastIndex = codeBlockRegex.lastIndex;\r\n }\r\n\r\n const remainingTextContent = messageContent.slice(lastIndex);\r\n if (remainingTextContent) {\r\n splitContent.push(...processLatex(remainingTextContent));\r\n }\r\n\r\n return splitContent;\r\n }\r\n\r\n // function extractCodeBlocks(text: string): { placeholderText: string; codeBlocks: string[] } {\r\n // const codeBlocks: string[] = [];\r\n // const placeholderText = text.replace(codeBlockRegex, (match) => {\r\n // const index = codeBlocks.length;\r\n // codeBlocks.push(match); // Store the entire matched code block\r\n // return `{{CODE_BLOCK_${index}}}`; // Use the captured index for the placeholder\r\n // });\r\n // return { placeholderText, codeBlocks };\r\n // }\r\n\r\n function processLatex(text: string): Segment[] {\r\n const latexContent: Segment[] = [];\r\n let lastIndex = 0;\r\n let match;\r\n\r\n while ((match = latexRegex.exec(text)) !== null) {\r\n const normalText = text.slice(lastIndex, match.index);\r\n if (normalText) latexContent.push(normalText); // Push text between LaTeX expressions\r\n\r\n const latex = match[1].trim();\r\n const isBlock = match[0].startsWith('$$') && match[0].endsWith('$$');\r\n latexContent.push({ latex, type: isBlock ? 'block' : 'inline' }); // Mark LaTeX for rendering\r\n\r\n lastIndex = latexRegex.lastIndex;\r\n }\r\n\r\n const remainingText = text.slice(lastIndex);\r\n if (remainingText) latexContent.push(remainingText); // Push any remaining text after the last LaTeX expression\r\n\r\n return latexContent;\r\n }\r\n // function reinsertCodeBlocks(contentSegments: Segment[], codeBlocks: string[]): Segment[] {\r\n // return contentSegments.map((segment) => {\r\n // if (typeof segment === 'string') {\r\n // // Replace placeholders with the original code blocks\r\n // return segment.replace(/{{CODE_BLOCK_(\\d+)}}/g, (_, index) => codeBlocks[Number(index)]);\r\n // }\r\n // return segment; // LaTeX segments are returned as is\r\n // });\r\n // }\r\n // function processContent(content: string): Segment[] {\r\n // const { placeholderText, codeBlocks } = extractCodeBlocks(content);\r\n // const latexContent = processLatex(placeholderText);\r\n // const finalContent = reinsertCodeBlocks(latexContent, codeBlocks);\r\n\r\n // // Now `finalContent` is an array of Segment, ready for rendering.\r\n // return finalContent;\r\n // }\r\n\r\n // function determineLatexType(latex: string): 'inline' | 'block' {\r\n // // Implement your logic or heuristic to determine the type\r\n // // Example (very simplistic):\r\n // return latex.length > 50 ? 'block' : 'inline'; // Or use other criteria\r\n // }\r\n\r\n const [showShowRLHFMessage] = useState(false);\r\n //\r\n\r\n const [isCopiedCode, setIsCopiedCode] = useState(false);\r\n\r\n const handleCopyClickCode = (code: string) => {\r\n new Promise((resolve, reject) => {\r\n navigator.clipboard.writeText(code).then(resolve).catch(reject);\r\n })\r\n .then(() => {\r\n setIsCopiedCode(true);\r\n // Reset the button text after 3 seconds\r\n setTimeout(() => {\r\n setIsCopiedCode(false);\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n console.error('Failed to copy text: ', err);\r\n });\r\n };\r\n\r\n // Line Numbers\r\n const [showLineNumbers, setShowLineNumbers] = useState(true);\r\n const toggleLineNumbers = () => {\r\n setShowLineNumbers(!showLineNumbers);\r\n };\r\n\r\n // Word Wrap\r\n const [textWrapSetting, setTextWrapSetting] = useState(true);\r\n const toggleTextWrap = () => {\r\n setTextWrapSetting(!textWrapSetting);\r\n };\r\n\r\n // Bubble Highlight\r\n const [showBubble, setShowBubble] = useState(false);\r\n const [bubblePosition, setBubblePosition] = useState({ x: 0, y: 0 });\r\n const [selectedText, setSelectedText] = useState(null);\r\n\r\n const hideBubble = () => {\r\n // Delay hiding the bubble to allow other click events to process\r\n setTimeout(() => {\r\n setShowBubble(false);\r\n }, 5); // 10 milliseconds delay\r\n };\r\n\r\n const updateSelection = (e: MouseEvent | KeyboardEvent) => {\r\n // Check if the event target is part of the bubble UI\r\n if ((e.target as HTMLElement).closest('.bubble')) {\r\n hideBubble(); // Hide the bubble if an element inside it is clicked\r\n }\r\n\r\n const selection = window.getSelection();\r\n if (selection && isValidHighlight(selection)) {\r\n const text = selection.toString().trim();\r\n if (text) {\r\n setShowBubble(true);\r\n if (e instanceof MouseEvent) {\r\n setBubblePosition({ x: e.clientX, y: e.clientY });\r\n }\r\n setSelectedText(selection);\r\n } else {\r\n setShowBubble(false);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const mouseUpHandler = (e: MouseEvent) => {\r\n updateSelection(e);\r\n };\r\n // const keyUpHandler = (e: KeyboardEvent) => {\r\n // updateSelection(e);\r\n // };\r\n\r\n document.addEventListener('mouseup', mouseUpHandler);\r\n // document.addEventListener('keyup', keyUpHandler);\r\n\r\n return () => {\r\n document.removeEventListener('mouseup', mouseUpHandler);\r\n // document.removeEventListener('keyup', keyUpHandler);\r\n };\r\n }, []);\r\n\r\n const excludedClasses = [\r\n 'highlighter-pink',\r\n 'highlighter-blue',\r\n 'highlighter-yellow',\r\n 'highlighter-black',\r\n 'largerFont',\r\n 'underlineThick',\r\n ];\r\n const allowedTags = [\r\n 'strong',\r\n 'b',\r\n 'u',\r\n 'del',\r\n 'small',\r\n 'ins',\r\n 'mark',\r\n 'sub',\r\n 'sup',\r\n 'em',\r\n 'h1',\r\n 'h2',\r\n 'h3',\r\n 'h4',\r\n 'h5',\r\n 'h6',\r\n 'h7',\r\n ];\r\n\r\n const isValidHighlight = (selection: Selection): boolean => {\r\n if (!selection.rangeCount) return false;\r\n\r\n const range = selection.getRangeAt(0);\r\n\r\n const walker = document.createTreeWalker(range.commonAncestorContainer, NodeFilter.SHOW_ELEMENT, {\r\n acceptNode: (node) => {\r\n if (node instanceof HTMLElement) {\r\n return NodeFilter.FILTER_ACCEPT;\r\n }\r\n return NodeFilter.FILTER_SKIP;\r\n },\r\n });\r\n\r\n let node: Node | null = walker.nextNode();\r\n while (node) {\r\n // Explicitly assert that node is of type HTMLElement\r\n const htmlNode = node as HTMLElement;\r\n\r\n if (range.intersectsNode(node)) {\r\n if (\r\n excludedClasses.some((className) => htmlNode.classList.contains(className)) ||\r\n !allowedTags.includes(htmlNode.tagName)\r\n ) {\r\n return false;\r\n }\r\n }\r\n node = walker.nextNode();\r\n }\r\n return true;\r\n };\r\n\r\n const applyStyleToRange = (range: Range, styleCallback: (element: HTMLElement) => void) => {\r\n const tempRange = range.cloneRange();\r\n\r\n // Function to expand the range to include full words\r\n const expandRangeToFullWords = (range: Range) => {\r\n const startNodeText = range.startContainer.textContent ?? '';\r\n const endNodeText = range.endContainer.textContent ?? '';\r\n\r\n // Expand the start of the range to the beginning of the word\r\n let start = range.startOffset;\r\n while (start > 0 && startNodeText[start - 1] !== ' ') {\r\n start--;\r\n }\r\n range.setStart(range.startContainer, start);\r\n\r\n // Expand the end of the range to the end of the word\r\n let end = range.endOffset;\r\n while (\r\n end < endNodeText.length &&\r\n endNodeText[end] !== ' ' &&\r\n endNodeText[end] !== '.' &&\r\n endNodeText[end] !== ','\r\n ) {\r\n end++;\r\n }\r\n range.setEnd(range.endContainer, end);\r\n };\r\n\r\n // Function to check if the range contains only allowed elements\r\n const containsOnlyAllowedElements = (range: Range): boolean => {\r\n const walker = document.createTreeWalker(range.commonAncestorContainer, NodeFilter.SHOW_ELEMENT, {\r\n acceptNode: (node) => {\r\n if (node instanceof HTMLElement) {\r\n if (excludedClasses.some((className) => node.classList.contains(className))) {\r\n return NodeFilter.FILTER_REJECT;\r\n }\r\n if (allowedTags.includes(node.tagName)) {\r\n return NodeFilter.FILTER_ACCEPT;\r\n }\r\n return NodeFilter.FILTER_REJECT;\r\n }\r\n return NodeFilter.FILTER_ACCEPT;\r\n },\r\n });\r\n\r\n let node = walker.nextNode();\r\n while (node) {\r\n if (range.intersectsNode(node)) {\r\n return false; // Found a disallowed element\r\n }\r\n node = walker.nextNode();\r\n }\r\n return true;\r\n };\r\n\r\n // Expand the temporary range to include full words\r\n expandRangeToFullWords(tempRange);\r\n\r\n // Check if the range contains only allowed elements\r\n if (!containsOnlyAllowedElements(tempRange)) {\r\n return; // Exit if disallowed elements are found\r\n }\r\n\r\n // Create the new span for highlighting\r\n const span = document.createElement('span');\r\n styleCallback(span);\r\n span.appendChild(tempRange.extractContents());\r\n tempRange.insertNode(span);\r\n\r\n // Event listener to remove highlight on click\r\n span.addEventListener('click', () => {\r\n span.replaceWith(...span.childNodes);\r\n });\r\n\r\n // Clean up the original range\r\n range.collapse(false);\r\n };\r\n\r\n useEffect(() => {\r\n const toggleKatexClass = (event: MouseEvent) => {\r\n const target = event.target as HTMLElement; // Type assertion for target\r\n\r\n // Find the closest element with the specified data-testid\r\n const katexElement = target.closest('[data-testid=\"react-katex\"]');\r\n\r\n // Toggle class on the found element\r\n if (katexElement instanceof HTMLElement) {\r\n katexElement.classList.toggle('increaseKatex');\r\n }\r\n };\r\n\r\n // Add the event listener to the document\r\n document.addEventListener('click', toggleKatexClass);\r\n\r\n // Clean up the event listener\r\n return () => {\r\n document.removeEventListener('click', toggleKatexClass);\r\n };\r\n }, []);\r\n\r\n const setUnderlined = () => {\r\n if (selectedText?.rangeCount && selectedText.rangeCount > 0) {\r\n const range = selectedText.getRangeAt(0);\r\n if (!range.collapsed) {\r\n applyStyleToRange(range, (span) => {\r\n span.className = `underlineThick`;\r\n span.addEventListener('click', function () {\r\n this.classList.remove(`underlineThick`);\r\n });\r\n });\r\n setSelectedText(null);\r\n setShowBubble(false);\r\n }\r\n }\r\n setSelectedText(null);\r\n setShowBubble(false);\r\n };\r\n\r\n const changeFontSize = () => {\r\n if (selectedText?.rangeCount && selectedText.rangeCount > 0) {\r\n const range = selectedText.getRangeAt(0);\r\n if (!range.collapsed) {\r\n applyStyleToRange(range, (span) => {\r\n span.className = `largerFont`;\r\n span.addEventListener('click', function () {\r\n this.classList.remove(`largerfont`);\r\n });\r\n });\r\n setSelectedText(null);\r\n setShowBubble(false);\r\n }\r\n }\r\n setSelectedText(null);\r\n setShowBubble(false);\r\n };\r\n\r\n const ttsselect = async () => {\r\n const selection = window.getSelection();\r\n if (!selection || selection.rangeCount === 0) {\r\n console.log('No text is selected.');\r\n return; // Exit if there is no selection\r\n }\r\n\r\n const range = selection.getRangeAt(0).cloneRange();\r\n\r\n // Function to expand the range to include full words\r\n const expandRangeToFullWords = (range: Range) => {\r\n const startNodeText = range.startContainer.textContent ?? '';\r\n const endNodeText = range.endContainer.textContent ?? '';\r\n\r\n // Expand the start of the range to the beginning of the word\r\n let start = range.startOffset;\r\n while (start > 0 && startNodeText[start - 1] !== ' ') {\r\n start--;\r\n }\r\n range.setStart(range.startContainer, start);\r\n\r\n // Expand the end of the range to the end of the word\r\n let end = range.endOffset;\r\n while (\r\n end < endNodeText.length &&\r\n endNodeText[end] !== ' ' &&\r\n endNodeText[end] !== '.' &&\r\n endNodeText[end] !== ','\r\n ) {\r\n end++;\r\n }\r\n range.setEnd(range.endContainer, end);\r\n };\r\n\r\n // Function to check if the range contains only allowed elements\r\n // Update this function based on your specific requirements\r\n const containsOnlyAllowedElements = (range: Range): boolean => {\r\n const walker = document.createTreeWalker(range.commonAncestorContainer, NodeFilter.SHOW_ELEMENT, {\r\n acceptNode: (node) => {\r\n if (node instanceof HTMLElement) {\r\n if (excludedClasses.some((className) => node.classList.contains(className))) {\r\n return NodeFilter.FILTER_REJECT;\r\n }\r\n if (allowedTags.includes(node.tagName)) {\r\n return NodeFilter.FILTER_ACCEPT;\r\n }\r\n return NodeFilter.FILTER_REJECT;\r\n }\r\n return NodeFilter.FILTER_ACCEPT;\r\n },\r\n });\r\n\r\n let node = walker.nextNode();\r\n while (node) {\r\n if (range.intersectsNode(node)) {\r\n return false; // Found a disallowed element\r\n }\r\n node = walker.nextNode();\r\n }\r\n return true;\r\n };\r\n\r\n // Expand the temporary range to include full words and check for validity\r\n expandRangeToFullWords(range);\r\n if (!containsOnlyAllowedElements(range)) {\r\n console.log('Selected text contains disallowed elements.');\r\n return; // Exit if the selection is not valid\r\n }\r\n\r\n // Extract the selected text\r\n const selectedTextContent = range.toString();\r\n console.log('Selected Text:', selectedTextContent);\r\n\r\n try {\r\n const response = await speechService.getSpeechTokenAsync(\r\n await AuthHelper.getSKaaSAccessToken(instance, inProgress),\r\n );\r\n\r\n if (response.isSuccess) {\r\n await speechService.convertTextToSpeech(\r\n response.token,\r\n response.region,\r\n selectedTextContent, // Assuming selectedTextContent is defined earlier\r\n userSettings.voiceGender,\r\n userSettings.voiceSpeed,\r\n userSettings.voicePitch,\r\n userSettings.forceSpeechLang,\r\n );\r\n\r\n if (speechService.player) {\r\n speechService.player.onAudioEnd = () => {\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n setIsDisabled(false); // Re-enable the play button\r\n };\r\n setIsPlaying(true);\r\n }\r\n } else {\r\n console.error('Failed to retrieve speech token and region.');\r\n }\r\n\r\n // Optionally, clear the selection\r\n selection.removeAllRanges();\r\n } catch (error) {\r\n console.error(error); // Handle any errors\r\n }\r\n };\r\n\r\n const highlightText = (color: string) => {\r\n if (selectedText?.rangeCount && selectedText.rangeCount > 0) {\r\n const range = selectedText.getRangeAt(0);\r\n if (!range.collapsed) {\r\n applyStyleToRange(range, (span) => {\r\n span.className = `highlighter-${color}`;\r\n span.addEventListener('click', function () {\r\n this.classList.remove(`highlighter-${color}`);\r\n });\r\n });\r\n setSelectedText(null);\r\n setShowBubble(false);\r\n }\r\n }\r\n setSelectedText(null);\r\n setShowBubble(false);\r\n };\r\n\r\n //Copy system\r\n const [isCopied, setIsCopied] = useState(false);\r\n const [isTranslatedCopied, setIsTranslatedCopied] = useState(false);\r\n\r\n const handleCopyClick = (isOriginalMessage: boolean) => {\r\n // Convert markdown to HTML using react-markdown\r\n let messageContent: string;\r\n if (isOriginalMessage) {\r\n messageContent = message.content;\r\n } else {\r\n messageContent = translatedText;\r\n }\r\n\r\n const html: string = ReactDOMServer.renderToStaticMarkup({messageContent});\r\n\r\n // Create a new DOM element\r\n const element = document.createElement('div');\r\n\r\n // Set the innerHTML to the converted HTML\r\n element.innerHTML = html;\r\n\r\n // Append the element to the body\r\n document.body.appendChild(element);\r\n\r\n // Create a new Range object\r\n const range = document.createRange();\r\n\r\n // Set the Range to contain the element\r\n range.selectNode(element);\r\n\r\n // Get the global Selection object\r\n const selection = window.getSelection();\r\n\r\n if (selection) {\r\n // Check if selection is not null\r\n // Remove any existing ranges from the Selection\r\n selection.removeAllRanges();\r\n\r\n // Add the Range to the Selection\r\n selection.addRange(range);\r\n\r\n // Copy the selected range to the clipboard\r\n document.execCommand('copy');\r\n\r\n // Remove the range from the Selection\r\n selection.removeAllRanges();\r\n }\r\n\r\n // Remove the element from the body\r\n document.body.removeChild(element);\r\n\r\n if (isOriginalMessage) {\r\n setIsCopied(true);\r\n\r\n setTimeout(() => {\r\n setIsCopied(false);\r\n }, 3000);\r\n } else {\r\n setIsTranslatedCopied(true);\r\n\r\n setTimeout(() => {\r\n setIsTranslatedCopied(false);\r\n }, 3000);\r\n }\r\n };\r\n // Word Spacing\r\n const initialWordSpacing = Number(localStorage.getItem('wordSpacing')) || Number(userSettings.wordSpacing) || 0;\r\n const [userWordSpacing, setUserWordSpacing] = useState(initialWordSpacing);\r\n\r\n useEffect(() => {\r\n if (userSettings.wordSpacing) {\r\n setUserWordSpacing(Number(userSettings.wordSpacing));\r\n }\r\n }, [userSettings.wordSpacing]);\r\n\r\n // Font Size\r\n const [fontSizeSetting, setFontSizeSetting] = useState(() => {\r\n const savedFontSize = localStorage.getItem('fontSize');\r\n return savedFontSize ? parseFloat(savedFontSize) : 0.9; // Default fontSize 1em if not set\r\n });\r\n\r\n useEffect(() => {\r\n const handleStorageChange = () => {\r\n const newFontSize = localStorage.getItem('fontSize');\r\n if (newFontSize) {\r\n setFontSizeSetting(parseFloat(newFontSize));\r\n }\r\n };\r\n\r\n // Add event listener for localStorage changes\r\n window.addEventListener('storage', handleStorageChange);\r\n\r\n // Cleanup the event listener\r\n return () => {\r\n window.removeEventListener('storage', handleStorageChange);\r\n };\r\n }, []);\r\n\r\n // Line Height\r\n const [lineHeightSettings, setLineHeight] = useState(() => {\r\n const savedLineHeight = localStorage.getItem('lineHeight');\r\n return savedLineHeight ? parseFloat(savedLineHeight) : 29; // Default fontSize 1em if not set\r\n });\r\n\r\n useEffect(() => {\r\n const handleStorageChange = () => {\r\n const newLineHeight = localStorage.getItem('lineHeight');\r\n if (newLineHeight) {\r\n setLineHeight(parseFloat(newLineHeight));\r\n }\r\n };\r\n\r\n // Add event listener for localStorage changes\r\n window.addEventListener('storage', handleStorageChange);\r\n\r\n // Cleanup the event listener\r\n return () => {\r\n window.removeEventListener('storage', handleStorageChange);\r\n };\r\n }, []);\r\n\r\n let content: JSX.Element;\r\n if (isBot && message.type === ChatMessageType.Plan) {\r\n content = ;\r\n } else if (message.type === ChatMessageType.Document) {\r\n content = ;\r\n } else {\r\n content = isBot ? (\r\n message.content.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n\r\n {processMessage(message.content).map((part, index) => {\r\n // Assume part.id is a unique identifier; if it's not present, fallback to index\r\n const key =\r\n typeof part === 'object' && 'code' in part\r\n ? `code-${index}` // Assuming 'code' is not unique\r\n : typeof part === 'object' && 'latex' in part\r\n ? `latex-${index}` // Unique key for LaTeX parts\r\n : `string-${index}`; // Fallback for strings\r\n\r\n if (typeof part === 'string') {\r\n // Render non-code text as markdown\r\n return (\r\n <>\r\n {showBubble && (\r\n \r\n {\r\n e.stopPropagation();\r\n changeFontSize();\r\n }}\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setUnderlined();\r\n }}\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n highlightText('pink');\r\n }}\r\n >\r\n \r\n \r\n\r\n {\r\n e.stopPropagation();\r\n highlightText('blue');\r\n }}\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n highlightText('yellow');\r\n }}\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n highlightText('black');\r\n }}\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n void ttsselect();\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n {\r\n handleHover(key, true);\r\n }}\r\n onMouseLeave={() => {\r\n handleHover(key, false);\r\n }}\r\n >\r\n {children}\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n p: CustomParagraph as any,\r\n }}\r\n >\r\n {part}\r\n \r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part && part.inline) {\r\n // Render inline code\r\n return (\r\n {\r\n handleHover(part.code, true);\r\n }}\r\n onMouseLeave={() => {\r\n handleHover(part.code, false);\r\n }}\r\n onClick={() => {\r\n handleClick(part.code);\r\n }}\r\n // onMouseEnter={() => {\r\n // handleHover(part.code, true);\r\n // }}\r\n // onMouseLeave={() => {\r\n // handleHover(part.code, false);\r\n // }}\r\n >\r\n {part.code}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part) {\r\n // Render code blocks with syntax highlighting\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n {\r\n onOpenTab({\r\n key: `${message.id}-${key}`,\r\n language: part.language,\r\n messageid: `${message.id}-${key}`,\r\n code: part.code,\r\n });\r\n }}\r\n title=\"UT Verse CodePilot\"\r\n className=\"codeButtons\"\r\n >\r\n \r\n \r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {textWrapSetting ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {showLineNumbers ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {\r\n handleCopyClickCode(part.code.trim());\r\n }}\r\n className=\"codeButtons\"\r\n >\r\n {isCopiedCode ? (\r\n <>\r\n
Copied!
\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {part.language ? part.language.toUpperCase() : 'PLAINTEXT'}\r\n
\r\n \r\n \r\n {part.code.trim()}\r\n \r\n \r\n \r\n );\r\n } else if (typeof part === 'object' && 'latex' in part) {\r\n return part.type === 'inline' ? (\r\n \r\n ) : (\r\n \r\n );\r\n } else {\r\n // Fallback rendering for any other content\r\n return
{part}
;\r\n }\r\n })}\r\n {translatedText && (\r\n
\r\n
\r\n
\r\n Translation:{' '}\r\n {isTranslatedCopied && (\r\n Copied to clipboard!\r\n )}\r\n
\r\n \r\n
\r\n {processMessage(translatedText).map((part, index) => {\r\n // Assume part.id is a unique identifier; if it's not present, fallback to index\r\n const key =\r\n typeof part === 'object' && 'code' in part\r\n ? `code-${index}` // Assuming 'code' is not unique\r\n : typeof part === 'object' && 'latex' in part\r\n ? `latex-${index}` // Unique key for LaTeX parts\r\n : `string-${index}`; // Fallback for strings\r\n\r\n if (typeof part === 'string') {\r\n // Render non-code text as markdown\r\n return (\r\n {children};\r\n } else {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n p: CustomParagraph as any,\r\n }}\r\n >\r\n {part}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part && part.inline) {\r\n // Render inline code\r\n return (\r\n {\r\n handleHover(part.code, true);\r\n }}\r\n onMouseLeave={() => {\r\n handleHover(part.code, false);\r\n }}\r\n // onMouseEnter={() => {\r\n // handleHover(part.code, true);\r\n // }}\r\n // onMouseLeave={() => {\r\n // handleHover(part.code, false);\r\n // }}\r\n >\r\n {part.code}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part) {\r\n // Render code blocks with syntax highlighting\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {/* */}\r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'PS' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {textWrapSetting ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'PS' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {showLineNumbers ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {\r\n handleCopyClickCode(part.code.trim());\r\n }}\r\n className=\"codeButtons\"\r\n >\r\n {isCopiedCode ? (\r\n <>\r\n
Copied!
\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {part.language ? part.language.toUpperCase() : 'PLAINTEXT'}\r\n
\r\n
\r\n \r\n {part.code.trim()}\r\n \r\n \r\n );\r\n } else if (typeof part === 'object' && 'latex' in part) {\r\n return part.type === 'inline' ? (\r\n \r\n ) : (\r\n \r\n ); // Use an appropriate component for block LaTeX\r\n } else {\r\n // Fallback rendering for any other content\r\n return (\r\n
\r\n {typeof part === 'object' ? 'Unsupported content type' : part}\r\n
\r\n );\r\n }\r\n })}\r\n \r\n )}\r\n \r\n \r\n )\r\n ) : (\r\n <>\r\n \r\n \r\n {processMessage(message.content).map((part, index) => {\r\n const key =\r\n typeof part === 'object' && 'code' in part\r\n ? `code-${index}` // Assuming 'code' is not unique\r\n : typeof part === 'object' && 'latex' in part\r\n ? `latex-${index}` // Unique key for LaTeX parts\r\n : `string-${index}`; // Fallback for strings\r\n\r\n if (typeof part === 'string') {\r\n // Render non-code text as markdown\r\n return (\r\n \r\n {part}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part && part.inline) {\r\n // Render inline code\r\n return (\r\n {\r\n handleHover(part.code, true);\r\n }}\r\n onMouseLeave={() => {\r\n handleHover(part.code, false);\r\n }}\r\n // onMouseEnter={() => {\r\n // handleHover(part.code, true);\r\n // }}\r\n // onMouseLeave={() => {\r\n // handleHover(part.code, false);\r\n // }}\r\n >\r\n {part.code}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part) {\r\n // Render code blocks with syntax highlighting\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {\r\n onOpenTab({\r\n key: `${message.id}-${key}`,\r\n language: part.language,\r\n messageid: `${message.id}-${key}`,\r\n code: part.code,\r\n });\r\n }}\r\n title=\"UT Verse CodePilot\"\r\n className=\"codeButtons\"\r\n >\r\n \r\n \r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {textWrapSetting ? : }\r\n \r\n )}\r\n\r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {showLineNumbers ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {\r\n handleCopyClickCode(part.code.trim());\r\n }}\r\n className=\"codeButtons\"\r\n >\r\n {isCopiedCode ? (\r\n <>\r\n
Copied!
\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {part.language ? part.language.toUpperCase() : 'PLAINTEXT'}\r\n
\r\n \r\n \r\n {part.code.trim()}\r\n \r\n \r\n );\r\n } else if (typeof part === 'object' && 'latex' in part) {\r\n return part.type === 'inline' ? (\r\n \r\n ) : (\r\n \r\n ); // Use an appropriate component for block LaTeX\r\n } else {\r\n // Fallback rendering for any other content\r\n return
{typeof part === 'object' ? 'Unsupported content type' : part}
;\r\n }\r\n })}\r\n\r\n {translatedText && (\r\n
\r\n
\r\n
\r\n Translation:{' '}\r\n {isTranslatedCopied && (\r\n Copied to clipboard!\r\n )}\r\n
\r\n \r\n
\r\n {processMessage(translatedText).map((part, index) => {\r\n const key =\r\n typeof part === 'object' && 'code' in part\r\n ? `code-${index}` // Assuming 'code' is not unique\r\n : typeof part === 'object' && 'latex' in part\r\n ? `latex-${index}` // Unique key for LaTeX parts\r\n : `string-${index}`; // Fallback for strings\r\n\r\n if (typeof part === 'string') {\r\n // Render non-code text as markdown\r\n return (\r\n \r\n {part}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part && part.inline) {\r\n // Render inline code\r\n return (\r\n \r\n {part.code}\r\n \r\n );\r\n } else if (typeof part === 'object' && 'code' in part) {\r\n // Render code blocks with syntax highlighting\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {\r\n onOpenTab({\r\n key: `${message.id}-${key}`,\r\n language: part.language,\r\n messageid: `${message.id}-${key}`,\r\n code: part.code,\r\n });\r\n }}\r\n title=\"UT Verse CodePilot\"\r\n className=\"codeButtons\"\r\n >\r\n \r\n \r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {textWrapSetting ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {!(\r\n part.language === 'POWERSHELL' ||\r\n part.language === 'DOS' ||\r\n part.language === 'TERMINAL'\r\n ) && (\r\n \r\n {showLineNumbers ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {\r\n handleCopyClickCode(part.code.trim());\r\n }}\r\n className=\"codeButtons\"\r\n >\r\n {isCopiedCode ? (\r\n <>\r\n
Copied!
\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {part.language ? part.language.toUpperCase() : 'PLAINTEXT'}\r\n
\r\n
\r\n \r\n {part.code.trim()}\r\n \r\n \r\n );\r\n } else if (typeof part === 'object' && 'latex' in part) {\r\n return part.type === 'inline' ? (\r\n \r\n ) : (\r\n \r\n ); // Use an appropriate component for block LaTeX\r\n } else {\r\n // Fallback rendering for any other content\r\n return (\r\n
\r\n {typeof part === 'object' ? 'Unsupported content type' : part}\r\n
\r\n );\r\n }\r\n })}\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n {fullName}\r\n {timestampToDateString(message.timestamp, true)}\r\n {isCopied &&
Copied to clipboard!
}\r\n
\r\n {content}\r\n
\r\n {/* {message.citations && message.citations.length > 0 && (\r\n : }\r\n iconPosition=\"after\"\r\n onClick={() => {\r\n setShowCitationCards(!showCitationCards);\r\n }}\r\n size=\"small\"\r\n >\r\n {`${message.citations.length} ${message.citations.length === 1 ? 'citation' : 'citations'}`}\r\n \r\n )} */}\r\n {showShowRLHFMessage && (\r\n
{}
\r\n )}\r\n
\r\n {/* {showCitationCards && } */}\r\n
\r\n {features[FeatureKeys.RLHF].enabled && message.userFeedback === UserFeedback.Positive && (\r\n \r\n )}\r\n {features[FeatureKeys.RLHF].enabled && message.userFeedback === UserFeedback.Negative && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","// Copyright (c) Microsoft. All rights reserved.\nimport { makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport {\n Copy16Filled,\n Copy16Regular,\n FastForward16Regular,\n FontDecreaseRegular,\n FontIncreaseRegular,\n NumberSymbol20Filled,\n NumberSymbol20Regular,\n Print16Regular,\n Save16Regular,\n TextWrap20Filled,\n TextWrap20Regular,\n} from '@fluentui/react-icons';\nimport React, { useEffect, useRef, useState } from 'react';\n//import { useDispatch, useSelector } from 'react-redux';\nimport { IChatMessage } from '../../../libs/models/ChatMessage';\n//import { FeatureKeys } from '../../../redux/features/app/AppState'; // Update this path as needed\n//import { appSlice } from '../../../redux/features/app/appSlice';\nimport 'print-js';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { ChatHistoryItem } from './ChatHistoryItem';\nimport { CodeBlock } from './CodeBlock';\n\nconst useClasses = makeStyles({\n root: {\n ...shorthands.gap(tokens.spacingVerticalM),\n display: 'flex',\n flexDirection: 'column',\n maxWidth: '900px',\n width: '100%',\n justifySelf: 'center',\n },\n item: {\n display: 'flex',\n flexDirection: 'column',\n },\n});\n\ninterface ChatHistoryProps {\n messages: IChatMessage[];\n userSettings: UserSettings;\n}\n\n// interface Highlight {\n// text: string;\n// color: string;\n// }\n\nexport type HandleHoverFunction = (key: string, isHovering: boolean) => void;\nexport type HandleClickFunction = (key: string) => void;\n\ninterface UserSettings {\n voiceGender: string;\n translateTo: string;\n ignoreCodeVoice: string;\n voiceSpeed: string;\n voicePitch: string;\n forceSpeechLang: string;\n wordSpacing: string;\n lineHeight: number;\n fontSize: string;\n}\n\n// interface AppState {\n// app: {\n// features: {\n// [key in FeatureKeys]: {\n// enabled: boolean;\n// inactive: boolean;\n// };\n// };\n// };\n// }\n\nexport const ChatHistory: React.FC = ({ messages, userSettings }) => {\n const classes = useClasses();\n\n // const dispatch = useDispatch();\n\n // Use useSelector outside of the handleToggle function\n // const currentState = useSelector((state: AppState) => state.app.features[FeatureKeys.AzureCognitiveSearch]);\n\n // const handleToggle = () => {\n // console.log('Current State before toggle:', currentState);\n\n // let deactivate, enable;\n\n // if (currentState.inactive) {\n // // If currently inactive, activate the feature\n // deactivate = false; // Do not deactivate\n // enable = true; // Keep enabled\n // } else {\n // // If currently active, deactivate the feature\n // deactivate = false; // Deactivate\n // enable = true; // But keep it enabled\n // }\n\n // const payload = {\n // feature: FeatureKeys.AzureCognitiveSearch,\n // deactivate: deactivate,\n // enable: enable,\n // };\n\n // dispatch(appSlice.actions.toggleFeatureState(payload));\n\n // setTimeout(() => {\n // console.log('Current State after toggle:', currentState);\n // }, 500);\n // };\n\n const containerRef = useRef(null);\n\n useEffect(() => {\n const container = containerRef.current;\n\n const handleImageClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (target.tagName === 'IMG') {\n const imageUrl = (target as HTMLImageElement).src;\n window.open(imageUrl, '_blank');\n }\n };\n\n // Add the event listener if the container is not null\n if (container) {\n container.addEventListener('click', handleImageClick);\n }\n\n // Return the cleanup function\n return () => {\n if (container) {\n container.removeEventListener('click', handleImageClick);\n }\n };\n }, []);\n\n const MemoizedChatHistoryItem = React.memo(ChatHistoryItem);\n\n const languageFormats = [\n { language: 'JavaScript', format: '.js' },\n { language: 'TypeScript', format: '.tsx' },\n { language: 'HTML', format: '.html' },\n { language: 'CSS', format: '.css' },\n { language: 'Python', format: '.py' },\n { language: 'Java', format: '.java' },\n { language: 'C#', format: '.cs' },\n { language: 'CSHARP', format: '.cs' },\n { language: 'CPP', format: '.cpp' },\n { language: 'C++', format: '.cpp' },\n { language: 'C', format: '.c' },\n { language: 'PHP', format: '.php' },\n { language: 'Ruby', format: '.rb' },\n { language: 'Swift', format: '.swift' },\n { language: 'Perl 6', format: '.p6' },\n { language: 'Julia', format: '.jl' },\n { language: 'Dart', format: '.dart' },\n { language: 'Racket', format: '.rkt' },\n { language: 'Elixir', format: '.ex' },\n { language: 'RAML', format: '.raml' },\n { language: 'COBOL', format: '.cob' },\n { language: 'Fortran', format: '.f' },\n { language: 'Prolog', format: '.plg' },\n { language: 'Ada', format: '.ada' },\n { language: 'VHDL', format: '.vhd' },\n { language: 'Verilog', format: '.v' },\n { language: 'SQL', format: '.sql' },\n { language: 'Dockerfile', format: '.dockerfile' },\n { language: 'YAML', format: '.yaml' },\n { language: 'JSON', format: '.json' },\n { language: 'XML', format: '.xml' },\n { language: 'Markdown', format: '.md' },\n { language: 'LaTeX', format: '.tex' },\n { language: 'Ada', format: '.ada' },\n { language: 'COBOL', format: '.cob' },\n { language: 'Fortran', format: '.f' },\n { language: 'Prolog', format: '.plg' },\n { language: 'VHDL', format: '.vhd' },\n { language: 'Verilog', format: '.v' },\n { language: 'Pascal', format: '.pas' },\n { language: 'F#', format: '.fs' },\n { language: 'Erlang', format: '.erl' },\n { language: 'Scheme', format: '.scm' },\n { language: 'COOL', format: '.cl' },\n { language: 'Rexx', format: '.rexx' },\n { language: 'Forth', format: '.forth' },\n { language: 'COBOL', format: '.cob' },\n { language: 'Powershell', format: '.ps1' },\n { language: 'SQL', format: '.sql' },\n { language: 'Go', format: '.go' },\n { language: 'Rust', format: '.rs' },\n { language: 'Kotlin', format: '.kt' },\n { language: 'Scala', format: '.scala' },\n { language: 'Perl', format: '.pl' },\n { language: 'Lua', format: '.lua' },\n { language: 'R', format: '.r' },\n { language: 'Groovy', format: '.groovy' },\n { language: 'Matlab', format: '.m' },\n { language: 'Bash', format: '.sh' },\n { language: 'PowerShell', format: '.ps1' },\n { language: 'Haskell', format: '.hs' },\n { language: 'SQL', format: '.sql' },\n { language: 'Dart', format: '.dart' },\n { language: 'Racket', format: '.rkt' },\n { language: 'Julia', format: '.jl' },\n { language: 'Elixir', format: '.ex' },\n { language: 'Swift', format: '.swift' },\n { language: 'Dockerfile', format: '.dockerfile' },\n { language: 'YAML', format: '.yaml' },\n { language: 'JSON', format: '.json' },\n { language: 'XML', format: '.xml' },\n { language: 'Markdown', format: '.md' },\n { language: 'LaTeX', format: '.tex' },\n ];\n\n const getFileFormat = (language: string) => {\n const langObject = languageFormats.find((lang) => lang.language.toUpperCase() === language.toUpperCase());\n return langObject ? langObject.format : '';\n };\n\n useEffect(() => {\n // Set initial layout here\n const rootElement = document.querySelector('#root');\n if (rootElement instanceof HTMLElement) {\n rootElement.style.width = '100%'; // Adjust as needed\n }\n }, []);\n\n const [openTabs, setOpenTabs] = useState([]);\n const [activeTabKey, setActiveTabKey] = useState(null);\n const [_activeTabIndex, setActiveTabIndex] = useState(0);\n const [activeTabMessageID, setActiveTabMessageID] = useState(null);\n // const getMaxWidth = () => window.innerWidth * 0.6;\n // const [splitScreenWidth, setSplitScreenWidth] = useState(\n // Math.min(Math.max(window.innerWidth * 0.2, window.innerWidth * 0.5), getMaxWidth()),\n // ); // Initial width in pixels. 200px is minimum. we are determining the viewport width (50%)\n //const [activeHighlights, setActiveHighlights] = useState([]);\n //const [hoveredText, setHoveredText] = useState(null);\n\n // Define colors\n const highlightColors = ['codep_c1', 'codep_c2', 'codep_c3', 'codep_c4', 'codep_c5'];\n\n const handleOpenTab = (codeBlock: CodeBlock) => {\n if (!openTabs.some((tab) => tab.key === codeBlock.key)) {\n setOpenTabs([...openTabs, codeBlock]);\n }\n setActiveTabMessageID(codeBlock.messageid as string | null | undefined);\n setActiveTabKey(codeBlock.key); // Set newly opened tab as active\n scrollToTab(codeBlock.key);\n toggleSplitScreen(true);\n };\n\n const handleCloseTab = (key: string) => {\n const newOpenTabs = openTabs.filter((tab) => tab.key !== key);\n setOpenTabs(newOpenTabs);\n if (activeTabKey === key) {\n setActiveTabKey(newOpenTabs.length > 0 ? newOpenTabs[0].key : null);\n }\n if (newOpenTabs.length === 0) {\n toggleSplitScreen(false);\n }\n deactivateCodeBlock();\n };\n\n const handleSelectTab = (key: string) => {\n setActiveTabKey(key);\n scrollToTab(key);\n //setActiveCodeBlock();\n };\n\n const handleCloseAllTabs = () => {\n setOpenTabs([]);\n setActiveTabKey(null);\n toggleSplitScreen(false);\n deactivateCodeBlock();\n };\n\n const toggleSplitScreen = (isOpen: boolean) => {\n const rootElement = document.querySelector('#root');\n const chatInputElement = document.querySelector('.gradMessageList');\n const chatInputElementC = document.querySelector('._chatInput_ce6eq_137');\n const chatInputElementB = document.querySelector('._questionInputContainer_pe9s7_1');\n\n // Root Element (Aka: Chat room)\n if (rootElement instanceof HTMLElement) {\n if (isOpen) {\n rootElement.style.width = '50vw';\n rootElement.style.position = 'fixed';\n rootElement.style.left = '50vw';\n } else {\n rootElement.removeAttribute('style');\n }\n }\n\n // Gradient at bottom of the screen\n if (chatInputElement instanceof HTMLElement) {\n if (isOpen) {\n chatInputElement.style.position = 'fixed';\n chatInputElement.style.left = 'calc(50vw + 20px)';\n chatInputElement.style.width = '50vw';\n } else {\n chatInputElement.removeAttribute('style');\n }\n }\n\n // Input Box\n if (chatInputElementB instanceof HTMLElement) {\n if (isOpen) {\n chatInputElementB.style.position = 'relative';\n chatInputElementB.style.top = 'unset';\n chatInputElementB.style.left = 'unset';\n chatInputElementB.style.bottom = 'unset';\n } else {\n chatInputElementB.removeAttribute('style');\n }\n }\n\n // Input container\n if (chatInputElementC instanceof HTMLElement) {\n if (isOpen) {\n chatInputElementC.style.position = 'fixed';\n chatInputElementC.style.left = '50vw';\n chatInputElementC.style.bottom = '-60px';\n chatInputElementC.style.width = '50vw';\n chatInputElementC.style.maxWidth = '50vw';\n } else {\n chatInputElementC.removeAttribute('style');\n }\n }\n };\n\n const scrollToTab = (key: string) => {\n setTimeout(() => {\n const tabElement = document.querySelector(`.tab[data-key=\"${key}\"]`);\n const tabsContainer = document.querySelector('.tabs-container');\n\n if (tabElement instanceof HTMLElement && tabsContainer instanceof HTMLElement) {\n const tabRect = tabElement.getBoundingClientRect();\n const containerRect = tabsContainer.getBoundingClientRect();\n\n let scrollLeft = tabElement.offsetLeft - containerRect.width / 2 + tabRect.width / 2;\n // Ensure the left adjacent tab is at least 50% visible\n scrollLeft -= tabRect.width / 2;\n\n // Adjust for boundary conditions\n scrollLeft = Math.max(scrollLeft, 0); // Prevent scrolling too far left\n scrollLeft = Math.min(scrollLeft, tabsContainer.scrollWidth - tabsContainer.clientWidth); // Prevent scrolling too far right\n\n tabsContainer.scroll({\n left: scrollLeft,\n behavior: 'smooth',\n });\n }\n }, 100); // A short timeout ensures the DOM has updated\n //setActiveCodeBlock();\n };\n\n const handleMouseMove = (e: MouseEvent) => {\n const viewportWidth = window.innerWidth;\n const cursorPosition = e.clientX;\n\n // Calculate the width of the code block as a percentage of the viewport width\n const codeBlockWidthVw = (cursorPosition / viewportWidth) * 100;\n const minCodeBlockWidthVw = 20; // Minimum width for the code block\n const maxCodeBlockWidthVw = 50; // Maximum width for the code block\n\n // Adjust code block width to stay within min and max limits\n const adjustedCodeBlockWidthVw = Math.min(Math.max(codeBlockWidthVw, minCodeBlockWidthVw), maxCodeBlockWidthVw);\n\n window.requestAnimationFrame(() => {\n const codeBlockElement = document.querySelector('.split-screenL');\n const rootElement = document.querySelector('#root');\n\n if (codeBlockElement instanceof HTMLElement) {\n codeBlockElement.style.width = `${adjustedCodeBlockWidthVw}vw`;\n }\n\n if (rootElement instanceof HTMLElement) {\n rootElement.style.position = 'fixed';\n rootElement.style.left = `${adjustedCodeBlockWidthVw}vw`;\n const rootWidthVw = 100 - adjustedCodeBlockWidthVw;\n rootElement.style.width = `${rootWidthVw}vw`;\n }\n\n const chatInputElement = document.querySelector('.gradMessageList');\n if (chatInputElement instanceof HTMLElement) {\n chatInputElement.style.position = 'fixed';\n // Set the left position dynamically with an additional offset\n chatInputElement.style.left = `calc(${adjustedCodeBlockWidthVw}vw + 20px)`;\n // Set the right position to align with the viewport edge\n const rootWidthVw = 100 - adjustedCodeBlockWidthVw;\n chatInputElement.style.width = `${rootWidthVw}vw`;\n chatInputElement.style.maxWidth = `${rootWidthVw}vw`;\n\n const chatInputWidthVw = 100 - adjustedCodeBlockWidthVw;\n chatInputElement.style.width = `${chatInputWidthVw}vw`;\n }\n\n const chatInputElementC = document.querySelector('._chatInput_ce6eq_137');\n if (chatInputElementC instanceof HTMLElement) {\n chatInputElementC.style.position = 'fixed';\n chatInputElementC.style.left = `${adjustedCodeBlockWidthVw}vw`;\n chatInputElementC.style.bottom = '-60px';\n\n // Calculate the width of the chat input element\n // It should match the width of the #root element, minus any offsets\n const chatInputWidthVw = 100 - adjustedCodeBlockWidthVw - (20 / window.innerWidth) * 100;\n chatInputElementC.style.width = `${chatInputWidthVw}vw`;\n chatInputElementC.style.maxWidth = `${chatInputWidthVw}vw`;\n }\n\n const chatInputElementB = document.querySelector('._questionInputContainer_pe9s7_1');\n if (chatInputElementB instanceof HTMLElement) {\n chatInputElementB.style.position = 'relative';\n chatInputElementB.style.top = 'unset';\n chatInputElementB.style.left = 'unset';\n chatInputElementB.style.bottom = 'unset';\n }\n });\n };\n\n const handleMouseDown = () => {\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n\n // useEffect(() => {\n // const handleResize = () => {\n // setSplitScreenWidth(Math.min(Math.max(200, window.innerWidth * 0.5), getMaxWidth()));\n // };\n\n // handleResize(); // Set initial width\n // window.addEventListener('resize', handleResize); // Adjust width on window resize\n\n // return () => {\n // window.removeEventListener('resize', handleResize);\n // };\n // }, []);\n\n // This useEffect hook is used to manipulate the DOM after the component has been rendered.\n // It selects all elements with the class 'inlinecode'.\n // For each 'inlinecode' element, it checks if the previous sibling element is a paragraph ('p').\n // If it is, it appends the 'inlinecode' element to that paragraph.\n // This operation is performed every time the component updates.\n useEffect(() => {\n // Use querySelectorAll for a static NodeList\n const inlineCodeElements = document.querySelectorAll('.inlinecode');\n\n inlineCodeElements.forEach((inlineCodeElement) => {\n const previousElement = inlineCodeElement.previousElementSibling;\n\n if (\n previousElement &&\n previousElement.tagName.toLowerCase() === 'p' &&\n !previousElement.contains(inlineCodeElement)\n ) {\n previousElement.appendChild(inlineCodeElement);\n }\n });\n }, []);\n\n // Mutation to convert all URLs to open to a new tab\n useEffect(() => {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n const links = document.querySelectorAll('a[href]');\n links.forEach((link) => {\n link.setAttribute('target', '_blank');\n link.setAttribute('rel', 'noopener noreferrer');\n });\n }\n }\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n // Hover over inline codeblock\n //const [hoveredKey, setHoveredKey] = useState(null);\n\n const [activeKeywords, setActiveKeywords] = useState>({});\n //const [disableHover, setDisableHover] = useState(false);\n\n const handleHover: HandleHoverFunction = (textContent: string, isHovering: boolean) => {\n // // Query only within the main code block\n // setHoveredText(isHovering ? textContent : null);\n // if (disableHover) return;\n const spans = document.querySelectorAll('.main-code-block span');\n const keyword = textContent.replace('()', '').trim();\n // console.log(`Handling hover for keyword: ${keyword}, isHovering: ${isHovering}`);\n\n spans.forEach((span) => {\n if (span.textContent?.trim() === keyword) {\n // console.log(`Toggling highlight for: `, span);\n span.classList.toggle('keyword-highlight', isHovering);\n }\n });\n // Optionally, highlight the entire line where the keyword is found\n // This requires that each line in your code block has a unique identifier or class\n if (isHovering) {\n spans.forEach((span) => {\n if (span.textContent?.trim() === keyword) {\n const line = span.closest('.line-class'); // Adjust '.line-class' to your line identifier\n if (line) {\n line.classList.add('line-highlight');\n }\n }\n });\n } else {\n document.querySelectorAll('.main-code-block .line-highlight').forEach((line) => {\n line.classList.remove('line-highlight');\n });\n }\n };\n\n // const [keywordColorIndices, setKeywordColorIndices] = useState>({});\n const handleClick = (textContent: string) => {\n const keyword = textContent.replace('()', '').trim();\n\n setActiveKeywords((prevKeywords) => {\n const newKeywords = { ...prevKeywords };\n if (newKeywords[keyword] !== undefined) {\n // Keyword is already highlighted, remove the highlight\n // console.log(`Removing highlight for '${keyword}'`);\n newKeywords[keyword] = undefined;\n } else {\n // Keyword is not highlighted, apply the first color\n const randomColorIndex = Math.floor(Math.random() * highlightColors.length);\n // console.log(`Applying highlight for '${keyword}' with color index: ${randomColorIndex}`);\n newKeywords[keyword] = randomColorIndex;\n }\n // console.log('Updated activeKeywords:', newKeywords);\n return newKeywords;\n });\n };\n\n const updateHighlighting = () => {\n const spans = document.querySelectorAll('.main-code-block span');\n spans.forEach((span) => {\n highlightColors.forEach((color) => {\n span.classList.remove(color);\n });\n\n const spanKeyword = span.textContent?.trim().replace('()', '');\n if (spanKeyword && activeKeywords.hasOwnProperty(spanKeyword)) {\n const colorIndex = activeKeywords[spanKeyword];\n if (colorIndex !== undefined) {\n // console.log(`Applying color ${highlightColors[colorIndex]} to '${spanKeyword}'`);\n span.classList.add(highlightColors[colorIndex]);\n }\n }\n });\n };\n\n // Call `updateHighlighting` in the `useEffect` hook whenever `activeKeywords` changes\n useEffect(() => {\n updateHighlighting();\n }, [activeKeywords]);\n\n // const getHighlightClass = (text: string): string => {\n // // Check for click-based highlight first\n // const highlight = activeHighlights.find((h) => h.text === text);\n // if (highlight) {\n // return highlight.color;\n // }\n\n // // If no click-based highlight, check for hover-based highlight\n // if (text === hoveredText) {\n // return 'hover-highlight'; // This is your hover highlight class\n // }\n\n // return '';\n // };\n\n // console.log(getHighlightClass);\n\n const activeTab = openTabs.find((tab) => tab.key === activeTabKey);\n\n // Line Numbers\n const [showLineNumbers, setShowLineNumbers] = useState(true);\n const toggleLineNumbers = () => {\n setShowLineNumbers(!showLineNumbers);\n };\n\n // Word Wrap\n const [textWrapSetting, setTextWrapSetting] = useState(true);\n const toggleTextWrap = () => {\n setTextWrapSetting(!textWrapSetting);\n };\n\n // Copy Code\n const [isCopiedCode, setIsCopiedCode] = useState(false);\n\n const handleCopyClickCode = (code: string) => {\n new Promise((resolve, reject) => {\n navigator.clipboard.writeText(code).then(resolve).catch(reject);\n })\n .then(() => {\n setIsCopiedCode(true);\n // Reset the button text after 3 seconds\n setTimeout(() => {\n setIsCopiedCode(false);\n }, 3000);\n })\n .catch((err) => {\n console.error('Failed to copy text: ', err);\n });\n };\n\n // Escape HTML\n function escapeHtml(html: string) {\n const text = document.createTextNode(html);\n const p = document.createElement('p');\n p.appendChild(text);\n return p.innerHTML;\n }\n\n // Print (Send to printer)\n const handleCodePrint = (code: string) => {\n if (showLineNumbers) {\n // Escape the HTML\n const escapedCode = escapeHtml(code);\n\n // Split the code by newline to get an array of lines\n const lines = escapedCode.split('\\n');\n\n // Add line numbers to each line\n const linesWithNumbers = lines.map((line, index) => `${index + 1}: ${line}`);\n\n // Join the lines back together into a single string\n const codeWithLineNumbers = linesWithNumbers.join('\\n');\n\n const printWindow = window.open('', '_blank');\n if (printWindow) {\n printWindow.document.write(`
${codeWithLineNumbers}
`);\n printWindow.document.close();\n printWindow.print();\n } else {\n console.error('Failed to open the print window.');\n }\n } else {\n const printWindow = window.open('', '_blank');\n if (printWindow) {\n printWindow.document.write(`
${escapeHtml(code)}
`);\n printWindow.document.close();\n printWindow.print();\n } else {\n // Handle the error here. For example, show an error message to the user.\n console.error('Failed to open the print window.');\n }\n }\n };\n\n // Save File\n const handleCodeSave = (code: string, fileFormat: string) => {\n const blob = new Blob([code], { type: 'text/plain' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `code.${fileFormat}`;\n link.click();\n URL.revokeObjectURL(url);\n };\n\n // Font Size Control\n const [fontSize, setFontSize] = useState(14);\n\n const handleIncrease = () => {\n if (fontSize < 30) {\n setFontSize(fontSize + 1); // + increase increment size\n }\n };\n\n const handleDecrease = () => {\n if (fontSize > 8) {\n setFontSize(fontSize - 1); // decrease increment size\n }\n };\n\n // Scroll to >> message\n const handleScroll = () => {\n const element = document.querySelector(`.chat-codeBlockMainC[data-code-key=\"${activeTabMessageID}\"]`);\n if (element) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n };\n\n // Sets selected code block from CodePilot\n // const setActiveCodeBlock = () => {\n // const elements = document.querySelectorAll('.chat-codeBlockMainC');\n // elements.forEach((element) => {\n // element.classList.remove('acpBackground');\n // });\n // setTimeout(() => {\n // const element = document.querySelector(`.chat-codeBlockMainC[data-code-key=\"${activeTabMessageID}\"]`);\n // if (element) {\n // element.classList.add('acpBackground');\n // }\n // }, 100);\n // };\n\n const deactivateCodeBlock = () => {\n const elements = document.querySelectorAll('.chat-codeBlockMainC');\n elements.forEach((element) => {\n element.classList.remove('acpBackground');\n });\n };\n\n const SyntaxHighlighterStyle = 'prism-themes/themes/prism-vsc-dark-plus.css';\n return (\n
\n {openTabs.length > 0 && (\n
\n
\n
\n
\n
\n UT Verse CodePilot\n
\n
\n \n {textWrapSetting ? : }\n \n \n {showLineNumbers ? : }\n \n
\n X\n
\n
\n
\n
\n
\n {openTabs.map((tab, index) => (\n \n {\n setActiveTabIndex(index);\n setActiveTabMessageID(tab.messageid as string | null | undefined);\n handleSelectTab(tab.key);\n //setActiveCodeBlock();\n }}\n >\n Code{index + 1}\n {getFileFormat(tab.language ?? '')}\n {\n e.stopPropagation(); // Prevent tab selection when closing\n handleCloseTab(tab.key);\n }}\n >\n X\n \n \n
\n ))}\n
\n {activeTab && (\n
\n
\n
\n //{' '}\n {activeTab.language\n ? activeTab.language.charAt(0).toUpperCase() +\n activeTab.language.slice(1).toLowerCase()\n : 'Plaintext'}\n
\n
\n \n \n \n \n \n \n {\n handleCodeSave(\n activeTab.code.trim(),\n getFileFormat(activeTab.language ?? ''),\n );\n }}\n className=\"codeButtonsMicro\"\n >\n \n \n {\n handleCodePrint(activeTab.code.trim());\n }}\n className=\"codeButtonsMicro\"\n >\n \n \n {\n handleCopyClickCode(activeTab.code.trim());\n }}\n className=\"codeButtonsMicro\"\n >\n {isCopiedCode ? (\n <>\n
Copied!
\n \n \n ) : (\n \n )}\n \n {\n handleScroll();\n }}\n >\n \n \n
\n
\n
\n \n {activeTab.code.trim()}\n \n
\n
\n )}\n
\n )}\n {messages.map((message, index) => (\n \n ))}\n \n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport { ArrowDown24Regular } from '@fluentui/react-icons';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { GetResponseOptions, useChat } from '../../libs/hooks/useChat';\nimport { useAppSelector } from '../../redux/app/hooks';\nimport { RootState } from '../../redux/app/store';\nimport { FeatureKeys, Features } from '../../redux/features/app/AppState';\nimport { ChatInput } from './ChatInput';\n//import { SharedStyles } from '../../styles';\nimport { ChatHistory } from './chat-history/ChatHistory';\n\nconst useClasses = makeStyles({\n root: {\n ...shorthands.overflow('auto'),\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n height: '100%',\n },\n scroll: {\n ...shorthands.margin(tokens.spacingVerticalXS),\n },\n history: {\n ...shorthands.padding(tokens.spacingVerticalM),\n display: 'flex',\n justifyContent: 'center',\n marginBottom: '150px',\n },\n input: {\n ...shorthands.padding(tokens.spacingVerticalM),\n },\n scrollToBottomButton: {\n position: 'fixed',\n zIndex: '9999',\n bottom: '500px',\n backgroundColor: '#fff',\n },\n});\n\nexport const ChatRoom: React.FC = () => {\n const classes = useClasses();\n const chat = useChat();\n\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\n const messages = conversations[selectedId].messages;\n\n const scrollViewTargetRef = React.useRef(null);\n const [shouldAutoScroll, setShouldAutoScroll] = React.useState(true);\n\n const chatEnd = useRef(null);\n const chatContainer = useRef(null);\n\n const [userSettings, setUserSettings] = useState({\n voiceGender: 'Female',\n translateTo: 'English',\n fontSelected: 'fontMontserrat',\n ignoreCodeVoice: 'True',\n forceSpeechLang: '-- None --',\n voiceSpeed: 'medium',\n voicePitch: 'medium',\n wordSpacing: 'unset',\n lineHeight: 29,\n fontSize: localStorage.getItem('fontSize') ?? '0.9',\n });\n\n // const [isDraggingOver, setIsDraggingOver] = React.useState(false);\n\n // const onDragEnter = (e: React.DragEvent) => {\n // e.preventDefault();\n // setIsDraggingOver(true);\n // };\n // const onDragLeave = (e: React.DragEvent) => {\n // e.preventDefault();\n // // Do not reset isDraggingOver here\n // };\n\n // const onDocumentDragEnd = React.useCallback((e: Event) => {\n // e.preventDefault();\n // setIsDraggingOver(false);\n // }, []);\n\n const scrollToBottom = () => {\n if (chatEnd.current) {\n chatEnd.current.scrollIntoView({ behavior: 'smooth' });\n }\n };\n\n // const onDocumentDragOver = React.useCallback(\n // (e: Event) => {\n // e.preventDefault();\n // if (isDraggingOver) {\n // setIsDraggingOver(false);\n // }\n // },\n // [isDraggingOver],\n // );\n\n // React.useEffect(() => {\n // document.addEventListener('dragleave', onDocumentDragEnd);\n // document.addEventListener('drop', onDocumentDragEnd);\n\n // return () => {\n // document.removeEventListener('dragleave', onDocumentDragEnd);\n // document.removeEventListener('drop', onDocumentDragEnd);\n // };\n // }, [onDocumentDragEnd]);\n\n const [showScrollToBottom, setShowScrollToBottom] = useState(false);\n\n const checkScrollPosition = () => {\n if (chatContainer.current) {\n const { scrollTop, scrollHeight, clientHeight } = chatContainer.current;\n if (scrollHeight - scrollTop > clientHeight + 5) {\n setShowScrollToBottom(true);\n } else {\n setShowScrollToBottom(false);\n }\n }\n };\n\n React.useEffect(() => {\n if (!shouldAutoScroll) return;\n scrollViewTargetRef.current?.scrollTo(0, scrollViewTargetRef.current.scrollHeight);\n }, [messages, shouldAutoScroll]);\n\n useEffect(() => {\n scrollToBottom(); // auto-scroll down when new messages are added\n\n // add scroll event listener\n if (chatContainer.current) {\n chatContainer.current.addEventListener('scroll', checkScrollPosition);\n }\n\n // remove scroll event listener on component unmount\n return () => {\n if (chatContainer.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n chatContainer.current.removeEventListener('scroll', checkScrollPosition);\n }\n };\n }, [messages]);\n const handleSubmit = async (options: GetResponseOptions) => {\n await chat.getResponse(options);\n setShouldAutoScroll(true);\n };\n\n if (conversations[selectedId].hidden) {\n return (\n
\n
\n
\n

\n This conversation is not visible because {Features[FeatureKeys.MultiUserChat].label} is\n disabled. Please enable the feature in the settings to view the conversation, select a\n different one, or create a new conversation.\n

\n
\n
\n
\n );\n }\n\n return (\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n {showScrollToBottom && (\n \n \n \n )}\n
\n \n
\n
\n
\n \n );\n};\n","import { createFluentIcon } from \"../utils/createFluentIcon\";\nexport const LayoutRowTwoFocusTop24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoFocusTop24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM4.5 12h15v5.75c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75V12Z\"]);\nexport const LayoutRowTwoSplitBottom16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottom16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v3h12v-3A2.5 2.5 0 0 0 11.5 2h-7ZM14 8.5H8.5V14h3a2.5 2.5 0 0 0 2.5-2.5v-3Zm-6.5 0H2v3A2.5 2.5 0 0 0 4.5 14h3V8.5Z\"]);\nexport const LayoutRowTwoSplitBottom16Regular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottom16Regular', \"16\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7ZM4.5 3C3.67 3 3 3.67 3 4.5v3h10v-3c0-.83-.67-1.5-1.5-1.5h-7ZM13 8.5H8.5V13h3c.83 0 1.5-.67 1.5-1.5v-3Zm-5.5 0H3v3c0 .83.67 1.5 1.5 1.5h3V8.5Z\"]);\nexport const LayoutRowTwoSplitBottom20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottom20Filled', \"20\", [\"M6 3a3 3 0 0 0-3 3v3.5h14V6a3 3 0 0 0-3-3H6Zm11 7.5h-6.5V17H14a3 3 0 0 0 3-3v-3.5Zm-7.5 0H3V14a3 3 0 0 0 3 3h3.5v-6.5Z\"]);\nexport const LayoutRowTwoSplitBottom20Regular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottom20Regular', \"20\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h12V6a2 2 0 0 0-2-2H6Zm10 6.5h-5.5V16H14a2 2 0 0 0 2-2v-3.5Zm-6.5 0H4V14c0 1.1.9 2 2 2h3.5v-5.5Z\"]);\nexport const LayoutRowTwoSplitBottom24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottom24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v5h18v-5C21 4.45 19.54 3 17.75 3H6.25ZM21 12.75h-8.25V21h5c1.8 0 3.25-1.46 3.25-3.25v-5Zm-9.75 0H3v5C3 19.55 4.46 21 6.25 21h5v-8.25Z\"]);\nexport const LayoutRowTwoSplitBottom24Regular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottom24Regular', \"24\", [\"M3 6.25C3 4.45 4.46 3 6.25 3h11.5C19.55 3 21 4.46 21 6.25v11.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75V6.25ZM6.25 4.5c-.97 0-1.75.78-1.75 1.75v5h15v-5c0-.97-.78-1.75-1.75-1.75H6.25Zm13.25 8.25h-6.75v6.75h5c.97 0 1.75-.78 1.75-1.75v-5Zm-8.25 0H4.5v5c0 .97.78 1.75 1.75 1.75h5v-6.75Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomLeft16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomLeft16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM3 4.5C3 3.67 3.67 3 4.5 3h7c.83 0 1.5.67 1.5 1.5v3H3v-3Zm5 4h5v3c0 .83-.67 1.5-1.5 1.5H8V8.5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomLeft20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomLeft20Filled', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.5H4V6Zm6 4.5h6V14a2 2 0 0 1-2 2h-4v-5.5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomLeft24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomLeft24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM4.5 6.25c0-.97.78-1.75 1.75-1.75h11.5c.97 0 1.75.78 1.75 1.75v5h-15v-5Zm7.5 6.5h7.5v5c0 .97-.78 1.75-1.75 1.75H12v-6.75Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomRight16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomRight16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM3 4.5C3 3.67 3.67 3 4.5 3h7c.83 0 1.5.67 1.5 1.5v3H3v-3Zm0 4h5V13H4.5A1.5 1.5 0 0 1 3 11.5v-3Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomRight20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomRight20Filled', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.5H4V6Zm0 4.5h6V16H6a2 2 0 0 1-2-2v-3.5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomRight24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomRight24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM4.5 6.25c0-.97.78-1.75 1.75-1.75h11.5c.97 0 1.75.78 1.75 1.75v5h-15v-5Zm0 6.5H12v6.75H6.25c-.97 0-1.75-.78-1.75-1.75v-5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusTop16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusTop16Filled', \"16\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7ZM13 8H8.5v5h3c.83 0 1.5-.67 1.5-1.5V8ZM7.5 8H3v3.5c0 .83.67 1.5 1.5 1.5h3V8Z\"]);\nexport const LayoutRowTwoSplitBottomFocusTop20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusTop20Filled', \"20\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm13 4h-5.5v6H14a2 2 0 0 0 2-2v-4Zm-6.5 0H4v4c0 1.1.9 2 2 2h3.5v-6Z\"]);\nexport const LayoutRowTwoSplitBottomFocusTop24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusTop24Filled', \"24\", [\"M3 6.25C3 4.45 4.46 3 6.25 3h11.5C19.55 3 21 4.46 21 6.25v11.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75V6.25ZM19.5 12h-6.75v7.5h5c.97 0 1.75-.78 1.75-1.75V12Zm-8.25 0H4.5v5.75c0 .97.78 1.75 1.75 1.75h5V12Z\"]);\nexport const LayoutRowTwoSplitTop16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTop16Filled', \"16\", [\"M7.5 7.5V2h-3A2.5 2.5 0 0 0 2 4.5v3h5.5Zm1 0H14v-3A2.5 2.5 0 0 0 11.5 2h-3v5.5Zm5.5 1H2v3A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-3Z\"]);\nexport const LayoutRowTwoSplitTop16Regular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTop16Regular', \"16\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7ZM4.5 3C3.67 3 3 3.67 3 4.5v3h4.5V3h-3Zm4 4.5H13v-3c0-.83-.67-1.5-1.5-1.5h-3v4.5Zm4.5 1H3v3c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-3Z\"]);\nexport const LayoutRowTwoSplitTop20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTop20Filled', \"20\", [\"M9.5 9.5V3H6a3 3 0 0 0-3 3v3.5h6.5Zm1 0H17V6a3 3 0 0 0-3-3h-3.5v6.5Zm6.5 1H3V14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-3.5Z\"]);\nexport const LayoutRowTwoSplitTop20Regular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTop20Regular', \"20\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h5.5V4H6Zm4.5 5.5H16V6a2 2 0 0 0-2-2h-3.5v5.5Zm5.5 1H4V14c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3.5Z\"]);\nexport const LayoutRowTwoSplitTop24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTop24Filled', \"24\", [\"M11.25 11.25V3h-5A3.25 3.25 0 0 0 3 6.25v5h8.25Zm1.5 0H21v-5C21 4.45 19.54 3 17.75 3h-5v8.25Zm8.25 1.5H3v5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25v-5Z\"]);\nexport const LayoutRowTwoSplitTop24Regular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTop24Regular', \"24\", [\"M3 6.25C3 4.45 4.46 3 6.25 3h11.5C19.55 3 21 4.46 21 6.25v11.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75V6.25ZM6.25 4.5c-.97 0-1.75.78-1.75 1.75v5h6.75V4.5h-5Zm6.5 6.75h6.75v-5c0-.97-.78-1.75-1.75-1.75h-5v6.75Zm6.75 1.5h-15v5c0 .97.78 1.75 1.75 1.75h11.5c.97 0 1.75-.78 1.75-1.75v-5Z\"]);\nexport const LayoutRowTwoSplitTopFocusBottom16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusBottom16Filled', \"16\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7ZM4.5 3C3.67 3 3 3.67 3 4.5V8h4.5V3h-3Zm4 0v5H13V4.5c0-.83-.67-1.5-1.5-1.5h-3Z\"]);\nexport const LayoutRowTwoSplitTopFocusBottom20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusBottom20Filled', \"20\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v4h5.5V4H6Zm4.5 0v6H16V6a2 2 0 0 0-2-2h-3.5Z\"]);\nexport const LayoutRowTwoSplitTopFocusBottom24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusBottom24Filled', \"24\", [\"M3 6.25C3 4.45 4.46 3 6.25 3h11.5C19.55 3 21 4.46 21 6.25v11.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75V6.25ZM6.25 4.5c-.97 0-1.75.78-1.75 1.75V12h6.75V4.5h-5Zm6.5 0V12h6.75V6.25c0-.97-.78-1.75-1.75-1.75h-5Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopLeft16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopLeft16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM3 8.5h10v3c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-3Zm10-1H8V3h3.5c.83 0 1.5.67 1.5 1.5v3Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopLeft20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopLeft20Filled', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm4 6.5V4h4a2 2 0 0 1 2 2v3.5h-6Zm6 1V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3.5h12Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopLeft24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopLeft24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM4.5 12.75h15v5c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75v-5Zm15-1.5H12V4.5h5.75c.97 0 1.75.78 1.75 1.75v5Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopRight16Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopRight16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM3 4.5C3 3.67 3.67 3 4.5 3H8v4.5H3v-3Zm0 4h10v3c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-3Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopRight20Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopRight20Filled', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h4v5.5H4V6Zm0 4.5h12V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3.5Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopRight24Filled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopRight24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM4.5 6.25c0-.97.78-1.75 1.75-1.75H12v6.75H4.5v-5Zm0 6.5h15v5c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75v-5Z\"]);\nexport const LeafOne16Filled = /*#__PURE__*/createFluentIcon('LeafOne16Filled', \"16\", [\"M11.27 4.54a4.89 4.89 0 0 1-2.77 8.48v1.48a.5.5 0 1 1-1 0v-1.48a4.89 4.89 0 0 1-2.77-8.49l2.43-2.2c.48-.42 1.2-.42 1.68 0l2.43 2.2ZM8.5 7.5a.5.5 0 0 0-1 0v4.52c.33.04.67.04 1 0V7.5Z\"]);\nexport const LeafOne16Regular = /*#__PURE__*/createFluentIcon('LeafOne16Regular', \"16\", [\"M7.5 13.02v1.48a.5.5 0 0 0 1 0v-1.48a4.89 4.89 0 0 0 2.77-8.49l-2.43-2.2a1.25 1.25 0 0 0-1.68 0l-2.43 2.2a4.89 4.89 0 0 0 2.77 8.5Zm3.1-7.74a3.89 3.89 0 0 1-2.1 6.74V7.5a.5.5 0 0 0-1 0v4.52a3.89 3.89 0 0 1-2.1-6.74l2.43-2.2c.1-.09.24-.09.34 0l2.43 2.2Z\"]);\nexport const LeafOne20Filled = /*#__PURE__*/createFluentIcon('LeafOne20Filled', \"20\", [\"M11.07 2.46a1.5 1.5 0 0 0-2.14 0l-3.24 3.3a6.03 6.03 0 0 0 .06 8.5v.01a5.98 5.98 0 0 0 3.75 1.74v1.49a.5.5 0 1 0 1 0V16c1.36-.1 2.7-.68 3.74-1.73h.01l.01-.02a6.03 6.03 0 0 0 .05-8.48l-3.24-3.3ZM10.5 15c-.33.03-.67.03-1 0V9.5a.5.5 0 1 1 1 0V15Z\"]);\nexport const LeafOne20Regular = /*#__PURE__*/createFluentIcon('LeafOne20Regular', \"20\", [\"m11.07 2.46 3.24 3.3A6.03 6.03 0 0 1 10.5 16v1.5a.5.5 0 1 1-1 0V16A6.03 6.03 0 0 1 5.69 5.76l3.24-3.3a1.5 1.5 0 0 1 2.14 0Zm-.57 12.53a5.03 5.03 0 0 0 3.1-8.52l-3.24-3.31a.5.5 0 0 0-.72 0L6.4 6.46A5.03 5.03 0 0 0 9.5 15v-5.5a.5.5 0 1 1 1 0V15Z\"]);\nexport const LeafOne24Filled = /*#__PURE__*/createFluentIcon('LeafOne24Filled', \"24\", [\"M11.04 3.05c.68-.45 1.6-.38 2.2.22l3.7 3.71a7 7 0 0 1-4.19 11.91v2.36a.75.75 0 1 1-1.5 0v-2.36A7 7 0 0 1 7.05 7l3.71-3.72c.09-.08.18-.16.28-.22ZM12 11a.75.75 0 0 0-.75.75v5.63c.5.07 1 .07 1.5 0v-5.63A.75.75 0 0 0 12 11Z\"]);\nexport const LeafOne24Regular = /*#__PURE__*/createFluentIcon('LeafOne24Regular', \"24\", [\"M13.24 3.27a1.75 1.75 0 0 0-2.48 0l-3.7 3.71a7 7 0 0 0 4.19 11.91v2.36a.75.75 0 0 0 1.5 0v-2.36A7 7 0 0 0 16.95 7l-3.71-3.72Zm-.49 14.11v-5.63a.75.75 0 0 0-1.5 0v5.63a5.5 5.5 0 0 1-3.14-9.34l3.71-3.7c.1-.1.26-.1.36 0l3.7 3.7a5.5 5.5 0 0 1-3.13 9.34Z\"]);\nexport const LeafOne32Filled = /*#__PURE__*/createFluentIcon('LeafOne32Filled', \"32\", [\"M14.05 3.8a2.76 2.76 0 0 1 3.9 0l5.12 5.13A10 10 0 0 1 17 25.95V29a1 1 0 1 1-2 0v-3.05a9.96 9.96 0 0 1-9-9.99 10.05 10.05 0 0 1 2.93-7.03l5.12-5.12ZM15 23.95c.66.08 1.34.08 2 0V15a1 1 0 1 0-2 0v8.94Z\"]);\nexport const LeafOne32Regular = /*#__PURE__*/createFluentIcon('LeafOne32Regular', \"32\", [\"M17.95 3.8a2.76 2.76 0 0 0-3.9 0L8.93 8.94A10 10 0 0 0 15 25.95V29a1 1 0 1 0 2 0v-3.05a10 10 0 0 0 6.07-17.02L17.95 3.8ZM17 23.95V15a1 1 0 0 0-2 0v8.94a8 8 0 0 1-4.66-13.6l5.12-5.12c.3-.3.78-.3 1.08 0l5.12 5.12A8 8 0 0 1 17 23.94Z\"]);\nexport const LeafThree16Filled = /*#__PURE__*/createFluentIcon('LeafThree16Filled', \"16\", [\"M9 1a4 4 0 0 0-3.48 2.03 5 5 0 0 1 3.6 2.14c.44-.11.9-.17 1.38-.17H13V2.15C13 1.5 12.49 1 11.85 1H9Zm4.76 5c.68 0 1.24.56 1.24 1.24v3.26a4.5 4.5 0 0 1-7.3 3.52l-.85.83a.5.5 0 0 1-.7-.7l.83-.84a4.49 4.49 0 0 1 2.64-7.22c.28-.06.58-.09.88-.09h3.26ZM7.7 12.6c.2.26.44.5.7.7l2.45-2.45a.5.5 0 0 0-.7-.7L7.7 12.6Zm.45-7.07a5.52 5.52 0 0 0-2.51 2.4l-.79-.78a.5.5 0 1 0-.7.7l1.08 1.08A5.5 5.5 0 0 0 5.2 12 4 4 0 0 1 1 8V5.15C1 4.5 1.51 4 2.15 4H5a4 4 0 0 1 3.15 1.53Z\"]);\nexport const LeafThree16Regular = /*#__PURE__*/createFluentIcon('LeafThree16Regular', \"16\", [\"M9 1h2.85C12.5 1 13 1.51 13 2.15V5c0 .35-.04.68-.13 1h.89c.68 0 1.24.56 1.24 1.24v3.26a4.5 4.5 0 0 1-7.3 3.52l-.85.83a.5.5 0 0 1-.7-.7l.83-.84a4.49 4.49 0 0 1-.78-1.5A4 4 0 0 1 1 8V5.15C1 4.5 1.51 4 2.15 4h2.98A4 4 0 0 1 9 1Zm1.85 9.85L8.4 13.3a3.5 3.5 0 0 0 5.6-2.8V7.24c0-.13-.1-.24-.24-.24H10.5a3.5 3.5 0 0 0-2.8 5.6l2.45-2.45a.5.5 0 0 1 .7.7ZM11.83 6A3 3 0 0 0 12 5V2.15a.15.15 0 0 0-.15-.15H9a3 3 0 0 0-2.88 2.16 4.01 4.01 0 0 1 2.54 2.23C9.22 6.14 9.85 6 10.5 6h1.33Zm-4.04.9A3 3 0 0 0 5 5H2.15a.15.15 0 0 0-.15.15V8a3 3 0 0 0 4.01 2.83 4.57 4.57 0 0 1 .05-1.06L4.15 7.85a.5.5 0 1 1 .7-.7l1.53 1.53c.32-.7.8-1.32 1.41-1.78Z\"]);\nexport const LeafThree20Filled = /*#__PURE__*/createFluentIcon('LeafThree20Filled', \"20\", [\"M11 2a5 5 0 0 0-4 2 6 6 0 0 1 5.23 3.05c.25-.03.5-.05.77-.05h3V3.34C16 2.6 15.4 2 14.66 2H11ZM7.34 14.99 7 15a5 5 0 0 1-5-5V6.34C2 5.6 2.6 5 3.34 5H7a5 5 0 0 1 4.2 2.28 6.02 6.02 0 0 0-3.43 2.78L6.35 8.65a.5.5 0 1 0-.7.7l1.68 1.69a6 6 0 0 0 0 3.95ZM8 13a5 5 0 0 1 5-5h3.66C17.4 8 18 8.6 18 9.34V13a5 5 0 0 1-8.16 3.87l-.99.98a.5.5 0 0 1-.7-.7l.98-.99A4.98 4.98 0 0 1 8 13Zm2.55 3.16 3.3-3.3a.5.5 0 0 0-.7-.71l-3.31 3.3c.2.27.44.5.7.71Z\"]);\nexport const LeafThree20Regular = /*#__PURE__*/createFluentIcon('LeafThree20Regular', \"20\", [\"M16 7c0 .34-.03.68-.1 1h.76C17.4 8 18 8.6 18 9.34V13a5 5 0 0 1-8.16 3.87l-.99.98a.5.5 0 0 1-.7-.7l.98-.99a5 5 0 0 1-.79-1.34A5 5 0 0 1 2 10V6.34C2 5.6 2.6 5 3.34 5h3.08A5 5 0 0 1 11 2h3.66C15.4 2 16 2.6 16 3.34V7ZM7.52 5.03a5 5 0 0 1 4.14 3.15A5 5 0 0 1 13 8h1.87A4 4 0 0 0 15 7V3.34a.34.34 0 0 0-.34-.34H11a4 4 0 0 0-3.48 2.03Zm3.03 11.13A4 4 0 0 0 17 13V9.34a.34.34 0 0 0-.34-.34H13a4 4 0 0 0-3.16 6.45l3.3-3.3a.5.5 0 0 1 .71.7l-3.3 3.31ZM8 13c0-.4.05-.79.13-1.16L5.65 9.35a.5.5 0 1 1 .7-.7l2.16 2.15a5.02 5.02 0 0 1 2.22-2.25A4 4 0 0 0 7 6H3.34a.34.34 0 0 0-.34.34V10a4 4 0 0 0 5.07 3.85A5.03 5.03 0 0 1 8 13Z\"]);\nexport const LeafThree24Filled = /*#__PURE__*/createFluentIcon('LeafThree24Filled', \"24\", [\"M13.5 2a5.5 5.5 0 0 0-4.9 3 7 7 0 0 1 5.49 3.13c.45-.08.93-.13 1.41-.13h3.48l.02-.5V3.44c0-.8-.65-1.44-1.44-1.44H13.5ZM8.43 18h-.18a6 6 0 0 1-6-6V7.51c0-.83.68-1.51 1.51-1.51h4.49a6 6 0 0 1 4.8 2.4 7.52 7.52 0 0 0-3.93 3.16L7.53 9.97a.75.75 0 0 0-1.06 1.06l1.96 1.96a7.49 7.49 0 0 0 0 5ZM9 15.5A6.5 6.5 0 0 1 15.5 9h4.91c.88 0 1.59.71 1.59 1.59v4.91a6.5 6.5 0 0 1-10.54 5.1l-1.18 1.18a.75.75 0 1 1-1.06-1.06l1.18-1.18A6.47 6.47 0 0 1 9 15.5Zm3.18 4.38 4.6-4.6a.75.75 0 1 0-1.06-1.06l-4.6 4.6c.3.4.66.76 1.06 1.06Z\"]);\nexport const LeafThree24Regular = /*#__PURE__*/createFluentIcon('LeafThree24Regular', \"24\", [\"M19 7.5a5.5 5.5 0 0 1-.2 1.5h1.61c.88 0 1.59.71 1.59 1.59v4.91a6.5 6.5 0 0 1-10.54 5.1l-1.18 1.18a.75.75 0 1 1-1.06-1.06l1.18-1.18a6.5 6.5 0 0 1-.95-1.66A6 6 0 0 1 2.25 12V7.51c0-.83.68-1.51 1.51-1.51h4.45a5.5 5.5 0 0 1 5.29-4h4.06c.8 0 1.44.65 1.44 1.44V7.5ZM9.72 6.18c1.7.43 3.1 1.58 3.88 3.1A6.5 6.5 0 0 1 15.5 9h1.7c.2-.46.3-.97.3-1.5v-4h-4a4 4 0 0 0-3.78 2.68Zm2.81 13.35a5 5 0 0 0 7.97-4.03v-4.91a.09.09 0 0 0-.09-.09H15.5a5 5 0 0 0-4.03 7.97l4.25-4.25a.75.75 0 1 1 1.06 1.06l-4.25 4.25ZM9 15.5c0-.6.08-1.17.23-1.71l-2.76-2.76a.75.75 0 1 1 1.06-1.06l2.32 2.32c.56-1 1.39-1.83 2.37-2.4A4.5 4.5 0 0 0 8.25 7.5H3.76l-.01.01V12a4.5 4.5 0 0 0 5.32 4.43c-.05-.3-.07-.62-.07-.93Z\"]);\nexport const LeafTwo16Filled = /*#__PURE__*/createFluentIcon('LeafTwo16Filled', \"16\", [\"M2.17 2C1.52 2 1 2.52 1 3.17v3a4.17 4.17 0 0 0 4.31 4.17 5.5 5.5 0 0 1-.08-3.4L4.15 5.84a.5.5 0 1 1 .7-.7l.79.78a5.52 5.52 0 0 1 2.69-2.48A4.16 4.16 0 0 0 5.17 2h-3Zm4.81 9.3L5.2 13.1a.5.5 0 0 0 .7.7l1.8-1.78A4.5 4.5 0 0 0 15 8.5V5.23C15 4.55 14.45 4 13.77 4H10.5a4.5 4.5 0 0 0-3.52 7.3Zm3.88-2.45L8.4 11.3c-.26-.2-.5-.44-.7-.7l2.45-2.46a.5.5 0 1 1 .7.7Z\"]);\nexport const LeafTwo16Regular = /*#__PURE__*/createFluentIcon('LeafTwo16Regular', \"16\", [\"M1 3.17v3a4.17 4.17 0 0 0 5.33 4c.16.42.39.8.66 1.14L5.2 13.09a.5.5 0 0 0 .7.71l1.8-1.79A4.5 4.5 0 0 0 15 8.5V5.23C15 4.55 14.45 4 13.77 4H10.5c-.56 0-1.1.1-1.6.3A4.17 4.17 0 0 0 5.17 2h-3C1.52 2 1 2.52 1 3.17Zm7.4 8.13 2.46-2.45a.5.5 0 0 0-.71-.7L7.7 10.58A3.5 3.5 0 0 1 10.5 5h3.27c.13 0 .23.1.23.23V8.5a3.5 3.5 0 0 1-5.6 2.8ZM5.18 3c1.24 0 2.32.72 2.84 1.76a4.52 4.52 0 0 0-1.62 1.92L4.85 5.15a.5.5 0 1 0-.7.7l1.91 1.92a4.53 4.53 0 0 0 0 1.44A3.17 3.17 0 0 1 2 6.17v-3c0-.1.07-.17.17-.17h3Z\"]);\nexport const LeafTwo20Filled = /*#__PURE__*/createFluentIcon('LeafTwo20Filled', \"20\", [\"M3.32 3C2.59 3 2 3.59 2 4.32V8a5 5 0 0 0 4.49 4.97 6.48 6.48 0 0 1-.05-4.82l-1.3-1.3a.5.5 0 1 1 .71-.7L6.9 7.19a6.52 6.52 0 0 1 3.51-2.85A4.98 4.98 0 0 0 7 3H3.32Zm4.95 11.02-2.13 2.14a.5.5 0 1 0 .7.7l2.14-2.13A5.5 5.5 0 0 0 18 10.5V6.4c0-.77-.63-1.4-1.4-1.4h-4.1a5.5 5.5 0 0 0-4.23 9.02Zm4.58-3.17L9.7 14.02c-.26-.21-.5-.45-.7-.71l3.16-3.16a.5.5 0 0 1 .7.7Z\"]);\nexport const LeafTwo20Regular = /*#__PURE__*/createFluentIcon('LeafTwo20Regular', \"20\", [\"M2 4.32V8a5 5 0 0 0 5.58 4.97c.2.37.42.73.7 1.05l-2.14 2.14a.5.5 0 0 0 .7.7l2.14-2.13A5.5 5.5 0 0 0 18 10.5V6.4c0-.77-.63-1.4-1.4-1.4h-4.1c-.47 0-.94.06-1.38.17A5 5 0 0 0 7 3H3.32C2.59 3 2 3.59 2 4.32Zm7.7 9.7 3.15-3.17a.5.5 0 0 0-.7-.7L8.98 13.3A4.5 4.5 0 0 1 12.5 6l4.1-.01c.22 0 .4.18.4.4v4.1a4.5 4.5 0 0 1-7.3 3.52ZM7 4a4 4 0 0 1 3.15 1.53 5.52 5.52 0 0 0-2.51 2.4L5.85 6.15a.5.5 0 1 0-.7.7l2.08 2.08A5.5 5.5 0 0 0 7.2 12 4 4 0 0 1 3 8V4.32c0-.18.14-.32.32-.32H7Z\"]);\nexport const LeafTwo24Filled = /*#__PURE__*/createFluentIcon('LeafTwo24Filled', \"24\", [\"M3.7 2C2.78 2 2 2.76 2 3.7V8a6 6 0 0 0 5 5.92 7.96 7.96 0 0 1 1.4-4.45L6.23 7.28a.75.75 0 0 1 1.06-1.06l2.1 2.1A7.98 7.98 0 0 1 13.7 6.1 6 6 0 0 0 8 2H3.7Zm5.85 16.39-2.33 2.33a.75.75 0 1 0 1.06 1.06l2.33-2.33A7 7 0 0 0 22 14V8.75C22 7.78 21.22 7 20.25 7H15a7 7 0 0 0-5.45 11.39Zm6.23-4.1-4.1 4.09c-.4-.3-.75-.66-1.06-1.06l4.1-4.1a.75.75 0 0 1 1.06 1.06Z\"]);\nexport const LeafTwo24Regular = /*#__PURE__*/createFluentIcon('LeafTwo24Regular', \"24\", [\"M2 4.7V9a6 6 0 0 0 6.3 6c.26.88.69 1.69 1.25 2.39l-2.33 2.33a.75.75 0 0 0 1.06 1.06l2.33-2.33A7 7 0 0 0 22 13V7.75C22 6.78 21.22 6 20.25 6H15c-.58 0-1.15.07-1.69.2A6 6 0 0 0 8.01 3H3.7C2.77 3 2 3.76 2 4.7Zm9.68 12.68 4.1-4.1a.75.75 0 0 0-1.06-1.06l-4.1 4.1A5.5 5.5 0 0 1 15 7.5h5.25c.14 0 .25.1.25.25V13a5.5 5.5 0 0 1-8.82 4.38ZM8 4.5c1.66 0 3.1.9 3.89 2.23a7.03 7.03 0 0 0-2.71 2.39l-1.9-1.9a.75.75 0 0 0-1.06 1.06l2.24 2.24a6.98 6.98 0 0 0-.44 2.98H8A4.5 4.5 0 0 1 3.5 9V4.7c0-.1.1-.2.2-.2H8Z\"]);\nexport const LeafTwo32Filled = /*#__PURE__*/createFluentIcon('LeafTwo32Filled', \"32\", [\"M5 3a3 3 0 0 0-3 3v6a9 9 0 0 0 6.28 8.58 12.04 12.04 0 0 1 1.32-8.57l-2.3-2.3a1 1 0 0 1 1.4-1.42l2.06 2.05a11.99 11.99 0 0 1 7.11-4.15A8.98 8.98 0 0 0 11 3H5Zm14.08 5.04a9.98 9.98 0 0 0-6.82 16.29l-2.97 2.96a1 1 0 1 0 1.42 1.42l2.96-2.97A10 10 0 0 0 30 18v-7a3 3 0 0 0-3-3h-7c-.3 0-.61.01-.92.04Zm2.63 8.25a1 1 0 0 1 0 1.42l-6.62 6.61c-.52-.41-1-.89-1.41-1.41l6.61-6.62a1 1 0 0 1 1.42 0Z\"]);\nexport const LeafTwo32Regular = /*#__PURE__*/createFluentIcon('LeafTwo32Regular', \"32\", [\"M10.45 20.98c.39 1.24 1 2.37 1.8 3.35L9.3 27.29a1 1 0 1 0 1.42 1.42l2.96-2.97A10 10 0 0 0 30 18v-7a3 3 0 0 0-3-3h-7c-.3 0-.61.01-.92.04A9 9 0 0 0 11 3H5a3 3 0 0 0-3 3v6a9 9 0 0 0 8.45 8.98ZM4 6a1 1 0 0 1 1-1h6a7 7 0 0 1 6.03 3.45c-1.93.6-3.62 1.77-4.85 3.32L8.71 8.29a1 1 0 0 0-1.42 1.42l3.78 3.78a9.96 9.96 0 0 0-1.03 5.45A7 7 0 0 1 4 12V6Zm16 20a7.97 7.97 0 0 1-4.9-1.68l6.6-6.61a1 1 0 0 0-1.4-1.42l-6.62 6.62A8 8 0 0 1 20 10h7a1 1 0 0 1 1 .99v7a8 8 0 0 1-8 8Z\"]);\nexport const LeafTwo48Filled = /*#__PURE__*/createFluentIcon('LeafTwo48Filled', \"48\", [\"M26.82 11.44A12.49 12.49 0 0 0 16.5 6H8.25A4.25 4.25 0 0 0 4 10.25v8.25a12.5 12.5 0 0 0 11.65 12.47 15.5 15.5 0 0 1 .72-10.84l-5-5a1.25 1.25 0 0 1 1.76-1.77l4.5 4.5a15.52 15.52 0 0 1 9.19-6.42Zm-4.93 21.9c.52.66 1.11 1.25 1.77 1.77l8.98-8.98a1.25 1.25 0 0 0-1.77-1.77l-8.98 8.98Zm-6.52 6.53 4.74-4.75A13.5 13.5 0 0 1 30.5 13h9.25C42.1 13 44 14.9 44 17.25v9.25a13.5 13.5 0 0 1-22.12 10.39l-4.75 4.74a1.25 1.25 0 0 1-1.76-1.76Z\"]);\nexport const LeafTwo48Regular = /*#__PURE__*/createFluentIcon('LeafTwo48Regular', \"48\", [\"M16.5 6a12.5 12.5 0 0 1 11.35 7.26c.86-.17 1.74-.26 2.65-.26h9.25C42.1 13 44 14.9 44 17.25v9.25a13.5 13.5 0 0 1-22.12 10.39l-4.75 4.74a1.25 1.25 0 0 1-1.76-1.76l4.74-4.75a13.48 13.48 0 0 1-2.36-4.18A12.5 12.5 0 0 1 4 18.5v-8.25C4 7.9 5.9 6 8.25 6h8.25Zm7.16 29.11A11 11 0 0 0 41.5 26.5v-9.25c0-.97-.78-1.75-1.75-1.75H30.5a11 11 0 0 0-8.61 17.84l8.98-8.98a1.25 1.25 0 0 1 1.77 1.77l-8.98 8.98ZM16.5 28.5c.22 0 .43 0 .64-.02a13.62 13.62 0 0 1 .75-6.82l-6.52-6.53a1.25 1.25 0 0 1 1.76-1.77l5.95 5.94A13.55 13.55 0 0 1 25.43 14 10 10 0 0 0 16.5 8.5H8.25c-.97 0-1.75.78-1.75 1.75v8.25a10 10 0 0 0 10 10Z\"]);\nexport const LearningApp20Filled = /*#__PURE__*/createFluentIcon('LearningApp20Filled', \"20\", [\"M6 2a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h4.26a5.5 5.5 0 0 1-.66-1H6a1 1 0 0 1-1-1h4.2A5.5 5.5 0 0 1 16 9.2V4a2 2 0 0 0-2-2H6Zm.75 2.5h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.98-1.97a.45.45 0 0 0-.45-.03.49.49 0 0 0-.15.1.51.51 0 0 0-.14.36v3.08a.5.5 0 0 0 .14.35.45.45 0 0 0 .48.13.52.52 0 0 0 .13-.06l2.3-1.57c.06-.04.12-.1.16-.18a.54.54 0 0 0 0-.49.49.49 0 0 0-.17-.18l-2.3-1.5Z\"]);\nexport const LearningApp20Regular = /*#__PURE__*/createFluentIcon('LearningApp20Regular', \"20\", [\"M6 3h8a1 1 0 0 1 1 1v5.02c.34.03.68.1 1 .19V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h4.26a5.5 5.5 0 0 1-.66-1H6a1 1 0 0 1-1-1h4.2c-.08-.32-.15-.66-.18-1H5V4a1 1 0 0 1 1-1Zm1 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7Zm6 1v1H7V5h6Zm6 9.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.98-1.97a.45.45 0 0 0-.45-.03.49.49 0 0 0-.15.1.51.51 0 0 0-.14.36v3.08a.5.5 0 0 0 .14.35.45.45 0 0 0 .48.13.52.52 0 0 0 .13-.06l2.3-1.57c.06-.04.12-.1.16-.18a.54.54 0 0 0 0-.49.49.49 0 0 0-.17-.18l-2.3-1.5Z\"]);\nexport const LearningApp24Filled = /*#__PURE__*/createFluentIcon('LearningApp24Filled', \"24\", [\"M5.5 2H17a2.5 2.5 0 0 1 2.5 2.5v6.81a6.5 6.5 0 0 0-8.19 8.19H4.5a1 1 0 0 0 1 1h6.23c.29.55.65 1.06 1.08 1.5H5.5A2.5 2.5 0 0 1 3 19.5v-15A2.5 2.5 0 0 1 5.5 2ZM7 5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H7Zm16 12.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-6.09-2.4 2.81 1.84a.6.6 0 0 1 .28.52c0 .1-.02.2-.07.3a.57.57 0 0 1-.2.22l-2.8 1.92a.64.64 0 0 1-.17.07.55.55 0 0 1-.4-.02.69.69 0 0 1-.18-.13.61.61 0 0 1-.18-.44v-3.76a.62.62 0 0 1 .37-.57.55.55 0 0 1 .55.05Z\"]);\nexport const LearningApp24Regular = /*#__PURE__*/createFluentIcon('LearningApp24Regular', \"24\", [\"M5.5 2A2.5 2.5 0 0 0 3 4.5v15A2.5 2.5 0 0 0 5.5 22h7.31a6.52 6.52 0 0 1-1.08-1.5H5.5a1 1 0 0 1-1-1h6.81a6.48 6.48 0 0 1-.3-1.5H4.5V4.5a1 1 0 0 1 1-1H17a1 1 0 0 1 1 1v6.52c.52.04 1.02.14 1.5.3V4.5A2.5 2.5 0 0 0 17 2H5.5ZM23 17.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-6.09-2.4 2.81 1.84a.6.6 0 0 1 .28.52c0 .1-.02.2-.07.3a.57.57 0 0 1-.2.22l-2.8 1.92a.64.64 0 0 1-.17.07.55.55 0 0 1-.4-.02.69.69 0 0 1-.18-.13.61.61 0 0 1-.18-.44v-3.76a.62.62 0 0 1 .37-.57.55.55 0 0 1 .55.05ZM6 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V6Zm1.5 1.5h7v-1h-7v1Z\"]);\nexport const Library16Filled = /*#__PURE__*/createFluentIcon('Library16Filled', \"16\", [\"M2.25 2C1.55 2 1 2.56 1 3.25v9.5c0 .68.56 1.24 1.25 1.24h.5C3.44 14 4 13.43 4 12.74v-9.5C4 2.57 3.44 2 2.75 2h-.5Zm4 0C5.55 2 5 2.56 5 3.25v9.5c0 .68.56 1.24 1.25 1.24h.5c.69 0 1.24-.56 1.24-1.25v-9.5C8 2.57 7.44 2 6.75 2h-.5Zm5.72 2.78a1.25 1.25 0 0 0-1.57-.72l-.58.2c-.67.24-1.01 1-.75 1.65l2.94 7.3c.25.63.94.94 1.57.72l.58-.2c.68-.24 1.02-.99.75-1.65l-2.94-7.3Z\"]);\nexport const Library16Regular = /*#__PURE__*/createFluentIcon('Library16Regular', \"16\", [\"M1 3.25C1 2.55 1.56 2 2.25 2h.5C3.44 2 4 2.56 4 3.25v9.5c0 .69-.56 1.24-1.25 1.24h-.5C1.55 14 1 13.44 1 12.74v-9.5ZM2.25 3a.25.25 0 0 0-.25.25v9.5c0 .13.11.24.25.24h.5c.14 0 .25-.1.25-.25v-9.5A.25.25 0 0 0 2.75 3h-.5ZM5 3.25C5 2.55 5.56 2 6.25 2h.5c.68 0 1.24.56 1.24 1.25v9.5c0 .69-.56 1.24-1.24 1.24h-.5C5.55 14 5 13.44 5 12.74v-9.5ZM6.25 3a.25.25 0 0 0-.25.25v9.5c0 .13.1.24.25.24h.5c.13 0 .24-.1.24-.25v-9.5A.25.25 0 0 0 6.75 3h-.5Zm5.72 1.78a1.25 1.25 0 0 0-1.57-.72l-.58.2c-.67.24-1.01 1-.75 1.65l2.94 7.3c.25.63.94.94 1.57.72l.58-.2c.68-.24 1.02-.99.75-1.65l-2.94-7.3ZM10.73 5c.13-.05.27.02.32.14l2.93 7.3a.25.25 0 0 1-.15.33l-.58.2a.25.25 0 0 1-.31-.14L10 5.54a.25.25 0 0 1 .15-.33l.58-.2Z\"]);\nexport const Library20Filled = /*#__PURE__*/createFluentIcon('Library20Filled', \"20\", [\"M3.5 2C2.67 2 2 2.67 2 3.5v12.98c0 .83.67 1.5 1.5 1.5h1c.83 0 1.5-.67 1.5-1.5V3.5C6 2.67 5.33 2 4.5 2h-1Zm5 0C7.67 2 7 2.67 7 3.5v12.98c0 .83.67 1.5 1.5 1.5h1c.83 0 1.5-.67 1.5-1.5V3.5c0-.83-.67-1.5-1.5-1.5h-1Zm7.22 4.16a1.5 1.5 0 0 0-1.87-1.1l-.75.2A1.5 1.5 0 0 0 12.04 7l2 9.8c.18.84 1.02 1.36 1.84 1.15l.99-.25c.79-.2 1.27-1 1.1-1.78l-2.25-9.76Z\"]);\nexport const Library20Regular = /*#__PURE__*/createFluentIcon('Library20Regular', \"20\", [\"M2 3.5C2 2.67 2.67 2 3.5 2h1C5.33 2 6 2.67 6 3.5v12.98c0 .83-.67 1.5-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5V3.5ZM3.5 3a.5.5 0 0 0-.5.5v12.98c0 .28.22.5.5.5h1a.5.5 0 0 0 .5-.5V3.5a.5.5 0 0 0-.5-.5h-1Zm3.5.5C7 2.67 7.67 2 8.5 2h1c.83 0 1.5.67 1.5 1.5v12.98c0 .83-.67 1.5-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5V3.5ZM8.5 3a.5.5 0 0 0-.5.5v12.98c0 .28.22.5.5.5h1a.5.5 0 0 0 .5-.5V3.5a.5.5 0 0 0-.5-.5h-1Zm7.22 3.16a1.5 1.5 0 0 0-1.87-1.1l-.75.2A1.5 1.5 0 0 0 12.04 7l2 9.8c.18.84 1.02 1.36 1.84 1.15l.99-.25c.79-.2 1.27-1 1.1-1.78l-2.25-9.76ZM14.12 6a.5.5 0 0 1 .62.37L17 16.14a.5.5 0 0 1-.37.6l-.98.25a.5.5 0 0 1-.61-.39l-2-9.8a.5.5 0 0 1 .35-.58l.74-.2Z\"]);\nexport const Library24Filled = /*#__PURE__*/createFluentIcon('Library24Filled', \"24\", [\"M5.5 3C6.33 3 7 3.67 7 4.5v15c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 2 19.5v-15C2 3.67 2.67 3 3.5 3h2Zm6 0c.83 0 1.5.67 1.5 1.5v15c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 8 19.5v-15C8 3.67 8.67 3 9.5 3h2Zm7.28 3.12L22 18.64c.21.8-.27 1.62-1.07 1.83l-1.88.48a1.5 1.5 0 0 1-1.83-1.08L14 7.35a1.5 1.5 0 0 1 1.08-1.82l1.87-.49c.8-.2 1.63.28 1.83 1.08Z\"]);\nexport const Library24Regular = /*#__PURE__*/createFluentIcon('Library24Regular', \"24\", [\"M4 3h1a2 2 0 0 1 2 1.85V19a2 2 0 0 1-1.85 2H4a2 2 0 0 1-2-1.85V5a2 2 0 0 1 1.85-2H5 4Zm6 0h1a2 2 0 0 1 2 1.85V19a2 2 0 0 1-1.85 2H10a2 2 0 0 1-2-1.85V5a2 2 0 0 1 1.85-2H11h-1Zm6.97 2a2 2 0 0 1 1.9 1.35l.04.15 3.02 11.75a2 2 0 0 1-1.3 2.39l-.14.04-.97.25a2 2 0 0 1-2.39-1.28l-.05-.16-3.01-11.74a2 2 0 0 1 1.3-2.4l.14-.04.97-.25c.16-.04.33-.06.5-.06ZM5 4.5H4a.5.5 0 0 0-.5.41V19c0 .24.18.45.41.5H5a.5.5 0 0 0 .5-.41V5a.5.5 0 0 0-.41-.5H5Zm6 0h-1a.5.5 0 0 0-.5.41V19c0 .24.18.45.41.5H11a.5.5 0 0 0 .5-.41V5a.5.5 0 0 0-.41-.5H11Zm5.98 2h-.07l-.06.02-.97.24a.5.5 0 0 0-.38.51l.02.1 3.02 11.75c.06.26.3.37.48.37h.06l.06-.01.97-.25a.5.5 0 0 0 .38-.52l-.02-.09-3.01-11.74a.5.5 0 0 0-.48-.38Z\"]);\nexport const Library28Filled = /*#__PURE__*/createFluentIcon('Library28Filled', \"28\", [\"M5.99 3a2 2 0 0 1 2 2v18a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2H6Zm7 0a2 2 0 0 1 2 2v18a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h2Zm9.08 3.54 3.86 15.49a2 2 0 0 1-1.46 2.42l-1.96.49a2 2 0 0 1-2.42-1.46L16.23 8a2 2 0 0 1 1.45-2.42l1.97-.5a2 2 0 0 1 2.42 1.46Z\"]);\nexport const Library28Regular = /*#__PURE__*/createFluentIcon('Library28Regular', \"28\", [\"M4 3h1.99a2 2 0 0 1 2 1.85V23a2 2 0 0 1-1.85 2H4a2 2 0 0 1-2-1.85V5a2 2 0 0 1 1.85-2H6 4Zm7 0h1.99a2 2 0 0 1 2 1.85V23a2 2 0 0 1-1.85 2h-2.15A2 2 0 0 1 9 23.15V5a2 2 0 0 1 1.85-2h2.14-2Zm9.13 2.03a2 2 0 0 1 1.9 1.36l.04.15 3.86 15.49a2 2 0 0 1-1.31 2.38l-.15.04-1.96.49a2 2 0 0 1-2.38-1.3l-.04-.16L16.23 8a2 2 0 0 1 1.3-2.38l.15-.04 1.97-.5c.16-.03.32-.05.48-.05ZM5.99 4.5H4a.5.5 0 0 0-.5.41V23c0 .24.18.45.41.5h2.08a.5.5 0 0 0 .5-.41V5a.5.5 0 0 0-.41-.5h-.09Zm7 0h-2a.5.5 0 0 0-.49.41V23c0 .24.17.45.4.5H13a.5.5 0 0 0 .5-.41V5a.5.5 0 0 0-.41-.5h-.09Zm7.14 2.03h-.06l-.06.01-1.96.49a.5.5 0 0 0-.38.52l.01.09 3.86 15.48c.07.26.3.38.49.38h.06l.06-.02L24.1 23a.5.5 0 0 0 .38-.52l-.02-.1-3.86-15.47a.5.5 0 0 0-.48-.38Z\"]);\nexport const Library32Filled = /*#__PURE__*/createFluentIcon('Library32Filled', \"32\", [\"M3 5.5A2.5 2.5 0 0 1 5.5 3h2A2.5 2.5 0 0 1 10 5.5v21A2.5 2.5 0 0 1 7.5 29h-2A2.5 2.5 0 0 1 3 26.5v-21Zm9 0A2.5 2.5 0 0 1 14.5 3h2A2.5 2.5 0 0 1 19 5.5v21a2.5 2.5 0 0 1-2.5 2.5h-2a2.5 2.5 0 0 1-2.5-2.5v-21Zm9.8 2.1a2.52 2.52 0 0 0-1.72 3.08l4.27 16.46a2.42 2.42 0 0 0 2.98 1.77l1.87-.52a2.52 2.52 0 0 0 1.72-3.07L26.65 8.86a2.42 2.42 0 0 0-2.98-1.77l-1.87.52Z\"]);\nexport const Library32Regular = /*#__PURE__*/createFluentIcon('Library32Regular', \"32\", [\"M3 5.5A2.5 2.5 0 0 1 5.5 3h2A2.5 2.5 0 0 1 10 5.5v21A2.5 2.5 0 0 1 7.5 29h-2A2.5 2.5 0 0 1 3 26.5v-21ZM5.5 5a.5.5 0 0 0-.5.5v21c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5v-21a.5.5 0 0 0-.5-.5h-2Zm6.5.5A2.5 2.5 0 0 1 14.5 3h2A2.5 2.5 0 0 1 19 5.5v21a2.5 2.5 0 0 1-2.5 2.5h-2a2.5 2.5 0 0 1-2.5-2.5v-21Zm2.5-.5a.5.5 0 0 0-.5.5v21c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5v-21a.5.5 0 0 0-.5-.5h-2Zm7.3 2.6a2.52 2.52 0 0 0-1.72 3.08l4.27 16.46a2.42 2.42 0 0 0 2.98 1.77l1.87-.52a2.52 2.52 0 0 0 1.72-3.07L26.65 8.86a2.42 2.42 0 0 0-2.98-1.77l-1.87.52Zm.16 2.56a.5.5 0 0 1 .34-.62l1.88-.52c.26-.07.52.09.6.36l4.26 16.46a.5.5 0 0 1-.34.62l-1.88.52a.48.48 0 0 1-.6-.36l-4.26-16.46Z\"]);\nexport const Lightbulb16Filled = /*#__PURE__*/createFluentIcon('Lightbulb16Filled', \"16\", [\"M8 2a4.5 4.5 0 0 0-3.16 7.7c.1.1.16.2.19.3l.27 1h5.4l.27-1c.03-.1.09-.2.19-.3A4.49 4.49 0 0 0 8 2Zm2.43 10H5.57l.25.9c.17.65.77 1.1 1.44 1.1h1.48a1.5 1.5 0 0 0 1.44-1.1l.25-.9Z\"]);\nexport const Lightbulb16Regular = /*#__PURE__*/createFluentIcon('Lightbulb16Regular', \"16\", [\"M4.5 6.5A3.5 3.5 0 1 1 10.45 9c-.19.19-.36.43-.44.73L9.66 11H6.34l-.35-1.27c-.08-.3-.25-.54-.44-.73A3.49 3.49 0 0 1 4.5 6.5ZM6.6 12h2.8l-.18.63a.5.5 0 0 1-.48.37H7.26a.5.5 0 0 1-.48-.37L6.61 12ZM8 2a4.5 4.5 0 0 0-3.16 7.7c.1.1.16.2.19.3l.79 2.9c.17.65.77 1.1 1.44 1.1h1.48a1.5 1.5 0 0 0 1.44-1.1l.8-2.9c.02-.1.08-.2.18-.3A4.49 4.49 0 0 0 8 2Z\"]);\nexport const Lightbulb20Filled = /*#__PURE__*/createFluentIcon('Lightbulb20Filled', \"20\", [\"m13.07 15-.38 1.6a1.84 1.84 0 0 1-1.67 1.4H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.38-1.6h6.14ZM10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09L13.3 14H6.7l-.31-1.31a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2Z\"]);\nexport const Lightbulb20Regular = /*#__PURE__*/createFluentIcon('Lightbulb20Regular', \"20\", [\"M10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-.15.01H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2Zm2.04 13H7.96l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37ZM10 3a4.92 4.92 0 0 0-4.98 4.41L5 7.63V8c.06 1.3.68 2.52 1.9 3.67.18.17.32.4.4.64l.05.15.37 1.54h4.57l.38-1.61.05-.16c.09-.21.22-.4.39-.56C14.38 10.47 15 9.18 15 7.8A4.9 4.9 0 0 0 10 3Z\"]);\nexport const Lightbulb24Filled = /*#__PURE__*/createFluentIcon('Lightbulb24Filled', \"24\", [\"m15.54 19-.3 1.26a2.25 2.25 0 0 1-2.01 1.73l-.17.01h-2.12c-.99 0-1.85-.65-2.14-1.58l-.05-.16L8.46 19h7.08ZM12 2c4 0 7.25 3.25 7.25 7.25 0 2.14-.94 4.1-2.77 5.84a.25.25 0 0 0-.07.13l-.52 2.28H8.1l-.52-2.28a.25.25 0 0 0-.07-.13c-1.83-1.75-2.77-3.7-2.77-5.84C4.75 5.25 8 2 12 2Z\"]);\nexport const Lightbulb24Regular = /*#__PURE__*/createFluentIcon('Lightbulb24Regular', \"24\", [\"M12 2c4 0 7.25 3.25 7.25 7.25 0 2.1-.9 4.02-2.66 5.74a.75.75 0 0 0-.18.27l-.03.1-1.13 4.9a2.25 2.25 0 0 1-2.02 1.73l-.17.01h-2.12c-.99 0-1.85-.65-2.14-1.58l-.05-.16-1.13-4.9a.75.75 0 0 0-.2-.37c-1.68-1.64-2.58-3.46-2.66-5.44l-.01-.3v-.24a7.25 7.25 0 0 1 7.25-7Zm2.12 16.5H9.88l.33 1.42c.07.3.33.53.63.57l.1.01h2.12c.31 0 .59-.2.7-.48l.03-.1.33-1.42ZM12 3.5a5.75 5.75 0 0 0-5.75 5.53v.5c.08 1.56.8 3.02 2.21 4.39.27.26.46.58.57.93l.05.17.46 1.98h4.92l.46-1.98c.08-.36.25-.69.5-.97l.12-.13c1.4-1.37 2.13-2.83 2.2-4.4l.01-.27v-.22A5.75 5.75 0 0 0 12 3.5Z\"]);\nexport const Lightbulb28Filled = /*#__PURE__*/createFluentIcon('Lightbulb28Filled', \"28\", [\"M14 2a9 9 0 0 0-5.8 15.89c.41.34.69.74.79 1.16l.35 1.45h9.32l.35-1.45c.1-.42.38-.82.78-1.16A9 9 0 0 0 14 2Zm4.3 20H9.7l.36 1.5a3.25 3.25 0 0 0 3.16 2.5h1.56c1.5 0 2.8-1.03 3.16-2.5l.36-1.5Z\"]);\nexport const Lightbulb28Regular = /*#__PURE__*/createFluentIcon('Lightbulb28Regular', \"28\", [\"M6.5 11a7.5 7.5 0 1 1 12.32 5.74 3.73 3.73 0 0 0-1.27 1.96l-.31 1.3h-6.48l-.31-1.3c-.2-.82-.7-1.48-1.28-1.96A7.48 7.48 0 0 1 6.5 11Zm4.62 10.5h5.76l-.4 1.66c-.19.78-.9 1.34-1.7 1.34h-1.56c-.8 0-1.51-.56-1.7-1.34l-.4-1.66ZM14 2a9 9 0 0 0-5.8 15.89c.41.34.69.74.79 1.16l1.07 4.46A3.25 3.25 0 0 0 13.22 26h1.56c1.5 0 2.8-1.03 3.16-2.5L19 19.06c.1-.42.38-.82.78-1.16A9 9 0 0 0 14 2Z\"]);\nexport const Lightbulb32Filled = /*#__PURE__*/createFluentIcon('Lightbulb32Filled', \"32\", [\"M16 2a10 10 0 0 0-6.64 17.48c.35.3.57.65.64.99l.82 3.53h10.36l.82-3.53c.07-.34.3-.68.64-.99A10 10 0 0 0 16 2Zm4.72 24h-9.44l.3 1.29a3.5 3.5 0 0 0 3.4 2.71h2.03a3.5 3.5 0 0 0 3.41-2.71l.3-1.29Z\"]);\nexport const Lightbulb32Regular = /*#__PURE__*/createFluentIcon('Lightbulb32Regular', \"32\", [\"M8 12a8 8 0 1 1 13.3 5.99 3.93 3.93 0 0 0-1.25 2.03l-.7 2.98h-6.7l-.7-2.98c-.2-.85-.69-1.53-1.26-2.03A7.98 7.98 0 0 1 8 12Zm5.1 13h5.8l-.43 1.84A1.5 1.5 0 0 1 17.01 28H15c-.7 0-1.3-.48-1.46-1.16L13.1 25ZM16 2a10 10 0 0 0-6.64 17.48c.35.3.57.65.64.99l1.58 6.82a3.5 3.5 0 0 0 3.4 2.71h2.03a3.5 3.5 0 0 0 3.41-2.71L22 20.47c.07-.34.3-.68.64-.99A10 10 0 0 0 16 2Z\"]);\nexport const Lightbulb48Filled = /*#__PURE__*/createFluentIcon('Lightbulb48Filled', \"48\", [\"M24 4a14.5 14.5 0 0 0-9.79 25.2c.45.4.75.87.87 1.34l1.27 4.96h15.3l1.27-4.96c.12-.47.42-.93.87-1.34A14.5 14.5 0 0 0 24 4Zm7 34H17l.61 2.43a4.75 4.75 0 0 0 4.6 3.57h3.57a4.75 4.75 0 0 0 4.6-3.57l.63-2.43Z\"]);\nexport const Lightbulb48Regular = /*#__PURE__*/createFluentIcon('Lightbulb48Regular', \"48\", [\"M12 18.5a12 12 0 1 1 20.1 8.85 5.31 5.31 0 0 0-1.6 2.57l-1.18 4.58H18.68l-1.18-4.58a5.31 5.31 0 0 0-1.6-2.57C13.5 25.15 12 22 12 18.5ZM19.32 37h9.36l-.72 2.8c-.25 1-1.15 1.7-2.18 1.7h-3.56c-1.03 0-1.93-.7-2.18-1.7l-.72-2.8ZM24 4a14.5 14.5 0 0 0-9.79 25.2c.45.4.75.87.87 1.34l2.53 9.89a4.75 4.75 0 0 0 4.6 3.57h3.57a4.75 4.75 0 0 0 4.6-3.57l2.54-9.89c.12-.47.42-.93.87-1.34A14.5 14.5 0 0 0 24 4Z\"]);\nexport const LightbulbCheckmark20Filled = /*#__PURE__*/createFluentIcon('LightbulbCheckmark20Filled', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0L13.5 6.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7ZM14.5 11c.17 0 .34 0 .5-.02a8.2 8.2 0 0 1-1.2 1.41.6.6 0 0 0-.15.22l-.03.08-.3 1.31H6.68l-.31-1.31a.6.6 0 0 0-.18-.3A6.32 6.32 0 0 1 4 8.04V7.6A5.91 5.91 0 0 1 10.25 2a5.5 5.5 0 0 0 4.25 9Zm-1.43 4-.38 1.6a1.84 1.84 0 0 1-1.67 1.4h-1.9c-.81 0-1.53-.52-1.77-1.26l-.04-.14-.38-1.6h6.14Z\"]);\nexport const LightbulbCheckmark20Regular = /*#__PURE__*/createFluentIcon('LightbulbCheckmark20Regular', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0L13.5 6.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7Zm-1.84 7.33a8.2 8.2 0 0 1-1.21 1.41.6.6 0 0 0-.15.22l-.02.08-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-1.9.01c-.81 0-1.53-.52-1.77-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10.25 2a5.5 5.5 0 0 0-.66 1.02 4.9 4.9 0 0 0-4.57 4.4l-.02.2V8c.06 1.3.68 2.52 1.9 3.67.18.17.32.4.4.64l.05.15.37 1.54h4.57l.38-1.61.05-.16c.09-.21.22-.4.39-.56.25-.24.47-.48.67-.72.4.06.82.06 1.23.03ZM7.96 15l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37H7.96Z\"]);\nexport const LightbulbCircle20Filled = /*#__PURE__*/createFluentIcon('LightbulbCircle20Filled', \"20\", [\"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM6.5 8.5a3.5 3.5 0 1 1 5.59 2.81c-.19.14-.29.29-.31.43l-.05.26H8.27l-.05-.26c-.02-.14-.12-.3-.3-.43A3.5 3.5 0 0 1 6.5 8.5Zm2.18 5.68L8.46 13h3.08l-.22 1.18a1 1 0 0 1-.98.82h-.68a1 1 0 0 1-.98-.82Z\"]);\nexport const LightbulbCircle20Regular = /*#__PURE__*/createFluentIcon('LightbulbCircle20Regular', \"20\", [\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-4a2.75 2.75 0 0 0-1.69 4.92c.2.15.35.37.4.63l.08.45h2.42l.08-.45c.05-.26.2-.48.4-.63A2.74 2.74 0 0 0 10 6Zm1.02 7H8.98l.1.6c.05.23.26.4.5.4h.84a.5.5 0 0 0 .5-.4l.1-.6ZM6.25 8.75a3.75 3.75 0 1 1 6.03 2.98l-.39 2.05A1.5 1.5 0 0 1 10.42 15h-.84a1.5 1.5 0 0 1-1.47-1.22l-.39-2.04c0-.01 0-.02-.02-.03a3.74 3.74 0 0 1-1.45-2.96Z\"]);\nexport const LightbulbCircle24Filled = /*#__PURE__*/createFluentIcon('LightbulbCircle24Filled', \"24\", [\"M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm2.48 15H9.52l.1.45.05.16.05.14c.29.64.9 1.05 1.59 1.05h1.38l.16-.01.15-.02.14-.04a1.73 1.73 0 0 0 1.24-1.27l.1-.46ZM12 5.2a5 5 0 0 0-5 5v.27l.03.26.03.25a5 5 0 0 0 1.64 2.98l.16.13.32 1.41h5.64l.32-1.41.16-.14a5 5 0 0 0 1.7-3.5v-.25a5 5 0 0 0-5-5Z\"]);\nexport const LightbulbCircle24Regular = /*#__PURE__*/createFluentIcon('LightbulbCircle24Regular', \"24\", [\"M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17Zm0 1.7a5 5 0 0 1 3.11 8.92l.03-.03-.76 3.37a1.73 1.73 0 0 1-1.38 1.3l-.15.03H11.3c-.74 0-1.39-.45-1.64-1.18l-.05-.16-.76-3.36-.16-.13a5 5 0 0 1-1.67-3.23L7 10.47 7 10.2a5 5 0 0 1 5-5ZM13.17 16h-2.34l.24 1.08.02.07c.03.09.12.15.22.15H12.72c.1-.01.17-.09.2-.18l.25-1.12ZM12 6.7a3.5 3.5 0 0 0-3.5 3.48v.23a3.5 3.5 0 0 0 1.46 2.64c.15.1.26.26.3.44l.23 1.01h3.02l.23-1c.03-.14.1-.27.2-.37l.08-.07.17-.13A3.5 3.5 0 0 0 12 6.7Z\"]);\nexport const LightbulbFilament16Filled = /*#__PURE__*/createFluentIcon('LightbulbFilament16Filled', \"16\", [\"M4.83 3.31a4.55 4.55 0 0 1 6.35-.03c.81.8 1.32 1.9 1.32 3.1 0 1.3-.58 2.45-1.62 3.44l-.3 1.18H8.5V7.5a.5.5 0 1 0-1 0V11H5.47l-.23-.96C4.15 8.9 3.56 7.82 3.5 6.58v-.04c.04-1.3.53-2.42 1.33-3.23ZM7.5 4.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm3.08.8a.5.5 0 0 0-.7 0l-.72.7a.5.5 0 1 0 .71.7l.7-.7a.5.5 0 0 0 0-.7Zm-4.48 0a.5.5 0 0 0-.7.7l.7.7a.5.5 0 0 0 .7-.7l-.7-.7ZM5.7 12l.24.98V13a1.52 1.52 0 0 0 1.42 1h1.41c.31-.03.6-.16.84-.35.23-.2.4-.46.48-.78l.23-.87H5.7Z\"]);\nexport const LightbulbFilament16Regular = /*#__PURE__*/createFluentIcon('LightbulbFilament16Regular', \"16\", [\"M7.5 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm3.08.8a.5.5 0 0 0-.7 0l-.72.7a.5.5 0 1 0 .71.7l.7-.7a.5.5 0 0 0 0-.7Zm-4.48 0a.5.5 0 0 0-.7.7l.7.7a.5.5 0 0 0 .7-.7l-.7-.7ZM8 2c-1.23 0-2.35.48-3.17 1.31-.8.81-1.29 1.94-1.33 3.23v.04c.06 1.24.65 2.33 1.74 3.46l.7 2.94V13a1.52 1.52 0 0 0 1.42 1h1.41c.31-.03.6-.16.84-.35.23-.2.4-.46.48-.78l.8-3.05A4.72 4.72 0 0 0 12.5 6.4c0-1.22-.5-2.31-1.32-3.1A4.55 4.55 0 0 0 8 2ZM5.54 4.01A3.55 3.55 0 0 1 10.48 4 3.32 3.32 0 0 1 11.5 6.4c0 .99-.45 1.92-1.4 2.8l-.11.1L9.54 11H8.5V7.5a.5.5 0 0 0-1 0V11h-1l-.35-1.46-.1-.1C5 8.37 4.55 7.48 4.5 6.56A3.76 3.76 0 0 1 5.54 4ZM6.74 12h2.54l-.16.63v.01a.45.45 0 0 1-.16.24.5.5 0 0 1-.26.12H7.36a.52.52 0 0 1-.3-.1.46.46 0 0 1-.16-.2l-.17-.7Z\"]);\nexport const LightbulbFilament20Filled = /*#__PURE__*/createFluentIcon('LightbulbFilament20Filled', \"20\", [\"m13.07 15-.38 1.6a1.84 1.84 0 0 1-1.67 1.4H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.38-1.6h6.14ZM10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09L13.3 14H10.5V9.5a.5.5 0 1 0-1 0V14H6.69l-.31-1.31a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2Zm-.5 4.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm3.35.94a.5.5 0 0 0-.7 0l-.71.71a.5.5 0 0 0 .7.7l.71-.7a.5.5 0 0 0 0-.7Zm-5 0a.5.5 0 1 0-.7.71l.7.7a.5.5 0 1 0 .71-.7l-.7-.7Z\"]);\nexport const LightbulbFilament20Regular = /*#__PURE__*/createFluentIcon('LightbulbFilament20Regular', \"20\", [\"M9.5 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm3.35.94a.5.5 0 0 0-.7 0l-.71.71a.5.5 0 0 0 .7.7l.71-.7a.5.5 0 0 0 0-.7Zm-5 0a.5.5 0 1 0-.7.71l.7.7a.5.5 0 1 0 .71-.7l-.7-.7ZM10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-.15.01H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2ZM7.96 15l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37H7.96ZM10 3a4.92 4.92 0 0 0-4.98 4.41L5 7.63V8c.06 1.3.68 2.52 1.9 3.67.18.17.32.4.4.64l.05.15.37 1.54H9.5V9.5a.5.5 0 1 1 1 0V14h1.79l.38-1.61.05-.16c.09-.21.22-.4.39-.56C14.38 10.47 15 9.18 15 7.8A4.9 4.9 0 0 0 10 3Z\"]);\nexport const LightbulbFilament24Filled = /*#__PURE__*/createFluentIcon('LightbulbFilament24Filled', \"24\", [\"m15.54 19-.3 1.26a2.25 2.25 0 0 1-2.01 1.73l-.17.01h-2.12c-.99 0-1.85-.65-2.14-1.58l-.05-.16L8.46 19h7.08ZM12 2c4 0 7.25 3.25 7.25 7.25 0 2.14-.94 4.1-2.77 5.84a.25.25 0 0 0-.07.13l-.52 2.28h-3.14v-6.75a.75.75 0 0 0-1.5 0v6.75H8.11l-.52-2.28a.25.25 0 0 0-.07-.13c-1.83-1.75-2.77-3.7-2.77-5.84C4.75 5.25 8 2 12 2Zm-.75 4.75v1.5a.75.75 0 0 0 1.5 0v-1.5a.75.75 0 0 0-1.5 0Zm5.03 1.47a.75.75 0 0 0-1.06 0l-1.06 1.06a.75.75 0 1 0 1.06 1.06l1.06-1.06c.3-.3.3-.77 0-1.06Zm-7.5 0a.75.75 0 0 0-1.06 1.06l1.06 1.06a.75.75 0 1 0 1.06-1.06L8.78 8.22Z\"]);\nexport const LightbulbFilament24Regular = /*#__PURE__*/createFluentIcon('LightbulbFilament24Regular', \"24\", [\"M11.25 6.75a.75.75 0 0 1 1.5 0v1.5a.75.75 0 0 1-1.5 0v-1.5Zm5.03 1.47a.75.75 0 0 0-1.06 0l-1.06 1.06a.75.75 0 1 0 1.06 1.06l1.06-1.06c.3-.3.3-.77 0-1.06Zm-7.5 0a.75.75 0 0 0-1.06 1.06l1.06 1.06a.75.75 0 1 0 1.06-1.06L8.78 8.22ZM12 2c4 0 7.25 3.25 7.25 7.25 0 2.1-.9 4.02-2.66 5.74a.75.75 0 0 0-.18.27l-.03.1-1.13 4.9a2.25 2.25 0 0 1-2.02 1.73l-.17.01h-2.12c-.99 0-1.85-.65-2.14-1.58l-.05-.16-1.13-4.9a.75.75 0 0 0-.2-.37c-1.68-1.64-2.58-3.46-2.66-5.44l-.01-.3v-.24a7.25 7.25 0 0 1 7.25-7Zm2.12 16.5H9.88l.33 1.42c.07.3.33.53.63.57l.1.01h2.12c.31 0 .59-.2.7-.48l.03-.1.33-1.42ZM12 3.5a5.75 5.75 0 0 0-5.75 5.53v.5c.08 1.56.8 3.02 2.21 4.39.27.26.46.58.57.93l.05.17.46 1.98h1.71v-6.25a.75.75 0 0 1 1.5 0V17h1.71l.46-1.98c.08-.36.25-.69.5-.97l.12-.13c1.4-1.37 2.13-2.83 2.2-4.4l.01-.27v-.22A5.75 5.75 0 0 0 12 3.5Z\"]);\nexport const LightbulbFilament32Filled = /*#__PURE__*/createFluentIcon('LightbulbFilament32Filled', \"32\", [\"m21.12 25.8-.42 1.76A3.23 3.23 0 0 1 17.78 30l-.25.01h-3.06c-1.43 0-2.69-.9-3.1-2.2l-.07-.24-.43-1.76h10.25ZM16 2c5.8 0 10.5 4.54 10.5 10.15 0 3-1.36 5.73-4 8.18a.35.35 0 0 0-.1.17l-.77 3.2h-4.54v-9.45c0-.58-.49-1.05-1.09-1.05-.6 0-1.09.47-1.09 1.05v9.45h-4.54l-.76-3.2a.35.35 0 0 0-.1-.17c-2.65-2.45-4.01-5.19-4.01-8.18C5.5 6.55 10.2 2 16 2Zm-1.09 6.65v2.1c0 .58.49 1.05 1.09 1.05.6 0 1.09-.47 1.09-1.05v-2.1c0-.58-.49-1.05-1.09-1.05-.6 0-1.09.47-1.09 1.05Zm7.29 2.05a1.11 1.11 0 0 0-1.54 0l-1.53 1.49a1.03 1.03 0 0 0 0 1.48c.42.41 1.1.41 1.53 0l1.54-1.48c.42-.41.42-1.08 0-1.49Zm-10.86 0a1.11 1.11 0 0 0-1.54 0 1.03 1.03 0 0 0 0 1.49l1.54 1.48c.42.41 1.1.41 1.53 0 .43-.4.43-1.07 0-1.48l-1.53-1.49Z\"]);\nexport const LightbulbFilament32Regular = /*#__PURE__*/createFluentIcon('LightbulbFilament32Regular', \"32\", [\"M14.91 8.65c0-.58.49-1.05 1.09-1.05.6 0 1.09.47 1.09 1.05v2.1c0 .58-.49 1.05-1.09 1.05-.6 0-1.09-.47-1.09-1.05v-2.1Zm7.29 2.05a1.11 1.11 0 0 0-1.54 0l-1.53 1.49a1.03 1.03 0 0 0 0 1.48c.42.41 1.1.41 1.53 0l1.54-1.48c.42-.41.42-1.08 0-1.49Zm-10.86 0a1.11 1.11 0 0 0-1.54 0 1.03 1.03 0 0 0 0 1.49l1.54 1.48c.42.41 1.1.41 1.53 0 .43-.4.43-1.07 0-1.48l-1.53-1.49ZM16 2c5.8 0 10.5 4.54 10.5 10.15 0 2.94-1.3 5.63-3.86 8.04-.1.1-.2.23-.25.37l-.05.14-1.63 6.86a3.23 3.23 0 0 1-2.93 2.43l-.25.01h-3.06c-1.43 0-2.69-.9-3.11-2.2l-.07-.24-1.63-6.86c-.05-.2-.15-.37-.3-.51-2.43-2.3-3.73-4.85-3.85-7.62l-.01-.42v-.33C5.7 6.36 10.33 2 16 2Zm3.06 23.1h-6.12l.47 1.99c.1.42.47.74.91.8l.15.01h3.06c.46 0 .86-.27 1.02-.68l.04-.13.47-2ZM16 4.1a8.2 8.2 0 0 0-8.32 7.74v.7c.11 2.19 1.16 4.23 3.2 6.15.38.36.66.8.82 1.3l.08.24.65 2.77h2.48v-8.75c0-.58.49-1.05 1.09-1.05.6 0 1.09.47 1.09 1.05V23h2.47l.67-2.77c.12-.5.36-.97.71-1.35l.18-.2c2.04-1.91 3.09-3.95 3.2-6.14v-.69A8.2 8.2 0 0 0 16 4.1Z\"]);\nexport const LightbulbFilament48Filled = /*#__PURE__*/createFluentIcon('LightbulbFilament48Filled', \"48\", [\"M24 4a14.5 14.5 0 0 0-9.78 25.2c.45.42.75.88.87 1.36l1.27 4.94h6.39v-14a1.25 1.25 0 0 1 2.5 0v14h6.4l1.26-4.95c.12-.47.42-.94.87-1.35A14.5 14.5 0 0 0 24 4Zm7 34H17l.62 2.43a4.75 4.75 0 0 0 4.6 3.57h3.56a4.75 4.75 0 0 0 4.6-3.57l.63-2.43Zm-5.75-25.75v3.5a1.25 1.25 0 1 1-2.5 0v-3.5a1.25 1.25 0 1 1 2.5 0Zm7.38 3.12c.49.48.49 1.28 0 1.76l-2.5 2.5a1.25 1.25 0 0 1-1.76-1.77l2.5-2.5a1.25 1.25 0 0 1 1.76 0Zm-13 2.5a1.25 1.25 0 1 1-1.77 1.76l-2.5-2.5a1.25 1.25 0 1 1 1.77-1.76l2.5 2.5Z\"]);\nexport const LightbulbFilament48Regular = /*#__PURE__*/createFluentIcon('LightbulbFilament48Regular', \"48\", [\"M24 6.5a12 12 0 0 0-8.1 20.86 5.31 5.31 0 0 1 1.61 2.58l1.17 4.56h4.07v-13a1.25 1.25 0 0 1 2.5 0v13h4.07l1.17-4.57a5.31 5.31 0 0 1 1.6-2.57A12 12 0 0 0 24 6.5Zm-3.96 33.3c.25 1 1.15 1.7 2.18 1.7h3.56c1.03 0 1.93-.7 2.18-1.7l.72-2.8h-9.36l.72 2.8ZM9.5 18.5a14.5 14.5 0 1 1 24.28 10.7c-.45.41-.75.88-.87 1.35l-2.53 9.88a4.75 4.75 0 0 1-4.6 3.57h-3.56a4.75 4.75 0 0 1-4.6-3.57l-2.53-9.87a2.83 2.83 0 0 0-.87-1.36A14.47 14.47 0 0 1 9.5 18.5Zm15.75-6.25a1.25 1.25 0 1 0-2.5 0v3.5a1.25 1.25 0 1 0 2.5 0v-3.5Zm7.38 3.12c.49.48.49 1.28 0 1.76l-2.5 2.5a1.25 1.25 0 0 1-1.76-1.77l2.5-2.5a1.25 1.25 0 0 1 1.76 0Zm-13 2.5a1.25 1.25 0 1 1-1.77 1.76l-2.5-2.5a1.25 1.25 0 1 1 1.77-1.76l2.5 2.5Z\"]);\nexport const LightbulbPerson16Filled = /*#__PURE__*/createFluentIcon('LightbulbPerson16Filled', \"16\", [\"M8 2a4.5 4.5 0 0 0-3.16 7.7c.1.1.16.2.19.3l.13.5a4.48 4.48 0 0 1 5.68 0l.13-.5c.03-.1.09-.2.19-.3A4.49 4.49 0 0 0 8 2ZM5.57 12l-.1-.4a3.49 3.49 0 0 1 5.07 0l-.11.4H5.57Zm.28 1c.21.6.77 1 1.41 1h1.48c.64 0 1.2-.4 1.41-1h-4.3ZM7 6.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"]);\nexport const LightbulbPerson16Regular = /*#__PURE__*/createFluentIcon('LightbulbPerson16Regular', \"16\", [\"M8 3a3.5 3.5 0 0 0-2.45 6c.14.14.27.31.36.51a4.48 4.48 0 0 1 4.18 0c.09-.2.22-.37.36-.51A3.49 3.49 0 0 0 8 3Zm-1.66 8h3.32l.14-.5a3.48 3.48 0 0 0-3.6 0l.14.5Zm.27 1 .17.63a.5.5 0 0 0 .48.37h1.48a.5.5 0 0 0 .48-.37l.17-.63H6.61ZM3.5 6.5a4.5 4.5 0 1 1 7.66 3.2c-.1.1-.16.2-.19.3l-.79 2.9A1.5 1.5 0 0 1 8.74 14H7.26a1.5 1.5 0 0 1-1.44-1.1l-.8-2.9a.65.65 0 0 0-.18-.3A4.49 4.49 0 0 1 3.5 6.5Zm3.5 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"]);\nexport const LightbulbPerson20Filled = /*#__PURE__*/createFluentIcon('LightbulbPerson20Filled', \"20\", [\"m12.83 16-.14.6a1.84 1.84 0 0 1-1.67 1.4H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.14-.6h5.66Zm.24-1 .2-.79a4.98 4.98 0 0 0-6.53 0l.19.79h6.14ZM10 12c-1.31 0-2.53.42-3.52 1.14l-.1-.45a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.11.45A5.97 5.97 0 0 0 10 12ZM8.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM10 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"]);\nexport const LightbulbPerson20Regular = /*#__PURE__*/createFluentIcon('LightbulbPerson20Regular', \"20\", [\"M10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-.15.01H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2ZM7.96 15l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37H7.96Zm4.53-1.84a4.98 4.98 0 0 0-4.97 0l.2.84h4.57l.2-.84Zm.26-1c.09-.18.2-.35.36-.5C14.38 10.47 15 9.19 15 7.8A4.9 4.9 0 0 0 10 3a4.92 4.92 0 0 0-4.98 4.41L5 7.63V8c.06 1.3.68 2.52 1.9 3.67.14.14.26.3.35.5a5.97 5.97 0 0 1 5.5 0ZM8.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM10 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"]);\nexport const LightbulbPerson24Filled = /*#__PURE__*/createFluentIcon('LightbulbPerson24Filled', \"24\", [\"m15.42 19.5-.17.76a2.25 2.25 0 0 1-2.02 1.73l-.17.01h-2.12c-.99 0-1.85-.65-2.14-1.58l-.05-.16-.17-.76h6.84Zm.35-1.5.2-.9a5.73 5.73 0 0 0-7.95 0l.21.9h7.54ZM12 14c-1.64 0-3.14.54-4.36 1.45l-.05-.23a.25.25 0 0 0-.07-.13c-1.83-1.75-2.77-3.7-2.77-5.84a7.25 7.25 0 1 1 14.5 0c0 2.14-.94 4.1-2.77 5.84a.25.25 0 0 0-.07.13l-.05.24A7.22 7.22 0 0 0 12 14Zm-1.75-4.75a1.75 1.75 0 1 1 3.5 0 1.75 1.75 0 0 1-3.5 0ZM12 6a3.25 3.25 0 1 0 0 6.5A3.25 3.25 0 0 0 12 6Z\"]);\nexport const LightbulbPerson24Regular = /*#__PURE__*/createFluentIcon('LightbulbPerson24Regular', \"24\", [\"M12 2c4 0 7.25 3.25 7.25 7.25 0 2.1-.9 4.02-2.66 5.74a.75.75 0 0 0-.18.27l-.03.1-1.13 4.9a2.25 2.25 0 0 1-2.02 1.73l-.17.01h-2.12c-.99 0-1.85-.65-2.14-1.58l-.05-.16-1.13-4.9a.75.75 0 0 0-.2-.37c-1.68-1.64-2.58-3.46-2.66-5.44l-.01-.3v-.24a7.25 7.25 0 0 1 7.25-7Zm2.12 16.5H9.88l.33 1.42c.07.3.33.53.63.57l.1.01h2.12c.31 0 .59-.2.7-.48l.03-.1.33-1.42ZM12 3.5a5.75 5.75 0 0 0-5.75 5.53v.5c.08 1.56.8 3.02 2.21 4.39.11.1.2.22.3.35a7.22 7.22 0 0 1 6.49 0l.16-.22.13-.13c1.4-1.37 2.13-2.83 2.2-4.4l.01-.27v-.22A5.75 5.75 0 0 0 12 3.5Zm2.76 12.2a5.72 5.72 0 0 0-5.52 0l.3 1.3h4.92l.3-1.3ZM12 7.5a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5ZM8.75 9.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Z\"]);\nexport const LightbulbPerson28Filled = /*#__PURE__*/createFluentIcon('LightbulbPerson28Filled', \"28\", [\"M5 11a9 9 0 1 1 14.8 6.89c-.16.13-.3.26-.4.4a8.96 8.96 0 0 0-10.8 0 2.86 2.86 0 0 0-.4-.4A8.98 8.98 0 0 1 5 11Zm9 7c1.84 0 3.53.66 4.84 1.77l-.3 1.23H9.46l-.3-1.23c1.3-1.1 3-1.77 4.84-1.77Zm-4.18 4.5.24 1a3.25 3.25 0 0 0 3.16 2.5h1.56c1.5 0 2.8-1.03 3.16-2.5l.24-1H9.82ZM11.5 11a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM14 7a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z\"]);\nexport const LightbulbPerson28Regular = /*#__PURE__*/createFluentIcon('LightbulbPerson28Regular', \"28\", [\"M6.5 11a7.5 7.5 0 1 1 12.32 5.74l-.42.4a8.96 8.96 0 0 0-8.8 0 4.51 4.51 0 0 0-.43-.4A7.48 7.48 0 0 1 6.5 11Zm3.87 7.43a7.47 7.47 0 0 1 7.26 0l-.08.27-.31 1.3h-6.48l-.31-1.3a3.15 3.15 0 0 0-.08-.27Zm6.5 3.07-.39 1.66c-.19.78-.9 1.34-1.7 1.34h-1.56c-.8 0-1.51-.56-1.7-1.34l-.4-1.66h5.76ZM14 2a9 9 0 0 0-5.8 15.89c.41.34.69.74.79 1.16l1.07 4.46A3.25 3.25 0 0 0 13.22 26h1.56c1.5 0 2.8-1.03 3.16-2.5L19 19.06c.1-.42.38-.82.78-1.16A9 9 0 0 0 14 2Zm0 6.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM10 11a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\"]);\nexport const LightbulbPerson32Filled = /*#__PURE__*/createFluentIcon('LightbulbPerson32Filled', \"32\", [\"M16 2a10 10 0 0 0-6.64 17.48c.22.2.4.4.5.62a9.96 9.96 0 0 1 12.27 0c.12-.21.29-.42.5-.62A10 10 0 0 0 16 2Zm5.58 20.27a7.97 7.97 0 0 0-11.16 0l.4 1.73h10.36l.4-1.73ZM11.28 26l.3 1.29a3.5 3.5 0 0 0 3.4 2.71h2.03a3.5 3.5 0 0 0 3.41-2.71l.3-1.29h-9.44ZM16 9.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM11.5 12a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z\"]);\nexport const LightbulbPerson32Regular = /*#__PURE__*/createFluentIcon('LightbulbPerson32Regular', \"32\", [\"M8 12a8 8 0 1 1 13.3 5.99c-.32.29-.63.64-.86 1.05a9.96 9.96 0 0 0-8.88 0 4.3 4.3 0 0 0-.87-1.05A7.98 7.98 0 0 1 8 12Zm4.17 8.97a7.96 7.96 0 0 1 7.66 0L19.36 23h-6.72l-.47-2.03Zm1.36 5.87L13.1 25h5.8l-.43 1.84A1.5 1.5 0 0 1 17.01 28H15c-.7 0-1.3-.48-1.46-1.16ZM16 2a10 10 0 0 0-6.64 17.48c.35.3.57.65.64.99l1.58 6.82a3.5 3.5 0 0 0 3.4 2.71h2.03a3.5 3.5 0 0 0 3.41-2.71L22 20.47c.07-.34.3-.68.64-.99A10 10 0 0 0 16 2Zm-2.5 10a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM16 7.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z\"]);\nexport const LightbulbPerson48Filled = /*#__PURE__*/createFluentIcon('LightbulbPerson48Filled', \"48\", [\"M24 4a14.5 14.5 0 0 0-9.79 25.2c.45.4.75.87.87 1.34v.02A14.44 14.44 0 0 1 24 27.5c3.36 0 6.46 1.14 8.92 3.06v-.02c.12-.47.42-.93.87-1.34A14.5 14.5 0 0 0 24 4Zm8.22 29.26a11.96 11.96 0 0 0-16.44 0l.57 2.24h15.3l.57-2.24ZM17 38l.62 2.43a4.75 4.75 0 0 0 4.6 3.57h3.57a4.75 4.75 0 0 0 4.6-3.57l.63-2.43H16.99ZM24 14a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Zm-7 4.5a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const LightbulbPerson48Regular = /*#__PURE__*/createFluentIcon('LightbulbPerson48Regular', \"48\", [\"M12 18.5a12 12 0 1 1 20.1 8.85c-.43.4-.83.88-1.14 1.43a14.43 14.43 0 0 0-13.92 0c-.3-.55-.7-1.03-1.14-1.43C13.5 25.15 12 22 12 18.5Zm5.83 12.7a11.94 11.94 0 0 1 12.34 0l-.85 3.3H18.68l-.85-3.3Zm2.2 8.6-.71-2.8h9.36l-.72 2.8c-.25 1-1.15 1.7-2.18 1.7h-3.56c-1.03 0-1.93-.7-2.18-1.7ZM24 4a14.5 14.5 0 0 0-9.79 25.2c.45.4.75.87.87 1.34l2.53 9.89a4.75 4.75 0 0 0 4.6 3.57h3.57a4.75 4.75 0 0 0 4.6-3.57l2.54-9.89c.12-.47.42-.93.87-1.34A14.5 14.5 0 0 0 24 4Zm-4.5 14.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Zm4.5-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z\"]);\nexport const Likert16Filled = /*#__PURE__*/createFluentIcon('Likert16Filled', \"16\", [\"M4 13V8.5H1v2A2.5 2.5 0 0 0 3.5 13H4Zm1 0h7.5a2.5 2.5 0 0 0 2.5-2.5v-2H5V13Zm2.5-2.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM15 7.5v-2A2.5 2.5 0 0 0 12.5 3H5v4.5h10ZM6.75 6a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM4 3h-.5A2.5 2.5 0 0 0 1 5.5v2h3V3Z\"]);\nexport const Likert16Regular = /*#__PURE__*/createFluentIcon('Likert16Regular', \"16\", [\"M7.25 5.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM6.5 11a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM1 5.5A2.5 2.5 0 0 1 3.5 3h9A2.5 2.5 0 0 1 15 5.5v5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 10.5v-5ZM3.5 4C2.67 4 2 4.67 2 5.5v2h2V4h-.5ZM5 4v3.5h9v-2c0-.83-.67-1.5-1.5-1.5H5ZM4 8.5H2v2c0 .83.67 1.5 1.5 1.5H4V8.5ZM5 12h7.5c.83 0 1.5-.67 1.5-1.5v-2H5V12Z\"]);\nexport const Likert20Filled = /*#__PURE__*/createFluentIcon('Likert20Filled', \"20\", [\"M6 16v-5.5H2V13a3 3 0 0 0 3 3h1Zm1 0h8a3 3 0 0 0 3-3v-2.5H7V16Zm2-2a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2.25 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2.25 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2.25 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM18 9.5V7a3 3 0 0 0-3-3H7v5.5h11ZM9.75 6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM6 4H5a3 3 0 0 0-3 3v2.5h4V4Z\"]);\nexport const Likert20Regular = /*#__PURE__*/createFluentIcon('Likert20Regular', \"20\", [\"M9.5 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.75 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM11 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Zm3-2a2 2 0 0 0-2 2v2.5h3V5H5Zm1 5.5H3V13c0 1.1.9 2 2 2h1v-4.5Zm1 0V15h8a2 2 0 0 0 2-2v-2.5H7Zm10-1V7a2 2 0 0 0-2-2H7v4.5h10Z\"]);\nexport const Likert24Filled = /*#__PURE__*/createFluentIcon('Likert24Filled', \"24\", [\"M6 4H5a3 3 0 0 0-3 3v4.25h4V4Zm-4 8.75V17a3 3 0 0 0 3 3h1v-7.25H2ZM7.5 20H19a3 3 0 0 0 3-3v-4.25H7.5V20Zm3.75-3.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2.75 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2-5H7.5V4H19a3 3 0 0 1 3 3v4.25Zm-11.75-2.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3.75-1a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm3 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm3 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const Likert24Regular = /*#__PURE__*/createFluentIcon('Likert24Regular', \"24\", [\"M10.75 8.25a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2.75 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-9.75 8.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm2.75 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM5 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H5Zm14 1.5c.83 0 1.5.67 1.5 1.5v4.25h-13V5.5H19Zm1.5 7.25V17c0 .83-.67 1.5-1.5 1.5H7.5v-5.75h13ZM6 11.25H3.5V7c0-.83.67-1.5 1.5-1.5h1v5.75Zm-2.5 1.5H6v5.75H5A1.5 1.5 0 0 1 3.5 17v-4.25Z\"]);\nexport const Line20Filled = /*#__PURE__*/createFluentIcon('Line20Filled', \"20\", [\"M17.78 2.22c.3.3.3.77 0 1.06l-14.5 14.5a.75.75 0 0 1-1.06-1.06l14.5-14.5c.3-.3.77-.3 1.06 0Z\"]);\nexport const Line20Regular = /*#__PURE__*/createFluentIcon('Line20Regular', \"20\", [\"M17.85 2.15c.2.2.2.51 0 .7l-15 15a.5.5 0 0 1-.7-.7l15-15c.2-.2.5-.2.7 0Z\"]);\nexport const Line24Filled = /*#__PURE__*/createFluentIcon('Line24Filled', \"24\", [\"M21.7 2.3a1 1 0 0 1 0 1.4l-18 18a1 1 0 0 1-1.4-1.4l18-18a1 1 0 0 1 1.4 0Z\"]);\nexport const Line24Regular = /*#__PURE__*/createFluentIcon('Line24Regular', \"24\", [\"M21.78 2.22c.3.3.3.77 0 1.06l-18.5 18.5a.75.75 0 1 1-1.06-1.06l18.5-18.5c.3-.3.77-.3 1.06 0Z\"]);\nexport const Line32Filled = /*#__PURE__*/createFluentIcon('Line32Filled', \"32\", [\"M28.63 3.37c.5.48.5 1.28 0 1.76l-23.5 23.5a1.25 1.25 0 0 1-1.76-1.76l23.5-23.5a1.25 1.25 0 0 1 1.76 0Z\"]);\nexport const Line32Regular = /*#__PURE__*/createFluentIcon('Line32Regular', \"32\", [\"M28.7 3.3a1 1 0 0 1 0 1.4l-24 24a1 1 0 0 1-1.4-1.4l24-24a1 1 0 0 1 1.4 0Z\"]);\nexport const Line48Filled = /*#__PURE__*/createFluentIcon('Line48Filled', \"48\", [\"M43.56 4.44a1.5 1.5 0 0 1 0 2.12l-37 37a1.5 1.5 0 0 1-2.12-2.12l37-37a1.5 1.5 0 0 1 2.12 0Z\"]);\nexport const Line48Regular = /*#__PURE__*/createFluentIcon('Line48Regular', \"48\", [\"M43.63 4.37c.5.48.5 1.28 0 1.76l-37.5 37.5a1.25 1.25 0 0 1-1.76-1.76l37.5-37.5a1.25 1.25 0 0 1 1.76 0Z\"]);\nexport const LineDashes20Filled = /*#__PURE__*/createFluentIcon('LineDashes20Filled', \"20\", [\"M16.78 4.28a.75.75 0 0 0-1.06-1.06l-.5.5a.75.75 0 0 0 1.06 1.06l.5-.5Zm-3 1.94c.3.3.3.77 0 1.06l-.5.5a.75.75 0 1 1-1.06-1.06l.5-.5c.3-.3.77-.3 1.06 0Zm-3 3c.3.3.3.77 0 1.06l-.5.5a.75.75 0 1 1-1.06-1.06l.5-.5c.3-.3.77-.3 1.06 0Zm-3 3c.3.3.3.77 0 1.06l-.5.5a.75.75 0 0 1-1.06-1.06l.5-.5c.3-.3.77-.3 1.06 0Zm-3 4.06a.75.75 0 1 0-1.06-1.06l-.5.5a.75.75 0 1 0 1.06 1.06l.5-.5Z\"]);\nexport const LineDashes20Regular = /*#__PURE__*/createFluentIcon('LineDashes20Regular', \"20\", [\"M16.85 3.85a.5.5 0 0 0-.7-.7l-1 1a.5.5 0 0 0 .7.7l1-1Zm-3 2.3c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0Zm-3 3c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0Zm-3 3c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0Zm-3 3.7a.5.5 0 0 0-.7-.7l-1 1a.5.5 0 0 0 .7.7l1-1Z\"]);\nexport const LineDashes24Filled = /*#__PURE__*/createFluentIcon('LineDashes24Filled', \"24\", [\"M21.7 2.3a1 1 0 0 1 0 1.41l-.5.5a1 1 0 1 1-1.4-1.41l.5-.5a1 1 0 0 1 1.4 0Zm-4 4a1 1 0 0 1 0 1.41l-1 1a1 1 0 1 1-1.4-1.42l.99-1a1 1 0 0 1 1.41 0Zm-4.5 4.5a1 1 0 0 1 0 1.4l-1 1a1 1 0 0 1-1.4-1.4l1-1a1 1 0 0 1 1.4 0ZM8.7 16.7A1 1 0 1 0 7.3 15.3l-1 1a1 1 0 1 0 1.42 1.4l1-.99Zm-4.49 4.5a1 1 0 0 0-1.41-1.42l-.5.5a1 1 0 0 0 1.41 1.42l.5-.5Z\"]);\nexport const LineDashes24Regular = /*#__PURE__*/createFluentIcon('LineDashes24Regular', \"24\", [\"M21.79 2.22c.29.3.29.77 0 1.06l-1 1a.75.75 0 1 1-1.07-1.06l1-1c.3-.29.77-.29 1.07 0Zm-4.01 4c.29.3.29.77 0 1.06l-1.5 1.5a.75.75 0 0 1-1.06-1.06l1.5-1.5c.29-.29.76-.29 1.06 0Zm-4.5 4.5c.3.3.3.77 0 1.06l-1.5 1.5a.75.75 0 1 1-1.06-1.06l1.5-1.5c.3-.3.77-.3 1.06 0Zm-4.5 5.56a.75.75 0 0 0-1.06-1.06l-1.5 1.5a.75.75 0 0 0 1.06 1.06l1.5-1.5Zm-4.5 4.5a.75.75 0 1 0-1.06-1.06l-1 1a.75.75 0 1 0 1.06 1.06l1-1Z\"]);\nexport const LineDashes32Filled = /*#__PURE__*/createFluentIcon('LineDashes32Filled', \"32\", [\"M28.63 3.37c.5.48.5 1.28 0 1.76l-.98.98a1.25 1.25 0 1 1-1.76-1.76l.98-.98a1.25 1.25 0 0 1 1.76 0Zm-4.9 4.9c.5.48.5 1.27 0 1.76l-1.95 1.96a1.25 1.25 0 1 1-1.77-1.77l1.96-1.96a1.25 1.25 0 0 1 1.77 0Zm-5.87 5.87c.5.49.5 1.28 0 1.76l-1.96 1.96a1.25 1.25 0 1 1-1.76-1.76l1.96-1.96a1.25 1.25 0 0 1 1.76 0ZM12 20c.49.49.49 1.28 0 1.77l-1.96 1.96a1.25 1.25 0 0 1-1.77-1.77l1.96-1.96a1.25 1.25 0 0 1 1.77 0ZM6.1 25.9c.5.49.5 1.28 0 1.76l-.98.98a1.25 1.25 0 0 1-1.76-1.76l.98-.98a1.25 1.25 0 0 1 1.76 0Z\"]);\nexport const LineDashes32Regular = /*#__PURE__*/createFluentIcon('LineDashes32Regular', \"32\", [\"M28.7 3.3a1 1 0 0 1 0 1.4l-1 1a1 1 0 1 1-1.4-1.4l1-1a1 1 0 0 1 1.4 0Zm-5 5a1 1 0 0 1 0 1.4l-2 2a1 1 0 0 1-1.4-1.4l2-2a1 1 0 0 1 1.4 0Zm-6 6a1 1 0 0 1 0 1.4l-2 2a1 1 0 0 1-1.4-1.4l2-2a1 1 0 0 1 1.4 0Zm-6 6a1 1 0 0 1 0 1.4l-2 2a1 1 0 0 1-1.4-1.4l2-2a1 1 0 0 1 1.4 0Zm-6 6a1 1 0 0 1 0 1.4l-1 1a1 1 0 0 1-1.4-1.4l1-1a1 1 0 0 1 1.4 0Z\"]);\nexport const LineDashes48Filled = /*#__PURE__*/createFluentIcon('LineDashes48Filled', \"48\", [\"M43.56 6.56a1.5 1.5 0 0 0-2.12-2.12l-2 2a1.5 1.5 0 0 0 2.12 2.12l2-2Zm-8 5.88a1.5 1.5 0 0 1 0 2.12l-3 3a1.5 1.5 0 0 1-2.12-2.12l3-3a1.5 1.5 0 0 1 2.12 0Zm-9 11.12a1.5 1.5 0 0 0-2.12-2.12l-3 3a1.5 1.5 0 0 0 2.12 2.12l3-3Zm-9 6.88a1.5 1.5 0 0 1 0 2.12l-3 3a1.5 1.5 0 0 1-2.12-2.12l3-3a1.5 1.5 0 0 1 2.12 0Zm-9 9a1.5 1.5 0 0 1 0 2.12l-2 2a1.5 1.5 0 0 1-2.12-2.12l2-2a1.5 1.5 0 0 1 2.12 0Z\"]);\nexport const LineDashes48Regular = /*#__PURE__*/createFluentIcon('LineDashes48Regular', \"48\", [\"M43.63 6.14a1.25 1.25 0 1 0-1.77-1.77l-2.5 2.5a1.25 1.25 0 0 0 1.77 1.76l2.5-2.5Zm-8 6.23c.5.48.5 1.28 0 1.76l-3.5 3.5a1.25 1.25 0 0 1-1.76-1.76l3.5-3.5a1.25 1.25 0 0 1 1.76 0Zm-9 10.76a1.25 1.25 0 0 0-1.76-1.76l-3.5 3.5a1.25 1.25 0 0 0 1.76 1.76l3.5-3.5Zm-9 7.24c.5.48.5 1.28 0 1.76l-3.5 3.5a1.25 1.25 0 0 1-1.76-1.76l3.5-3.5a1.25 1.25 0 0 1 1.76 0Zm-9 9c.5.48.5 1.28 0 1.76l-2.5 2.5a1.25 1.25 0 0 1-1.76-1.77l2.5-2.5a1.25 1.25 0 0 1 1.76 0Z\"]);\nexport const LineFlowDiagonalUpRight16Filled = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight16Filled', \"16\", [\"M12.85 3.85a.5.5 0 0 0-.7-.7L5.88 9.4a2.5 2.5 0 1 0 .7.7l6.27-6.26Z\"]);\nexport const LineFlowDiagonalUpRight16Regular = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight16Regular', \"16\", [\"M12.85 3.85a.5.5 0 0 0-.7-.7L5.88 9.4a2.5 2.5 0 1 0 .7.7l6.27-6.26ZM3 11.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\"]);\nexport const LineFlowDiagonalUpRight20Filled = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight20Filled', \"20\", [\"M15.85 4.85a.5.5 0 0 0-.7-.7l-7.41 7.4a3 3 0 1 0 .7.7l7.41-7.4Z\"]);\nexport const LineFlowDiagonalUpRight20Regular = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight20Regular', \"20\", [\"M15.85 4.85a.5.5 0 0 0-.7-.7l-7.41 7.4a3 3 0 1 0 .7.7l7.41-7.4ZM4 14a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]);\nexport const LineFlowDiagonalUpRight24Filled = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight24Filled', \"24\", [\"M19.78 5.28a.75.75 0 0 0-1.06-1.06l-9.47 9.47a4 4 0 1 0 1.06 1.06l9.47-9.47Z\"]);\nexport const LineFlowDiagonalUpRight24Regular = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight24Regular', \"24\", [\"M19.78 5.28a.75.75 0 0 0-1.06-1.06l-9.47 9.47a4 4 0 1 0 1.06 1.06l9.47-9.47ZM4.5 17a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\"]);\nexport const LineFlowDiagonalUpRight32Filled = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight32Filled', \"32\", [\"M26.7 6.7a1 1 0 0 0-1.4-1.4L11.61 18.96a5.5 5.5 0 1 0 1.41 1.41L26.71 6.71Z\"]);\nexport const LineFlowDiagonalUpRight32Regular = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRight32Regular', \"32\", [\"M26.7 6.7a1 1 0 0 0-1.4-1.4L11.61 18.96a5.5 5.5 0 1 0 1.41 1.41L26.71 6.71ZM5 23.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z\"]);\nexport const LineHorizontal116Filled = /*#__PURE__*/createFluentIcon('LineHorizontal116Filled', \"16\", [\"M2 7.75c0-.41.34-.75.75-.75h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 7.75Z\"]);\nexport const LineHorizontal116Regular = /*#__PURE__*/createFluentIcon('LineHorizontal116Regular', \"16\", [\"M2 7.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal120Filled = /*#__PURE__*/createFluentIcon('LineHorizontal120Filled', \"20\", [\"M2 9.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75Z\"]);\nexport const LineHorizontal120Regular = /*#__PURE__*/createFluentIcon('LineHorizontal120Regular', \"20\", [\"M2 9.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal124Filled = /*#__PURE__*/createFluentIcon('LineHorizontal124Filled', \"24\", [\"M2 12a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\"]);\nexport const LineHorizontal124Regular = /*#__PURE__*/createFluentIcon('LineHorizontal124Regular', \"24\", [\"M2 11.75c0-.41.34-.75.75-.75h18.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal128Filled = /*#__PURE__*/createFluentIcon('LineHorizontal128Filled', \"28\", [\"M2 14a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\"]);\nexport const LineHorizontal128Regular = /*#__PURE__*/createFluentIcon('LineHorizontal128Regular', \"28\", [\"M2 13.75c0-.41.34-.75.75-.75h22.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal1Dashes16Filled = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes16Filled', \"16\", [\"M2 7.75c0-.41.34-.75.75-.75h1.5a.75.75 0 0 1 0 1.5h-1.5A.75.75 0 0 1 2 7.75Zm4.5 0c0-.41.34-.75.75-.75h1.5a.75.75 0 0 1 0 1.5h-1.5a.75.75 0 0 1-.75-.75Zm4.5 0c0-.41.34-.75.75-.75h1.5a.75.75 0 0 1 0 1.5h-1.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal1Dashes16Regular = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes16Regular', \"16\", [\"M2 7.5c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4.5 0c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5Zm4.5 0c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal1Dashes20Filled = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes20Filled', \"20\", [\"M2 9.75c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 2 9.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 8 9.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal1Dashes20Regular = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes20Regular', \"20\", [\"M2 9.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal1Dashes24Filled = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes24Filled', \"24\", [\"M2 12a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm7.5 0a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-3a1 1 0 0 1-1-1Zm7.5 0a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-3a1 1 0 0 1-1-1Z\"]);\nexport const LineHorizontal1Dashes24Regular = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes24Regular', \"24\", [\"M2 11.75c0-.41.34-.75.75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Zm7.5 0c0-.41.34-.75.75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Zm7.5 0c0-.41.34-.75.75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal1Dashes28Filled = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes28Filled', \"28\", [\"M2 14a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm9 0a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm9 0a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Z\"]);\nexport const LineHorizontal1Dashes28Regular = /*#__PURE__*/createFluentIcon('LineHorizontal1Dashes28Regular', \"28\", [\"M2 13.75c0-.41.34-.75.75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm9 0c0-.41.34-.75.75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm9 0c0-.41.34-.75.75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal2DashesSolid16Filled = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid16Filled', \"16\", [\"M2.75 5a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Zm4.5 0a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Zm4.5 0a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Zm-9 5a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal2DashesSolid16Regular = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid16Regular', \"16\", [\"M2.5 5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM7 5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H7Zm4.5 0a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm-9 5a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"]);\nexport const LineHorizontal2DashesSolid20Filled = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid20Filled', \"20\", [\"M2.75 6a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm6 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm6 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm-12 6a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal2DashesSolid20Regular = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid20Regular', \"20\", [\"M2.5 6a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm6 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm6 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm-12 6a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal2DashesSolid24Filled = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid24Filled', \"24\", [\"M3 7a1 1 0 0 0 0 2h3a1 1 0 0 0 0-2H3Zm7.5 0a1 1 0 0 0 0 2h3a1 1 0 1 0 0-2h-3ZM18 7a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3ZM3 15a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3Z\"]);\nexport const LineHorizontal2DashesSolid24Regular = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid24Regular', \"24\", [\"M2.75 7a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm7.5 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm7.5 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm-15 8a.75.75 0 0 0 0 1.5h18.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal2DashesSolid28Filled = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid28Filled', \"28\", [\"M3 9a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2H3Zm9 0a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm9 0a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4ZM3 17a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H3Z\"]);\nexport const LineHorizontal2DashesSolid28Regular = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolid28Regular', \"28\", [\"M2.75 9a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm9 0a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm9 0a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm-18 8a.75.75 0 0 0 0 1.5h22.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal320Filled = /*#__PURE__*/createFluentIcon('LineHorizontal320Filled', \"20\", [\"M2 4.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 5c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM2.75 14a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal320Regular = /*#__PURE__*/createFluentIcon('LineHorizontal320Regular', \"20\", [\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal416Filled = /*#__PURE__*/createFluentIcon('LineHorizontal416Filled', \"16\", [\"M2.75 3a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75Zm0 3a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75ZM2 9.75c0-.41.34-.75.75-.75h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM2.75 12a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal416Regular = /*#__PURE__*/createFluentIcon('LineHorizontal416Regular', \"16\", [\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Zm0 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11ZM2 9.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"]);\nexport const LineHorizontal420Filled = /*#__PURE__*/createFluentIcon('LineHorizontal420Filled', \"20\", [\"M2 3.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 3.75Zm0 4c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 7.75ZM2.75 11a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM2 15.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal420Regular = /*#__PURE__*/createFluentIcon('LineHorizontal420Regular', \"20\", [\"M2.5 3a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Zm0 4h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1 0-1ZM2 11.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 3.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal4Search16Filled = /*#__PURE__*/createFluentIcon('LineHorizontal4Search16Filled', \"16\", [\"M10.5 8c.79 0 1.51-.26 2.1-.7l2.55 2.55a.5.5 0 1 0 .7-.7L13.3 6.6A3.5 3.5 0 1 0 10.5 8Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm3.43 3.06L12.88 9H2.75a.75.75 0 0 0 0 1.5h10.5c.3 0 .57-.18.68-.44ZM7.15 7.5a4.5 4.5 0 0 1-.9-1.5h-3.5a.75.75 0 0 0 0 1.5h4.4ZM6.25 3A4.5 4.5 0 0 0 6 4.5H2.75a.75.75 0 0 1 0-1.5h3.5Zm-3.5 9a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal4Search16Regular = /*#__PURE__*/createFluentIcon('LineHorizontal4Search16Regular', \"16\", [\"M10.5 8c.79 0 1.51-.26 2.1-.7l2.55 2.55a.5.5 0 1 0 .7-.7L13.3 6.6A3.5 3.5 0 1 0 10.5 8Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm3.29 2.9-.91-.9H2.5a.5.5 0 0 0 0 1h11c.1 0 .2-.03.29-.1ZM6.76 7c-.2-.3-.38-.64-.5-1H2.5a.5.5 0 0 0 0 1h4.26Zm-.5-4c-.12.32-.2.65-.23 1H2.5a.5.5 0 0 1 0-1h3.76ZM2.5 12a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"]);\nexport const LineHorizontal4Search20Filled = /*#__PURE__*/createFluentIcon('LineHorizontal4Search20Filled', \"20\", [\"M12.5 10c.97 0 1.87-.3 2.6-.83l3.62 3.61a.75.75 0 1 0 1.06-1.06l-3.61-3.61A4.5 4.5 0 1 0 12.5 10Zm0-7.5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm3.03 8.5 1.5 1.5H2.75a.75.75 0 0 1 0-1.5h12.78ZM2.75 3H7.6c-.24.47-.41.97-.5 1.5H2.74a.75.75 0 0 1 0-1.5Zm0 4h4.46c.15.54.38 1.04.68 1.5H2.75a.75.75 0 0 1 0-1.5ZM2 15.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal4Search20Regular = /*#__PURE__*/createFluentIcon('LineHorizontal4Search20Regular', \"20\", [\"M12.5 10c1.06 0 2.04-.37 2.8-.98l3.85 3.83a.5.5 0 0 0 .7-.7L16.02 8.3A4.5 4.5 0 1 0 12.5 10Zm0-8a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.02 9h3.36l1 1H2.5a.5.5 0 0 1 0-1h10.02ZM2.5 3h5.1c-.16.32-.3.65-.4 1H2.5a.5.5 0 0 1 0-1Zm5.1 5c-.16-.32-.3-.65-.4-1H2.5a.5.5 0 0 0 0 1h5.1ZM2 15.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal520Filled = /*#__PURE__*/createFluentIcon('LineHorizontal520Filled', \"20\", [\"M2 3.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 3.75Zm0 6c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM2.75 12a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM2 6.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 6.75ZM2.75 15a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal520Regular = /*#__PURE__*/createFluentIcon('LineHorizontal520Regular', \"20\", [\"M2 3.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 6c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5ZM2.5 6a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15ZM2 12.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal5Error20Filled = /*#__PURE__*/createFluentIcon('LineHorizontal5Error20Filled', \"20\", [\"M2.75 3a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Zm0 6a.75.75 0 0 0 0 1.5h7.14c.38-.59.87-1.1 1.45-1.5H2.75Zm0 3h6.46c-.14.48-.21.98-.21 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 3h6.46c.15.54.38 1.04.68 1.5H2.75a.75.75 0 0 1 0-1.5Zm0-9a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM19 13.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const LineHorizontal5Error20Regular = /*#__PURE__*/createFluentIcon('LineHorizontal5Error20Regular', \"20\", [\"M2.5 3a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Zm0 6a.5.5 0 0 0 0 1h7.76c.31-.38.67-.72 1.08-1H2.5Zm0 3h6.7c-.08.32-.15.66-.18 1H2.5a.5.5 0 0 1 0-1Zm0 3h6.7c.1.35.24.68.4 1H2.5a.5.5 0 0 1 0-1Zm0-9a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15ZM19 13.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const LineStyle20Filled = /*#__PURE__*/createFluentIcon('LineStyle20Filled', \"20\", [\"M2 4.75c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 2 4.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 8 4.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Zm-12 5c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM3.25 14a1.25 1.25 0 1 0 0 2.5h13.5a1.25 1.25 0 1 0 0-2.5H3.25Z\"]);\nexport const LineStyle20Regular = /*#__PURE__*/createFluentIcon('LineStyle20Regular', \"20\", [\"M2 4.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5ZM3 14a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H3Z\"]);\nexport const LineStyle24Filled = /*#__PURE__*/createFluentIcon('LineStyle24Filled', \"24\", [\"M3 5a1 1 0 0 0 0 2h3a1 1 0 0 0 0-2H3Zm7.5 0a1 1 0 0 0 0 2h3a1 1 0 1 0 0-2h-3ZM18 5a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3ZM2 12a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1.5 5a1.5 1.5 0 0 0 0 3h17a1.5 1.5 0 0 0 0-3h-17Z\"]);\nexport const LineStyle24Regular = /*#__PURE__*/createFluentIcon('LineStyle24Regular', \"24\", [\"M2.75 5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm7.5 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm7.5 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm3.5 6.5H2.75l-.1.01a.75.75 0 0 0 .1 1.5h18.5l.1-.01a.75.75 0 0 0-.1-1.5Zm-18 5.5a1.25 1.25 0 0 0 0 2.5h17.5a1.25 1.25 0 1 0 0-2.5H3.25Z\"]);\nexport const LineThickness20Filled = /*#__PURE__*/createFluentIcon('LineThickness20Filled', \"20\", [\"M2.75 4a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM2 9.25C2 8.56 2.56 8 3.25 8h13.5a1.25 1.25 0 1 1 0 2.5H3.25C2.56 10.5 2 9.94 2 9.25Zm0 5.5c0-.97.78-1.75 1.75-1.75h12.5a1.75 1.75 0 1 1 0 3.5H3.75c-.97 0-1.75-.78-1.75-1.75Z\"]);\nexport const LineThickness20Regular = /*#__PURE__*/createFluentIcon('LineThickness20Regular', \"20\", [\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 10c0-.83.67-1.5 1.5-1.5h13a1.5 1.5 0 0 1 0 3h-13A1.5 1.5 0 0 1 2 14.5ZM3 8a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H3Z\"]);\nexport const LineThickness24Filled = /*#__PURE__*/createFluentIcon('LineThickness24Filled', \"24\", [\"M3 3a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm-1 7.5C2 9.67 2.67 9 3.5 9h17a1.5 1.5 0 0 1 0 3h-17A1.5 1.5 0 0 1 2 10.5ZM2 18c0-1.1.9-2 2-2h16a2 2 0 1 1 0 4H4a2 2 0 0 1-2-2Z\"]);\nexport const LineThickness24Regular = /*#__PURE__*/createFluentIcon('LineThickness24Regular', \"24\", [\"M2.75 3.5a.75.75 0 0 0 0 1.5h18.5a.75.75 0 0 0 0-1.5H2.75ZM2 10.75c0-.69.56-1.25 1.25-1.25h17.5a1.25 1.25 0 1 1 0 2.5H3.25C2.56 12 2 11.44 2 10.75Zm0 7.5c0-.97.78-1.75 1.75-1.75h16.5a1.75 1.75 0 1 1 0 3.5H3.75C2.78 20 2 19.22 2 18.25Z\"]);\nexport const Link12Filled = /*#__PURE__*/createFluentIcon('Link12Filled', \"12\", [\"M1.5 5.2c0-1.5 1.2-2.7 2.7-2.7h.05a.75.75 0 0 1 0 1.5H4.2C3.54 4 3 4.54 3 5.2v.6C3 6.46 3.54 7 4.2 7h.05a.75.75 0 0 1 0 1.5H4.2a2.7 2.7 0 0 1-2.7-2.7v-.6Zm9 0c0-1.5-1.2-2.7-2.7-2.7h-.05a.75.75 0 0 0 0 1.5h.05C8.46 4 9 4.54 9 5.2v.6C9 6.46 8.46 7 7.8 7h-.05a.75.75 0 0 0 0 1.5h.05c1.5 0 2.7-1.2 2.7-2.7v-.6Zm-5.75-.45a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Z\"]);\nexport const Link12Regular = /*#__PURE__*/createFluentIcon('Link12Regular', \"12\", [\"M2 5.4A2.4 2.4 0 0 1 4.4 3h.1a.5.5 0 0 1 0 1h-.1C3.63 4 3 4.63 3 5.4v.2C3 6.37 3.63 7 4.4 7h.1a.5.5 0 0 1 0 1h-.1A2.4 2.4 0 0 1 2 5.6v-.2Zm8 0A2.4 2.4 0 0 0 7.6 3h-.1a.5.5 0 0 0 0 1h.1C8.37 4 9 4.63 9 5.4v.2C9 6.37 8.37 7 7.6 7h-.1a.5.5 0 0 0 0 1h.1A2.4 2.4 0 0 0 10 5.6v-.2ZM4.5 5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\"]);\nexport const Link16Filled = /*#__PURE__*/createFluentIcon('Link16Filled', \"16\", [\"M9.75 4h.52a3.74 3.74 0 0 1 .2 7.5h-.71a.75.75 0 0 1-.12-1.49h.1l.53-.01c1.23 0 2.23-1 2.23-2.25 0-1.2-.92-2.17-2.08-2.24l-.15-.01h-.52a.75.75 0 0 1-.1-1.5h.62-.52Zm-4 0h.5a.75.75 0 0 1 .1 1.5h-.6A2.25 2.25 0 0 0 5.6 10h.65a.75.75 0 0 1 .1 1.5h-.6a3.75 3.75 0 0 1-.2-7.5h.7-.5Zm0 3h4.5a.75.75 0 0 1 .1 1.5h-4.6a.75.75 0 0 1-.1-1.5h4.6-4.5Z\"]);\nexport const Link16Regular = /*#__PURE__*/createFluentIcon('Link16Regular', \"16\", [\"M9.5 4h1a3.5 3.5 0 0 1 .2 7H9.5a.5.5 0 0 1-.1-.99h.1l1-.01a2.5 2.5 0 0 0 .16-5H9.5a.5.5 0 0 1-.09-1h1.09-1Zm-4 0h1a.5.5 0 0 1 .09 1H5.5a2.5 2.5 0 0 0-.16 5H6.5a.5.5 0 0 1 .09 1H5.5a3.5 3.5 0 0 1-.2-7h1.2-1Zm0 3h5a.5.5 0 0 1 .09 1H5.5a.5.5 0 0 1-.09-1h.09Z\"]);\nexport const Link20Filled = /*#__PURE__*/createFluentIcon('Link20Filled', \"20\", [\"M14 6a4 4 0 0 1 .2 8H12a.75.75 0 0 1-.1-1.5H14a2.5 2.5 0 0 0 .16-5H12a.75.75 0 0 1-.1-1.5H14ZM8 6a.75.75 0 0 1 .1 1.5H6a2.5 2.5 0 0 0-.16 5H8a.75.75 0 0 1 .1 1.5H6a4 4 0 0 1-.2-8H8ZM6.25 9.25h7.5a.75.75 0 0 1 .1 1.5h-7.6a.75.75 0 0 1-.1-1.5h7.6-7.5Z\"]);\nexport const Link20Regular = /*#__PURE__*/createFluentIcon('Link20Regular', \"20\", [\"M8 6a.5.5 0 0 1 .09 1H6a3 3 0 0 0-.2 6H8a.5.5 0 0 1 .09 1H6a4 4 0 0 1-.22-8H8Zm6 0a4 4 0 0 1 .22 8H12a.5.5 0 0 1-.09-1H14a3 3 0 0 0 .2-6H12a.5.5 0 0 1-.09-1H14ZM6 9.5h8a.5.5 0 0 1 .09 1H6a.5.5 0 0 1-.09-1H14 6Z\"]);\nexport const Link24Filled = /*#__PURE__*/createFluentIcon('Link24Filled', \"24\", [\"M9 7a1 1 0 0 1 .12 2H7a3 3 0 0 0-.18 6H9a1 1 0 0 1 .12 2H7a5 5 0 0 1-.22-10H9Zm8 0a5 5 0 0 1 .22 10H15a1 1 0 0 1-.12-2H17a3 3 0 0 0 .18-6H15a1 1 0 0 1-.12-2H17ZM7 11h10a1 1 0 0 1 .12 2H7a1 1 0 0 1-.12-2H17 7Z\"]);\nexport const Link24Regular = /*#__PURE__*/createFluentIcon('Link24Regular', \"24\", [\"M9.25 7a.75.75 0 0 1 .11 1.5H7a3.5 3.5 0 0 0-.2 7h2.45a.75.75 0 0 1 .11 1.5H7a5 5 0 0 1-.25-10h2.5ZM17 7a5 5 0 0 1 .25 10h-2.5a.75.75 0 0 1-.11-1.5H17a3.5 3.5 0 0 0 .2-7h-2.45a.75.75 0 0 1-.11-1.5H17ZM7 11.25h10a.75.75 0 0 1 .1 1.5H7a.75.75 0 0 1-.1-1.5H17 7Z\"]);\nexport const Link28Filled = /*#__PURE__*/createFluentIcon('Link28Filled', \"28\", [\"M11 8a1 1 0 0 1 .12 2H8a4 4 0 0 0-.2 8H11a1 1 0 0 1 .12 2H8a6 6 0 0 1-.22-12H11Zm9 0a6 6 0 0 1 .22 12H17a1 1 0 0 1-.12-2H20a4 4 0 0 0 .2-8H17a1 1 0 0 1-.12-2H20ZM8 13h12a1 1 0 0 1 .12 2H8a1 1 0 0 1-.12-2H20 8Z\"]);\nexport const Link28Regular = /*#__PURE__*/createFluentIcon('Link28Regular', \"28\", [\"M11 8a.75.75 0 0 1 .1 1.5H8a4.5 4.5 0 0 0-.21 9H11a.75.75 0 0 1 .1 1.5H8a6 6 0 0 1-.22-12H11Zm9 0a6 6 0 0 1 .22 12H17a.75.75 0 0 1-.1-1.5H20a4.5 4.5 0 0 0 .21-9H17a.75.75 0 0 1-.1-1.5H20ZM8 13.25h12a.75.75 0 0 1 .1 1.5H8a.75.75 0 0 1-.1-1.5H20 8Z\"]);\nexport const Link32Filled = /*#__PURE__*/createFluentIcon('Link32Filled', \"32\", [\"M2 16.25C2 12.25 5.25 9 9.25 9h3.5a1.25 1.25 0 1 1 0 2.5h-3.5a4.75 4.75 0 1 0 0 9.5h3.5a1.25 1.25 0 1 1 0 2.5h-3.5c-4 0-7.25-3.25-7.25-7.25Zm28 0c0-4-3.25-7.25-7.25-7.25h-3.5a1.25 1.25 0 1 0 0 2.5h3.5a4.75 4.75 0 1 1 0 9.5h-3.5a1.25 1.25 0 1 0 0 2.5h3.5c4 0 7.25-3.25 7.25-7.25ZM9.75 15a1.25 1.25 0 1 0 0 2.5h12.5a1.25 1.25 0 1 0 0-2.5H9.75Z\"]);\nexport const Link32Regular = /*#__PURE__*/createFluentIcon('Link32Regular', \"32\", [\"M2 16a7 7 0 0 1 7-7h4a1 1 0 1 1 0 2H9a5 5 0 0 0 0 10h4a1 1 0 1 1 0 2H9a7 7 0 0 1-7-7Zm28 0a7 7 0 0 0-7-7h-4a1 1 0 1 0 0 2h4a5 5 0 0 1 0 10h-4a1 1 0 1 0 0 2h4a7 7 0 0 0 7-7ZM9.5 15a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2h-13Z\"]);\nexport const Link48Filled = /*#__PURE__*/createFluentIcon('Link48Filled', \"48\", [\"M33.25 13c5.84 0 10.6 4.66 10.75 10.46v.79c0 5.84-4.66 10.6-10.46 10.75h-4.79a1.75 1.75 0 0 1-.14-3.5h4.64a7.25 7.25 0 0 0 7.25-7.01v-.74a7.25 7.25 0 0 0-7.01-7.25h-4.74a1.75 1.75 0 0 1-.14-3.5h4.64Zm-14 0a1.75 1.75 0 0 1 .14 3.5h-4.64a7.25 7.25 0 0 0-7.25 7.01v.74a7.25 7.25 0 0 0 7.01 7.25h4.74a1.75 1.75 0 0 1 .14 3.5h-4.64C8.91 35 4.15 30.34 4 24.54v-.79C4 17.91 8.66 13.15 14.46 13h4.79ZM14 22.25h20a1.75 1.75 0 0 1 .14 3.5H14a1.75 1.75 0 0 1-.14-3.5H34 14Z\"]);\nexport const Link48Regular = /*#__PURE__*/createFluentIcon('Link48Regular', \"48\", [\"M34 14a10 10 0 0 1 .28 20h-6.03a1.25 1.25 0 0 1-.13-2.5H34a7.5 7.5 0 0 0 .24-15h-5.99a1.25 1.25 0 0 1-.13-2.5H34Zm-14.25 0a1.25 1.25 0 0 1 .13 2.5H14a7.5 7.5 0 0 0-.24 15h5.99a1.25 1.25 0 0 1 .13 2.5H14a10 10 0 0 1-.28-20h6.03ZM13 22.75h22a1.25 1.25 0 0 1 .13 2.5H13a1.25 1.25 0 0 1-.13-2.5H35 13Z\"]);\nexport const LinkAdd16Filled = /*#__PURE__*/createFluentIcon('LinkAdd16Filled', \"16\", [\"M9.75 3h.52c2 0 3.65 1.6 3.73 3.6a5.46 5.46 0 0 0-1.6-.53 2.24 2.24 0 0 0-1.98-1.56l-.15-.01h-.52a.75.75 0 0 1-.1-1.5h.1Zm-3.66 7.5c.1-.5.25-.98.47-1.43A.75.75 0 0 0 6.25 9H5.6a2.25 2.25 0 0 1 .15-4.5h.6a.75.75 0 0 0-.1-1.5h-.7a3.75 3.75 0 0 0 .2 7.5h.34Zm1.64-3a5.48 5.48 0 0 1 2.85-1.42.75.75 0 0 0-.33-.08h-4.6a.75.75 0 0 0 .1 1.5h1.98Zm8.27 4a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z\"]);\nexport const LinkAdd16Regular = /*#__PURE__*/createFluentIcon('LinkAdd16Regular', \"16\", [\"M9.5 3h1A3.5 3.5 0 0 1 14 6.6c-.32-.17-.66-.3-1.02-.4A2.5 2.5 0 0 0 10.66 4H9.5a.5.5 0 0 1-.09-1h.09Zm-3.3 7c.1-.35.24-.68.4-1a.5.5 0 0 0-.1 0H5.34a2.5 2.5 0 0 1 .16-5h1.09a.5.5 0 0 0-.09-1H5.3a3.5 3.5 0 0 0 .2 7h.7Zm2.14-3c.69-.49 1.5-.82 2.38-.95A.5.5 0 0 0 10.5 6H5.41a.5.5 0 0 0 .09 1h2.84ZM16 11.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z\"]);\nexport const LinkAdd20Filled = /*#__PURE__*/createFluentIcon('LinkAdd20Filled', \"20\", [\"M18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16a2.5 2.5 0 0 1 2 3.76c.49.15.94.37 1.36.64.3-.56.48-1.21.48-1.9ZM8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75Zm5 2.5h-7.6a.75.75 0 0 0 .1 1.5h7.6a.75.75 0 0 0-.1-1.5ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const LinkAdd20Regular = /*#__PURE__*/createFluentIcon('LinkAdd20Regular', \"20\", [\"M8.5 4.5A.5.5 0 0 0 8 4H5.78A4 4 0 0 0 6 12h2.09A.5.5 0 0 0 8 11H5.8A3 3 0 0 1 6 5h2.09a.5.5 0 0 0 .41-.5ZM18 8a4 4 0 0 0-4-4h-2.09A.5.5 0 0 0 12 5h2.2a3 3 0 0 1 2.44 4.43c.3.13.6.29.88.47.3-.56.48-1.21.48-1.9Zm-4-.5H5.91a.5.5 0 0 0 .09 1h8.09a.5.5 0 0 0-.09-1Zm5 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const LinkAdd24Filled = /*#__PURE__*/createFluentIcon('LinkAdd24Filled', \"24\", [\"M9 5a1 1 0 0 1 .12 2H7a3 3 0 0 0-.18 6H9a1 1 0 0 1 .12 2H7a5 5 0 0 1-.22-10H9Zm8 0a5 5 0 0 1 4.43 7.32 6.48 6.48 0 0 0-1.76-.95A3 3 0 0 0 17.17 7H15a1 1 0 0 1-.12-2H17ZM7 9h10a1 1 0 0 1 .12 2H7a1 1 0 0 1-.12-2H7Zm16 8.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-5 .5v2.5a.5.5 0 1 1-1 0V18h-2.5a.5.5 0 0 1 0-1H17v-2.5a.5.5 0 1 1 1 0V17h2.5a.5.5 0 0 1 0 1H18Z\"]);\nexport const LinkAdd24Regular = /*#__PURE__*/createFluentIcon('LinkAdd24Regular', \"24\", [\"M9.25 5a.75.75 0 0 1 .11 1.5H7a3.5 3.5 0 0 0-.2 7h2.45a.75.75 0 0 1 .11 1.5H7a5 5 0 0 1-.25-10h2.5ZM17 5a5 5 0 0 1 4.43 7.32 6.5 6.5 0 0 0-1.3-.76A3.5 3.5 0 0 0 17.2 6.5L17 6.5h-2.25a.75.75 0 0 1-.11-1.5H17ZM7 9.25h10a.75.75 0 0 1 .1 1.5H7a.75.75 0 0 1-.1-1.5H7Zm16 8.25a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-5 .5v2.5a.5.5 0 1 1-1 0V18h-2.5a.5.5 0 0 1 0-1H17v-2.5a.5.5 0 1 1 1 0V17h2.5a.5.5 0 0 1 0 1H18Z\"]);\nexport const LinkDismiss16Filled = /*#__PURE__*/createFluentIcon('LinkDismiss16Filled', \"16\", [\"M10.27 3h-.62a.75.75 0 0 0 .1 1.5h.67c.93.07 1.7.7 1.98 1.57.56.1 1.1.28 1.6.53-.08-2-1.72-3.6-3.73-3.6Zm-3.7 6.07c-.23.45-.39.93-.48 1.43h-.34a3.75 3.75 0 0 1-.2-7.5h.7a.75.75 0 0 1 .1 1.5h-.6A2.25 2.25 0 0 0 5.6 9h.65c.11 0 .22.03.31.07Zm4.01-3c-1.1.2-2.08.7-2.85 1.43H5.75a.75.75 0 0 1-.1-1.5h4.6c.12 0 .23.03.33.08ZM11.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm1.85-6.35c.2.2.2.5 0 .7l-1.14 1.15 1.14 1.15a.5.5 0 0 1-.7.7l-1.15-1.14-1.15 1.14a.5.5 0 0 1-.7-.7l1.14-1.15-1.14-1.15a.5.5 0 0 1 .7-.7l1.15 1.14 1.15-1.14c.2-.2.5-.2.7 0Z\"]);\nexport const LinkDismiss16Regular = /*#__PURE__*/createFluentIcon('LinkDismiss16Regular', \"16\", [\"M10.5 3H9.41a.5.5 0 0 0 .09 1h1.16a2.5 2.5 0 0 1 2.32 2.2c.36.1.7.23 1.02.4v-.1A3.5 3.5 0 0 0 10.5 3ZM6.6 9c-.16.32-.3.65-.4 1h-.7a3.5 3.5 0 0 1-.2-7h1.2a.5.5 0 0 1 .09 1H5.5a2.5 2.5 0 0 0-.16 5H6.5a.5.5 0 0 1 .1 0Zm4.12-2.95c-.88.13-1.69.46-2.38.95H5.5a.5.5 0 0 1-.09-1h5.09a.5.5 0 0 1 .22.05ZM11.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm1.85-6.35c.2.2.2.5 0 .7l-1.14 1.15 1.14 1.15a.5.5 0 0 1-.7.7l-1.15-1.14-1.15 1.14a.5.5 0 0 1-.7-.7l1.14-1.15-1.14-1.15a.5.5 0 0 1 .7-.7l1.15 1.14 1.15-1.14c.2-.2.5-.2.7 0Z\"]);\nexport const LinkDismiss20Filled = /*#__PURE__*/createFluentIcon('LinkDismiss20Filled', \"20\", [\"M14 4a4 4 0 0 1 3.52 5.9c-.42-.27-.87-.5-1.36-.64a2.5 2.5 0 0 0-2-3.75L14 5.5h-2a.75.75 0 0 1-.1-1.5H14ZM8 4a.75.75 0 0 1 .1 1.5H6a2.5 2.5 0 0 0-.16 5H8a.75.75 0 0 1 .1 1.5H6a4 4 0 0 1-.2-8H8ZM6.25 7.25h7.5a.75.75 0 0 1 .1 1.5h-7.6a.75.75 0 0 1-.1-1.5h.1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.73-1.06a.5.5 0 0 0-.7-.7l-1.07 1.05-1.06-1.06a.5.5 0 0 0-.7.7l1.05 1.07-1.06 1.06a.5.5 0 0 0 .7.7l1.07-1.05 1.06 1.06a.5.5 0 0 0 .7-.7l-1.05-1.07 1.06-1.06Z\"]);\nexport const LinkDismiss20Regular = /*#__PURE__*/createFluentIcon('LinkDismiss20Regular', \"20\", [\"M8 4a.5.5 0 0 1 .09 1H6a3 3 0 0 0-.2 6H8a.5.5 0 0 1 .09 1H6a4 4 0 0 1-.22-8H8Zm6 0a4 4 0 0 1 3.52 5.9 5.49 5.49 0 0 0-.88-.47 3 3 0 0 0-2.44-4.42L14 5h-2a.5.5 0 0 1-.09-1H14ZM6 7.5h8a.5.5 0 0 1 .09 1H6a.5.5 0 0 1-.09-1H6Zm13 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.73-1.06a.5.5 0 0 0-.7-.7l-1.07 1.05-1.06-1.06a.5.5 0 0 0-.7.7l1.05 1.07-1.06 1.06a.5.5 0 0 0 .7.7l1.07-1.05 1.06 1.06a.5.5 0 0 0 .7-.7l-1.05-1.07 1.06-1.06Z\"]);\nexport const LinkDismiss24Filled = /*#__PURE__*/createFluentIcon('LinkDismiss24Filled', \"24\", [\"M9 5a1 1 0 0 1 .12 2H7a3 3 0 0 0-.18 6H9a1 1 0 0 1 .12 2H7a5 5 0 0 1-.22-10H9Zm8 0a5 5 0 0 1 4.43 7.32 6.48 6.48 0 0 0-1.76-.95A3 3 0 0 0 17.17 7H15a1 1 0 0 1-.12-2H17ZM7 9h10a1 1 0 0 1 .12 2H7a1 1 0 0 1-.12-2H7Zm16 8.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7l-1.64-1.65 1.64-1.65a.5.5 0 0 0-.7-.7l-1.65 1.64-1.65-1.64Z\"]);\nexport const LinkDismiss24Regular = /*#__PURE__*/createFluentIcon('LinkDismiss24Regular', \"24\", [\"M9.25 5a.75.75 0 0 1 .11 1.5H7a3.5 3.5 0 0 0-.2 7h2.45a.75.75 0 0 1 .11 1.5H7a5 5 0 0 1-.25-10h2.5ZM17 5a5 5 0 0 1 4.43 7.32 6.5 6.5 0 0 0-1.3-.76A3.5 3.5 0 0 0 17.2 6.5L17 6.5h-2.25a.75.75 0 0 1-.11-1.5H17ZM7 9.25h10a.75.75 0 0 1 .1 1.5H7a.75.75 0 0 1-.1-1.5H7Zm16 8.25a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7l-1.64-1.65 1.64-1.65a.5.5 0 0 0-.7-.7l-1.65 1.64-1.65-1.64Z\"]);\nexport const LinkEdit16Filled = /*#__PURE__*/createFluentIcon('LinkEdit16Filled', \"16\", [\"M10.26 3h-.61a.75.75 0 0 0 .1 1.5h.67c.67.05 1.26.4 1.63.9.46-.3 1-.43 1.52-.4a3.73 3.73 0 0 0-3.3-2Zm.67 3.44L9.88 7.5H5.75a.75.75 0 0 1-.1-1.5h4.6c.3 0 .57.18.68.44Zm2.26-.42a1.58 1.58 0 0 0-.86.44L9 9.78l-.95.95c-.36.36-.61.8-.73 1.3l-.3 1.2a.6.6 0 0 0 .73.74l1.22-.3c.48-.12.93-.38 1.29-.73l4.28-4.29a1.56 1.56 0 0 0-1.35-2.64ZM6.25 3h-.7a3.75 3.75 0 0 0 .2 7.5h.6a.75.75 0 0 0-.1-1.5H5.6a2.25 2.25 0 0 1 .15-4.5h.6a.75.75 0 0 0-.1-1.5Z\"]);\nexport const LinkEdit16Regular = /*#__PURE__*/createFluentIcon('LinkEdit16Regular', \"16\", [\"M10.5 3H9.4a.5.5 0 0 0 .1 1h1.16c.81.06 1.52.5 1.94 1.14.34-.12.7-.16 1.06-.13A3.5 3.5 0 0 0 10.5 3Zm.49 3.39-.61.61H5.5a.5.5 0 0 1-.09-1h5.09a.5.5 0 0 1 .49.39Zm2.15-.36c-.06 0-.12.02-.18.04-.23.08-.44.2-.62.38L9.06 9.73l-1.01 1.01c-.36.36-.61.8-.73 1.3l-.3 1.2a.6.6 0 0 0 .73.74l1.22-.3c.48-.12.93-.38 1.29-.73l4.28-4.29a1.56 1.56 0 0 0-1.4-2.63ZM6.5 3H5.3a3.5 3.5 0 0 0 .2 7h1l.09-.01a.5.5 0 0 0-.1-1H5.35A2.5 2.5 0 0 1 5.5 4h1.09a.5.5 0 0 0-.1-1Z\"]);\nexport const LinkEdit20Filled = /*#__PURE__*/createFluentIcon('LinkEdit20Filled', \"20\", [\"M18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16A2.5 2.5 0 0 1 16.5 8v.02c.52.07 1.02.28 1.45.63.03-.21.05-.43.05-.65ZM8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75Zm5 2.5h-7.6a.75.75 0 0 0 .1 1.5h7.6a.75.75 0 0 0-.1-1.5Zm-3.77 7.13 4.83-4.83a1.87 1.87 0 0 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.08l.37-1.5c.1-.38.3-.73.58-1.01Z\"]);\nexport const LinkEdit20Regular = /*#__PURE__*/createFluentIcon('LinkEdit20Regular', \"20\", [\"M8.5 4.5A.5.5 0 0 0 8 4H5.78A4 4 0 0 0 6 12h2.09a.5.5 0 0 0-.1-1H5.8A3 3 0 0 1 6 5h2.09a.5.5 0 0 0 .4-.5ZM18 8a4 4 0 0 0-4-4h-2.1a.5.5 0 0 0 .1 1h2.2A3 3 0 0 1 17 8.14c.33.1.66.28.95.52.03-.21.05-.43.05-.65Zm-4-.5H5.9a.5.5 0 0 0 .09 1h8.09a.5.5 0 0 0-.1-1Zm-4.02 6.88 4.83-4.83a1.87 1.87 0 0 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.08l.37-1.5c.1-.38.3-.73.58-1.01Z\"]);\nexport const LinkEdit24Filled = /*#__PURE__*/createFluentIcon('LinkEdit24Filled', \"24\", [\"M10 6a1 1 0 0 0-1-1H6.78A5 5 0 0 0 7 15h2.12A1 1 0 0 0 9 13H6.82A3 3 0 0 1 7 7h2.12A1 1 0 0 0 10 6Zm12 4a5 5 0 0 0-5-5h-2.12A1 1 0 0 0 15 7h2.17A3 3 0 0 1 20 10V10c.7.06 1.37.34 1.93.84.04-.27.07-.56.07-.85Zm-4.23.64c-.1.07-.2.15-.29.24a1 1 0 0 1-.36.11H7a1 1 0 0 1-.12-1.98L7 9h10a1 1 0 0 1 .77 1.64Zm.33 1.03-5.9 5.9c-.35.34-.6.78-.71 1.25l-.46 1.83c-.2.8.52 1.52 1.32 1.32l1.83-.46c.47-.12.9-.36 1.25-.7l5.9-5.9a2.29 2.29 0 0 0-3.23-3.24Z\"]);\nexport const LinkEdit24Regular = /*#__PURE__*/createFluentIcon('LinkEdit24Regular', \"24\", [\"M10 5.75A.75.75 0 0 0 9.25 5h-2.5A5 5 0 0 0 7 15h2.36a.75.75 0 0 0-.11-1.5H6.8a3.5 3.5 0 0 1 .2-7h2.36a.75.75 0 0 0 .64-.75ZM22 10a5 5 0 0 0-5-5h-2.36a.75.75 0 0 0 .1 1.5h2.46a3.5 3.5 0 0 1 3.3 3.6c.51.12 1 .37 1.43.75.04-.27.07-.56.07-.85Zm-5-.75H6.9a.75.75 0 0 0 .1 1.5h10.1a.75.75 0 0 0-.1-1.5Zm1.1 2.42-5.9 5.9c-.35.34-.6.78-.71 1.25l-.46 1.83c-.2.8.52 1.52 1.32 1.32l1.83-.46c.47-.12.9-.36 1.25-.7l5.9-5.9a2.29 2.29 0 0 0-3.23-3.24Z\"]);\nexport const LinkMultiple16Filled = /*#__PURE__*/createFluentIcon('LinkMultiple16Filled', \"16\", [\"M1 6.5A3.5 3.5 0 0 1 4.5 3h4a3.5 3.5 0 0 1 3.47 3.03 3.54 3.54 0 0 1-.12 1.5A3.5 3.5 0 0 1 8.5 10h-.75a.75.75 0 0 1 0-1.5h.75a2 2 0 1 0 0-4h-4a2 2 0 0 0-1.26 3.55A4.5 4.5 0 0 0 3 9.66 3.5 3.5 0 0 1 1 6.5Zm8 .25c0 .41-.34.75-.75.75H7.5a2 2 0 1 0 0 4h4a2 2 0 0 0 1.26-3.55A4.5 4.5 0 0 0 13 6.34 3.5 3.5 0 0 1 11.5 13h-4a3.5 3.5 0 1 1 0-7h.75c.41 0 .75.34.75.75Z\"]);\nexport const LinkMultiple16Regular = /*#__PURE__*/createFluentIcon('LinkMultiple16Regular', \"16\", [\"M12 6.5A3.5 3.5 0 0 0 8.5 3H4.3A3.5 3.5 0 0 0 3 9.67a4.57 4.57 0 0 1 .1-1.1A2.5 2.5 0 0 1 4.5 4h4.16a2.5 2.5 0 0 1-.16 5h-1l-.1.01a.5.5 0 0 0 .1 1l1-.01h.2A3.5 3.5 0 0 0 12 6.5Zm2 3a2.5 2.5 0 0 0-1.1-2.07 4.52 4.52 0 0 0 .1-1.1A3.5 3.5 0 0 1 11.7 13l-.2.01h-4a3.5 3.5 0 0 1-.2-7h1.2a.5.5 0 0 1 .09 1H7.5a2.5 2.5 0 0 0-.16 5h4.16A2.5 2.5 0 0 0 14 9.5Z\"]);\nexport const LinkMultiple20Filled = /*#__PURE__*/createFluentIcon('LinkMultiple20Filled', \"20\", [\"M1 8a4 4 0 0 1 4-4h6a4 4 0 0 1 0 8H9.75a.75.75 0 0 1 0-1.5H11a2.5 2.5 0 0 0 0-5H5a2.5 2.5 0 0 0-.74 4.89c-.15.47-.25.97-.26 1.48A4 4 0 0 1 1 8Zm15 .13c-.01.51-.1 1.01-.26 1.48A2.5 2.5 0 0 1 15 14.5H9a2.5 2.5 0 0 1 0-5h1.25a.75.75 0 0 0 0-1.5H9a4 4 0 1 0 0 8h6a4 4 0 0 0 1-7.87Z\"]);\nexport const LinkMultiple20Regular = /*#__PURE__*/createFluentIcon('LinkMultiple20Regular', \"20\", [\"M1 8a4 4 0 0 1 4-4h6a4 4 0 0 1 0 8H9.5a.5.5 0 0 1 0-1H11a3 3 0 1 0 0-6H5a3 3 0 0 0-.87 5.87 5 5 0 0 0-.13 1A4 4 0 0 1 1 8Zm17 4a3 3 0 0 0-2.13-2.87c.08-.32.12-.66.13-1A4 4 0 0 1 15 16H9a4 4 0 0 1 0-8h1.5a.5.5 0 0 1 0 1H9a3 3 0 1 0 0 6h6a3 3 0 0 0 3-3Z\"]);\nexport const LinkMultiple24Filled = /*#__PURE__*/createFluentIcon('LinkMultiple24Filled', \"24\", [\"M6.5 4a5.5 5.5 0 0 0-1.99 10.63c.04-.7.19-1.37.43-2A3.5 3.5 0 0 1 6.5 6h6a3.5 3.5 0 1 1 0 7H12a1 1 0 1 0 0 2h.5a5.5 5.5 0 1 0 0-11h-6Zm12.61 8.21A3 3 0 0 1 18 18h-7a3 3 0 1 1 0-6h1a1 1 0 0 0 0-2h-1a5 5 0 0 0 0 10h7a5 5 0 0 0 1.5-9.77c-.03.7-.16 1.36-.39 1.98Z\"]);\nexport const LinkMultiple24Regular = /*#__PURE__*/createFluentIcon('LinkMultiple24Regular', \"24\", [\"M6.25 4a5.25 5.25 0 0 0-1.7 10.22c.06-.51.18-1 .35-1.47A3.75 3.75 0 0 1 6.25 5.5h6.5a3.75 3.75 0 1 1 0 7.5h-1a.75.75 0 0 0 0 1.5h1a5.25 5.25 0 1 0 0-10.5h-6.5Zm13.14 6.2c-.1.5-.24.98-.44 1.43A3.5 3.5 0 0 1 18 18.5h-7a3.5 3.5 0 1 1 0-7h1.25a.75.75 0 0 0 0-1.5H11a5 5 0 0 0 0 10h7a5 5 0 0 0 1.4-9.8Z\"]);\nexport const LinkPerson16Filled = /*#__PURE__*/createFluentIcon('LinkPerson16Filled', \"16\", [\"M9.75 3h.52a3.74 3.74 0 0 1 3.7 4.29 3 3 0 0 0-1.55-1.15 2.24 2.24 0 0 0-2-1.63l-.15-.01h-.52a.75.75 0 0 1-.1-1.5h.1ZM8.9 7.5a3 3 0 0 1 1.76-1.38.75.75 0 0 0-.41-.12h-4.6a.75.75 0 0 0 .1 1.5H8.9ZM5.75 3h.5a.75.75 0 0 1 .1 1.5h-.6A2.25 2.25 0 0 0 5.6 9h.65a.75.75 0 0 1 .1 1.5h-.6a3.75 3.75 0 0 1-.2-7.5h.2Zm7.75 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S8 14.75 8 13.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LinkPerson16Regular = /*#__PURE__*/createFluentIcon('LinkPerson16Regular', \"16\", [\"M9.5 3h1a3.5 3.5 0 0 1 3.42 4.23A3.02 3.02 0 0 0 13 6.4 2.5 2.5 0 0 0 10.66 4H9.5a.5.5 0 0 1-.09-1h.09Zm-.24 4a3 3 0 0 1 1.52-.91.5.5 0 0 0-.28-.09H5.41a.5.5 0 0 0 .09 1h3.76ZM5.5 3h1a.5.5 0 0 1 .09 1H5.5a2.5 2.5 0 0 0-.16 5H6.5a.5.5 0 0 1 .09 1H5.5a3.5 3.5 0 0 1-.2-7h.2Zm8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S8 14.75 8 13.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LinkPerson20Filled = /*#__PURE__*/createFluentIcon('LinkPerson20Filled', \"20\", [\"M18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16a2.5 2.5 0 0 1 1.89 3.93c.44.27.8.64 1.06 1.09.56-.69.89-1.57.89-2.52ZM8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75Zm5 2.5h-7.6a.75.75 0 0 0 .1 1.5h7.6a.75.75 0 0 0-.1-1.5ZM16.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S11 17.75 11 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LinkPerson20Regular = /*#__PURE__*/createFluentIcon('LinkPerson20Regular', \"20\", [\"M8.5 4.5A.5.5 0 0 0 8 4H5.78A4 4 0 0 0 6 12h2.09A.5.5 0 0 0 8 11H5.8A3 3 0 0 1 6 5h2.09a.5.5 0 0 0 .41-.5ZM18 8a4 4 0 0 0-4-4h-2.09A.5.5 0 0 0 12 5h2.2a3 3 0 0 1 2.26 4.72c.26.23.48.5.65.8.56-.69.89-1.57.89-2.52Zm-4-.5H5.91a.5.5 0 0 0 .09 1h8.09a.5.5 0 0 0-.09-1Zm2.5 4.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S11 17.75 11 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LinkPerson24Filled = /*#__PURE__*/createFluentIcon('LinkPerson24Filled', \"24\", [\"M10 6a1 1 0 0 0-1-1H6.78A5 5 0 0 0 7 15h2.12A1 1 0 0 0 9 13H6.82A3 3 0 0 1 7 7h2.12A1 1 0 0 0 10 6Zm12 4a5 5 0 0 0-5-5h-2.12A1 1 0 0 0 15 7h2.18a3 3 0 0 1 2.33 4.64c.58.4 1.02.97 1.27 1.63A4.98 4.98 0 0 0 22 10Zm-5-1H6.88A1 1 0 0 0 7 11h10.12A1 1 0 0 0 17 9Zm3 5.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 5.38c0 1.55-1.29 3.12-4.5 3.12S13 21.44 13 19.87v-.1c0-.98.8-1.77 1.77-1.77h5.46c.98 0 1.77.8 1.77 1.77v.1Z\"]);\nexport const LinkPerson24Regular = /*#__PURE__*/createFluentIcon('LinkPerson24Regular', \"24\", [\"M10 5.75A.75.75 0 0 0 9.25 5h-2.5A5 5 0 0 0 7 15h2.36a.75.75 0 0 0-.11-1.5H6.8a3.5 3.5 0 0 1 .2-7h2.36a.75.75 0 0 0 .64-.75ZM22 10a5 5 0 0 0-5-5h-2.36a.75.75 0 0 0 .11 1.5h2.45a3.5 3.5 0 0 1 2.7 5.46c.39.36.69.8.88 1.31A4.98 4.98 0 0 0 22 10Zm-5-.75H6.9a.75.75 0 0 0 .1 1.5h10.1a.75.75 0 0 0-.1-1.5Zm3 5.25a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 5.38c0 1.55-1.29 3.12-4.5 3.12S13 21.44 13 19.87v-.1c0-.98.8-1.77 1.77-1.77h5.46c.98 0 1.77.8 1.77 1.77v.1Z\"]);\nexport const LinkPerson32Filled = /*#__PURE__*/createFluentIcon('LinkPerson32Filled', \"32\", [\"M9.25 6a7.25 7.25 0 0 0 0 14.5h3.5a1.25 1.25 0 1 0 0-2.5h-3.5a4.75 4.75 0 1 1 0-9.5h3.5a1.25 1.25 0 1 0 0-2.5h-3.5Zm13.5 0a7.25 7.25 0 0 1 5.97 11.36 5.01 5.01 0 0 0-1.6-2.26 4.74 4.74 0 0 0-4.37-6.6h-3.5a1.25 1.25 0 1 1 0-2.5h3.5Zm.45 8.06c-.49.08-.95.23-1.38.44H9.75a1.25 1.25 0 1 1 0-2.5h12.5a1.25 1.25 0 0 1 .95 2.06ZM27.5 19a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm2.5 7.44c0 2.02-1.71 4.06-6 4.06s-6-2.03-6-4.06A2.43 2.43 0 0 1 20.42 24h7.16c1.34 0 2.42 1.1 2.42 2.44Z\"]);\nexport const LinkPerson32Regular = /*#__PURE__*/createFluentIcon('LinkPerson32Regular', \"32\", [\"M9 6a7 7 0 0 0 0 14h4a1 1 0 1 0 0-2H9A5 5 0 0 1 9 8h4a1 1 0 1 0 0-2H9Zm14 0a7 7 0 0 1 5.64 11.14c-.27-.68-.7-1.3-1.22-1.8A5 5 0 0 0 23 8h-4a1 1 0 1 1 0-1.99h4ZM8.5 13a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2h-13a1 1 0 0 1-1-1Zm19 6a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm2.5 7.44c0 2.02-1.71 4.06-6 4.06s-6-2.03-6-4.06A2.43 2.43 0 0 1 20.42 24h7.16c1.34 0 2.42 1.1 2.42 2.44Z\"]);\nexport const LinkPerson48Filled = /*#__PURE__*/createFluentIcon('LinkPerson48Filled', \"48\", [\"M44 19.46A10.75 10.75 0 0 0 33.25 9h-4.64a1.75 1.75 0 0 0 .14 3.5h4.74a7.25 7.25 0 0 1 7.01 7.25v.74a7.21 7.21 0 0 1-.89 3.24 7 7 0 0 1 2.07 3.19A10.7 10.7 0 0 0 44 20.25v-.79Zm-23-8.71C21 9.78 20.22 9 19.25 9h-4.79C8.66 9.16 4 13.9 4 19.75v.79C4.16 26.34 8.9 31 14.75 31h4.64a1.75 1.75 0 0 0-.14-3.5h-4.74a7.25 7.25 0 0 1-7.01-7.25v-.74a7.25 7.25 0 0 1 7.25-7.01h4.64c.9-.08 1.61-.83 1.61-1.75Zm13 7.5H13.86a1.75 1.75 0 0 0 .14 3.5h20.14a1.75 1.75 0 0 0-.14-3.5ZM40 29a5 5 0 1 1-10 0 5 5 0 0 1 10 0Zm4 10.5c0 3.5-3.15 6.5-9 6.5s-9-3-9-6.5V39a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v.5Z\"]);\nexport const LinkPerson48Regular = /*#__PURE__*/createFluentIcon('LinkPerson48Regular', \"48\", [\"M44 20a10 10 0 0 0-10-10h-5.88a1.25 1.25 0 0 0 .13 2.5h5.99a7.5 7.5 0 0 1 5.92 11.77 7 7 0 0 1 1.4 2.28A9.96 9.96 0 0 0 44 20Zm-23-8.75c0-.69-.56-1.25-1.25-1.25h-6.03A10 10 0 0 0 14 30h5.88a1.25 1.25 0 0 0-.13-2.5h-5.99a7.5 7.5 0 0 1 .24-15h5.88c.63-.07 1.12-.6 1.12-1.25Zm14 7.5H12.87a1.25 1.25 0 0 0 .13 2.5h22.13a1.25 1.25 0 0 0-.13-2.5ZM40 29a5 5 0 1 1-10 0 5 5 0 0 1 10 0Zm4 10.5c0 3.5-3.15 6.5-9 6.5s-9-3-9-6.5V39a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v.5Z\"]);\nexport const LinkSettings24Filled = /*#__PURE__*/createFluentIcon('LinkSettings24Filled', \"24\", [\"M10 6a1 1 0 0 0-1-1H6.78A5 5 0 0 0 7 15h2.12A1 1 0 0 0 9 13H6.82A3 3 0 0 1 7 7h2.12A1 1 0 0 0 10 6Zm12 4a5 5 0 0 0-5-5h-2.12A1 1 0 0 0 15 7h2.18a3 3 0 0 1 2.49 4.37c.64.23 1.23.55 1.76.95.36-.7.57-1.48.57-2.32Zm-5-1H6.88A1 1 0 0 0 7 11h10.12A1 1 0 0 0 17 9Zm-4.16 7.47a2 2 0 0 0 1.44-2.5l-.2-.68c.44-.38.94-.7 1.48-.91l.5.52a2 2 0 0 0 2.9 0l.5-.52c.54.23 1.04.54 1.48.93l-.19.63a2 2 0 0 0 1.45 2.5l.54.14a5.73 5.73 0 0 1 0 1.8l-.58.15a2 2 0 0 0-1.44 2.5l.2.68c-.44.38-.94.7-1.48.91l-.5-.52a2 2 0 0 0-2.9 0l-.5.52a5.28 5.28 0 0 1-1.48-.92l.19-.64a2 2 0 0 0-1.45-2.5l-.54-.14a5.72 5.72 0 0 1 0-1.8l.58-.15Zm6.11 1.03c0-.83-.65-1.5-1.45-1.5-.8 0-1.45.67-1.45 1.5S16.7 19 17.5 19c.8 0 1.45-.67 1.45-1.5Z\"]);\nexport const LinkSettings24Regular = /*#__PURE__*/createFluentIcon('LinkSettings24Regular', \"24\", [\"M9.25 5a.75.75 0 0 1 .11 1.5H7a3.5 3.5 0 0 0-.2 7h2.45a.75.75 0 0 1 .11 1.5H7a5 5 0 0 1-.25-10h2.5ZM17 5a5 5 0 0 1 4.43 7.32 6.5 6.5 0 0 0-1.3-.76A3.5 3.5 0 0 0 17.2 6.5L17 6.5h-2.25a.75.75 0 0 1-.11-1.5H17ZM7 9.25h10a.75.75 0 0 1 .1 1.5H7a.75.75 0 0 1-.1-1.5H7Zm7.28 4.73a2 2 0 0 1-1.44 2.5l-.59.14a5.73 5.73 0 0 0 0 1.8l.55.13a2 2 0 0 1 1.45 2.51l-.19.64c.44.38.94.7 1.49.92l.49-.52a2 2 0 0 1 2.9 0l.5.52a5.28 5.28 0 0 0 1.48-.91l-.2-.69a2 2 0 0 1 1.44-2.5l.59-.14a5.72 5.72 0 0 0 0-1.8l-.55-.13a2 2 0 0 1-1.45-2.51l.19-.63c-.44-.39-.94-.7-1.49-.93l-.49.52a2 2 0 0 1-2.9 0l-.5-.52c-.54.22-1.04.53-1.48.9l.2.7ZM17.5 19c-.8 0-1.45-.67-1.45-1.5S16.7 16 17.5 16c.8 0 1.45.67 1.45 1.5S18.3 19 17.5 19Z\"]);\nexport const LinkSquare12Filled = /*#__PURE__*/createFluentIcon('LinkSquare12Filled', \"12\", [\"M1 3.25C1 2 2 1 3.25 1h2.5c1.22 0 2.2.96 2.25 2.16v2.68a2.25 2.25 0 0 1-1.5 2.03V3.25a.75.75 0 0 0-.75-.75h-2.5a.75.75 0 0 0-.75.75v2.5c0 .33.2.6.5.71v1.53a2.25 2.25 0 0 1-2-2.24v-2.5Zm3 5.5C4 9.99 5 11 6.25 11h2.5C9.99 11 11 10 11 8.75v-2.5c0-1.16-.88-2.11-2-2.24v1.53c.3.1.5.38.5.71v2.5c0 .41-.34.75-.75.75h-2.5a.75.75 0 0 1-.75-.75V4.13C4.63 4.43 4 5.27 4 6.25v2.5Z\"]);\nexport const LinkSquare12Regular = /*#__PURE__*/createFluentIcon('LinkSquare12Regular', \"12\", [\"M1 3c0-1.1.9-2 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2V7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1v1a2 2 0 0 1-2-2V3Zm3 6c0 1.1.9 2 2 2h3a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2v1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1V4a2 2 0 0 0-2 2v3Z\"]);\nexport const LinkSquare16Filled = /*#__PURE__*/createFluentIcon('LinkSquare16Filled', \"16\", [\"M2 4.25C2 3.01 3 2 4.25 2h3.5C8.99 2 10 3 10 4.25v3.5c0 .98-.63 1.81-1.5 2.12V4.25a.75.75 0 0 0-.75-.75h-3.5a.75.75 0 0 0-.75.75v3.5c0 .41.34.75.75.75H5V10h-.75C3.01 10 2 9 2 7.75v-3.5Zm4 7.5C6 12.99 7 14 8.25 14h3.5c1.24 0 2.25-1 2.25-2.25v-3.5C14 7.01 13 6 11.75 6H11v1.5h.75c.41 0 .75.34.75.75v3.5c0 .41-.34.75-.75.75h-3.5a.75.75 0 0 1-.75-.75V6.13C6.63 6.43 6 7.27 6 8.25v3.5Z\"]);\nexport const LinkSquare16Regular = /*#__PURE__*/createFluentIcon('LinkSquare16Regular', \"16\", [\"M4 2a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h1V9H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1v1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4Zm7 4v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1V6a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-1Z\"]);\nexport const LinkSquare20Filled = /*#__PURE__*/createFluentIcon('LinkSquare20Filled', \"20\", [\"M4.75 3.5c-.69 0-1.25.56-1.25 1.25v5.5c0 .69.56 1.25 1.25 1.25H6V13H4.75A2.75 2.75 0 0 1 2 10.25v-5.5A2.75 2.75 0 0 1 4.75 2h5.5A2.75 2.75 0 0 1 13 4.75v5.5A2.75 2.75 0 0 1 10.25 13H9.5v-1.5h.75c.69 0 1.25-.56 1.25-1.25v-5.5c0-.69-.56-1.25-1.25-1.25h-5.5ZM7 9.75A2.75 2.75 0 0 1 9.75 7h1v1.5h-1c-.69 0-1.25.56-1.25 1.25v5.5c0 .69.56 1.25 1.25 1.25h5.5c.69 0 1.25-.56 1.25-1.25v-5.5c0-.69-.56-1.25-1.25-1.25h-1.5V7h1.5A2.75 2.75 0 0 1 18 9.75v5.5A2.75 2.75 0 0 1 15.25 18h-5.5A2.75 2.75 0 0 1 7 15.25v-5.5Z\"]);\nexport const LinkSquare20Regular = /*#__PURE__*/createFluentIcon('LinkSquare20Regular', \"20\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v6c0 .83.67 1.5 1.5 1.5H6v1H4.5A2.5 2.5 0 0 1 2 10.5v-6A2.5 2.5 0 0 1 4.5 2h6A2.5 2.5 0 0 1 13 4.5v6a2.5 2.5 0 0 1-2.5 2.5H9v-1h1.5c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-6Zm5 4H11v1H9.5C8.67 8 8 8.67 8 9.5v6c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5H14V7h1.5A2.5 2.5 0 0 1 18 9.5v6a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 7 15.5v-6A2.5 2.5 0 0 1 9.5 7Z\"]);\nexport const LinkSquare24Filled = /*#__PURE__*/createFluentIcon('LinkSquare24Filled', \"24\", [\"M6.5 3A3.5 3.5 0 0 0 3 6.5v6A3.5 3.5 0 0 0 6.5 16H7v-2h-.5A1.5 1.5 0 0 1 5 12.5v-6C5 5.67 5.67 5 6.5 5h6c.83 0 1.5.67 1.5 1.5v6c0 .83-.67 1.5-1.5 1.5H11v2h1.5a3.5 3.5 0 0 0 3.5-3.5v-6A3.5 3.5 0 0 0 12.5 3h-6Zm3.5 8.5c0-.83.67-1.5 1.5-1.5H13V8h-1.5A3.5 3.5 0 0 0 8 11.5v6a3.5 3.5 0 0 0 3.5 3.5h6a3.5 3.5 0 0 0 3.5-3.5v-6A3.5 3.5 0 0 0 17.5 8H17v2h.5c.83 0 1.5.67 1.5 1.5v6c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-6Z\"]);\nexport const LinkSquare24Regular = /*#__PURE__*/createFluentIcon('LinkSquare24Regular', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v6c0 1.8 1.46 3.25 3.25 3.25H7.5V14H6.25c-.97 0-1.75-.78-1.75-1.75v-6c0-.97.78-1.75 1.75-1.75h6c.97 0 1.75.78 1.75 1.75v6c0 .97-.78 1.75-1.75 1.75H11v1.5h1.25c1.8 0 3.25-1.46 3.25-3.25v-6c0-1.8-1.46-3.25-3.25-3.25h-6ZM10 11.75c0-.97.78-1.75 1.75-1.75H13V8.5h-1.25a3.25 3.25 0 0 0-3.25 3.25v6c0 1.8 1.46 3.25 3.25 3.25h6c1.8 0 3.25-1.46 3.25-3.25v-6c0-1.8-1.46-3.25-3.25-3.25H16.5V10h1.25c.97 0 1.75.78 1.75 1.75v6c0 .97-.78 1.75-1.75 1.75h-6c-.97 0-1.75-.78-1.75-1.75v-6Z\"]);\nexport const LinkToolbox20Filled = /*#__PURE__*/createFluentIcon('LinkToolbox20Filled', \"20\", [\"M8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75ZM18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16a2.5 2.5 0 0 1 2.08 3.61c.5.16.93.46 1.24.86.33-.58.52-1.25.52-1.97ZM6.25 7.25h7.5a.75.75 0 0 1 .1 1.5h-7.6a.75.75 0 0 1-.1-1.5h.1ZM12 12v-.5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v.5h.5c.83 0 1.5.67 1.5 1.5V15h-2v-.5a.5.5 0 0 0-1 0v.5h-3v-.5a.5.5 0 0 0-1 0v.5h-2v-1.5c0-.83.67-1.5 1.5-1.5h.5Zm1-.5v.5h3v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm4 5V16h2v1.5c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5V16h2v.5a.5.5 0 0 0 1 0V16h3v.5a.5.5 0 0 0 1 0Z\"]);\nexport const LinkToolbox20Regular = /*#__PURE__*/createFluentIcon('LinkToolbox20Regular', \"20\", [\"M8 4a.5.5 0 0 1 .09 1H6a3 3 0 0 0-.2 6H8a.5.5 0 0 1 .09 1H6a4 4 0 0 1-.22-8H8Zm6 0a4 4 0 0 1 3.48 5.97c-.21-.27-.48-.5-.78-.66A3 3 0 0 0 14.2 5L14 5h-2a.5.5 0 0 1-.09-1H14ZM6 7.5h8a.5.5 0 0 1 .09 1H6a.5.5 0 0 1-.09-1H6Zm6 4.5v-.5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v.5h.5c.83 0 1.5.67 1.5 1.5V15h-2v-.5a.5.5 0 0 0-1 0v.5h-3v-.5a.5.5 0 0 0-1 0v.5h-2v-1.5c0-.83.67-1.5 1.5-1.5h.5Zm1-.5v.5h3v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm4 5V16h2v1.5c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5V16h2v.5a.5.5 0 0 0 1 0V16h3v.5a.5.5 0 0 0 1 0Z\"]);\nexport const List16Filled = /*#__PURE__*/createFluentIcon('List16Filled', \"16\", [\"M2 3.75c0-.41.34-.75.75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 2 3.75Zm0 8c0-.41.34-.75.75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75ZM2.75 7a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const List16Regular = /*#__PURE__*/createFluentIcon('List16Regular', \"16\", [\"M2 3.5c0-.28.22-.5.5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 8c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM2.5 7a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"]);\nexport const List20Filled = /*#__PURE__*/createFluentIcon('List20Filled', \"20\", [\"M2 4.75c0-.41.34-.75.75-.75h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 10c0-.41.34-.75.75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75ZM2.75 9a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const List20Regular = /*#__PURE__*/createFluentIcon('List20Regular', \"20\", [\"M2 4.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm0 10c0-.28.22-.5.5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5ZM2.5 9a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const List24Filled = /*#__PURE__*/createFluentIcon('List24Filled', \"24\", [\"M3 17h12a1 1 0 0 1 .12 2H3a1 1 0 0 1-.12-2H15 3Zm0-6h18a1 1 0 0 1 .12 2H3a1 1 0 0 1-.12-2H21 3Zm0-6h15a1 1 0 0 1 .12 2H3a1 1 0 0 1-.12-2H18 3Z\"]);\nexport const List24Regular = /*#__PURE__*/createFluentIcon('List24Regular', \"24\", [\"M2 5.75c0-.41.34-.75.75-.75h15.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 5.75Zm0 12c0-.41.34-.75.75-.75h12.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75ZM2.75 11a.75.75 0 0 0 0 1.5h18.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const List28Filled = /*#__PURE__*/createFluentIcon('List28Filled', \"28\", [\"M3 7a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 14a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm1-8a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H4Z\"]);\nexport const List28Regular = /*#__PURE__*/createFluentIcon('List28Regular', \"28\", [\"M3 6.75c0-.41.34-.75.75-.75h18.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75Zm0 14c0-.41.34-.75.75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75ZM3.75 13a.75.75 0 0 0 0 1.5h20.5a.75.75 0 0 0 0-1.5H3.75Z\"]);\nexport const ListBar16Filled = /*#__PURE__*/createFluentIcon('ListBar16Filled', \"16\", [\"M6 14h6.75c.69 0 1.25-.56 1.25-1.25v-.5c0-.69-.56-1.25-1.25-1.25H6v3Zm0-4h6.75c.69 0 1.25-.56 1.25-1.25v-1.5C14 6.56 13.44 6 12.75 6H6v4ZM5 6v4H3.25C2.56 10 2 9.44 2 8.75v-1.5C2 6.56 2.56 6 3.25 6H5Zm1-1h6.75C13.44 5 14 4.44 14 3.75v-.5C14 2.56 13.44 2 12.75 2H6v3ZM5 2v3H3.25C2.56 5 2 4.44 2 3.75v-.5C2 2.56 2.56 2 3.25 2H5Zm0 9v3H3.25C2.56 14 2 13.44 2 12.75v-.5c0-.69.56-1.25 1.25-1.25H5Z\"]);\nexport const ListBar16Regular = /*#__PURE__*/createFluentIcon('ListBar16Regular', \"16\", [\"M3.75 2C2.78 2 2 2.78 2 3.75v1c0 .49.2.93.53 1.25-.33.32-.53.76-.53 1.25v1.5c0 .49.2.93.53 1.25-.33.32-.53.76-.53 1.25v1c0 .97.78 1.75 1.75 1.75h8.5c.97 0 1.75-.78 1.75-1.75v-1c0-.49-.2-.93-.53-1.25.33-.32.53-.76.53-1.25v-1.5c0-.49-.2-.93-.53-1.25.33-.32.53-.76.53-1.25v-1C14 2.78 13.22 2 12.25 2h-8.5ZM3 11.25c0-.41.34-.75.75-.75H5V13H3.75a.75.75 0 0 1-.75-.75v-1ZM6 13v-2.5h6.25c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75H6Zm0-3.5v-3h6.25c.41 0 .75.34.75.75v1.5c0 .41-.34.75-.75.75H6Zm0-4V3h6.25c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75H6ZM5 3v2.5H3.75A.75.75 0 0 1 3 4.75v-1c0-.41.34-.75.75-.75H5Zm0 3.5v3H3.75A.75.75 0 0 1 3 8.75v-1.5c0-.41.34-.75.75-.75H5Z\"]);\nexport const ListBar20Filled = /*#__PURE__*/createFluentIcon('ListBar20Filled', \"20\", [\"M8 17h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4Zm0-5h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 8v4H4.5A1.5 1.5 0 0 1 3 10.5v-1C3 8.67 3.67 8 4.5 8H7Zm1-1h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 3v4H4.5A1.5 1.5 0 0 1 3 5.5v-1C3 3.67 3.67 3 4.5 3H7Zm0 10v4H4.5A1.5 1.5 0 0 1 3 15.5v-1c0-.83.67-1.5 1.5-1.5H7Z\"]);\nexport const ListBar20Regular = /*#__PURE__*/createFluentIcon('ListBar20Regular', \"20\", [\"M5 3a2 2 0 0 0-2 2v1a2 2 0 0 0 .68 1.5A2 2 0 0 0 3 9v2a2 2 0 0 0 .68 1.5A2 2 0 0 0 3 14v1c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2v-1a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 11V9a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 6V5a2 2 0 0 0-2-2H5ZM4 14a1 1 0 0 1 1-1h2v3H5a1 1 0 0 1-1-1v-1Zm4 2v-3h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8Zm0-4V8h7a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8ZM7 8v4H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2Zm0-1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2v3Zm1 0V4h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8Z\"]);\nexport const ListBarTree16Filled = /*#__PURE__*/createFluentIcon('ListBarTree16Filled', \"16\", [\"M6 5h6.75C13.44 5 14 4.44 14 3.75v-.5C14 2.56 13.44 2 12.75 2H6v3ZM5 2H3.25C2.56 2 2 2.56 2 3.25v.5C2 4.44 2.56 5 3.25 5H5V2Zm3 8h4.75c.69 0 1.25-.56 1.25-1.25v-1.5C14 6.56 13.44 6 12.75 6H8v4ZM7 6H5.25C4.56 6 4 6.56 4 7.25v1.5C4 9.44 4.56 10 5.25 10H7V6Zm5.75 8H8v-3h4.75c.69 0 1.25.56 1.25 1.25v.5c0 .69-.56 1.25-1.25 1.25Zm-7.5-3H7v3H5.25C4.56 14 4 13.44 4 12.75v-.5c0-.69.56-1.25 1.25-1.25Z\"]);\nexport const ListBarTree16Regular = /*#__PURE__*/createFluentIcon('ListBarTree16Regular', \"16\", [\"M3.75 2C2.78 2 2 2.78 2 3.75v1c0 .97.78 1.75 1.75 1.75h.42c-.11.23-.17.48-.17.75v1.5c0 .49.2.93.53 1.25-.33.32-.53.76-.53 1.25v1c0 .97.78 1.75 1.75 1.75h6.5c.97 0 1.75-.78 1.75-1.75v-1c0-.49-.2-.93-.53-1.25.33-.32.53-.76.53-1.25v-1.5c0-.49-.2-.93-.53-1.25.33-.32.53-.76.53-1.25v-1C14 2.78 13.22 2 12.25 2h-8.5Zm8.5 7.5H8v-3h4.25c.41 0 .75.34.75.75v1.5c0 .41-.34.75-.75.75ZM7 6.5v3H5.75A.75.75 0 0 1 5 8.75v-1.5c0-.41.34-.75.75-.75H7Zm1 4h4.25c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75H8v-2.5Zm-1 0V13H5.75a.75.75 0 0 1-.75-.75v-1c0-.41.34-.75.75-.75H7Zm-1-5V3h6.25c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75H6Zm-1 0H3.75A.75.75 0 0 1 3 4.75v-1c0-.41.34-.75.75-.75H5v2.5Z\"]);\nexport const ListBarTree20Filled = /*#__PURE__*/createFluentIcon('ListBarTree20Filled', \"20\", [\"M8 7h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 3H4.5C3.67 3 3 3.67 3 4.5v1C3 6.33 3.67 7 4.5 7H7V3Zm3 9h5.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H10v4ZM9 8H6.5C5.67 8 5 8.67 5 9.5v1c0 .83.67 1.5 1.5 1.5H9V8Zm6.5 9H10v-4h5.5c.83 0 1.5.67 1.5 1.5v1c0 .83-.67 1.5-1.5 1.5Zm-9-4H9v4H6.5A1.5 1.5 0 0 1 5 15.5v-1c0-.83.67-1.5 1.5-1.5Z\"]);\nexport const ListBarTree20Regular = /*#__PURE__*/createFluentIcon('ListBarTree20Regular', \"20\", [\"M5 3a2 2 0 0 0-2 2v1c0 1.1.9 2 2 2h.27A2 2 0 0 0 5 9v2a2 2 0 0 0 .68 1.5A2 2 0 0 0 5 14v1c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-1a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 11V9a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 6V5a2 2 0 0 0-2-2H5Zm10 9h-5V8h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1ZM9 8v4H7a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2Zm1 5h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5v-3Zm-1 0v3H7a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h2ZM8 7V4h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8ZM7 7H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2v3Z\"]);\nexport const ListBarTreeOffset16Filled = /*#__PURE__*/createFluentIcon('ListBarTreeOffset16Filled', \"16\", [\"M6 5h6.75C13.44 5 14 4.44 14 3.75v-.5C14 2.56 13.44 2 12.75 2H6v3ZM5 2H3.25C2.56 2 2 2.56 2 3.25v.5C2 4.44 2.56 5 3.25 5H5V2Zm3 8h4.75c.69 0 1.25-.56 1.25-1.25v-1.5C14 6.56 13.44 6 12.75 6H8v4ZM7 6H5.25C4.56 6 4 6.56 4 7.25v1.5C4 9.44 4.56 10 5.25 10H7V6Zm5.75 8H10v-3h2.75c.69 0 1.25.56 1.25 1.25v.5c0 .69-.56 1.25-1.25 1.25Zm-5.5-3H9v3H7.25C6.56 14 6 13.44 6 12.75v-.5c0-.69.56-1.25 1.25-1.25Z\"]);\nexport const ListBarTreeOffset16Regular = /*#__PURE__*/createFluentIcon('ListBarTreeOffset16Regular', \"16\", [\"M3.75 2C2.78 2 2 2.78 2 3.75v1c0 .97.78 1.75 1.75 1.75h.42c-.11.23-.17.48-.17.75v1.5c0 .97.78 1.75 1.75 1.75h.42c-.11.23-.17.48-.17.75v1c0 .97.78 1.75 1.75 1.75h4.5c.97 0 1.75-.78 1.75-1.75v-1c0-.49-.2-.93-.53-1.25.33-.32.53-.76.53-1.25v-1.5c0-.49-.2-.93-.53-1.25.33-.32.53-.76.53-1.25v-1C14 2.78 13.22 2 12.25 2h-8.5Zm8.5 7.5H8v-3h4.25c.41 0 .75.34.75.75v1.5c0 .41-.34.75-.75.75ZM7 6.5v3H5.75A.75.75 0 0 1 5 8.75v-1.5c0-.41.34-.75.75-.75H7Zm0 4.75c0-.41.34-.75.75-.75H9V13H7.75a.75.75 0 0 1-.75-.75v-1ZM10 13v-2.5h2.25c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75H10ZM6 5.5V3h6.25c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75H6Zm-1 0H3.75A.75.75 0 0 1 3 4.75v-1c0-.41.34-.75.75-.75H5v2.5Z\"]);\nexport const ListBarTreeOffset20Filled = /*#__PURE__*/createFluentIcon('ListBarTreeOffset20Filled', \"20\", [\"M8 7h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 3H4.5C3.67 3 3 3.67 3 4.5v1C3 6.33 3.67 7 4.5 7H7V3Zm3 9h5.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H10v4ZM9 8H6.5C5.67 8 5 8.67 5 9.5v1c0 .83.67 1.5 1.5 1.5H9V8Zm6.5 9H12v-4h3.5c.83 0 1.5.67 1.5 1.5v1c0 .83-.67 1.5-1.5 1.5Zm-7-4H11v4H8.5A1.5 1.5 0 0 1 7 15.5v-1c0-.83.67-1.5 1.5-1.5Z\"]);\nexport const ListBarTreeOffset20Regular = /*#__PURE__*/createFluentIcon('ListBarTreeOffset20Regular', \"20\", [\"M5 3a2 2 0 0 0-2 2v1c0 1.1.9 2 2 2h.27A2 2 0 0 0 5 9v2c0 1.1.9 2 2 2h.27A2 2 0 0 0 7 14v1c0 1.1.9 2 2 2h6a2 2 0 0 0 2-2v-1a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 11V9a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 6V5a2 2 0 0 0-2-2H5Zm10 9h-5V8h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1ZM9 8v4H7a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2Zm-1 6a1 1 0 0 1 1-1h2v3H9a1 1 0 0 1-1-1v-1Zm4 2v-3h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-3ZM8 7V4h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8ZM7 7H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2v3Z\"]);\nexport const ListRtl16Filled = /*#__PURE__*/createFluentIcon('ListRtl16Filled', \"16\", [\"M5 3.75c0-.41.34-.75.75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 5 3.75Zm1 8c0-.41.34-.75.75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75ZM2.75 7a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const ListRtl16Regular = /*#__PURE__*/createFluentIcon('ListRtl16Regular', \"16\", [\"M5 3.5c0-.28.22-.5.5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm1 8c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM2.5 7a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"]);\nexport const ListRtl20Filled = /*#__PURE__*/createFluentIcon('ListRtl20Filled', \"20\", [\"M6 4.75c0-.41.34-.75.75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75Zm1 10c0-.41.34-.75.75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75ZM2.75 9a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const ListRtl20Regular = /*#__PURE__*/createFluentIcon('ListRtl20Regular', \"20\", [\"M6 4.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm1 10c0-.28.22-.5.5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5ZM2.5 9a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const Live20Filled = /*#__PURE__*/createFluentIcon('Live20Filled', \"20\", [\"M5.45 4.17a.73.73 0 0 0-1.02-.01 8.23 8.23 0 0 0 .17 11.86c.3.27.74.24 1.01-.03a.78.78 0 0 0-.02-1.11 6.73 6.73 0 0 1-.15-9.62c.3-.3.32-.78.01-1.1Zm1.76 1.76a.71.71 0 0 0-1-.02 5.73 5.73 0 0 0 .18 8.35c.3.27.73.23.99-.03.32-.33.26-.85-.04-1.14a4.24 4.24 0 0 1-.14-6.05c.29-.3.33-.8.01-1.11Zm5.58 0a.71.71 0 0 1 1-.02 5.73 5.73 0 0 1-.18 8.35.71.71 0 0 1-.99-.03c-.32-.33-.26-.85.04-1.14a4.24 4.24 0 0 0 .14-6.05c-.29-.3-.33-.8-.01-1.11Zm1.76-1.76a.73.73 0 0 1 1.02-.01 8.23 8.23 0 0 1-.17 11.86.73.73 0 0 1-1.01-.03.78.78 0 0 1 .02-1.11 6.73 6.73 0 0 0 .15-9.62.78.78 0 0 1-.01-1.1ZM10 8.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"]);\nexport const Live20Regular = /*#__PURE__*/createFluentIcon('Live20Regular', \"20\", [\"M4.35 4.33a.48.48 0 0 1 .68.01c.2.2.19.54-.02.75a6.98 6.98 0 0 0 .15 9.97c.22.2.23.55.03.75a.48.48 0 0 1-.67.02 7.98 7.98 0 0 1-.17-11.5ZM15 5.1a.53.53 0 0 1-.02-.75c.19-.18.5-.2.68 0a7.98 7.98 0 0 1-.17 11.5.48.48 0 0 1-.67-.03.53.53 0 0 1 .03-.75 6.98 6.98 0 0 0 .15-9.97Zm-8.86 1a.46.46 0 0 1 .66.02c.2.2.19.55-.02.76a4.49 4.49 0 0 0 .14 6.4c.22.21.25.57.04.78a.46.46 0 0 1-.64.03 5.49 5.49 0 0 1-.18-7.99Zm7.1.78c-.2-.21-.23-.56-.02-.76.18-.19.48-.2.66-.02a5.48 5.48 0 0 1-.18 7.99.46.46 0 0 1-.64-.03c-.21-.21-.18-.57.04-.78a4.49 4.49 0 0 0 .14-6.4ZM10 8.75a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5Z\"]);\nexport const Live24Filled = /*#__PURE__*/createFluentIcon('Live24Filled', \"24\", [\"M6.34 4.94a1 1 0 0 1 0 1.41 8 8 0 0 0 0 11.32 1 1 0 1 1-1.41 1.41 10 10 0 0 1 0-14.14 1 1 0 0 1 1.41 0Zm12.73 0a10 10 0 0 1 0 14.14 1 1 0 0 1-1.41-1.41 8 8 0 0 0 0-11.32 1 1 0 0 1 1.41-1.41ZM9.31 7.8a1 1 0 0 1 0 1.42 3.92 3.92 0 0 0 0 5.54 1 1 0 1 1-1.41 1.41 5.92 5.92 0 0 1 0-8.37 1 1 0 0 1 1.41 0Zm6.96 0a5.92 5.92 0 0 1 0 8.37 1 1 0 0 1-1.42-1.41 3.92 3.92 0 0 0 0-5.54 1 1 0 0 1 1.42-1.42Zm-4.19 2.77a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z\"]);\nexport const Live24Regular = /*#__PURE__*/createFluentIcon('Live24Regular', \"24\", [\"M5.99 4.93c.3.3.3.77 0 1.06a8.5 8.5 0 0 0 0 12.02.75.75 0 0 1-1.06 1.06 10 10 0 0 1 0-14.14c.3-.3.77-.3 1.06 0Zm13.08 0a10 10 0 0 1 0 14.14.75.75 0 0 1-1.06-1.06 8.5 8.5 0 0 0 0-12.02.75.75 0 1 1 1.06-1.06ZM8.82 7.76c.3.29.3.76 0 1.06a4.5 4.5 0 0 0 0 6.36.75.75 0 0 1-1.06 1.06 6 6 0 0 1 0-8.48c.29-.3.77-.3 1.06 0Zm7.42 0a6 6 0 0 1 0 8.48.75.75 0 1 1-1.06-1.06 4.5 4.5 0 0 0 0-6.36.75.75 0 0 1 1.06-1.06ZM12 10.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z\"]);\nexport const LiveOff20Filled = /*#__PURE__*/createFluentIcon('LiveOff20Filled', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.8 1.81a8.22 8.22 0 0 0 .65 11.36c.3.27.74.24 1.01-.03a.78.78 0 0 0-.02-1.11 6.73 6.73 0 0 1-.57-9.15l.71.71a5.73 5.73 0 0 0 .66 7.82c.3.27.73.23.99-.03.32-.33.26-.85-.04-1.14a4.24 4.24 0 0 1-.54-5.58l1.85 1.84a1.5 1.5 0 0 0 2 2l6.5 6.5a.5.5 0 0 0 .7-.7l-1.8-1.81-1.07-1.07-.71-.71-1.07-1.07-1.85-1.84-2-2L7.4 6.69l-.94-.94-.82-.82L4.7 4 2.85 2.15Zm13.8 12.38a8.21 8.21 0 0 0-1.08-10.37.73.73 0 0 0-1.02 0c-.31.32-.28.8 0 1.1a6.73 6.73 0 0 1 1.01 8.18l1.09 1.09Zm-1.82-1.83a5.73 5.73 0 0 0-1.04-6.79.71.71 0 0 0-1 .02c-.32.32-.28.82.01 1.11a4.24 4.24 0 0 1 .9 4.54l1.13 1.12Z\"]);\nexport const LiveOff20Regular = /*#__PURE__*/createFluentIcon('LiveOff20Regular', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L4 4.71a7.97 7.97 0 0 0 .52 11.12c.2.18.48.17.67-.02.2-.2.19-.55-.03-.75a6.98 6.98 0 0 1-.45-9.64l1.06 1.06a5.48 5.48 0 0 0 .54 7.6c.18.17.46.15.64-.03.21-.21.18-.57-.04-.78a4.49 4.49 0 0 1-.43-6.08l2.36 2.35a1.25 1.25 0 0 0 1.62 1.62l6.69 6.7a.5.5 0 0 0 .7-.71L16 15.29l-.7-.7-1.07-1.07-.71-.71-2.36-2.35-1.62-1.62-6.69-6.7ZM16.62 14.5a7.96 7.96 0 0 0-.97-10.17.48.48 0 0 0-.68.01c-.2.2-.19.54.02.75a6.98 6.98 0 0 1 .9 8.68l.73.73Zm-1.82-1.82a5.47 5.47 0 0 0-.93-6.59.46.46 0 0 0-.66.02c-.2.2-.19.55.02.76a4.49 4.49 0 0 1 .83 5.07l.74.74Z\"]);\nexport const LiveOff24Filled = /*#__PURE__*/createFluentIcon('LiveOff24Filled', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l2.2 2.2a10 10 0 0 0 .5 13.6 1 1 0 0 0 1.42-1.41 8 8 0 0 1-.5-10.77l1.52 1.52a5.92 5.92 0 0 0 .54 7.76 1 1 0 0 0 1.41-1.41 3.92 3.92 0 0 1-.51-4.91l1.83 1.83a1.5 1.5 0 0 0 1.84 1.84l8.25 8.25a.75.75 0 1 0 1.06-1.06L3.28 2.22Zm15.75 13.63 1.46 1.46a10 10 0 0 0-1.42-12.37 1 1 0 1 0-1.41 1.41 8 8 0 0 1 1.37 9.5Zm-3.1-3.1 1.6 1.59a5.92 5.92 0 0 0-1.26-6.53 1 1 0 1 0-1.42 1.42 3.92 3.92 0 0 1 1.08 3.52Z\"]);\nexport const LiveOff24Regular = /*#__PURE__*/createFluentIcon('LiveOff24Regular', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l2.2 2.2a10 10 0 0 0 .5 13.6A.75.75 0 1 0 6 18a8.5 8.5 0 0 1-.5-11.47l1.77 1.78a6 6 0 0 0 .5 7.92.75.75 0 0 0 1.06-1.06 4.5 4.5 0 0 1-.49-5.79l2.22 2.22a1.5 1.5 0 0 0 1.84 1.84l8.33 8.33a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm16.1 13.99 1.1 1.1a10 10 0 0 0-1.4-12.38A.75.75 0 0 0 18 5.99a8.5 8.5 0 0 1 1.38 10.22Zm-3.03-3.04 1.18 1.17a6 6 0 0 0-1.29-6.58.75.75 0 1 0-1.06 1.06 4.5 4.5 0 0 1 1.17 4.35Z\"]);\nexport const LocalLanguage16Filled = /*#__PURE__*/createFluentIcon('LocalLanguage16Filled', \"16\", [\"M7.75 2a.75.75 0 0 0 0 1.5H9.5v.75c0 .39-.1.68-.23.86a.58.58 0 0 1-.51.24.75.75 0 0 0 0 1.5c.74 0 1.34-.33 1.72-.86.37-.5.52-1.13.52-1.74v-1.5a.75.75 0 0 0-.75-.75h-2.5ZM6.7 4.73a.75.75 0 0 0-1.4 0l-3.25 8.24a.75.75 0 1 0 1.4.56l.8-2.03h3.5l.8 2.02a.75.75 0 0 0 1.4-.54L6.7 4.73ZM7.16 10H4.83L6 7.05 7.16 10Zm5.59-8c.41 0 .75.34.75.75V5h.25a.75.75 0 0 1 0 1.5h-.25v3.75a.75.75 0 0 1-1.5 0v-7.5c0-.41.34-.75.75-.75Z\"]);\nexport const LocalLanguage16Regular = /*#__PURE__*/createFluentIcon('LocalLanguage16Regular', \"16\", [\"M12.5 2c.28 0 .5.22.5.5V5h.5a.5.5 0 0 1 0 1H13v4.5a.5.5 0 1 1-1 0v-8c0-.28.22-.5.5-.5Zm-5 1H10v1.25c0 .41-.16.7-.4.9-.25.22-.63.35-1.1.35a.5.5 0 0 0 0 1 2.7 2.7 0 0 0 1.74-.57c.48-.4.76-.98.76-1.68V2.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 1 0 0 1ZM6.45 5.3a.5.5 0 0 0-.91 0l-3.5 8a.5.5 0 1 0 .92.4L4.14 11h3.72l1.18 2.7a.5.5 0 0 0 .92-.4l-3.5-8Zm.97 4.7H4.58L6 6.75 7.42 10Z\"]);\nexport const LocalLanguage20Filled = /*#__PURE__*/createFluentIcon('LocalLanguage20Filled', \"20\", [\"M9.74 1.99a.75.75 0 1 0 0 1.5h2.76v1.26c0 .55-.2.98-.48 1.27-.29.29-.71.48-1.27.48a.75.75 0 0 0 0 1.5c.92 0 1.74-.32 2.33-.92.6-.6.92-1.42.92-2.33v-2a.75.75 0 0 0-.75-.75l-3.5-.01ZM8.2 5.46a.75.75 0 0 0-1.38 0l-3.3 7.98-.01.03-1.44 3.5a.75.75 0 0 0 1.38.57l1.26-3.05h5.6l1.26 3.04a.75.75 0 0 0 1.38-.57L8.2 5.46ZM9.7 13H5.31L7.5 7.71 9.68 13ZM15.74 2c.42 0 .75.34.75.75V6h.76a.75.75 0 0 1 0 1.5h-.76v5.75a.75.75 0 0 1-1.5 0V2.75c0-.41.34-.75.75-.75Z\"]);\nexport const LocalLanguage20Regular = /*#__PURE__*/createFluentIcon('LocalLanguage20Regular', \"20\", [\"M9.5 2a.5.5 0 0 0 0 1H13v1.86C13 6.03 11.83 7 10.5 7a.5.5 0 0 0 0 1C12.21 8 14 6.74 14 4.86V2.5a.5.5 0 0 0-.5-.5h-4ZM7.96 5.3a.5.5 0 0 0-.92 0l-5 12a.5.5 0 1 0 .92.4L4.5 14h6l1.54 3.7a.5.5 0 1 0 .92-.39l-1.66-3.99v-.02l-3.34-8Zm2.12 7.7H4.92L7.5 6.8l2.58 6.2ZM15.5 2c.28 0 .5.22.5.5V6h1.5a.5.5 0 0 1 0 1H16v6.5a.5.5 0 1 1-1 0v-11c0-.28.23-.5.5-.5Z\"]);\nexport const LocalLanguage24Filled = /*#__PURE__*/createFluentIcon('LocalLanguage24Filled', \"24\", [\"m9.56 7.5.06.12 5.3 13a1 1 0 0 1-1.8.87l-.05-.1-1.38-3.4H5.41l-1.5 3.42a1 1 0 0 1-1.2.55l-.11-.04a1 1 0 0 1-.56-1.2l.04-.12 5.7-13a1 1 0 0 1 1.78-.1ZM19 2a1 1 0 0 1 1 .88V7h1a1 1 0 0 1 1 .88V8a1 1 0 0 1-.88 1H20v7a1 1 0 0 1-.88 1H19a1 1 0 0 1-1-.88V3a1 1 0 0 1 1-1ZM8.66 10.57 6.28 16h4.6l-2.22-5.43ZM11 2h5a1 1 0 0 1 1 .88V5.97a4 4 0 0 1-4 4 1 1 0 1 1 0-2 2 2 0 0 0 2-1.85V4h-4a1 1 0 0 1-.12-2H16h-5Z\"]);\nexport const LocalLanguage24Regular = /*#__PURE__*/createFluentIcon('LocalLanguage24Regular', \"24\", [\"m9.34 6.37.05.1 5.56 14.5a.75.75 0 0 1-.42.98.73.73 0 0 1-.9-.33l-.05-.1-1.43-3.73h-7.1l-.08-.01-1.55 3.76a.73.73 0 0 1-.96.4.75.75 0 0 1-.43-.88l.03-.1 5.97-14.5a.73.73 0 0 1 1.31-.09ZM18.74 2c.39 0 .7.29.75.65V7.5h1.76c.38 0 .69.28.74.65v.1c0 .38-.28.7-.64.74l-.1.01H19.5v7.25c0 .38-.29.7-.65.74l-.1.01a.75.75 0 0 1-.75-.65V2.75c0-.41.33-.75.75-.75ZM8.82 8.75l-3.16 7.54h6.1L8.82 8.75ZM10.75 2h5.5c.38 0 .69.29.74.65v3.1C17 8.1 15.1 10 12.76 10a.75.75 0 0 1 0-1.5 2.75 2.75 0 0 0 2.74-2.58V3.5h-4.74a.75.75 0 0 1-.1-1.49h5.6-5.5Z\"]);\nexport const LocalLanguage28Filled = /*#__PURE__*/createFluentIcon('LocalLanguage28Filled', \"28\", [\"M13 2a1 1 0 0 0 0 2h5v2.5c0 .83-.32 1.42-.8 1.82-.5.41-1.26.68-2.2.68a1 1 0 1 0 0 2c1.3 0 2.54-.37 3.47-1.14A4.23 4.23 0 0 0 20 6.5V3a1 1 0 0 0-1-1h-6Zm-2.07 5.61a1 1 0 0 0-1.85 0l-7 17a1 1 0 1 0 1.84.77L5.73 21h8.54l1.8 4.4a1 1 0 1 0 1.86-.77l-1.96-4.76a1 1 0 0 0-.2-.47L10.94 7.6ZM13.45 19h-6.9L10 10.62 13.45 19ZM22 2a1 1 0 0 1 1 1v5h2a1 1 0 1 1 0 2h-2v9a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Z\"]);\nexport const LocalLanguage28Regular = /*#__PURE__*/createFluentIcon('LocalLanguage28Regular', \"28\", [\"M12.75 2a.75.75 0 0 0 0 1.5h5.75v2.8c0 1.75-1.75 3.2-3.75 3.2a.75.75 0 0 0 0 1.5C17.31 11 20 9.13 20 6.3V2.76a.75.75 0 0 0-.75-.75h-6.5Zm-2.06 5.46a.75.75 0 0 0-1.38 0l-7.25 17.5a.75.75 0 0 0 1.38.58l2.09-5.04h8.94l2.1 5.04a.75.75 0 0 0 1.38-.58l-2.2-5.31a.75.75 0 0 0-.15-.36L10.7 7.46ZM13.85 19h-7.7L10 9.7l3.85 9.3Zm8.4-17c.42 0 .75.34.75.75V8.5h2.25a.75.75 0 1 1 0 1.5H23v9.25a.75.75 0 0 1-1.5 0V9.3a.8.8 0 0 1 0-.1V2.75c0-.41.34-.75.75-.75Z\"]);\nexport const Location12Filled = /*#__PURE__*/createFluentIcon('Location12Filled', \"12\", [\"M6 .5A4.5 4.5 0 0 1 10.5 5c0 1.86-1.42 3.81-4.2 5.9a.5.5 0 0 1-.6 0C2.92 8.81 1.5 6.86 1.5 5A4.5 4.5 0 0 1 6 .5Zm0 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"]);\nexport const Location12Regular = /*#__PURE__*/createFluentIcon('Location12Regular', \"12\", [\"M6 .5A4.5 4.5 0 0 1 10.5 5c0 1.86-1.42 3.81-4.2 5.9a.5.5 0 0 1-.6 0C2.92 8.81 1.5 6.86 1.5 5A4.5 4.5 0 0 1 6 .5Zm0 1A3.5 3.5 0 0 0 2.5 5c0 1.36 1.06 2.92 3.22 4.65l.28.22.28-.22C8.44 7.92 9.5 6.35 9.5 5A3.5 3.5 0 0 0 6 1.5ZM6 4a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"]);\nexport const Location16Filled = /*#__PURE__*/createFluentIcon('Location16Filled', \"16\", [\"M9.16 14.54C10.9 13.01 14 9.88 14 7A6 6 0 0 0 2 7c0 2.88 3.1 6.01 4.84 7.54.67.6 1.65.6 2.32 0ZM6 7a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]);\nexport const Location16Regular = /*#__PURE__*/createFluentIcon('Location16Regular', \"16\", [\"M9.5 7a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM14 7c0 2.87-3.1 6.02-4.84 7.56-.67.59-1.65.59-2.32 0C5.1 13.02 2 9.87 2 7a6 6 0 1 1 12 0Zm-1 0A5 5 0 0 0 3 7c0 1.1.61 2.4 1.57 3.68a21.38 21.38 0 0 0 2.93 3.13c.3.25.7.25 1 0 .84-.75 2-1.87 2.93-3.13C12.39 9.4 13 8.11 13 7Z\"]);\nexport const Location20Filled = /*#__PURE__*/createFluentIcon('Location20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12ZM10 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"]);\nexport const Location20Regular = /*#__PURE__*/createFluentIcon('Location20Regular', \"20\", [\"M13 9a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-1 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm2.95 4.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-9.2-9.2a6 6 0 0 1 8.67 8.3l-.18.19-1.32 1.3-2.23 2.17-.09.08a1 1 0 0 1-1.2 0l-.1-.08-2.97-2.9-.58-.57-.17-.18a6 6 0 0 1 .17-8.31Z\"]);\nexport const Location24Filled = /*#__PURE__*/createFluentIcon('Location24Filled', \"24\", [\"m18.16 16.88-1.19 1.18-3.4 3.3c-.88.85-2.26.85-3.13 0l-3.5-3.39-1.1-1.09a8.7 8.7 0 1 1 12.32 0ZM14.5 11a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"]);\nexport const Location24Regular = /*#__PURE__*/createFluentIcon('Location24Regular', \"24\", [\"M5.84 4.57a8.7 8.7 0 0 1 12.32 12.31l-1.19 1.18-3.4 3.3c-.88.85-2.26.85-3.13 0l-3.5-3.39-1.1-1.09a8.7 8.7 0 0 1 0-12.31ZM17.1 5.63a7.2 7.2 0 1 0-10.2 10.2l1.5 1.46c.8.8 1.84 1.8 3.08 3 .29.28.75.28 1.04 0l3.4-3.3 1.18-1.17a7.2 7.2 0 0 0 0-10.2ZM12 8a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"]);\nexport const Location28Filled = /*#__PURE__*/createFluentIcon('Location28Filled', \"28\", [\"M14 2.25A9.75 9.75 0 0 1 23.75 12c0 4.12-2.9 8.6-8.61 13.52-.66.56-1.62.56-2.28 0l-.38-.33C7.02 20.4 4.25 16.03 4.25 12A9.75 9.75 0 0 1 14 2.25Zm0 6a3.75 3.75 0 1 0 0 7.5 3.75 3.75 0 0 0 0-7.5Z\"]);\nexport const Location28Regular = /*#__PURE__*/createFluentIcon('Location28Regular', \"28\", [\"M14 2.25A9.75 9.75 0 0 1 23.75 12c0 4.12-2.9 8.6-8.61 13.52-.66.56-1.62.56-2.28 0l-.38-.33C7.02 20.4 4.25 16.03 4.25 12A9.75 9.75 0 0 1 14 2.25Zm0 1.5A8.25 8.25 0 0 0 5.75 12c0 3.5 2.55 7.54 7.71 12.06l.38.32c.1.08.23.08.32 0 5.42-4.65 8.09-8.8 8.09-12.38 0-4.56-3.7-8.25-8.25-8.25Zm0 4.5a3.75 3.75 0 1 1 0 7.5 3.75 3.75 0 0 1 0-7.5Zm0 1.5a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Z\"]);\nexport const Location48Filled = /*#__PURE__*/createFluentIcon('Location48Filled', \"48\", [\"M39.01 28.98A17 17 0 1 0 11 31.96l.02.02.02.02H11l10.09 10.7a4 4 0 0 0 5.82 0L37 32h-.04l.02-.02a16.76 16.76 0 0 0 2.03-3Zm-15-1.48a6 6 0 1 1 0-12 6 6 0 0 1 0 12Z\"]);\nexport const Location48Regular = /*#__PURE__*/createFluentIcon('Location48Regular', \"48\", [\"M24 15.5a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-3.5 6a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM37 32 26.91 42.7a4 4 0 0 1-5.82 0L11 32h.04l-.02-.02-.02-.03A17.05 17.05 0 0 1 7 21a17 17 0 1 1 30 10.95l-.02.03-.02.02H37Zm-1.94-1.62a14.5 14.5 0 1 0-22.11 0l.3.36L22.91 41c.59.63 1.59.63 2.18 0l9.66-10.25.3-.36Z\"]);\nexport const LocationAdd16Filled = /*#__PURE__*/createFluentIcon('LocationAdd16Filled', \"16\", [\"M9.16 14.54C10.9 13.01 14 9.88 14 7A6 6 0 0 0 2 7c0 2.88 3.1 6.01 4.84 7.54.67.6 1.65.6 2.32 0ZM8 4c.28 0 .5.22.5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5c0-.28.22-.5.5-.5Z\"]);\nexport const LocationAdd16Regular = /*#__PURE__*/createFluentIcon('LocationAdd16Regular', \"16\", [\"M8 4c.28 0 .5.22.5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5c0-.28.22-.5.5-.5Zm6 3c0 2.87-3.1 6.02-4.84 7.56-.67.59-1.65.59-2.32 0C5.1 13.02 2 9.87 2 7a6 6 0 1 1 12 0Zm-1 0A5 5 0 0 0 3 7c0 1.1.61 2.4 1.57 3.68a21.38 21.38 0 0 0 2.93 3.13c.3.25.7.25 1 0 .84-.75 2-1.87 2.93-3.13C12.39 9.4 13 8.11 13 7Z\"]);\nexport const LocationAdd20Filled = /*#__PURE__*/createFluentIcon('LocationAdd20Filled', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9ZM10 5a.5.5 0 0 0-.5.5V8H7a.5.5 0 0 0 0 1h2.5v2.5a.5.5 0 0 0 1 0V9H13a.5.5 0 0 0 0-1h-2.5V5.5A.5.5 0 0 0 10 5Z\"]);\nexport const LocationAdd20Regular = /*#__PURE__*/createFluentIcon('LocationAdd20Regular', \"20\", [\"M6.5 8.5c0-.28.22-.5.5-.5h2.5V5.5a.5.5 0 0 1 1 0V8H13a.5.5 0 0 1 0 1h-2.5v2.5a.5.5 0 0 1-1 0V9H7a.5.5 0 0 1-.5-.5Zm8.45 5.46a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-9.2-9.2a6 6 0 0 1 8.67 8.3l-.18.19-1.32 1.3-2.23 2.17-.09.08a1 1 0 0 1-1.2 0l-.1-.08-2.97-2.9-.58-.57-.17-.18a6 6 0 0 1 .17-8.31Z\"]);\nexport const LocationAdd24Filled = /*#__PURE__*/createFluentIcon('LocationAdd24Filled', \"24\", [\"m16.97 18.06 1.19-1.18a8.7 8.7 0 1 0-12.32 0l1.1 1.1 3.5 3.39c.87.84 2.25.84 3.12 0l3.41-3.31ZM12 7c.41 0 .75.34.75.75V10h2.5a.75.75 0 0 1 0 1.5h-2.5v2.25a.75.75 0 0 1-1.5 0V11.5h-2.5a.75.75 0 0 1 0-1.5h2.5V7.75c0-.41.34-.75.75-.75Z\"]);\nexport const LocationAdd24Regular = /*#__PURE__*/createFluentIcon('LocationAdd24Regular', \"24\", [\"M8 10.75c0-.41.34-.75.75-.75h2.5V7.75a.75.75 0 0 1 1.5 0V10h2.5a.75.75 0 0 1 0 1.5h-2.5v2.25a.75.75 0 0 1-1.5 0V11.5h-2.5a.75.75 0 0 1-.75-.75ZM5.84 4.57a8.7 8.7 0 0 1 12.32 12.31l-1.19 1.18-3.4 3.3c-.88.85-2.26.85-3.13 0l-3.5-3.39a175 175 0 0 1-1.1-1.09 8.7 8.7 0 0 1 0-12.31ZM17.1 5.63a7.2 7.2 0 1 0-10.2 10.2l1.5 1.46 3.08 3c.29.28.75.28 1.04 0l3.4-3.3 1.18-1.17a7.2 7.2 0 0 0 0-10.2Z\"]);\nexport const LocationAddLeft20Filled = /*#__PURE__*/createFluentIcon('LocationAddLeft20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-5.1-7.6L8.21 8H13a.5.5 0 0 1 0 1H8.2l1.65 1.65a.5.5 0 0 1-.7.7l-2.5-2.5a.5.5 0 0 1 0-.7l2.5-2.5a.5.5 0 1 1 .7.7Z\"]);\nexport const LocationAddLeft20Regular = /*#__PURE__*/createFluentIcon('LocationAddLeft20Regular', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.4 1.6a.5.5 0 0 0-.7-.7l-2.5 2.5a.5.5 0 0 0 0 .7l2.5 2.5a.5.5 0 0 0 .7-.7L8.21 9H13a.5.5 0 0 0 0-1H8.2l1.65-1.65Z\"]);\nexport const LocationAddRight20Filled = /*#__PURE__*/createFluentIcon('LocationAddRight20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-4.8-7.6a.5.5 0 0 1 .7-.71l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationAddRight20Regular = /*#__PURE__*/createFluentIcon('LocationAddRight20Regular', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.1 1.6a.5.5 0 0 1 .7-.7l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationAddUp20Filled = /*#__PURE__*/createFluentIcon('LocationAddUp20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-2.8-5.6L10.5 6.7v4.79a.5.5 0 0 1-1 0V6.7L7.85 8.36a.5.5 0 1 1-.7-.7l2.5-2.5a.5.5 0 0 1 .7 0l2.5 2.5a.5.5 0 0 1-.7.7Z\"]);\nexport const LocationAddUp20Regular = /*#__PURE__*/createFluentIcon('LocationAddUp20Regular', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-2.1 3.6a.5.5 0 0 0 .7-.7l-2.5-2.5a.5.5 0 0 0-.7 0l-2.5 2.5a.5.5 0 1 0 .7.7L9.5 6.71v4.79a.5.5 0 0 0 1 0V6.7l1.65 1.65Z\"]);\nexport const LocationArrow12Filled = /*#__PURE__*/createFluentIcon('LocationArrow12Filled', \"12\", [\"M9.64 1.07a1 1 0 0 1 1.3 1.3l-3.08 7.99a1 1 0 0 1-1.9-.1l-.8-3.06a.5.5 0 0 0-.36-.35l-3.05-.8a1 1 0 0 1-.1-1.9l7.99-3.08Z\"]);\nexport const LocationArrow12Regular = /*#__PURE__*/createFluentIcon('LocationArrow12Regular', \"12\", [\"M10.93 2.36a1 1 0 0 0-1.3-1.3L1.65 4.15a1 1 0 0 0 .1 1.9l3.06.8a.5.5 0 0 1 .35.36l.8 3.05a1 1 0 0 0 1.9.1l3.08-7.99ZM10 2l-3.08 8-.8-3.05a1.5 1.5 0 0 0-1.07-1.07L2 5.08 10 2Z\"]);\nexport const LocationArrow16Filled = /*#__PURE__*/createFluentIcon('LocationArrow16Filled', \"16\", [\"M12.64 2.07a1 1 0 0 1 1.29 1.3l-3.85 9.99a1 1 0 0 1-1.9-.1L7.12 9.23a.5.5 0 0 0-.35-.36L2.74 7.82a1 1 0 0 1-.1-1.9l10-3.85Z\"]);\nexport const LocationArrow16Regular = /*#__PURE__*/createFluentIcon('LocationArrow16Regular', \"16\", [\"M13.93 3.36a1 1 0 0 0-1.3-1.3l-10 3.85a1 1 0 0 0 .11 1.9l4.03 1.06a.5.5 0 0 1 .35.36l1.06 4.03a1 1 0 0 0 1.9.1l3.85-10ZM13 3 9.15 13 8.1 8.98A1.5 1.5 0 0 0 7.02 7.9L3 6.85 13 3Z\"]);\nexport const LocationArrow20Filled = /*#__PURE__*/createFluentIcon('LocationArrow20Filled', \"20\", [\"M16.64 2.07a1 1 0 0 1 1.29 1.3l-5.38 13.99a1 1 0 0 1-1.9-.1l-1.58-5.98a.5.5 0 0 0-.35-.35L2.74 9.35a1 1 0 0 1-.1-1.9l14-5.38Z\"]);\nexport const LocationArrow20Regular = /*#__PURE__*/createFluentIcon('LocationArrow20Regular', \"20\", [\"M17.93 3.36a1 1 0 0 0-1.3-1.3L2.65 7.47a1 1 0 0 0 .1 1.9l5.98 1.57a.5.5 0 0 1 .35.35l1.58 5.97a1 1 0 0 0 1.9.1l5.38-13.99ZM17 3 11.6 17l-1.57-5.97a1.5 1.5 0 0 0-1.07-1.07L3 8.39 17 3Z\"]);\nexport const LocationArrow24Filled = /*#__PURE__*/createFluentIcon('LocationArrow24Filled', \"24\", [\"M21.9 4.04a1.5 1.5 0 0 0-1.94-1.94l-17 6.54a1.5 1.5 0 0 0 .16 2.85l7 1.85c.27.07.47.27.54.53l1.85 7.01a1.5 1.5 0 0 0 2.85.16l6.54-17Z\"]);\nexport const LocationArrow24Regular = /*#__PURE__*/createFluentIcon('LocationArrow24Regular', \"24\", [\"M19.96 2.1a1.5 1.5 0 0 1 1.94 1.94l-6.54 17a1.5 1.5 0 0 1-2.85-.16l-1.85-7a.75.75 0 0 0-.53-.54l-7.01-1.85a1.5 1.5 0 0 1-.16-2.85l17-6.54Zm.54 1.4-17 6.54 7.01 1.85c.79.2 1.4.81 1.6 1.6l1.85 7.01 6.54-17Z\"]);\nexport const LocationArrow28Filled = /*#__PURE__*/createFluentIcon('LocationArrow28Filled', \"28\", [\"M23.96 2.1a1.5 1.5 0 0 1 1.94 1.94l-8.08 21a1.5 1.5 0 0 1-2.85-.16l-2.36-8.96a.75.75 0 0 0-.53-.53l-8.96-2.36a1.5 1.5 0 0 1-.16-2.85l21-8.08Z\"]);\nexport const LocationArrow28Regular = /*#__PURE__*/createFluentIcon('LocationArrow28Regular', \"28\", [\"M25.9 4.04a1.5 1.5 0 0 0-1.94-1.94l-21 8.08a1.5 1.5 0 0 0 .16 2.85l8.96 2.36c.26.07.46.27.53.53l2.36 8.96a1.5 1.5 0 0 0 2.85.16l8.08-21Zm-1.4-.54-8.08 21-2.36-8.96c-.2-.78-.82-1.4-1.6-1.6L3.5 11.58l21-8.08Z\"]);\nexport const LocationArrow32Filled = /*#__PURE__*/createFluentIcon('LocationArrow32Filled', \"32\", [\"M26.28 3.14a2 2 0 0 1 2.58 2.58l-8.46 22a2 2 0 0 1-3.8-.21l-2.37-9.02a1 1 0 0 0-.71-.72L4.49 15.4a2 2 0 0 1-.2-3.8l21.99-8.46Z\"]);\nexport const LocationArrow32Regular = /*#__PURE__*/createFluentIcon('LocationArrow32Regular', \"32\", [\"M28.86 5.72a2 2 0 0 0-2.58-2.58l-22 8.46a2 2 0 0 0 .21 3.8l9.03 2.37a1 1 0 0 1 .7.72l2.38 9.02a2 2 0 0 0 3.8.2l8.46-21.99ZM27 5l-8.46 22-2.38-9.02a3 3 0 0 0-2.14-2.14L5 13.46 27 5Z\"]);\nexport const LocationArrow48Filled = /*#__PURE__*/createFluentIcon('LocationArrow48Filled', \"48\", [\"M40.6 4.17a2.5 2.5 0 0 1 3.23 3.23l-13.46 35a2.5 2.5 0 0 1-4.75-.26L21.69 27.2a1.25 1.25 0 0 0-.9-.89L5.87 22.38a2.5 2.5 0 0 1-.26-4.75l35-13.46Z\"]);\nexport const LocationArrow48Regular = /*#__PURE__*/createFluentIcon('LocationArrow48Regular', \"48\", [\"M43.83 7.4a2.5 2.5 0 0 0-3.23-3.23l-35 13.46a2.5 2.5 0 0 0 .26 4.75l14.94 3.93c.43.12.77.46.89.9l3.93 14.93a2.5 2.5 0 0 0 4.75.26l13.46-35Zm-2.34-.9-13.46 35-3.93-14.93a3.75 3.75 0 0 0-2.67-2.68L6.5 19.96l35-13.45Z\"]);\nexport const LocationArrowLeft16Filled = /*#__PURE__*/createFluentIcon('LocationArrowLeft16Filled', \"16\", [\"M14 7c0 2.88-3.1 6.01-4.84 7.54-.67.6-1.65.6-2.32 0C5.1 13.01 2 9.88 2 7a6 6 0 1 1 12 0ZM7.85 4.85a.5.5 0 1 0-.7-.7l-2 2a.5.5 0 0 0 0 .7l2 2a.5.5 0 1 0 .7-.7L6.71 7h3.79a.5.5 0 0 0 0-1H6.7l1.15-1.15Z\"]);\nexport const LocationArrowLeft16Regular = /*#__PURE__*/createFluentIcon('LocationArrowLeft16Regular', \"16\", [\"M9.16 14.56C10.9 13.02 14 9.87 14 7A6 6 0 0 0 2 7c0 2.87 3.1 6.02 4.84 7.56.67.59 1.65.59 2.32 0ZM8 2a5 5 0 0 1 5 5c0 1.1-.61 2.4-1.57 3.68a21.38 21.38 0 0 1-2.93 3.13.74.74 0 0 1-1 0c-.84-.75-2-1.87-2.93-3.13C3.61 9.4 3 8.11 3 7a5 5 0 0 1 5-5Zm-.15 2.85a.5.5 0 1 0-.7-.7l-2 2a.5.5 0 0 0 0 .7l2 2a.5.5 0 1 0 .7-.7L6.71 7h3.79a.5.5 0 0 0 0-1H6.7l1.15-1.15Z\"]);\nexport const LocationArrowLeft20Filled = /*#__PURE__*/createFluentIcon('LocationArrowLeft20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-5.1-7.6L8.21 8H13a.5.5 0 0 1 0 1H8.2l1.65 1.65a.5.5 0 0 1-.7.7l-2.5-2.5a.5.5 0 0 1 0-.7l2.5-2.5a.5.5 0 1 1 .7.7Z\"]);\nexport const LocationArrowLeft20Regular = /*#__PURE__*/createFluentIcon('LocationArrowLeft20Regular', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.4 1.6a.5.5 0 0 0-.7-.7l-2.5 2.5a.5.5 0 0 0 0 .7l2.5 2.5a.5.5 0 0 0 .7-.7L8.21 9H13a.5.5 0 0 0 0-1H8.2l1.65-1.65Z\"]);\nexport const LocationArrowLeft48Filled = /*#__PURE__*/createFluentIcon('LocationArrowLeft48Filled', \"48\", [\"M37 32 26.91 42.7a4 4 0 0 1-5.82 0L11 32h.04l-.02-.02-.02-.03A17.05 17.05 0 0 1 7 21a17 17 0 1 1 30 10.95l-.02.03-.02.02H37ZM22.88 16.88a1.25 1.25 0 0 0-1.76-1.76l-5 5a1.25 1.25 0 0 0 0 1.76l5 5a1.25 1.25 0 0 0 1.76-1.76l-2.86-2.87H31a1.25 1.25 0 1 0 0-2.5H20.02l2.86-2.87Z\"]);\nexport const LocationArrowLeft48Regular = /*#__PURE__*/createFluentIcon('LocationArrowLeft48Regular', \"48\", [\"M22.88 16.88a1.25 1.25 0 0 0-1.76-1.76l-5 5a1.25 1.25 0 0 0 0 1.76l5 5a1.25 1.25 0 0 0 1.76-1.76l-2.86-2.87H31a1.25 1.25 0 1 0 0-2.5H20.02l2.86-2.87Zm4.03 25.83L37 32h-.04l.02-.02.02-.03A17.05 17.05 0 0 0 41 21a17 17 0 1 0-30 10.95l.02.03.02.02H11l10.09 10.7a4 4 0 0 0 5.82 0ZM38.5 21c0 3.58-1.3 6.85-3.44 9.38l-.31.36L25.09 41c-.59.63-1.59.63-2.18 0l-9.66-10.25-.3-.36A14.5 14.5 0 1 1 38.5 21Z\"]);\nexport const LocationArrowRight16Filled = /*#__PURE__*/createFluentIcon('LocationArrowRight16Filled', \"16\", [\"M14 7c0 2.88-3.1 6.01-4.84 7.54-.67.6-1.65.6-2.32 0C5.1 13.01 2 9.88 2 7a6 6 0 1 1 12 0ZM8.15 4.85 9.29 6H5.5a.5.5 0 0 0 0 1h3.8L8.14 8.15a.5.5 0 1 0 .7.7l2-2a.5.5 0 0 0 0-.7l-2-2a.5.5 0 1 0-.7.7Z\"]);\nexport const LocationArrowRight16Regular = /*#__PURE__*/createFluentIcon('LocationArrowRight16Regular', \"16\", [\"M9.16 14.56C10.9 13.02 14 9.87 14 7A6 6 0 0 0 2 7c0 2.87 3.1 6.02 4.84 7.56.67.59 1.65.59 2.32 0ZM8 2a5 5 0 0 1 5 5c0 1.1-.61 2.4-1.57 3.68a21.38 21.38 0 0 1-2.93 3.13.74.74 0 0 1-1 0c-.84-.75-2-1.87-2.93-3.13C3.61 9.4 3 8.11 3 7a5 5 0 0 1 5-5Zm.15 2.85a.5.5 0 1 1 .7-.7l2 2c.2.2.2.5 0 .7l-2 2a.5.5 0 1 1-.7-.7L9.29 7H5.5a.5.5 0 0 1 0-1h3.8L8.14 4.85Z\"]);\nexport const LocationArrowRight20Filled = /*#__PURE__*/createFluentIcon('LocationArrowRight20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-4.8-7.6a.5.5 0 0 1 .7-.71l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationArrowRight20Regular = /*#__PURE__*/createFluentIcon('LocationArrowRight20Regular', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.1 1.6a.5.5 0 0 1 .7-.7l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationArrowRight48Filled = /*#__PURE__*/createFluentIcon('LocationArrowRight48Filled', \"48\", [\"M37 32 26.91 42.7a4 4 0 0 1-5.82 0L11 32h.04l-.02-.02-.02-.03A17.05 17.05 0 0 1 7 21a17 17 0 1 1 30 10.95l-.02.03-.02.02H37ZM25.12 16.88l2.86 2.87H17a1.25 1.25 0 1 0 0 2.5h10.98l-2.86 2.87a1.25 1.25 0 0 0 1.76 1.76l5-5c.5-.48.5-1.28 0-1.76l-5-5a1.25 1.25 0 0 0-1.76 1.76Z\"]);\nexport const LocationArrowRight48Regular = /*#__PURE__*/createFluentIcon('LocationArrowRight48Regular', \"48\", [\"M25.12 16.88a1.25 1.25 0 0 1 1.76-1.76l5 5c.5.48.5 1.28 0 1.76l-5 5a1.25 1.25 0 0 1-1.76-1.76l2.86-2.87H17a1.25 1.25 0 1 1 0-2.5h10.98l-2.86-2.87ZM37 32 26.91 42.7a4 4 0 0 1-5.82 0L11 32h.04l-.02-.02-.02-.03A17.05 17.05 0 0 1 7 21a17 17 0 1 1 30 10.95l-.02.03-.02.02H37Zm-1.94-1.62a14.5 14.5 0 1 0-22.11 0l.3.36L22.91 41c.59.63 1.59.63 2.18 0l9.66-10.25.3-.36Z\"]);\nexport const LocationArrowUp16Filled = /*#__PURE__*/createFluentIcon('LocationArrowUp16Filled', \"16\", [\"M14 7c0 2.88-3.1 6.01-4.84 7.54-.67.6-1.65.6-2.32 0C5.1 13.01 2 9.88 2 7a6 6 0 1 1 12 0Zm-7.65-.15L7.5 5.71V9.5a.5.5 0 0 0 1 0V5.7l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2a.5.5 0 0 0-.7 0l-2 2a.5.5 0 1 0 .7.7Z\"]);\nexport const LocationArrowUp16Regular = /*#__PURE__*/createFluentIcon('LocationArrowUp16Regular', \"16\", [\"M9.16 14.56C10.9 13.02 14 9.87 14 7A6 6 0 0 0 2 7c0 2.87 3.1 6.02 4.84 7.56.67.59 1.65.59 2.32 0ZM8 2a5 5 0 0 1 5 5c0 1.1-.61 2.4-1.57 3.68a21.38 21.38 0 0 1-2.93 3.13.74.74 0 0 1-1 0c-.84-.75-2-1.87-2.93-3.13C3.61 9.4 3 8.11 3 7a5 5 0 0 1 5-5ZM6.35 6.85a.5.5 0 1 1-.7-.7l2-2c.2-.2.5-.2.7 0l2 2a.5.5 0 0 1-.7.7L8.5 5.71V9.5a.5.5 0 0 1-1 0V5.7L6.35 6.86Z\"]);\nexport const LocationArrowUp20Filled = /*#__PURE__*/createFluentIcon('LocationArrowUp20Filled', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-2.8-5.6L10.5 6.7v4.79a.5.5 0 0 1-1 0V6.7L7.85 8.36a.5.5 0 1 1-.7-.7l2.5-2.5a.5.5 0 0 1 .7 0l2.5 2.5a.5.5 0 0 1-.7.7Z\"]);\nexport const LocationArrowUp20Regular = /*#__PURE__*/createFluentIcon('LocationArrowUp20Regular', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-2.1 3.6a.5.5 0 0 0 .7-.7l-2.5-2.5a.5.5 0 0 0-.7 0l-2.5 2.5a.5.5 0 1 0 .7.7L9.5 6.71v4.79a.5.5 0 0 0 1 0V6.7l1.65 1.65Z\"]);\nexport const LocationArrowUp48Filled = /*#__PURE__*/createFluentIcon('LocationArrowUp48Filled', \"48\", [\"M37 32 26.91 42.7a4 4 0 0 1-5.82 0L11 32h.04l-.02-.02-.02-.03A17.05 17.05 0 0 1 7 21a17 17 0 1 1 30 10.95l-.02.03-.02.02H37Zm-8.88-12.12a1.25 1.25 0 0 0 1.76-1.76l-5-5a1.25 1.25 0 0 0-1.76 0l-5 5a1.25 1.25 0 0 0 1.76 1.76l2.87-2.86V28a1.25 1.25 0 1 0 2.5 0V17.02l2.87 2.86Z\"]);\nexport const LocationArrowUp48Regular = /*#__PURE__*/createFluentIcon('LocationArrowUp48Regular', \"48\", [\"M28.12 19.88a1.25 1.25 0 0 0 1.76-1.76l-5-5a1.25 1.25 0 0 0-1.76 0l-5 5a1.25 1.25 0 0 0 1.76 1.76l2.87-2.86V28a1.25 1.25 0 1 0 2.5 0V17.02l2.87 2.86ZM37 32 26.91 42.7a4 4 0 0 1-5.82 0L11 32h.04l-.02-.02-.02-.03A17.05 17.05 0 0 1 7 21a17 17 0 1 1 30 10.95l-.02.03-.02.02H37Zm-1.94-1.62a14.5 14.5 0 1 0-22.11 0l.3.36L22.91 41c.59.63 1.59.63 2.18 0l9.66-10.25.3-.36Z\"]);\nexport const LocationDismiss20Filled = /*#__PURE__*/createFluentIcon('LocationDismiss20Filled', \"20\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-7.8 2.1a.5.5 0 0 0 0 .7L9.29 9l-2.14 2.15a.5.5 0 0 0 .7.7L10 9.71l2.15 2.14a.5.5 0 0 0 .7-.7L10.71 9l2.14-2.15a.5.5 0 0 0-.7-.7L10 8.29 7.85 6.15a.5.5 0 0 0-.7 0Z\"]);\nexport const LocationDismiss20Regular = /*#__PURE__*/createFluentIcon('LocationDismiss20Regular', \"20\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-9.2-9.2a6 6 0 0 1 8.67 8.3l-.18.19-1.32 1.3-2.23 2.17-.09.08a1 1 0 0 1-1.2 0l-.1-.08-2.97-2.9-.58-.57-.17-.18a6 6 0 0 1 .17-8.31Zm1.4 1.39c.2-.2.5-.2.7 0L10 8.29l2.15-2.14a.5.5 0 0 1 .7.7L10.71 9l2.14 2.15a.5.5 0 0 1-.7.7L10 9.71l-2.15 2.14a.5.5 0 0 1-.7-.7L9.29 9 7.15 6.85a.5.5 0 0 1 0-.7Z\"]);\nexport const LocationDismiss24Filled = /*#__PURE__*/createFluentIcon('LocationDismiss24Filled', \"24\", [\"M5.84 4.56a8.7 8.7 0 0 1 12.52 12.1l-.2.21c-.92.92-2.45 2.41-4.6 4.49-.87.84-2.25.84-3.12 0L6.59 17.6a150 150 0 0 1-.75-.74 8.7 8.7 0 0 1 0-12.31Zm9.19 3.13-.08-.08a.75.75 0 0 0-.89 0l-.1.08L12 9.66l-1.97-1.97-.08-.08a.75.75 0 0 0-.89 0l-.1.08-.06.08c-.2.26-.2.62-.01.88l.08.1 1.97 1.97-1.97 1.97-.07.08c-.2.26-.2.62-.01.88l.08.1.08.07c.26.2.62.2.89 0l.09-.07L12 11.78l1.97 1.97.08.07c.26.2.62.2.89 0l.09-.07.07-.09c.2-.26.2-.62.01-.88l-.08-.1-1.97-1.96 1.97-1.97.07-.09c.2-.26.2-.62.01-.88l-.08-.1-.08-.07.08.08Z\"]);\nexport const LocationDismiss24Regular = /*#__PURE__*/createFluentIcon('LocationDismiss24Regular', \"24\", [\"M5.84 4.56a8.7 8.7 0 0 1 12.52 12.1l-.2.21c-.92.92-2.45 2.41-4.6 4.49-.87.84-2.25.84-3.12 0L6.59 17.6a150 150 0 0 1-.75-.74 8.7 8.7 0 0 1 0-12.31ZM17.1 5.62a7.2 7.2 0 1 0-10.2 10.2l1.7 1.66 2.88 2.8c.29.28.75.28 1.04 0l2.98-2.89 1.6-1.58a7.2 7.2 0 0 0 0-10.19Zm-2.15 2 .08.07c.27.26.3.68.07.97l-.07.09-1.97 1.97 1.97 1.97c.27.26.3.68.07.97l-.07.09a.75.75 0 0 1-.98.07l-.08-.07L12 11.78l-1.97 1.97a.75.75 0 0 1-.98.07l-.08-.07a.75.75 0 0 1-.07-.98l.07-.08 1.97-1.97-1.97-1.97a.75.75 0 0 1-.07-.98l.07-.08a.75.75 0 0 1 .98-.08l.08.08L12 9.66l1.97-1.97a.75.75 0 0 1 .98-.08Z\"]);\nexport const LocationLive20Filled = /*#__PURE__*/createFluentIcon('LocationLive20Filled', \"20\", [\"M8.53 3.01 9 3a7 7 0 0 1 6.98 7.47.5.5 0 1 0 1 .07L17 10A8 8 0 0 0 8.46 2a.5.5 0 1 0 .07 1ZM8 4.98a.5.5 0 0 1 .52-.47 6.25 6.25 0 0 1 5.97 5.97.5.5 0 1 1-1 .04A5.25 5.25 0 0 0 8.49 5.5.5.5 0 0 1 8 4.98ZM6.04 16.4l1.1 1.1c.2.2.52.2.71 0L9 16.37l1.7-1.69a4.5 4.5 0 1 0-6.37 0l1.72 1.72Zm1.46-3.78a1.13 1.13 0 1 1 0-2.25 1.13 1.13 0 0 1 0 2.25Z\"]);\nexport const LocationLive20Regular = /*#__PURE__*/createFluentIcon('LocationLive20Regular', \"20\", [\"M8.53 3.01 9 3a7 7 0 0 1 6.98 7.47.5.5 0 1 0 1 .07L17 10A8 8 0 0 0 8.46 2a.5.5 0 1 0 .07 1ZM8 4.98a.5.5 0 0 1 .52-.47 6.25 6.25 0 0 1 5.97 5.97.5.5 0 1 1-1 .04A5.25 5.25 0 0 0 8.49 5.5.5.5 0 0 1 8 4.98Zm-.5 7.64a1.13 1.13 0 1 0 0-2.25 1.13 1.13 0 0 0 0 2.25Zm-3.18 2.06 2.83 2.83a.5.5 0 0 0 .7 0l2.83-2.83a4.5 4.5 0 1 0-6.36 0Zm.7-.7a3.5 3.5 0 1 1 4.95 0L7.5 16.44l-2.47-2.48Z\"]);\nexport const LocationLive24Filled = /*#__PURE__*/createFluentIcon('LocationLive24Filled', \"24\", [\"M9 2.73a.75.75 0 0 1 .8-.7A12 12 0 0 1 20.97 13.2a.75.75 0 0 1-1.5.1A10.5 10.5 0 0 0 9.7 3.52a.75.75 0 0 1-.7-.8ZM7.6 21.39l.39.38c.29.3.76.3 1.05 0l1.35-1.33 2.01-2a5.5 5.5 0 1 0-7.77 0 1162.27 1162.27 0 0 0 2.97 2.95Zm.91-5.64a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5ZM9.82 5.5A.75.75 0 1 0 9.68 7 6.99 6.99 0 0 1 16 13.3a.75.75 0 1 0 1.5-.13A8.49 8.49 0 0 0 9.82 5.5Z\"]);\nexport const LocationLive24Regular = /*#__PURE__*/createFluentIcon('LocationLive24Regular', \"24\", [\"M9.8 2.03a.75.75 0 0 0-.1 1.5 10.5 10.5 0 0 1 9.78 9.77.75.75 0 1 0 1.5-.1A12 12 0 0 0 9.8 2.03Zm-1.3 13.6a1.13 1.13 0 1 0 0-2.26 1.13 1.13 0 0 0 0 2.25Zm-.52 6.14-.4-.38a4307.72 4307.72 0 0 1-2.96-2.96 5.5 5.5 0 1 1 7.77 0l-2.01 2-1.35 1.34c-.29.3-.76.3-1.05 0Zm-2.3-10.05a4 4 0 0 0 0 5.65l2.04 2.03.78.78.82-.8 2.01-2a4 4 0 1 0-5.65-5.66ZM9.82 5.5A.75.75 0 0 0 9.68 7 6.99 6.99 0 0 1 16 13.3a.75.75 0 1 0 1.5-.13A8.49 8.49 0 0 0 9.82 5.5Z\"]);\nexport const LocationOff16Filled = /*#__PURE__*/createFluentIcon('LocationOff16Filled', \"16\", [\"m11.58 12.29 2.57 2.56a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L2.99 3.7A5.97 5.97 0 0 0 2 7c0 2.87 1.93 5.5 5.73 7.92.17.1.37.1.54 0a17.98 17.98 0 0 0 3.31-2.63Zm-3.3-3.3L8 9a2 2 0 0 1-1.98-2.27l2.25 2.25ZM10 7a2 2 0 0 1-.14.74l2.98 2.98A6.76 6.76 0 0 0 14 7a6 6 0 0 0-9.64-4.77l2.9 2.91A2 2 0 0 1 10 7Z\"]);\nexport const LocationOff16Regular = /*#__PURE__*/createFluentIcon('LocationOff16Regular', \"16\", [\"m11.58 12.29 2.57 2.56a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L2.99 3.7A5.97 5.97 0 0 0 2 7c0 2.87 1.93 5.5 5.73 7.92.17.1.37.1.54 0a17.98 17.98 0 0 0 3.31-2.63Zm-.7-.7c-.69.7-1.54 1.4-2.56 2.1L8 13.9l-.32-.2C4.54 11.55 3 9.32 3 7c0-.94.26-1.83.71-2.58l7.16 7.16ZM9.45 7.33l-1.8-1.8a1.5 1.5 0 0 1 1.8 1.8Zm2.65 2.65c.6-.98.89-1.97.89-2.99a5 5 0 0 0-7.93-4.05l-.71-.72A6 6 0 0 1 14 7c0 1.29-.39 2.52-1.16 3.72l-.73-.73Z\"]);\nexport const LocationOff20Filled = /*#__PURE__*/createFluentIcon('LocationOff20Filled', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l2.12 2.13a7 7 0 0 0 .78 8.98l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37.27-.27 3.06 3.05a.5.5 0 0 0 .7-.7l-15-15Zm8.23 9.63A2.98 2.98 0 0 1 7 9c0-.38.07-.74.2-1.07l3.87 3.86ZM12.99 9c0 .54-.14 1.05-.4 1.49l2.9 2.88a7 7 0 0 0-9.85-9.84L8.52 6.4A3 3 0 0 1 13 9Z\"]);\nexport const LocationOff20Regular = /*#__PURE__*/createFluentIcon('LocationOff20Regular', \"20\", [\"M2.15 2.15c.2-.2.5-.2.7 0l15 15a.5.5 0 0 1-.7.7l-3.06-3.05-.27.27-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1-.78-8.97L2.15 2.85a.5.5 0 0 1 0-.7Zm8.93 9.63A2.98 2.98 0 0 1 7 9c0-.38.07-.74.2-1.07L4.99 5.7a6.01 6.01 0 0 0 .59 7.37l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17.47-.45-2.31-2.32Zm.77-2.05.75.75A3 3 0 0 0 8.52 6.4l.74.74A1.99 1.99 0 0 1 12 8.99a2 2 0 0 1-.15.74Zm-5.5-5.5a6 6 0 0 1 8.42 8.42l.71.71a7 7 0 0 0-9.84-9.84l.71.71Z\"]);\nexport const LocationOff24Filled = /*#__PURE__*/createFluentIcon('LocationOff24Filled', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l2.57 2.57a8.71 8.71 0 0 0 1.05 11.03l1.1 1.1 3.5 3.39c.87.84 2.25.84 3.12 0a656.5 656.5 0 0 0 3.41-3.31l.01-.02 3.74 3.74a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm9.13 11.25a2.51 2.51 0 0 1-2.88-2.88l2.88 2.88ZM14.5 11c0 .1 0 .2-.02.3l4.56 4.56A8.7 8.7 0 0 0 6.87 3.69l4.83 4.83.3-.02a2.5 2.5 0 0 1 2.5 2.5Z\"]);\nexport const LocationOff24Regular = /*#__PURE__*/createFluentIcon('LocationOff24Regular', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l2.57 2.57a8.71 8.71 0 0 0 1.05 11.03l1.1 1.1 3.5 3.39c.87.84 2.25.84 3.12 0a656.5 656.5 0 0 0 3.41-3.31l.01-.02 3.74 3.74a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm12.64 14.76-3.4 3.31a.75.75 0 0 1-1.04 0l-3.09-3-1.49-1.47a7.21 7.21 0 0 1-1.03-8.89l3.24 3.24a3 3 0 0 0 3.72 3.72l3.1 3.1Zm-4.65-8.9 3.64 3.65a3 3 0 0 0-3.64-3.64Zm5.83-2.45a7.21 7.21 0 0 1 .86 9.15l1.08 1.08A8.7 8.7 0 0 0 6.87 3.69l1.08 1.07a7.21 7.21 0 0 1 9.15.87Z\"]);\nexport const LocationOff28Filled = /*#__PURE__*/createFluentIcon('LocationOff28Filled', \"28\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l3.53 3.53A9.7 9.7 0 0 0 4.25 12c0 4.03 2.77 8.4 8.23 13.19l.38.33c.66.56 1.62.56 2.28 0a40.2 40.2 0 0 0 4.67-4.65l4.9 4.91a.75.75 0 0 0 1.07-1.06L3.28 2.22ZM14.64 15.7a3.75 3.75 0 0 1-4.33-4.33l4.33 4.33ZM7.72 4.54l4.29 4.28A3.75 3.75 0 0 1 17.18 14l4.43 4.44c1.42-2.24 2.14-4.38 2.14-6.43A9.75 9.75 0 0 0 7.72 4.54Z\"]);\nexport const LocationOff28Regular = /*#__PURE__*/createFluentIcon('LocationOff28Regular', \"28\", [\"M2.22 2.22c.3-.3.77-.3 1.06 0l22.5 22.5a.75.75 0 0 1-1.06 1.06l-4.91-4.9a40.2 40.2 0 0 1-4.67 4.64c-.66.56-1.62.56-2.28 0l-.38-.33C7.02 20.4 4.25 16.03 4.25 12c0-1.9.55-3.69 1.5-5.2L2.22 3.29a.75.75 0 0 1 0-1.06ZM14.64 15.7a3.75 3.75 0 0 1-4.33-4.33L6.83 7.9A8.21 8.21 0 0 0 5.75 12c0 3.5 2.55 7.54 7.71 12.06l.38.32c.1.08.23.08.32 0a38.4 38.4 0 0 0 4.58-4.57l-4.1-4.11ZM8.79 5.6 7.72 4.55A9.75 9.75 0 0 1 23.75 12c0 2.05-.72 4.19-2.14 6.43l-1.09-1.09A10.36 10.36 0 0 0 22.25 12 8.25 8.25 0 0 0 8.79 5.6Zm4.32 4.33-1.1-1.1A3.75 3.75 0 0 1 17.18 14l-1.11-1.11A2.24 2.24 0 0 0 14 9.75c-.31 0-.61.06-.89.18Z\"]);\nexport const LocationOff48Filled = /*#__PURE__*/createFluentIcon('LocationOff48Filled', \"48\", [\"M43.63 41.87a1.25 1.25 0 0 1-1.76 1.76l-8.15-8.15-6.8 7.23a4 4 0 0 1-5.83 0L11 32h.04A16.93 16.93 0 0 1 7 21c0-3.48 1.04-6.7 2.83-9.4L4.37 6.13a1.25 1.25 0 1 1 1.76-1.76l37.5 37.5ZM18.32 20.08a6 6 0 0 0 7.6 7.6l-7.6-7.6Zm-5.13-12.2 8.55 8.56a6 6 0 0 1 7.82 7.82l7.56 7.55A17 17 0 0 0 13.19 7.88Z\"]);\nexport const LocationOff48Regular = /*#__PURE__*/createFluentIcon('LocationOff48Regular', \"48\", [\"M6.13 4.37a1.25 1.25 0 0 0-1.76 1.76l5.46 5.47A16.92 16.92 0 0 0 7 21a16.92 16.92 0 0 0 4 10.95l.02.03.02.02H11l10.09 10.7a4 4 0 0 0 5.82 0l6.8-7.22 8.16 8.15a1.25 1.25 0 0 0 1.76-1.76L6.13 4.37ZM9.5 21c0-2.78.78-5.38 2.14-7.59l6.68 6.67a6 6 0 0 0 7.6 7.6l6.03 6.04-6.86 7.27c-.59.63-1.59.63-2.18 0l-9.66-10.25-.3-.36A14.43 14.43 0 0 1 9.5 21Zm5.46-11.34L13.2 7.88a17 17 0 0 1 23.93 23.93l-1.78-1.77A14.5 14.5 0 0 0 14.96 9.66Zm8.85 8.85-2.07-2.07a6 6 0 0 1 7.82 7.82L27.5 22.2V22a3.5 3.5 0 0 0-3.7-3.5Z\"]);\nexport const LocationTargetSquare16Filled = /*#__PURE__*/createFluentIcon('LocationTargetSquare16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-.96-.5A3 3 0 0 1 7.5 5.04V4.5a.5.5 0 0 1 1 0v.54a3 3 0 0 1 2.46 2.46h.54a.5.5 0 0 1 0 1h-.54a3 3 0 0 1-2.46 2.46v.54a.5.5 0 0 1-1 0v-.54A3 3 0 0 1 5.04 8.5H4.5a.5.5 0 0 1 0-1h.54ZM9 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const LocationTargetSquare16Regular = /*#__PURE__*/createFluentIcon('LocationTargetSquare16Regular', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM3 4.5C3 3.67 3.67 3 4.5 3h7c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-7ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-.96-.5H4.5a.5.5 0 0 0 0 1h.54a3 3 0 0 0 2.46 2.46v.54a.5.5 0 0 0 1 0v-.54a3 3 0 0 0 2.46-2.46h.54a.5.5 0 0 0 0-1h-.54A3 3 0 0 0 8.5 5.04V4.5a.5.5 0 0 0-1 0v.54A3 3 0 0 0 5.04 7.5ZM9 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const LocationTargetSquare20Filled = /*#__PURE__*/createFluentIcon('LocationTargetSquare20Filled', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm1.5 7a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm-.96.5H6a.5.5 0 0 1 0-1h.54A3.5 3.5 0 0 1 9.5 6.54V6a.5.5 0 0 1 1 0v.54a3.5 3.5 0 0 1 2.96 2.96H14a.5.5 0 0 1 0 1h-.54a3.5 3.5 0 0 1-2.96 2.96V14a.5.5 0 0 1-1 0v-.54a3.5 3.5 0 0 1-2.96-2.96Zm4.71-.5a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0Z\"]);\nexport const LocationTargetSquare20Regular = /*#__PURE__*/createFluentIcon('LocationTargetSquare20Regular', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm3.5 4a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Zm-.96.5H6a.5.5 0 0 1 0-1h.54A3.5 3.5 0 0 1 9.5 6.54V6a.5.5 0 0 1 1 0v.54a3.5 3.5 0 0 1 2.96 2.96H14a.5.5 0 0 1 0 1h-.54a3.5 3.5 0 0 1-2.96 2.96V14a.5.5 0 0 1-1 0v-.54a3.5 3.5 0 0 1-2.96-2.96Zm4.71-.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z\"]);\nexport const LocationTargetSquare24Filled = /*#__PURE__*/createFluentIcon('LocationTargetSquare24Filled', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM9 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm-1.44-.75a4.5 4.5 0 0 1 3.69-3.69v-.81a.75.75 0 0 1 1.5 0v.81a4.5 4.5 0 0 1 3.69 3.69h.81a.75.75 0 0 1 0 1.5h-.81a4.5 4.5 0 0 1-3.69 3.69v.81a.75.75 0 0 1-1.5 0v-.81a4.5 4.5 0 0 1-3.69-3.69h-.81a.75.75 0 0 1 0-1.5h.81Zm5.94.75a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"]);\nexport const LocationTargetSquare24Regular = /*#__PURE__*/createFluentIcon('LocationTargetSquare24Regular', \"24\", [\"M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5C3 19.55 4.46 21 6.25 21h11.5c1.8 0 3.25-1.46 3.25-3.25V6.25C21 4.45 19.54 3 17.75 3H6.25ZM4.5 6.25c0-.97.78-1.75 1.75-1.75h11.5c.97 0 1.75.78 1.75 1.75v11.5c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75V6.25ZM9 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm-1.44-.75h-.81a.75.75 0 0 0 0 1.5h.81a4.5 4.5 0 0 0 3.69 3.69v.81a.75.75 0 0 0 1.5 0v-.81a4.5 4.5 0 0 0 3.69-3.69h.81a.75.75 0 0 0 0-1.5h-.81a4.5 4.5 0 0 0-3.69-3.69v-.81a.75.75 0 0 0-1.5 0v.81a4.5 4.5 0 0 0-3.69 3.69Zm5.94.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const LocationTargetSquare32Filled = /*#__PURE__*/createFluentIcon('LocationTargetSquare32Filled', \"32\", [\"M3 7.5A4.5 4.5 0 0 1 7.5 3h17A4.5 4.5 0 0 1 29 7.5v17a4.5 4.5 0 0 1-4.5 4.5h-17A4.5 4.5 0 0 1 3 24.5v-17ZM16 8a1 1 0 0 0-1 1v1.08A6 6 0 0 0 10.08 15H9a1 1 0 1 0 0 2h1.08A6 6 0 0 0 15 21.92V23a1 1 0 1 0 2 0v-1.08A6 6 0 0 0 21.92 17H23a1 1 0 1 0 0-2h-1.08A6 6 0 0 0 17 10.08V9a1 1 0 0 0-1-1Zm0 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z\"]);\nexport const LocationTargetSquare32Regular = /*#__PURE__*/createFluentIcon('LocationTargetSquare32Regular', \"32\", [\"M3 7.5A4.5 4.5 0 0 1 7.5 3h17A4.5 4.5 0 0 1 29 7.5v17a4.5 4.5 0 0 1-4.5 4.5h-17A4.5 4.5 0 0 1 3 24.5v-17ZM7.5 5A2.5 2.5 0 0 0 5 7.5v17A2.5 2.5 0 0 0 7.5 27h17a2.5 2.5 0 0 0 2.5-2.5v-17A2.5 2.5 0 0 0 24.5 5h-17ZM16 8a1 1 0 0 1 1 1v1.08A6 6 0 0 1 21.92 15H23a1 1 0 1 1 0 2h-1.08A6 6 0 0 1 17 21.92V23a1 1 0 1 1-2 0v-1.08A6 6 0 0 1 10.08 17H9a1 1 0 1 1 0-2h1.08A6 6 0 0 1 15 10.08V9a1 1 0 0 1 1-1Zm0 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]);\nexport const LockClosed12Filled = /*#__PURE__*/createFluentIcon('LockClosed12Filled', \"12\", [\"M8 4V3a2 2 0 1 0-4 0v1h-.5C2.67 4 2 4.67 2 5.5v4c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-4C10 4.67 9.33 4 8.5 4H8ZM6 2a1 1 0 0 1 1 1v1H5V3a1 1 0 0 1 1-1Z\"]);\nexport const LockClosed12Regular = /*#__PURE__*/createFluentIcon('LockClosed12Regular', \"12\", [\"M4 4V3a2 2 0 1 1 4 0v1h.5c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 2 9.5v-4C2 4.67 2.67 4 3.5 4H4Zm1-1v1h2V3a1 1 0 0 0-2 0ZM3.5 5a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-5Z\"]);\nexport const LockClosed16Filled = /*#__PURE__*/createFluentIcon('LockClosed16Filled', \"16\", [\"M5 3.5a3 3 0 0 1 6 0V4h.5A2.5 2.5 0 0 1 14 6.5v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-5A2.5 2.5 0 0 1 4.5 4H5v-.5Zm3-2a2 2 0 0 0-2 2V4h4v-.5a2 2 0 0 0-2-2ZM8 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const LockClosed16Regular = /*#__PURE__*/createFluentIcon('LockClosed16Regular', \"16\", [\"M9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM5 4h-.5A2.5 2.5 0 0 0 2 6.5v5A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-5A2.5 2.5 0 0 0 11.5 4H11v-.5a3 3 0 0 0-6 0V4Zm1-.5a2 2 0 1 1 4 0V4H6v-.5ZM11.5 5c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-5C3 5.67 3.67 5 4.5 5h7Z\"]);\nexport const LockClosed20Filled = /*#__PURE__*/createFluentIcon('LockClosed20Filled', \"20\", [\"M10 2a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-1V5a3 3 0 0 0-3-3ZM8 5a2 2 0 1 1 4 0v1H8V5Zm2 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LockClosed20Regular = /*#__PURE__*/createFluentIcon('LockClosed20Regular', \"20\", [\"M10 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6 6h1V5a3 3 0 0 1 6 0v1h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3Zm4-3a2 2 0 0 0-2 2v1h4V5a2 2 0 0 0-2-2Zm6 6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V9Z\"]);\nexport const LockClosed24Filled = /*#__PURE__*/createFluentIcon('LockClosed24Filled', \"24\", [\"M16 6v1h.75C18.55 7 20 8.46 20 10.25v7.5c0 1.8-1.46 3.25-3.25 3.25h-9.5A3.25 3.25 0 0 1 4 17.75v-7.5C4 8.45 5.46 7 7.25 7H8V6a4 4 0 1 1 8 0ZM9.5 6v1h5V6a2.5 2.5 0 0 0-5 0Zm2.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"]);\nexport const LockClosed24Regular = /*#__PURE__*/createFluentIcon('LockClosed24Regular', \"24\", [\"M12 15.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM8 6a4 4 0 1 1 8 0v1h.75C18.55 7 20 8.46 20 10.25v7.5c0 1.8-1.46 3.25-3.25 3.25h-9.5A3.25 3.25 0 0 1 4 17.75v-7.5C4 8.45 5.46 7 7.25 7H8V6Zm4-2.5A2.5 2.5 0 0 0 9.5 6v1h5V6A2.5 2.5 0 0 0 12 3.5Zm-4.75 5c-.97 0-1.75.78-1.75 1.75v7.5c0 .97.78 1.75 1.75 1.75h9.5c.97 0 1.75-.78 1.75-1.75v-7.5c0-.97-.78-1.75-1.75-1.75h-9.5Z\"]);\nexport const LockClosed28Filled = /*#__PURE__*/createFluentIcon('LockClosed28Filled', \"28\", [\"M9 6.5a4.5 4.5 0 1 1 9 0V8h1.25A3.75 3.75 0 0 1 23 11.75v9.5A3.75 3.75 0 0 1 19.25 25H7.75A3.75 3.75 0 0 1 4 21.25v-9.5A3.75 3.75 0 0 1 7.75 8H9V6.5Zm4.5-3a3 3 0 0 0-3 3V8h6V6.5a3 3 0 0 0-3-3Zm0 14.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"]);\nexport const LockClosed28Regular = /*#__PURE__*/createFluentIcon('LockClosed28Regular', \"28\", [\"M13.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM9 6.5a4.5 4.5 0 1 1 9 0V8h1.25A3.75 3.75 0 0 1 23 11.75v9.5A3.75 3.75 0 0 1 19.25 25H7.75A3.75 3.75 0 0 1 4 21.25v-9.5A3.75 3.75 0 0 1 7.75 8H9V6.5Zm4.5-3a3 3 0 0 0-3 3V8h6V6.5a3 3 0 0 0-3-3Zm-5.75 6c-1.24 0-2.25 1-2.25 2.25v9.5c0 1.24 1 2.25 2.25 2.25h11.5c1.24 0 2.25-1 2.25-2.25v-9.5c0-1.24-1-2.25-2.25-2.25H7.75Z\"]);\nexport const LockClosed32Filled = /*#__PURE__*/createFluentIcon('LockClosed32Filled', \"32\", [\"M10 8a6 6 0 0 1 12 0v1h1.5a4.5 4.5 0 0 1 4.5 4.5v12a4.5 4.5 0 0 1-4.5 4.5h-15A4.5 4.5 0 0 1 4 25.5v-12A4.5 4.5 0 0 1 8.5 9H10V8Zm6-4a4 4 0 0 0-4 4v1h8V8a4 4 0 0 0-4-4Zm0 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]);\nexport const LockClosed32Regular = /*#__PURE__*/createFluentIcon('LockClosed32Regular', \"32\", [\"M18 20a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM10 9H8.5A4.5 4.5 0 0 0 4 13.5v12A4.5 4.5 0 0 0 8.5 30h15a4.5 4.5 0 0 0 4.5-4.5v-12A4.5 4.5 0 0 0 23.5 9H22V8a6 6 0 0 0-12 0v1Zm2-1a4 4 0 0 1 8 0v1h-8V8Zm11.5 3a2.5 2.5 0 0 1 2.5 2.5v12a2.5 2.5 0 0 1-2.5 2.5h-15A2.5 2.5 0 0 1 6 25.5v-12A2.5 2.5 0 0 1 8.5 11h15Z\"]);\nexport const LockClosed48Filled = /*#__PURE__*/createFluentIcon('LockClosed48Filled', \"48\", [\"M16 12a8 8 0 1 1 16 0v2h1.75C37.2 14 40 16.8 40 20.25v15.5C40 39.2 37.2 42 33.75 42h-19.5A6.25 6.25 0 0 1 8 35.75v-15.5C8 16.8 10.8 14 14.25 14H16v-2Zm8-5.5a5.5 5.5 0 0 0-5.5 5.5v2h11v-2A5.5 5.5 0 0 0 24 6.5ZM24 31a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]);\nexport const LockClosed48Regular = /*#__PURE__*/createFluentIcon('LockClosed48Regular', \"48\", [\"M27 28a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM16 14v-2a8 8 0 1 1 16 0v2h1.75C37.2 14 40 16.8 40 20.25v15.5C40 39.2 37.2 42 33.75 42h-19.5A6.25 6.25 0 0 1 8 35.75v-15.5C8 16.8 10.8 14 14.25 14H16Zm2.5-2v2h11v-2a5.5 5.5 0 1 0-11 0Zm-4.25 4.5a3.75 3.75 0 0 0-3.75 3.75v15.5a3.75 3.75 0 0 0 3.75 3.75h19.5a3.75 3.75 0 0 0 3.75-3.75v-15.5a3.75 3.75 0 0 0-3.75-3.75h-19.5Z\"]);\nexport const LockClosedKey16Filled = /*#__PURE__*/createFluentIcon('LockClosedKey16Filled', \"16\", [\"M5 3.5a3 3 0 0 1 6 0V4h.5a2.5 2.5 0 0 1 2.47 2.12 4 4 0 0 0-4.93 4.43L6.59 13a2 2 0 0 0-.55 1H4.5A2.5 2.5 0 0 1 2 11.5v-5A2.5 2.5 0 0 1 4.5 4H5v-.5Zm3-2a2 2 0 0 0-2 2V4h4v-.5a2 2 0 0 0-2-2ZM8 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5 3a3 3 0 1 0-2.87-2.13l-2.84 2.84a1 1 0 0 0-.29.7v1.09c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V15h.5a.5.5 0 0 0 .5-.5V14h.5a.5.5 0 0 0 .5-.5v-.67a3 3 0 0 0 1 .17Zm.75-4.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const LockClosedKey16Regular = /*#__PURE__*/createFluentIcon('LockClosedKey16Regular', \"16\", [\"M9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM5 4h-.5A2.5 2.5 0 0 0 2 6.5v5A2.5 2.5 0 0 0 4.5 14h1.54a2 2 0 0 1 .55-1H4.5A1.5 1.5 0 0 1 3 11.5v-5C3 5.67 3.67 5 4.5 5h7c.65 0 1.2.42 1.41 1a4.07 4.07 0 0 1 1.06.12A2.5 2.5 0 0 0 11.5 4H11v-.5a3 3 0 0 0-6 0V4Zm1-.5a2 2 0 1 1 4 0V4H6v-.5Zm7 9.5a3 3 0 1 0-2.87-2.13l-2.84 2.84a1 1 0 0 0-.29.7v1.09c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V15h.5a.5.5 0 0 0 .5-.5V14h.5a.5.5 0 0 0 .5-.5v-.67a3 3 0 0 0 1 .17Zm.75-4.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const LockClosedKey20Filled = /*#__PURE__*/createFluentIcon('LockClosedKey20Filled', \"20\", [\"M7 5a3 3 0 0 1 6 0v1h1a3 3 0 0 1 3 3v.13a4 4 0 0 0-4.96 4.42L9.59 16A2 2 0 0 0 9 17.41V18H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3-2a2 2 0 0 0-2 2v1h4V5a2 2 0 0 0-2-2Zm-1 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm7 4a3 3 0 1 0-2.87-2.13l-2.84 2.84a1 1 0 0 0-.29.7v1.09c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V18h.5a.5.5 0 0 0 .5-.5V17h.5a.5.5 0 0 0 .5-.5v-.67a3 3 0 0 0 1 .17Zm.75-4.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const LockClosedKey20Regular = /*#__PURE__*/createFluentIcon('LockClosedKey20Regular', \"20\", [\"M11 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 6H6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h3v-.59a2 2 0 0 1 .04-.41H6a2 2 0 0 1-2-2V9c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2 4 4 0 0 1 1 .13V9a3 3 0 0 0-3-3h-1V5a3 3 0 1 0-6 0v1Zm1-1a2 2 0 1 1 4 0v1H8V5Zm8 11a3 3 0 1 0-2.87-2.13l-2.84 2.84a1 1 0 0 0-.29.7v1.09c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V18h.5a.5.5 0 0 0 .5-.5V17h.5a.5.5 0 0 0 .5-.5v-.67a3 3 0 0 0 1 .17Zm.75-4.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const LockClosedKey24Filled = /*#__PURE__*/createFluentIcon('LockClosedKey24Filled', \"24\", [\"M16 7V6a4 4 0 0 0-8 0v1h-.75A3.25 3.25 0 0 0 4 10.25v7.5C4 19.55 5.46 21 7.25 21H11v-.09a2 2 0 0 1 .59-1.41l3.44-3.45A4.5 4.5 0 0 1 20 11.03v-.78C20 8.45 18.54 7 16.75 7H16ZM9.5 7V6a2.5 2.5 0 0 1 5 0v1h-5Zm4 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm6 5a3.5 3.5 0 1 0-3.39-2.61L12.3 20.2a1 1 0 0 0-.29.7v1.59c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V22h1a.5.5 0 0 0 .5-.5v-1h1a.5.5 0 0 0 .5-.5v-1h1.5Zm.5-5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"]);\nexport const LockClosedKey24Regular = /*#__PURE__*/createFluentIcon('LockClosedKey24Regular', \"24\", [\"M13.5 14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM12 2a4 4 0 0 0-4 4v1h-.75A3.25 3.25 0 0 0 4 10.25v7.5C4 19.55 5.46 21 7.25 21H11v-.09a2 2 0 0 1 .59-1.41H7.25c-.97 0-1.75-.78-1.75-1.75v-7.5c0-.97.78-1.75 1.75-1.75h9.5c.97 0 1.75.78 1.75 1.75v.86a4.51 4.51 0 0 1 1.5-.08v-.78C20 8.45 18.54 7 16.75 7H16V6a4 4 0 0 0-4-4ZM9.5 6a2.5 2.5 0 0 1 5 0v1h-5V6Zm10 13a3.5 3.5 0 1 0-3.39-2.61L12.3 20.2a1 1 0 0 0-.29.7v1.59c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V22h1a.5.5 0 0 0 .5-.5v-1h1a.5.5 0 0 0 .5-.5v-1h1.5Zm.5-5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"]);\nexport const LockMultiple20Filled = /*#__PURE__*/createFluentIcon('LockMultiple20Filled', \"20\", [\"M9 3a2 2 0 0 1 2 2v1H7V5c0-1.1.9-2 2-2Zm3 3V5a3 3 0 1 0-6 0v1h-.5C4.67 6 4 6.67 4 7.5v6c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5H12ZM6.09 16c.2.58.76 1 1.41 1h5a3.5 3.5 0 0 0 3.5-3.5v-4c0-.65-.42-1.2-1-1.41v5.41a2.5 2.5 0 0 1-2.5 2.5H6.1ZM10 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const LockMultiple20Regular = /*#__PURE__*/createFluentIcon('LockMultiple20Regular', \"20\", [\"M9 3a2 2 0 0 1 2 2v1H7V5c0-1.1.9-2 2-2ZM6 5v1h-.5C4.67 6 4 6.67 4 7.5v6c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5H12V5a3 3 0 1 0-6 0ZM5 7.5c0-.28.22-.5.5-.5h7c.28 0 .5.22.5.5v6a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-6ZM7.5 17a1.5 1.5 0 0 1-1.41-1h6.41a2.5 2.5 0 0 0 2.5-2.5V8.09c.58.2 1 .76 1 1.41v4a3.5 3.5 0 0 1-3.5 3.5h-5ZM9 11.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const LockMultiple24Filled = /*#__PURE__*/createFluentIcon('LockMultiple24Filled', \"24\", [\"M7.25 5.5a3.5 3.5 0 1 1 7 0v1h1c1.24 0 2.25 1 2.25 2.25v7.5c0 1.24-1 2.25-2.25 2.25h-9c-1.24 0-2.25-1-2.25-2.25v-7.5C4 7.51 5 6.5 6.25 6.5h1v-1Zm5.5 0a2 2 0 1 0-4 0v1h4v-1Zm-2 8.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM7.63 19.5c.3.87 1.14 1.5 2.12 1.5h6C18.1 21 20 19.1 20 16.75v-4.5c0-.98-.63-1.81-1.5-2.12v6.62a2.75 2.75 0 0 1-2.75 2.75H7.63Z\"]);\nexport const LockMultiple24Regular = /*#__PURE__*/createFluentIcon('LockMultiple24Regular', \"24\", [\"M10.75 13.75a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM7.25 5.5a3.5 3.5 0 1 1 7 0v1h1c1.24 0 2.25 1 2.25 2.25v7.5c0 1.24-1 2.25-2.25 2.25h-9c-1.24 0-2.25-1-2.25-2.25v-7.5C4 7.51 5 6.5 6.25 6.5h1v-1Zm5.5 0a2 2 0 1 0-4 0v1h4v-1ZM5.5 8.75v7.5c0 .41.34.75.75.75h9c.41 0 .75-.34.75-.75v-7.5a.75.75 0 0 0-.75-.75h-9a.75.75 0 0 0-.75.75ZM9.75 21c-.98 0-1.81-.63-2.12-1.5h8.12a2.75 2.75 0 0 0 2.75-2.75v-6.62c.87.3 1.5 1.14 1.5 2.12v4.5C20 19.1 18.1 21 15.75 21h-6Z\"]);\nexport const LockOpen12Filled = /*#__PURE__*/createFluentIcon('LockOpen12Filled', \"12\", [\"M8 3a1 1 0 0 1 2 0 .5.5 0 0 0 1 0 2 2 0 1 0-4 0v1H3.5C2.67 4 2 4.67 2 5.5v4c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-4C10 4.67 9.33 4 8.5 4H8V3Z\"]);\nexport const LockOpen12Regular = /*#__PURE__*/createFluentIcon('LockOpen12Regular', \"12\", [\"M8 3a1 1 0 0 1 2 0 .5.5 0 0 0 1 0 2 2 0 1 0-4 0v1H3.5C2.67 4 2 4.67 2 5.5v4c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-4C10 4.67 9.33 4 8.5 4H8V3ZM3.5 5h5c.28 0 .5.22.5.5v4a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-4c0-.28.22-.5.5-.5Z\"]);\nexport const LockOpen16Filled = /*#__PURE__*/createFluentIcon('LockOpen16Filled', \"16\", [\"M11 2.5a1 1 0 1 1 2 0 .5.5 0 0 0 1 0 2 2 0 1 0-4 0V4H4.5A2.5 2.5 0 0 0 2 6.5v5A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-5A2.5 2.5 0 0 0 11.5 4H11V2.5ZM8 10a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LockOpen16Regular = /*#__PURE__*/createFluentIcon('LockOpen16Regular', \"16\", [\"M11 2.5a1 1 0 1 1 2 0 .5.5 0 0 0 1 0 2 2 0 1 0-4 0V4H4.5A2.5 2.5 0 0 0 2 6.5v5A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-5A2.5 2.5 0 0 0 11.5 4H11V2.5ZM4.5 5h7c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-5C3 5.67 3.67 5 4.5 5ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const LockOpen20Filled = /*#__PURE__*/createFluentIcon('LockOpen20Filled', \"20\", [\"M15 2a2 2 0 0 0-2 2v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h6V4a3 3 0 1 1 6 0v.5a.5.5 0 0 1-1 0V4a2 2 0 0 0-2-2Zm-5 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const LockOpen20Regular = /*#__PURE__*/createFluentIcon('LockOpen20Regular', \"20\", [\"M10 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-11a2 2 0 0 0-2 2v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h6V4a3 3 0 1 1 6 0v.5a.5.5 0 0 1-1 0V4a2 2 0 0 0-2-2Zm-1 5H6a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2Z\"]);\nexport const LockOpen24Filled = /*#__PURE__*/createFluentIcon('LockOpen24Filled', \"24\", [\"M16 5a2.5 2.5 0 0 1 5 0v.25a.75.75 0 0 0 1.5 0V5a4 4 0 0 0-8 0v2H7.25A3.25 3.25 0 0 0 4 10.25v7.5C4 19.55 5.46 21 7.25 21h9.5c1.8 0 3.25-1.46 3.25-3.25v-7.5C20 8.45 18.54 7 16.75 7H16V5Zm-4 10.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\"]);\nexport const LockOpen24Regular = /*#__PURE__*/createFluentIcon('LockOpen24Regular', \"24\", [\"M16 5a2.5 2.5 0 0 1 5 0v.25a.75.75 0 0 0 1.5 0V5a4 4 0 0 0-8 0v2H7.25A3.25 3.25 0 0 0 4 10.25v7.5C4 19.55 5.46 21 7.25 21h9.5c1.8 0 3.25-1.46 3.25-3.25v-7.5C20 8.45 18.54 7 16.75 7H16V5ZM7.25 8.5h9.5c.97 0 1.75.78 1.75 1.75v7.5c0 .97-.78 1.75-1.75 1.75h-9.5c-.97 0-1.75-.78-1.75-1.75v-7.5c0-.97.78-1.75 1.75-1.75Zm4.75 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"]);\nexport const LockOpen28Filled = /*#__PURE__*/createFluentIcon('LockOpen28Filled', \"28\", [\"M18 5.5a3 3 0 1 1 6 0v1a.75.75 0 0 0 1.5 0v-1a4.5 4.5 0 1 0-9 0V8H7.75A3.75 3.75 0 0 0 4 11.75v9.5A3.75 3.75 0 0 0 7.75 25h11.5A3.75 3.75 0 0 0 23 21.25v-9.5A3.75 3.75 0 0 0 19.25 8H18V5.5ZM13.5 18a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\"]);\nexport const LockOpen28Regular = /*#__PURE__*/createFluentIcon('LockOpen28Regular', \"28\", [\"M18 5.5a3 3 0 1 1 6 0v1a.75.75 0 0 0 1.5 0v-1a4.5 4.5 0 1 0-9 0V8H7.75A3.75 3.75 0 0 0 4 11.75v9.5A3.75 3.75 0 0 0 7.75 25h11.5A3.75 3.75 0 0 0 23 21.25v-9.5A3.75 3.75 0 0 0 19.25 8H18V5.5Zm-10.25 4h11.5c1.24 0 2.25 1 2.25 2.25v9.5c0 1.24-1 2.25-2.25 2.25H7.75c-1.24 0-2.25-1-2.25-2.25v-9.5c0-1.24 1-2.25 2.25-2.25ZM13.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"]);\nexport const LockOpen32Filled = /*#__PURE__*/createFluentIcon('LockOpen32Filled', \"32\", [\"M22 6a4 4 0 0 1 8 0v1a1 1 0 1 0 2 0V6a6 6 0 0 0-12 0v3H8.5A4.5 4.5 0 0 0 4 13.5v12A4.5 4.5 0 0 0 8.5 30h15a4.5 4.5 0 0 0 4.5-4.5v-12A4.5 4.5 0 0 0 23.5 9H22V6Zm-6 16a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z\"]);\nexport const LockOpen32Regular = /*#__PURE__*/createFluentIcon('LockOpen32Regular', \"32\", [\"M22 6a4 4 0 0 1 8 0v1a1 1 0 1 0 2 0V6a6 6 0 0 0-12 0v3H8.5A4.5 4.5 0 0 0 4 13.5v12A4.5 4.5 0 0 0 8.5 30h15a4.5 4.5 0 0 0 4.5-4.5v-12A4.5 4.5 0 0 0 23.5 9H22V6ZM8.5 11h15a2.5 2.5 0 0 1 2.5 2.5v12a2.5 2.5 0 0 1-2.5 2.5h-15A2.5 2.5 0 0 1 6 25.5v-12A2.5 2.5 0 0 1 8.5 11Zm9.5 9a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"]);\nexport const LockOpen48Filled = /*#__PURE__*/createFluentIcon('LockOpen48Filled', \"48\", [\"M32 10a5.5 5.5 0 1 1 11 0v1a1.25 1.25 0 1 0 2.5 0v-1a8 8 0 1 0-16 0v4H14.25A6.25 6.25 0 0 0 8 20.25v15.5C8 39.2 10.8 42 14.25 42h19.5C37.2 42 40 39.2 40 35.75v-15.5C40 16.8 37.2 14 33.75 14H32v-4Zm-8 21a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"]);\nexport const LockOpen48Regular = /*#__PURE__*/createFluentIcon('LockOpen48Regular', \"48\", [\"M32 10a5.5 5.5 0 1 1 11 0v1a1.25 1.25 0 1 0 2.5 0v-1a8 8 0 1 0-16 0v4H14.25A6.25 6.25 0 0 0 8 20.25v15.5C8 39.2 10.8 42 14.25 42h19.5C37.2 42 40 39.2 40 35.75v-15.5C40 16.8 37.2 14 33.75 14H32v-4Zm-17.75 6.5h19.5a3.75 3.75 0 0 1 3.75 3.75v15.5a3.75 3.75 0 0 1-3.75 3.75h-19.5a3.75 3.75 0 0 1-3.75-3.75v-15.5a3.75 3.75 0 0 1 3.75-3.75ZM27 28a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"]);\nexport const LockShield16Filled = /*#__PURE__*/createFluentIcon('LockShield16Filled', \"16\", [\"M5 3.5a3 3 0 0 1 6 0V4h.5A2.5 2.5 0 0 1 14 6.5v.35a5.68 5.68 0 0 1-.4-.38 1.54 1.54 0 0 0-2.2 0 3.98 3.98 0 0 1-2.1 1.25c-.3.05-.6.18-.83.4A1 1 0 1 0 8 10v1.52c0 .97.23 1.8.58 2.48H4.5A2.5 2.5 0 0 1 2 11.5v-5A2.5 2.5 0 0 1 4.5 4H5v-.5Zm3-2a2 2 0 0 0-2 2V4h4v-.5a2 2 0 0 0-2-2Zm4.88 5.66c.5.53 1.48 1.38 2.68 1.55a.5.5 0 0 1 .44.48v2.33c0 3.12-2.78 4.25-3.39 4.46a.34.34 0 0 1-.22 0c-.6-.2-3.39-1.34-3.39-4.46V9.19c0-.24.2-.44.44-.48a4.95 4.95 0 0 0 2.68-1.55c.2-.21.56-.21.76 0Z\"]);\nexport const LockShield16Regular = /*#__PURE__*/createFluentIcon('LockShield16Regular', \"16\", [\"M8 9.2c0-.45.19-.82.47-1.08A1 1 0 1 0 8 10v-.8ZM11.5 5c.68 0 1.25.45 1.44 1.06.24.07.47.21.66.4.12.13.25.26.4.39V6.5A2.5 2.5 0 0 0 11.5 4H11v-.5a3 3 0 0 0-6 0V4h-.5A2.5 2.5 0 0 0 2 6.5v5A2.5 2.5 0 0 0 4.5 14h4.08c-.16-.3-.3-.64-.39-1H4.5A1.5 1.5 0 0 1 3 11.5v-5C3 5.67 3.67 5 4.5 5h7ZM6 3.5a2 2 0 1 1 4 0V4H6v-.5Zm6.88 3.66c.5.53 1.48 1.38 2.68 1.55a.5.5 0 0 1 .44.48v2.33c0 3.12-2.78 4.25-3.39 4.46a.34.34 0 0 1-.22 0c-.6-.2-3.39-1.34-3.39-4.46V9.19c0-.24.2-.44.44-.48a4.95 4.95 0 0 0 2.68-1.55c.2-.21.56-.21.76 0Z\"]);\nexport const LockShield20Filled = /*#__PURE__*/createFluentIcon('LockShield20Filled', \"20\", [\"M10 2a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5.24A5.3 5.3 0 0 1 10 14.52V13a1 1 0 1 1 .47-1.88c.23-.22.52-.35.82-.4a3.98 3.98 0 0 0 2.1-1.25c.6-.63 1.62-.63 2.21 0 .34.35.83.78 1.4 1.04V9a3 3 0 0 0-3-3h-1V5a3 3 0 0 0-3-3ZM8 5a2 2 0 1 1 4 0v1H8V5Zm6.88 5.16c.5.53 1.48 1.38 2.68 1.55a.5.5 0 0 1 .44.48v2.33c0 3.12-2.78 4.25-3.39 4.46a.34.34 0 0 1-.22 0c-.6-.2-3.39-1.34-3.39-4.46v-2.33c0-.24.2-.44.44-.48a4.95 4.95 0 0 0 2.68-1.55c.2-.21.56-.21.76 0Z\"]);\nexport const LockShield20Regular = /*#__PURE__*/createFluentIcon('LockShield20Regular', \"20\", [\"M10 13v-.8c0-.45.19-.82.47-1.08A1 1 0 1 0 10 13Zm-4 4h4.58c.19.37.41.7.66 1H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5a3 3 0 0 1 6 0v1h1a3 3 0 0 1 3 3v1.5a4.32 4.32 0 0 1-1-.65V9a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2Zm4-14a2 2 0 0 0-2 2v1h4V5a2 2 0 0 0-2-2Zm4.88 7.16c.5.53 1.48 1.38 2.68 1.55a.5.5 0 0 1 .44.48v2.33c0 3.12-2.78 4.25-3.39 4.46a.34.34 0 0 1-.22 0c-.6-.2-3.39-1.34-3.39-4.46v-2.33c0-.24.2-.44.44-.48a4.95 4.95 0 0 0 2.68-1.55c.2-.21.56-.21.76 0Z\"]);\nexport const LockShield24Filled = /*#__PURE__*/createFluentIcon('LockShield24Filled', \"24\", [\"M16 6v1h.75C18.55 7 20 8.46 20 10.25v2.27a6.94 6.94 0 0 1-1.31-1.03 1.7 1.7 0 0 0-2.39 0 5.52 5.52 0 0 1-3.07 1.65A1.5 1.5 0 1 0 12 15.5v2.02c0 1.28.35 2.46 1.03 3.48H7.25A3.25 3.25 0 0 1 4 17.75v-7.5C4 8.45 5.46 7 7.25 7H8V6a4 4 0 1 1 8 0ZM9.5 6v1h5V6a2.5 2.5 0 0 0-5 0Zm8.49 6.2c.65.65 1.9 1.68 3.45 1.9.3.04.56.28.56.58v2.84c0 3.82-3.58 5.2-4.35 5.46-.1.03-.2.03-.3 0-.77-.26-4.35-1.64-4.35-5.46v-2.84c0-.3.25-.54.56-.59a6.44 6.44 0 0 0 3.45-1.9.71.71 0 0 1 .98 0Z\"]);\nexport const LockShield24Regular = /*#__PURE__*/createFluentIcon('LockShield24Regular', \"24\", [\"M10.5 14c0 .83.67 1.5 1.5 1.5v-.81c0-.82.6-1.38 1.23-1.54a1.5 1.5 0 0 0-2.73.85Zm-3.25 5.5h5.06c.17.53.41 1.03.72 1.5H7.25A3.25 3.25 0 0 1 4 17.75v-7.5C4 8.45 5.46 7 7.25 7H8V6a4 4 0 1 1 8 0v1h.75C18.55 7 20 8.46 20 10.25v2.27a6.94 6.94 0 0 1-1.5-1.2v-1.07c0-.97-.78-1.75-1.75-1.75h-9.5c-.97 0-1.75.78-1.75 1.75v7.5c0 .97.78 1.75 1.75 1.75ZM12 3.5A2.5 2.5 0 0 0 9.5 6v1h5V6A2.5 2.5 0 0 0 12 3.5Zm5.99 8.7c.65.65 1.9 1.68 3.45 1.9.3.04.56.28.56.58v2.84c0 3.82-3.58 5.2-4.35 5.46-.1.03-.2.03-.3 0-.77-.26-4.35-1.64-4.35-5.46v-2.84c0-.3.25-.54.56-.59a6.44 6.44 0 0 0 3.45-1.9.71.71 0 0 1 .98 0Z\"]);\nexport const LockShield28Filled = /*#__PURE__*/createFluentIcon('LockShield28Filled', \"28\", [\"M9 6.5a4.5 4.5 0 1 1 9 0V8h1.25A3.75 3.75 0 0 1 23 11.75v2.74c-.49-.33-.9-.68-1.2-.98a1.9 1.9 0 0 0-2.6 0 6.95 6.95 0 0 1-3.65 1.97 1.9 1.9 0 0 0-.75.28 1.5 1.5 0 1 0-.8 2.15v2.61c0 1.91.68 3.38 1.58 4.48H7.75A3.75 3.75 0 0 1 4 21.25v-9.5A3.75 3.75 0 0 1 7.75 8H9V6.5Zm4.5-3a3 3 0 0 0-3 3V8h6V6.5a3 3 0 0 0-3-3Zm7.6 10.73c.8.77 2.33 2 4.21 2.24.38.05.69.34.69.7v3.35c0 4.51-4.37 6.15-5.32 6.45a.58.58 0 0 1-.36 0c-.94-.3-5.32-1.94-5.32-6.45v-3.35c0-.36.31-.65.69-.7a7.94 7.94 0 0 0 4.21-2.24.9.9 0 0 1 1.2 0Z\"]);\nexport const LockShield28Regular = /*#__PURE__*/createFluentIcon('LockShield28Regular', \"28\", [\"M13.5 18c.18 0 .34-.03.5-.09v-.74c0-.65.35-1.13.8-1.41A1.5 1.5 0 1 0 13.5 18Zm-5.75 5.5h6.89c.26.56.58 1.06.94 1.5H7.75A3.75 3.75 0 0 1 4 21.25v-9.5A3.75 3.75 0 0 1 7.75 8H9V6.5a4.5 4.5 0 1 1 9 0V8h1.25A3.75 3.75 0 0 1 23 11.75v2.74c-.49-.33-.9-.68-1.2-.98a1.77 1.77 0 0 0-.3-.23v-1.53c0-1.24-1-2.25-2.25-2.25H7.75c-1.24 0-2.25 1-2.25 2.25v9.5c0 1.24 1 2.25 2.25 2.25Zm5.75-20a3 3 0 0 0-3 3V8h6V6.5a3 3 0 0 0-3-3Zm7.6 10.73c.8.77 2.33 2 4.21 2.24.38.05.69.34.69.7v3.35c0 4.51-4.37 6.15-5.32 6.45a.58.58 0 0 1-.36 0c-.94-.3-5.32-1.94-5.32-6.45v-3.35c0-.36.31-.65.69-.7a7.94 7.94 0 0 0 4.21-2.24.9.9 0 0 1 1.2 0Z\"]);\nexport const LockShield32Filled = /*#__PURE__*/createFluentIcon('LockShield32Filled', \"32\", [\"M10 8a6 6 0 0 1 12 0v1h1.5a4.5 4.5 0 0 1 4.5 4.5v3a9.97 9.97 0 0 1-1.76-1.33c-.96-.9-2.52-.9-3.48 0-.87.82-2.39 1.97-4.14 2.2-.57.07-1.2.37-1.63.9a2 2 0 1 0-.5 3.67l.01 1.59c0 3 1.43 5.1 3 6.47h-11A4.5 4.5 0 0 1 4 25.5v-12A4.5 4.5 0 0 1 8.5 9H10V8Zm6-4a4 4 0 0 0-4 4v1h8V8a4 4 0 0 0-4-4Zm9.2 12.27c.95.88 2.76 2.3 4.99 2.58.44.06.81.4.81.8v3.88c0 5.2-5.17 7.09-6.29 7.44a.7.7 0 0 1-.42 0c-1.12-.35-6.29-2.24-6.29-7.44v-3.87c0-.42.37-.75.81-.8 2.23-.3 4.04-1.7 4.98-2.6a1.08 1.08 0 0 1 1.42 0Z\"]);\nexport const LockShield32Regular = /*#__PURE__*/createFluentIcon('LockShield32Regular', \"32\", [\"M16.5 19.66c0-.57.2-1.04.5-1.4a2 2 0 1 0-.5 3.67v-2.27ZM26 13.5v1.48c.08.06.16.12.24.2.43.4 1.04.9 1.76 1.32v-3A4.5 4.5 0 0 0 23.5 9H22V8a6 6 0 0 0-12 0v1H8.5A4.5 4.5 0 0 0 4 13.5v12A4.5 4.5 0 0 0 8.5 30h11a9.22 9.22 0 0 1-1.73-2H8.5A2.5 2.5 0 0 1 6 25.5v-12A2.5 2.5 0 0 1 8.5 11h15a2.5 2.5 0 0 1 2.5 2.5ZM12 8a4 4 0 0 1 8 0v1h-8V8Zm13.2 8.27c.95.88 2.76 2.3 4.99 2.58.44.06.81.4.81.8v3.88c0 5.2-5.17 7.09-6.29 7.44a.7.7 0 0 1-.42 0c-1.12-.35-6.29-2.24-6.29-7.44v-3.87c0-.42.37-.75.81-.8 2.23-.3 4.04-1.7 4.98-2.6a1.08 1.08 0 0 1 1.42 0Z\"]);\nexport const LockShield48Filled = /*#__PURE__*/createFluentIcon('LockShield48Filled', \"48\", [\"M16 12a8 8 0 1 1 16 0v2h1.75C37.2 14 40 16.8 40 20.25v3.76c-.76-.4-1.53-.87-2.3-1.45-1.01-.75-2.39-.75-3.4 0-2.54 1.89-5.01 2.74-7.47 2.74-.4 0-.78.08-1.12.23A3 3 0 1 0 24 31v2.9c-.01 2.94.9 5.77 2.65 8.1H14.25A6.25 6.25 0 0 1 8 35.75v-15.5C8 16.8 10.8 14 14.25 14H16v-2Zm8-5.5a5.5 5.5 0 0 0-5.5 5.5v2h11v-2A5.5 5.5 0 0 0 24 6.5Zm17.56 20.27c-.94-.27-1.86-.66-2.78-1.15-.77-.41-1.52-.9-2.28-1.46a.84.84 0 0 0-1 0c-2.82 2.1-5.7 3.14-8.67 3.14a.83.83 0 0 0-.83.82v5.78c0 1.8.36 3.46 1.06 4.95.47.99 1.09 1.9 1.86 2.75 1.6 1.76 3.87 3.2 6.77 4.34.2.08.42.08.62 0C42.7 43.44 46 39.4 46 33.9v-5.77a.83.83 0 0 0-.83-.83c-1.22 0-2.42-.18-3.61-.53Z\"]);\nexport const LockShield48Regular = /*#__PURE__*/createFluentIcon('LockShield48Regular', \"48\", [\"M37.5 20.25v2.18l.2.13c.77.58 1.54 1.06 2.3 1.45v-3.76C40 16.8 37.2 14 33.75 14H32v-2a8 8 0 1 0-16 0v2h-1.75A6.25 6.25 0 0 0 8 20.25v15.5C8 39.2 10.8 42 14.25 42h12.4a13 13 0 0 1-1.47-2.5H14.25a3.75 3.75 0 0 1-3.75-3.75v-15.5a3.75 3.75 0 0 1 3.75-3.75h19.5a3.75 3.75 0 0 1 3.75 3.75ZM24 28.13V31a3 3 0 1 1 1.7-5.47c-1 .43-1.7 1.42-1.7 2.6ZM18.5 12a5.5 5.5 0 1 1 11 0v2h-11v-2Zm23.06 14.77c-.94-.27-1.86-.66-2.78-1.15-.77-.41-1.52-.9-2.28-1.46a.84.84 0 0 0-1 0c-2.82 2.1-5.7 3.14-8.67 3.14a.83.83 0 0 0-.83.82v5.78c0 1.8.36 3.46 1.06 4.95.47.99 1.09 1.9 1.86 2.75 1.6 1.76 3.87 3.2 6.77 4.34.2.08.42.08.62 0C42.7 43.44 46 39.4 46 33.9v-5.77a.83.83 0 0 0-.83-.83c-1.22 0-2.42-.18-3.61-.53Z\"]);\nexport const Lottery20Filled = /*#__PURE__*/createFluentIcon('Lottery20Filled', \"20\", [\"M12.44 3.25c-.98.32-1.83.94-2.44 1.75a5.01 5.01 0 0 0-2.44-1.75 3 3 0 0 1 4.88 0Zm-8.81 7.97a6.5 6.5 0 0 1 5.85-5.2 4 4 0 1 0-5.85 5.2Zm12.74 0a4 4 0 1 0-5.85-5.2 6.5 6.5 0 0 1 5.85 5.2Zm-.87 1.28a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.5-2c0 .28.22.5.5.5h2.24l-.32.48a7.65 7.65 0 0 0-1.17 2.96.5.5 0 1 0 1 .12c.1-.9.56-1.82 1.02-2.54a11.1 11.1 0 0 1 .84-1.17l.01-.02a.5.5 0 0 0-.37-.83H8.5a.5.5 0 0 0-.5.5Z\"]);\nexport const Lottery20Regular = /*#__PURE__*/createFluentIcon('Lottery20Regular', \"20\", [\"M8.5 3.67a2 2 0 0 1 3 0c.3-.17.6-.31.94-.42a3 3 0 0 0-4.88 0c.33.1.65.25.95.42ZM3 8a3 3 0 0 1 5.4-1.8c.35-.09.7-.15 1.08-.18a4 4 0 1 0-5.85 5.2c.07-.36.17-.71.3-1.05A3 3 0 0 1 3 8Zm11-4a4 4 0 0 0-3.48 2.02c.37.03.73.09 1.08.18a3 3 0 1 1 4.47 3.97c.13.34.23.69.3 1.05A4 4 0 0 0 14 4Zm-8.5 8.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM10 7a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm-1.5 3a.5.5 0 0 0 0 1h2.24l-.32.48a7.65 7.65 0 0 0-1.17 2.96.5.5 0 1 0 1 .12c.1-.9.56-1.82 1.02-2.54a11.1 11.1 0 0 1 .84-1.17l.01-.02a.5.5 0 0 0-.37-.83H8.5Z\"]);\nexport const Lottery24Filled = /*#__PURE__*/createFluentIcon('Lottery24Filled', \"24\", [\"M15.56 4.17A6 6 0 0 0 12 6.68a6 6 0 0 0-3.56-2.5 4 4 0 0 1 7.12 0Zm-11.5 9.87a8 8 0 0 1 6.98-6.98 5 5 0 1 0-6.98 6.98Zm15.88 0a5 5 0 1 0-6.98-6.98 8 8 0 0 1 6.98 6.98ZM12 22a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm-2.5-8.75c0-.41.34-.75.75-.75h4.25a.75.75 0 0 1 .5 1.31l-.02.02a3.24 3.24 0 0 0-.26.26 9.55 9.55 0 0 0-2.25 3.86.75.75 0 1 1-1.44-.4c.4-1.5 1.15-2.7 1.78-3.54l.01-.01h-2.57a.75.75 0 0 1-.75-.75Z\"]);\nexport const Lottery24Regular = /*#__PURE__*/createFluentIcon('Lottery24Regular', \"24\", [\"M14.15 4.72a2.5 2.5 0 0 0-4.3 0 5.96 5.96 0 0 0-1.41-.55 4 4 0 0 1 7.12 0c-.5.13-.97.31-1.41.55ZM9.38 7.44a7.95 7.95 0 0 1 1.66-.38 5 5 0 1 0-6.98 6.98c.07-.57.2-1.13.38-1.66a3.5 3.5 0 0 1 4.95-4.95Zm10.56 6.6a5 5 0 1 0-6.98-6.98c.57.07 1.13.2 1.66.38a3.5 3.5 0 0 1 4.95 4.95c.18.52.3 1.08.37 1.65ZM9.5 13.25c0-.41.34-.75.75-.75h4.25a.75.75 0 0 1 .5 1.31l-.02.02a3.24 3.24 0 0 0-.26.26 9.55 9.55 0 0 0-2.25 3.86.75.75 0 1 1-1.44-.4c.4-1.5 1.15-2.7 1.78-3.54l.01-.01h-2.57a.75.75 0 0 1-.75-.75ZM12 22a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0-1.5a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11Z\"]);\nexport const Luggage16Filled = /*#__PURE__*/createFluentIcon('Luggage16Filled', \"16\", [\"M5.83 1a.5.5 0 0 0 0 1H6v1H5a2 2 0 0 0-2 2v7c0 1.1.9 2 2 2v.5a.5.5 0 0 0 1 0V14h4v.5a.5.5 0 0 0 1 0V14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-1V2h.17a.5.5 0 0 0 0-1H5.83ZM7 3V2h2v1H7ZM5 6.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z\"]);\nexport const Luggage16Regular = /*#__PURE__*/createFluentIcon('Luggage16Regular', \"16\", [\"M5.33 1.5c0-.28.23-.5.5-.5h4.34a.5.5 0 0 1 0 1H10v1h1a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2v.5a.5.5 0 0 1-1 0V14H6v.5a.5.5 0 0 1-1 0V14a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h1V2h-.17a.5.5 0 0 1-.5-.5ZM7 2v1h2V2H7ZM5 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Zm0 2.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z\"]);\nexport const Luggage20Filled = /*#__PURE__*/createFluentIcon('Luggage20Filled', \"20\", [\"M6.5 2a.5.5 0 0 0 0 1H7v1h-.5A2.5 2.5 0 0 0 4 6.5v8a2.5 2.5 0 0 0 2 2.45v.55a.5.5 0 0 0 1 0V17h6v.5a.5.5 0 0 0 1 0v-.55a2.5 2.5 0 0 0 2-2.45v-8A2.5 2.5 0 0 0 13.5 4H13V3h.5a.5.5 0 0 0 0-1h-7ZM12 3v1H8V3h4ZM6.5 8.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5Z\"]);\nexport const Luggage20Regular = /*#__PURE__*/createFluentIcon('Luggage20Regular', \"20\", [\"M6.5 2a.5.5 0 0 0 0 1H7v1h-.5A2.5 2.5 0 0 0 4 6.5v8a2.5 2.5 0 0 0 2 2.45v.55a.5.5 0 0 0 1 0V17h6v.5a.5.5 0 0 0 1 0v-.55a2.5 2.5 0 0 0 2-2.45v-8A2.5 2.5 0 0 0 13.5 4H13V3h.5a.5.5 0 0 0 0-1h-7ZM12 3v1H8V3h4ZM6.5 5h7c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 5 14.5v-8C5 5.67 5.67 5 6.5 5Zm0 3.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5Z\"]);\nexport const Luggage24Filled = /*#__PURE__*/createFluentIcon('Luggage24Filled', \"24\", [\"M8.75 2a.75.75 0 0 0 0 1.5H9V5h-.75A3.25 3.25 0 0 0 5 8.25v9c0 1.35.83 2.51 2 3v1a.75.75 0 0 0 1.5 0v-.75h7v.75a.75.75 0 0 0 1.5 0v-1c1.17-.49 2-1.65 2-3v-9C19 6.45 17.54 5 15.75 5H15V3.5h.25a.75.75 0 0 0 0-1.5h-6.5Zm4.75 1.5V5h-3V3.5h3ZM8 9.75c0-.41.34-.75.75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 8 9.75Z\"]);\nexport const Luggage24Regular = /*#__PURE__*/createFluentIcon('Luggage24Regular', \"24\", [\"M8.75 2a.75.75 0 0 0 0 1.5H9V5h-.75A3.25 3.25 0 0 0 5 8.25v9c0 1.35.83 2.51 2 3v1a.75.75 0 0 0 1.5 0v-.75h7v.75a.75.75 0 0 0 1.5 0v-1c1.17-.49 2-1.65 2-3v-9C19 6.45 17.54 5 15.75 5H15V3.5h.25a.75.75 0 0 0 0-1.5h-6.5Zm4.75 1.5V5h-3V3.5h3Zm-5.25 3h7.5c.97 0 1.75.78 1.75 1.75v9c0 .97-.78 1.75-1.75 1.75h-7.5c-.97 0-1.75-.78-1.75-1.75v-9c0-.97.78-1.75 1.75-1.75ZM8 9.75c0-.41.34-.75.75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 8 9.75Z\"]);\nexport const Luggage28Filled = /*#__PURE__*/createFluentIcon('Luggage28Filled', \"28\", [\"M9 2.25c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5H18v1h1.5A3.5 3.5 0 0 1 23 7.5V21a3.5 3.5 0 0 1-3 3.46v.79a.75.75 0 0 1-1.5 0v-.75h-9v.75a.75.75 0 0 1-1.5 0v-.79A3.5 3.5 0 0 1 5 21V7.5A3.5 3.5 0 0 1 8.5 4H10V3h-.25A.75.75 0 0 1 9 2.25Zm2.5.75v1h5V3h-5ZM9.75 9a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Z\"]);\nexport const Luggage28Regular = /*#__PURE__*/createFluentIcon('Luggage28Regular', \"28\", [\"M9 9.75c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 9 9.75Zm.75-8.25a.75.75 0 0 0 0 1.5H10v1H8.5A3.5 3.5 0 0 0 5 7.5V21a3.5 3.5 0 0 0 3 3.46v.79a.75.75 0 0 0 1.5 0v-.75h9v.75a.75.75 0 0 0 1.5 0v-.79c1.7-.24 3-1.7 3-3.46V7.5A3.5 3.5 0 0 0 19.5 4H18V3h.25a.75.75 0 0 0 0-1.5h-8.5ZM16.5 3v1h-5V3h5Zm-8 2.5h11a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-11a2 2 0 0 1-2-2V7.5c0-1.1.9-2 2-2Z\"]);\nexport const Luggage32Filled = /*#__PURE__*/createFluentIcon('Luggage32Filled', \"32\", [\"M10 2a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2h-.5v2h2A4.5 4.5 0 0 1 27 9.5v15a4.5 4.5 0 0 1-4 4.47V30a1 1 0 1 1-2 0v-1H11v1a1 1 0 1 1-2 0v-1.03a4.5 4.5 0 0 1-4-4.47v-15A4.5 4.5 0 0 1 9.5 5H12V3h-1a1 1 0 0 1-1-1Zm4 1v2h4.5V3H14Zm-3 8a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11Z\"]);\nexport const Luggage32Regular = /*#__PURE__*/createFluentIcon('Luggage32Regular', \"32\", [\"M10 12a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm1-11a1 1 0 1 0 0 2h1v2H9.5A4.5 4.5 0 0 0 5 9.5v15a4.5 4.5 0 0 0 4 4.47V30a1 1 0 1 0 2 0v-1h10v1a1 1 0 1 0 2 0v-1.03a4.5 4.5 0 0 0 4-4.47v-15A4.5 4.5 0 0 0 22.5 5h-2V3h.5a1 1 0 1 0 0-2H11Zm11.5 26h-13A2.5 2.5 0 0 1 7 24.5v-15A2.5 2.5 0 0 1 9.5 7h13A2.5 2.5 0 0 1 25 9.5v15a2.5 2.5 0 0 1-2.5 2.5Zm-4-24v2H14V3h4.5Z\"]);\nexport const Luggage48Filled = /*#__PURE__*/createFluentIcon('Luggage48Filled', \"48\", [\"M16 3.75c0-.69.56-1.25 1.25-1.25h13.5a1.25 1.25 0 1 1 0 2.5H29.5v2h4.25C37.2 7 40 9.8 40 13.25v22.5C40 39.2 37.2 42 33.75 42h-.27l.02.25v1.5a1.25 1.25 0 1 1-2.5 0v-1.5c0-.09 0-.17.02-.25H16.48l.02.25v1.5a1.25 1.25 0 1 1-2.5 0v-1.5c0-.09 0-.17.03-.25A6.25 6.25 0 0 1 8 35.75v-22.5C8 9.8 10.8 7 14.25 7H18V5h-.75C16.56 5 16 4.44 16 3.75ZM20.5 5v2H27V5h-6.5Zm-4.25 13a1.25 1.25 0 1 0 0 2.5h15.5a1.25 1.25 0 1 0 0-2.5h-15.5Z\"]);\nexport const Luggage48Regular = /*#__PURE__*/createFluentIcon('Luggage48Regular', \"48\", [\"M15 19.25c0-.69.56-1.25 1.25-1.25h15.5a1.25 1.25 0 1 1 0 2.5h-15.5c-.69 0-1.25-.56-1.25-1.25ZM17.25 2.5a1.25 1.25 0 1 0 0 2.5H18v2h-3.75A6.25 6.25 0 0 0 8 13.25v22.5A6.25 6.25 0 0 0 14.03 42c-.02.08-.03.16-.03.25v1.5a1.25 1.25 0 1 0 2.5 0v-1.5c0-.09 0-.17-.02-.25h14.54l-.02.25v1.5a1.25 1.25 0 1 0 2.5 0v-1.5c0-.09 0-.17-.02-.25h.27C37.2 42 40 39.2 40 35.75v-22.5C40 9.8 37.2 7 33.75 7H29.5V5h1.25a1.25 1.25 0 1 0 0-2.5h-13.5ZM27 5v2h-6.5V5H27ZM14.25 9.5h19.5a3.75 3.75 0 0 1 3.75 3.75v22.5a3.75 3.75 0 0 1-3.75 3.75h-19.5a3.75 3.75 0 0 1-3.75-3.75v-22.5a3.75 3.75 0 0 1 3.75-3.75Z\"]);\nexport const Mail12Filled = /*#__PURE__*/createFluentIcon('Mail12Filled', \"12\", [\"M2 5.25V7.5C2 8.33 2.67 9 3.5 9h5c.83 0 1.5-.67 1.5-1.5V5.25l-3.8 1.7a.5.5 0 0 1-.4 0L2 5.26Zm.04-1.08L6 5.95l3.96-1.78A1.5 1.5 0 0 0 8.5 3h-5c-.71 0-1.31.5-1.46 1.17Z\"]);\nexport const Mail12Regular = /*#__PURE__*/createFluentIcon('Mail12Regular', \"12\", [\"M3.5 3C2.67 3 2 3.67 2 4.5v3C2 8.33 2.67 9 3.5 9h5c.83 0 1.5-.67 1.5-1.5v-3C10 3.67 9.33 3 8.5 3h-5ZM3 4.5c0-.28.22-.5.5-.5h5c.28 0 .5.22.5.5v.17L6 5.96 3 4.67V4.5Zm0 1.26 2.8 1.2a.5.5 0 0 0 .4 0L9 5.76V7.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5V5.76Z\"]);\nexport const Mail16Filled = /*#__PURE__*/createFluentIcon('Mail16Filled', \"16\", [\"M4 3a2 2 0 0 0-2 2v.2l6 3.23 6-3.23V5a2 2 0 0 0-2-2H4Zm10 3.34-5.76 3.1a.5.5 0 0 1-.48 0L2 6.34V11c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V6.34Z\"]);\nexport const Mail16Regular = /*#__PURE__*/createFluentIcon('Mail16Regular', \"16\", [\"M2 6.04V11c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v1.04ZM4 4h8a1 1 0 0 1 1 1v.74l-5 2.7-5-2.7V5a1 1 0 0 1 1-1ZM3 6.88l4.76 2.56a.5.5 0 0 0 .48 0L13 6.88V11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6.88Z\"]);\nexport const Mail20Filled = /*#__PURE__*/createFluentIcon('Mail20Filled', \"20\", [\"M18 7.37v7.13a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0L18 7.37ZM15.5 4a2.5 2.5 0 0 1 2.48 2.22L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4h11Z\"]);\nexport const Mail20Regular = /*#__PURE__*/createFluentIcon('Mail20Regular', \"20\", [\"M15.5 4A2.5 2.5 0 0 1 18 6.5v8a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h11ZM17 7.96l-6.75 3.97a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V7.96ZM15.5 5h-11C3.67 5 3 5.67 3 6.5v.3l7 4.12 7-4.12v-.3c0-.83-.67-1.5-1.5-1.5Z\"]);\nexport const Mail24Filled = /*#__PURE__*/createFluentIcon('Mail24Filled', \"24\", [\"M22 8.6v8.15a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0L22 8.61ZM5.25 4h13.5a3.25 3.25 0 0 1 3.23 2.92L12 12.15 2.02 6.92a3.25 3.25 0 0 1 3.04-2.91L5.25 4h13.5-13.5Z\"]);\nexport const Mail24Regular = /*#__PURE__*/createFluentIcon('Mail24Regular', \"24\", [\"M5.25 4h13.5a3.25 3.25 0 0 1 3.24 3.07l.01.18v9.5a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h13.5-13.5ZM20.5 9.37l-8.15 4.3c-.19.1-.4.1-.6.04l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15V9.37ZM18.75 5.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 8.5-4.47v-.43c0-.92-.7-1.67-1.6-1.74l-.15-.01Z\"]);\nexport const Mail28Filled = /*#__PURE__*/createFluentIcon('Mail28Filled', \"28\", [\"M2 7.75A3.75 3.75 0 0 1 5.75 4h16.5A3.75 3.75 0 0 1 26 7.75v.01l-12 6.15L2 7.76v-.01Zm0 1.7v9.8A3.75 3.75 0 0 0 5.75 23h16.5A3.75 3.75 0 0 0 26 19.25v-9.8l-11.66 5.97a.75.75 0 0 1-.68 0L2 9.45Z\"]);\nexport const Mail28Regular = /*#__PURE__*/createFluentIcon('Mail28Regular', \"28\", [\"M5.75 4A3.75 3.75 0 0 0 2 7.75v11.5A3.75 3.75 0 0 0 5.75 23h16.5A3.75 3.75 0 0 0 26 19.25V7.75A3.75 3.75 0 0 0 22.25 4H5.75ZM3.5 7.75c0-1.24 1.01-2.25 2.25-2.25h16.5c1.24 0 2.25 1 2.25 2.25v.78L14 13.9 3.5 8.53v-.78Zm0 2.47 10.16 5.2c.21.1.47.1.68 0l10.16-5.2v9.03c0 1.24-1 2.25-2.25 2.25H5.75c-1.24 0-2.25-1-2.25-2.25v-9.03Z\"]);\nexport const Mail32Filled = /*#__PURE__*/createFluentIcon('Mail32Filled', \"32\", [\"M2 9.3A4.5 4.5 0 0 1 6.5 5h19A4.5 4.5 0 0 1 30 9.3l-1.48.82L16 16.86 3.48 10.12 2 9.3Zm0 2.29V22.5A4.5 4.5 0 0 0 6.5 27h19a4.5 4.5 0 0 0 4.5-4.5V11.59l-.53.29-13 7a1 1 0 0 1-.94 0l-13.02-7-.51-.3Z\"]);\nexport const Mail32Regular = /*#__PURE__*/createFluentIcon('Mail32Regular', \"32\", [\"M6.5 5A4.5 4.5 0 0 0 2 9.5v13A4.5 4.5 0 0 0 6.5 27h19a4.5 4.5 0 0 0 4.5-4.5v-13A4.5 4.5 0 0 0 25.5 5h-19ZM28 10.4l-12 6.46L4 10.4v-.9A2.5 2.5 0 0 1 6.5 7h19A2.5 2.5 0 0 1 28 9.5v.9ZM4 12.67l11.53 6.21a1 1 0 0 0 .94 0L28 12.68v9.82a2.5 2.5 0 0 1-2.5 2.5h-19A2.5 2.5 0 0 1 4 22.5v-9.83Z\"]);\nexport const Mail48Filled = /*#__PURE__*/createFluentIcon('Mail48Filled', \"48\", [\"M4.02 13.75A6.25 6.25 0 0 1 10.25 8h27.5a6.25 6.25 0 0 1 6.24 5.83L24 24.35 4.02 13.75ZM4 16.57v17.18C4 37.2 6.8 40 10.25 40h27.5C41.2 40 44 37.2 44 33.75v-17.1L24.58 26.87c-.36.2-.8.2-1.17 0L4 16.57Z\"]);\nexport const Mail48Regular = /*#__PURE__*/createFluentIcon('Mail48Regular', \"48\", [\"M10.25 8A6.25 6.25 0 0 0 4 14.25v19.5C4 37.2 6.8 40 10.25 40h27.5C41.2 40 44 37.2 44 33.75v-19.5C44 10.8 41.2 8 37.75 8h-27.5ZM6.5 14.25a3.75 3.75 0 0 1 3.75-3.75h27.5a3.75 3.75 0 0 1 3.75 3.75v.89L24 24.35 6.5 15.06v-.81Zm0 3.64 16.91 8.98c.37.2.8.2 1.17 0l16.92-8.9v15.78a3.75 3.75 0 0 1-3.75 3.75h-27.5a3.75 3.75 0 0 1-3.75-3.75V17.89Z\"]);\nexport const MailAdd16Filled = /*#__PURE__*/createFluentIcon('MailAdd16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H11V3.5Zm-.5 7.5c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailAdd16Regular = /*#__PURE__*/createFluentIcon('MailAdd16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H11V3.5Zm1 9.5v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailAdd20Filled = /*#__PURE__*/createFluentIcon('MailAdd20Filled', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm-.5 7.5c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailAdd20Regular = /*#__PURE__*/createFluentIcon('MailAdd20Regular', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm2 11v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailAdd24Filled = /*#__PURE__*/createFluentIcon('MailAdd24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM18 7v2.5a.5.5 0 1 1-1 0V7h-2.5a.5.5 0 0 1 0-1H17V3.5a.5.5 0 0 1 1 0V6h2.5a.5.5 0 0 1 0 1H18Zm-.5 6c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailAdd24Regular = /*#__PURE__*/createFluentIcon('MailAdd24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM18 7v2.5a.5.5 0 1 1-1 0V7h-2.5a.5.5 0 0 1 0-1H17V3.5a.5.5 0 0 1 1 0V6h2.5a.5.5 0 0 1 0 1H18Zm2.5 9.75v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailAlert16Filled = /*#__PURE__*/createFluentIcon('MailAlert16Filled', \"16\", [\"M7.5 4a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.33.88H6.5a.5.5 0 0 1-.32-.88L7.5 6V4Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1ZM3 5h3.5v.54l-.97.82A1.5 1.5 0 0 0 6.5 9h1.52l.12.33c.05.14.1.26.18.39l-1.33.71L1 7.2V7c0-1.1.9-2 2-2Zm7.5 6c-.57 0-1.1-.19-1.51-.51l-1.76.95a.5.5 0 0 1-.48 0L1 8.34V13c0 1.1.9 2 2 2h7.98a2 2 0 0 0 2-2V9l-.12.33A2.5 2.5 0 0 1 10.5 11Z\"]);\nexport const MailAlert16Regular = /*#__PURE__*/createFluentIcon('MailAlert16Regular', \"16\", [\"M7.5 4a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.33.88H6.5a.5.5 0 0 1-.32-.88L7.5 6V4Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1ZM3 5h3.5v.54L5.95 6H3a1 1 0 0 0-1 1v.74l5 2.7 1.32-.72c.17.3.4.57.67.77l-1.75.95a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2.5c.39-.3.7-.7.86-1.17l.12-.33H13v4a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailAlert20Filled = /*#__PURE__*/createFluentIcon('MailAlert20Filled', \"20\", [\"M11.5 4a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.33.88H10.5a.5.5 0 0 1-.32-.88L11.5 6V4Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1Zm-4-4.46-.97.82A1.5 1.5 0 0 0 10.5 9h1.52l.12.33.11.27L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4h6v1.54Zm-.25 6.4 2.62-1.55a2.49 2.49 0 0 0 3.99-1.06l.11-.33H18v5.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0Z\"]);\nexport const MailAlert20Regular = /*#__PURE__*/createFluentIcon('MailAlert20Regular', \"20\", [\"M11.5 4a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.33.88H10.5a.5.5 0 0 1-.32-.88L11.5 6V4Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1Zm-10-5h6V4h-6A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9h-1v5.5c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l2.62-1.54a2.5 2.5 0 0 1-.62-.8L10 10.93 3 6.8v-.3C3 5.67 3.67 5 4.5 5Z\"]);\nexport const MailAlert24Filled = /*#__PURE__*/createFluentIcon('MailAlert24Filled', \"24\", [\"M17.5 1a4 4 0 0 0-4 4v3l-.95.8c-.3.26-.46.39-.5.5a.5.5 0 0 0 .24.65c.1.05.3.05.7.05h9.02c.4 0 .6 0 .7-.05a.5.5 0 0 0 .25-.66c-.05-.1-.2-.23-.5-.49L21.5 8V5a4 4 0 0 0-4-4ZM19 11c-.22.58-.8 1-1.5 1-.69 0-1.28-.42-1.5-1h3Zm3 5.75V11h-1.93l-.13.35A2.59 2.59 0 0 1 17.5 13c-.82 0-1.56-.37-2.05-.96l-3.1 1.62a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74Zm-10-4.6L14.2 11h-1.73c-.12-.01-.37-.03-.61-.14a1.5 1.5 0 0 1-.73-1.99c.12-.24.3-.41.38-.5l.38-.32.6-.51V5c0-.34.04-.68.1-1H5.07a3.25 3.25 0 0 0-3.04 2.92L12 12.15Z\"]);\nexport const MailAlert24Regular = /*#__PURE__*/createFluentIcon('MailAlert24Regular', \"24\", [\"M17.5 1a4 4 0 0 0-4 4v3l-.95.8c-.3.26-.46.39-.5.5a.5.5 0 0 0 .24.65c.1.05.3.05.7.05h9.02c.4 0 .6 0 .7-.05a.5.5 0 0 0 .25-.66c-.05-.1-.2-.23-.5-.49L21.5 8V5a4 4 0 0 0-4-4ZM19 11c-.22.58-.8 1-1.5 1-.69 0-1.28-.42-1.5-1h3Zm3 5.75V11h-1.5v5.89c-.08.9-.83 1.61-1.75 1.61H5.11c-.9-.08-1.61-.83-1.61-1.75V9.37l8.15 4.3.1.04c.2.07.41.05.6-.05l3.1-1.63c-.16-.2-.3-.43-.39-.68l-.13-.35h-.74L12 12.15 3.5 7.68V7.1c.08-.9.83-1.61 1.75-1.61h7.25V5c0-.34.03-.68.1-1H5.07A3.25 3.25 0 0 0 2 7.26v9.68A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74Z\"]);\nexport const MailAlert28Filled = /*#__PURE__*/createFluentIcon('MailAlert28Filled', \"28\", [\"M20.5 1A4.5 4.5 0 0 0 16 5.5V8l-1.62 1.88c-.22.25-.33.37-.36.47a.5.5 0 0 0 .28.6c.1.05.26.05.6.05h11.2c.33 0 .5 0 .6-.04a.5.5 0 0 0 .27-.6c-.03-.1-.14-.23-.35-.48L25 8V5.5A4.5 4.5 0 0 0 20.5 1Zm0 13a2 2 0 0 0 2-2h-4c0 1.1.9 2 2 2Zm-7.43-3.95c.07-.23.2-.4.27-.5l.27-.31 1.4-1.61V5.5l.01-.5H6.07A3.25 3.25 0 0 0 3 8.26v.18l11 5.72 3.52-1.83-.02-.32h-3.04c-.12-.01-.33-.03-.56-.12a1.5 1.5 0 0 1-.83-1.83ZM20.5 15a3 3 0 0 1-2.44-1.26l-3.71 1.93a.75.75 0 0 1-.7 0L3 10.12v9.81A3.25 3.25 0 0 0 6.26 23h15.68A3.25 3.25 0 0 0 25 19.74V12h-1.5a3 3 0 0 1-3 3Z\"]);\nexport const MailAlert28Regular = /*#__PURE__*/createFluentIcon('MailAlert28Regular', \"28\", [\"M20.5 1A4.5 4.5 0 0 0 16 5.5V8l-1.62 1.88c-.22.25-.33.37-.36.47a.5.5 0 0 0 .28.6c.1.05.26.05.6.05h11.2c.33 0 .5 0 .6-.04a.5.5 0 0 0 .27-.6c-.03-.1-.14-.23-.35-.48L25 8V5.5A4.5 4.5 0 0 0 20.5 1Zm0 13a2 2 0 0 0 2-2h-4c0 1.1.9 2 2 2Zm-6.5.15 3.52-1.83c.06.53.25 1 .54 1.42l-3.71 1.93a.75.75 0 0 1-.58.04l-.12-.04L4.5 10.9v8.85c0 .92.7 1.67 1.6 1.74l.15.01h15.5c.92 0 1.67-.7 1.74-1.6l.01-.15V12H25v7.75a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 19.75V8.25a3.25 3.25 0 0 1 3.07-3.24L6.25 5h8.77l-.02.5v1H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.96l9.5 4.94Z\"]);\nexport const MailAllRead16Filled = /*#__PURE__*/createFluentIcon('MailAllRead16Filled', \"16\", [\"M7.24 1.06a.5.5 0 0 0-.48 0L1.7 3.82c-.2.11-.37.27-.49.45L7 7.43l5.79-3.16a1.34 1.34 0 0 0-.49-.45L7.24 1.06ZM1 10V5.3l5.76 3.14a.5.5 0 0 0 .48 0L13 5.3V10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2Zm2.27 3c.34.6.99 1 1.73 1h6a4 4 0 0 0 4-4V6a2 2 0 0 0-1-1.73V10a3 3 0 0 1-3 3H3.27Z\"]);\nexport const MailAllRead16Regular = /*#__PURE__*/createFluentIcon('MailAllRead16Regular', \"16\", [\"M7.24 1.06a.5.5 0 0 0-.48 0L1.7 3.82C1.27 4.06 1 4.51 1 5v5c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V5c0-.5-.27-.94-.7-1.18L7.24 1.06ZM2.18 4.7 7 2.07l4.82 2.63.08.06L7 7.43 2.1 4.76a.34.34 0 0 1 .08-.06Zm5.06 3.74L12 5.84V10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5.84l4.76 2.6a.5.5 0 0 0 .48 0ZM3.27 13c.34.6.99 1 1.73 1h6a4 4 0 0 0 4-4V6a2 2 0 0 0-1-1.73V10a3 3 0 0 1-3 3H3.27Z\"]);\nexport const MailAllRead20Filled = /*#__PURE__*/createFluentIcon('MailAllRead20Filled', \"20\", [\"M6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-6c.6.46 1 1.18 1 2v4a4.5 4.5 0 0 1-4.5 4.5h-7ZM9.24 2.06a.5.5 0 0 0-.48 0l-5.7 3.07a2 2 0 0 0-.76.71l.42.2L9 8.95l6.28-2.89.41-.22a2 2 0 0 0-.74-.7L9.24 2.06ZM16 6.8l-.26.14a.5.5 0 0 1-.03.01l-6.5 3a.5.5 0 0 1-.42 0l-6.5-3h-.01L2 6.8V12.5A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V6.8Z\"]);\nexport const MailAllRead20Regular = /*#__PURE__*/createFluentIcon('MailAllRead20Regular', \"20\", [\"M8.76 2.06a.5.5 0 0 1 .48 0l5.7 3.07A2 2 0 0 1 16 6.9v5.6a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 2 12.5V6.9a2 2 0 0 1 1.05-1.77l5.71-3.07Zm.24 1L3.53 6.03a1 1 0 0 0-.32.26L9 8.95l5.79-2.67a1 1 0 0 0-.32-.26L9 3.07Zm6 4.22L9.21 9.95a.5.5 0 0 1-.42 0L3 7.28v5.22c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5V7.28ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-6c.6.46 1 1.18 1 2v4a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailAllRead24Filled = /*#__PURE__*/createFluentIcon('MailAllRead24Filled', \"24\", [\"M11.36 1.84a.75.75 0 0 0-.72 0L2.83 6.1c-.17.1-.31.21-.44.35l8.61 4.7 8.6-4.7a1.6 1.6 0 0 0-.43-.35l-7.81-4.26ZM2 15.75v-7.8l8.64 4.7c.22.13.5.13.72 0L20 7.96v7.8c0 1.8-1.46 3.25-3.25 3.25H5.25A3.25 3.25 0 0 1 2 15.75Zm19-8.24c.9.58 1.5 1.59 1.5 2.74v6c0 2.9-2.35 5.25-5.25 5.25h-9c-1.15 0-2.16-.6-2.74-1.5h11.74A3.75 3.75 0 0 0 21 16.25V7.51Z\"]);\nexport const MailAllRead24Regular = /*#__PURE__*/createFluentIcon('MailAllRead24Regular', \"24\", [\"M11.36 1.84a.75.75 0 0 0-.72 0L2.83 6.1A1.6 1.6 0 0 0 2 7.5v8.25C2 17.55 3.46 19 5.25 19h11.5c1.8 0 3.25-1.46 3.25-3.25V7.5a1.6 1.6 0 0 0-.83-1.4l-7.81-4.26Zm-.36 9.3L3.86 7.26 11 3.35l7.14 3.9-7.14 3.9Zm.36 1.52 7.14-3.9v6.99c0 .97-.78 1.75-1.75 1.75H5.25c-.97 0-1.75-.78-1.75-1.75V8.76l7.14 3.9c.22.12.5.12.72 0ZM21 7.5c.9.58 1.5 1.59 1.5 2.74v6c0 2.9-2.35 5.25-5.25 5.25h-9c-1.15 0-2.16-.6-2.74-1.5h11.74A3.75 3.75 0 0 0 21 16.25V7.51Z\"]);\nexport const MailAllRead28Filled = /*#__PURE__*/createFluentIcon('MailAllRead28Filled', \"28\", [\"M13.35 2.69a.75.75 0 0 0-.7 0L4.2 7.12c-.39.2-.7.5-.9.87l9.7 5.16 9.7-5.16c-.2-.36-.51-.67-.9-.87l-8.45-4.43ZM3 17.75V9.54l9.65 5.12c.22.12.48.12.7 0L23 9.54v8.21c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75ZM6.01 22c.58.9 1.59 1.5 2.74 1.5h11.5c2.9 0 5.25-2.35 5.25-5.25v-7.5c0-1.15-.6-2.16-1.5-2.74v10.24A3.75 3.75 0 0 1 20.25 22H6.01Z\"]);\nexport const MailAllRead28Regular = /*#__PURE__*/createFluentIcon('MailAllRead28Regular', \"28\", [\"M13.35 2.69a.75.75 0 0 0-.7 0L4.2 7.12A2.24 2.24 0 0 0 3 9.1v8.65C3 19.55 4.46 21 6.25 21h13.5c1.8 0 3.25-1.46 3.25-3.25V9.1c0-.83-.46-1.6-1.2-1.98l-8.45-4.43ZM4.9 8.45 13 4.2l8.1 4.25c.12.06.22.15.29.26L13 13.15 4.61 8.71c.07-.11.17-.2.29-.26Zm8.45 6.21 8.15-4.31v7.4c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75v-7.4l8.15 4.31c.22.12.48.12.7 0ZM6.01 22c.58.9 1.59 1.5 2.74 1.5h11.5c2.9 0 5.25-2.35 5.25-5.25v-7.5c0-1.15-.6-2.16-1.5-2.74v10.24A3.75 3.75 0 0 1 20.25 22H6.01Z\"]);\nexport const MailAllUnread20Filled = /*#__PURE__*/createFluentIcon('MailAllUnread20Filled', \"20\", [\"M14.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm-3.16-4H4.5a2.5 2.5 0 0 0-2.48 2.22L9 8.92l3.26-1.73A3.5 3.5 0 0 1 11.34 3Zm1.97 4.8L9.25 9.92a.5.5 0 0 1-.5 0L2 6.37v6.13A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V7.66a3.49 3.49 0 0 1-2.7.13ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-5c.6.46 1 1.18 1 2v3a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailAllUnread20Regular = /*#__PURE__*/createFluentIcon('MailAllUnread20Regular', \"20\", [\"M14.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm-3.16-4H4.5A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V7.66c-.31.15-.65.25-1 .3v4.54c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 3 12.5V6.96l5.75 2.97.08.04c.14.05.3.04.42-.04l4.1-2.12a3.5 3.5 0 0 1-1.06-.6L9 8.92 3 5.8v-.3C3 4.67 3.67 4 4.5 4h6.54c.05-.35.15-.69.3-1ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-5c.6.46 1 1.18 1 2v3a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailArrowClockwise16Filled = /*#__PURE__*/createFluentIcon('MailArrowClockwise16Filled', \"16\", [\"M14 1a.5.5 0 0 0-1 0v.76a4.5 4.5 0 1 0 2 3.74.5.5 0 0 0-1 0 3.5 3.5 0 1 1-1.7-3h-.8a.5.5 0 0 0 0 1h2A.5.5 0 0 0 14 3V1ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Zm4.24 6.44 1.4-.76A5.5 5.5 0 0 0 13 10.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0Z\"]);\nexport const MailArrowClockwise16Regular = /*#__PURE__*/createFluentIcon('MailArrowClockwise16Regular', \"16\", [\"M14 1a.5.5 0 0 0-1 0v.76a4.5 4.5 0 1 0 2 3.74.5.5 0 0 0-1 0 3.5 3.5 0 1 1-1.7-3h-.8a.5.5 0 0 0 0 1h2A.5.5 0 0 0 14 3V1Zm-2 9.8V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l4.76 2.56a.5.5 0 0 0 .48 0l1.4-.76a5.48 5.48 0 0 1-1.1-.54l-.54.3-5-2.7V7a1 1 0 0 1 1-1h2.02a5.57 5.57 0 0 1 0-1H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6c-.32.16-.65.3-1 .4Z\"]);\nexport const MailArrowClockwise20Filled = /*#__PURE__*/createFluentIcon('MailArrowClockwise20Filled', \"20\", [\"M18 1a.5.5 0 0 0-1 0v.76a4.5 4.5 0 1 0 2 3.74.5.5 0 0 0-1 0 3.5 3.5 0 1 1-1.7-3h-.8a.5.5 0 0 0 0 1h2A.5.5 0 0 0 18 3V1ZM9 5.5c0 1.9.97 3.59 2.44 4.57l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4h4.7c-.13.48-.2.98-.2 1.5Zm9 9V9.74a5.48 5.48 0 0 1-5.52.88l-2.23 1.31a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5Z\"]);\nexport const MailArrowClockwise20Regular = /*#__PURE__*/createFluentIcon('MailArrowClockwise20Regular', \"20\", [\"M18 1a.5.5 0 0 0-1 0v.76a4.5 4.5 0 1 0 2 3.74.5.5 0 0 0-1 0 3.5 3.5 0 1 1-1.7-3h-.8a.5.5 0 0 0 0 1h2A.5.5 0 0 0 18 3V1Zm-1 9.4v4.1c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l2.23-1.31a5.49 5.49 0 0 1-1.04-.55l-1.44.85L3 6.8v-.3C3 5.67 3.67 5 4.5 5h4.52c.03-.34.1-.68.19-1H4.5A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9.74c-.3.26-.64.48-1 .66Z\"]);\nexport const MailArrowClockwise24Filled = /*#__PURE__*/createFluentIcon('MailArrowClockwise24Filled', \"24\", [\"M23 .75a.75.75 0 0 0-1.5 0v.63A6 6 0 1 0 24 6.25a.75.75 0 0 0-1.5 0 4.5 4.5 0 1 1-1.69-3.51h.01v.01H19.5a.75.75 0 0 0 0 1.5h2.75c.41 0 .75-.34.75-.75V.75Zm-12 5.5c0 2.07.9 3.93 2.32 5.21l-1.32.7-9.98-5.24a3.25 3.25 0 0 1 3.04-2.91L5.25 4h6.12c-.24.7-.37 1.46-.37 2.25Zm11 10.5V12a6.97 6.97 0 0 1-7.3.43l-2.35 1.23a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74Z\"]);\nexport const MailArrowClockwise24Regular = /*#__PURE__*/createFluentIcon('MailArrowClockwise24Regular', \"24\", [\"M23 .75a.75.75 0 0 0-1.5 0v.63A6 6 0 1 0 24 6.25a.75.75 0 0 0-1.5 0 4.5 4.5 0 1 1-1.69-3.51h.01v.01H19.5a.75.75 0 0 0 0 1.5h2.75c.41 0 .75-.34.75-.75V.75Zm-1 16V12c-.46.32-.97.59-1.5.79v4.1c-.08.9-.83 1.61-1.75 1.61H5.11c-.9-.08-1.61-.83-1.61-1.75V9.37l8.15 4.3.1.04c.2.07.41.05.6-.05l2.35-1.23c-.5-.27-.96-.6-1.38-.97l-1.32.7-8.5-4.48V7.1c.08-.9.83-1.61 1.75-1.61h5.79c.06-.52.17-1.02.33-1.5h-6.3A3.25 3.25 0 0 0 2 7.26v9.68A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74Z\"]);\nexport const MailArrowDoubleBack16Filled = /*#__PURE__*/createFluentIcon('MailArrowDoubleBack16Filled', \"16\", [\"M13 10.4a5.48 5.48 0 0 1-4.35.28l-1.41.76a.5.5 0 0 1-.48 0L1 8.34V13c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6ZM5.02 5H3a2 2 0 0 0-2 2v.2l6 3.23.54-.3A5.5 5.5 0 0 1 5.02 5Zm5.48 5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM9.35 3.65c.2.2.2.5 0 .7L8.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5c.2-.2.5-.2.7 0Zm2.5.7-.64.65H13a1 1 0 0 1 1 1v.5a.5.5 0 0 1-1 0V6h-1.8l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 0 1 .7.7Z\"]);\nexport const MailArrowDoubleBack16Regular = /*#__PURE__*/createFluentIcon('MailArrowDoubleBack16Regular', \"16\", [\"M12 10.8V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l4.76 2.56a.5.5 0 0 0 .48 0l1.4-.76a5.48 5.48 0 0 1-1.1-.54l-.54.3-5-2.7V7a1 1 0 0 1 1-1h2.02a5.57 5.57 0 0 1 0-1H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6c-.32.16-.65.3-1 .4Zm-1.5-.8a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM9.35 3.65c.2.2.2.5 0 .7L8.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5c.2-.2.5-.2.7 0Zm2.5.7-.64.65H13a1 1 0 0 1 1 1v.5a.5.5 0 0 1-1 0V6h-1.8l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 0 1 .7.7Z\"]);\nexport const MailArrowDoubleBack20Filled = /*#__PURE__*/createFluentIcon('MailArrowDoubleBack20Filled', \"20\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1.15-6.35c.2.2.2.5 0 .7L12.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5c.2-.2.5-.2.7 0Zm2.5.7-.64.65H17a1 1 0 0 1 1 1v.5a.5.5 0 0 1-1 0V6h-1.8l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 0 1 .7.7Z\"]);\nexport const MailArrowDoubleBack20Regular = /*#__PURE__*/createFluentIcon('MailArrowDoubleBack20Regular', \"20\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1.15-6.35c.2.2.2.5 0 .7L12.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5c.2-.2.5-.2.7 0Zm2.5.7-.64.65H17a1 1 0 0 1 1 1v.5a.5.5 0 0 1-1 0V6h-1.8l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 0 1 .7.7Z\"]);\nexport const MailArrowDoubleBack24Filled = /*#__PURE__*/createFluentIcon('MailArrowDoubleBack24Filled', \"24\", [\"M17.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm-1.65-7.15L14.21 6.5l1.64 1.65a.5.5 0 0 1-.7.7l-2-2a.5.5 0 0 1 0-.7l2-2a.5.5 0 0 1 .7.7Zm3-.7c.2.2.2.5 0 .7L17.71 6H20c.83 0 1.5.67 1.5 1.5V8a.5.5 0 0 1-1 0v-.5A.5.5 0 0 0 20 7h-2.3l1.15 1.15a.5.5 0 0 1-.7.7l-2-2a.5.5 0 0 1 0-.7l2-2c.2-.2.5-.2.7 0ZM17.5 13c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailArrowDoubleBack24Regular = /*#__PURE__*/createFluentIcon('MailArrowDoubleBack24Regular', \"24\", [\"M17.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm-1.65-7.15L14.21 6.5l1.64 1.65a.5.5 0 0 1-.7.7l-2-2a.5.5 0 0 1 0-.7l2-2a.5.5 0 0 1 .7.7Zm3-.7c.2.2.2.5 0 .7L17.71 6H20c.83 0 1.5.67 1.5 1.5V8a.5.5 0 0 1-1 0v-.5A.5.5 0 0 0 20 7h-2.3l1.15 1.15a.5.5 0 0 1-.7.7l-2-2a.5.5 0 0 1 0-.7l2-2c.2-.2.5-.2.7 0Zm1.65 12.6v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailArrowDown16Filled = /*#__PURE__*/createFluentIcon('MailArrowDown16Filled', \"16\", [\"M13 10.4a5.48 5.48 0 0 1-4.35.28l-1.41.76a.5.5 0 0 1-.48 0L1 8.34V13c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6ZM5.02 5H3a2 2 0 0 0-2 2v.2l6 3.23.54-.3A5.5 5.5 0 0 1 5.02 5Zm5.48 5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM8.15 5.85a.5.5 0 1 1 .7-.7L10 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailArrowDown16Regular = /*#__PURE__*/createFluentIcon('MailArrowDown16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.85 2.35a.5.5 0 0 0 .35.15.5.5 0 0 0 .35-.15l2-2a.5.5 0 0 0-.7-.7L11 6.29V3.5a.5.5 0 0 0-1 0v2.8L8.85 5.14a.5.5 0 1 0-.7.7l2 2ZM12 13v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailArrowDown20Filled = /*#__PURE__*/createFluentIcon('MailArrowDown20Filled', \"20\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2.35-4.15a.5.5 0 0 1 .7-.7L14 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailArrowDown20Regular = /*#__PURE__*/createFluentIcon('MailArrowDown20Regular', \"20\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-2.35-4.15 2 2a.5.5 0 0 0 .35.15.5.5 0 0 0 .35-.15l2-2a.5.5 0 0 0-.7-.7L15 6.29V3.5a.5.5 0 0 0-1 0v2.8l-1.15-1.15a.5.5 0 0 0-.7.7Z\"]);\nexport const MailArrowForward16Filled = /*#__PURE__*/createFluentIcon('MailArrowForward16Filled', \"16\", [\"M13 10.4a5.48 5.48 0 0 1-4.35.28l-1.41.76a.5.5 0 0 1-.48 0L1 8.34V13c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6ZM5.02 5H3a2 2 0 0 0-2 2v.2l6 3.23.54-.3A5.5 5.5 0 0 1 5.02 5Zm.98.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm5.4-2.6c.2-.2.5-.2.7 0l1.75 1.75a.5.5 0 0 1 0 .7L12.1 7.1a.5.5 0 0 1-.7-.7l.9-.9h-1.55C9.78 5.5 9 6.28 9 7.25v.25a.5.5 0 0 1-1 0v-.25a2.75 2.75 0 0 1 2.75-2.75h1.54l-.9-.9a.5.5 0 0 1 0-.7Z\"]);\nexport const MailArrowForward16Regular = /*#__PURE__*/createFluentIcon('MailArrowForward16Regular', \"16\", [\"M12 10.8V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l4.76 2.56a.5.5 0 0 0 .48 0l1.4-.76a5.48 5.48 0 0 1-1.1-.54l-.54.3-5-2.7V7a1 1 0 0 1 1-1h2.02a5.57 5.57 0 0 1 0-1H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6c-.32.16-.65.3-1 .4ZM6 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm5.4-2.6c.2-.2.5-.2.7 0l1.75 1.75a.5.5 0 0 1 0 .7L12.1 7.1a.5.5 0 0 1-.7-.7l.9-.9h-1.55C9.78 5.5 9 6.28 9 7.25v.25a.5.5 0 0 1-1 0v-.25a2.75 2.75 0 0 1 2.75-2.75h1.54l-.9-.9a.5.5 0 0 1 0-.7Z\"]);\nexport const MailArrowForward20Filled = /*#__PURE__*/createFluentIcon('MailArrowForward20Filled', \"20\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4ZM10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm5.4-2.6c.2-.2.5-.2.7 0l1.75 1.75a.5.5 0 0 1 0 .7L16.1 7.1a.5.5 0 0 1-.7-.7l.9-.9h-1.55c-.97 0-1.75.78-1.75 1.75v.25a.5.5 0 0 1-1 0v-.25a2.75 2.75 0 0 1 2.75-2.75h1.54l-.9-.9a.5.5 0 0 1 0-.7Z\"]);\nexport const MailArrowForward20Regular = /*#__PURE__*/createFluentIcon('MailArrowForward20Regular', \"20\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Zm-7-9a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm5.4-2.6c.2-.2.5-.2.7 0l1.75 1.75a.5.5 0 0 1 0 .7L16.1 7.1a.5.5 0 0 1-.7-.7l.9-.9h-1.55c-.97 0-1.75.78-1.75 1.75v.25a.5.5 0 0 1-1 0v-.25a2.75 2.75 0 0 1 2.75-2.75h1.54l-.9-.9a.5.5 0 0 1 0-.7Z\"]);\nexport const MailArrowUp16Filled = /*#__PURE__*/createFluentIcon('MailArrowUp16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 10.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 1 0 .7.7L10 4.71V7.5a.5.5 0 0 0 1 0V4.7l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2ZM10.5 11c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailArrowUp16Regular = /*#__PURE__*/createFluentIcon('MailArrowUp16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 10.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 1 0 .7.7L10 4.71V7.5a.5.5 0 0 0 1 0V4.7l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2ZM12 13v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailArrowUp20Filled = /*#__PURE__*/createFluentIcon('MailArrowUp20Filled', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 14.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L14 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 1 0 .7-.7l-2-2ZM14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailArrowUp20Regular = /*#__PURE__*/createFluentIcon('MailArrowUp20Regular', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 14.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L14 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 1 0 .7-.7l-2-2ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailArrowUp24Filled = /*#__PURE__*/createFluentIcon('MailArrowUp24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-6-1.8v4.8a.5.5 0 0 0 1 0V4.7l1.65 1.65a.5.5 0 0 0 .7-.7l-2.5-2.5a.5.5 0 0 0-.7 0l-2.5 2.5a.5.5 0 0 0 .7.7L17 4.71Zm.5 8.3c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailArrowUp24Regular = /*#__PURE__*/createFluentIcon('MailArrowUp24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-6-1.8v4.8a.5.5 0 0 0 1 0V4.7l1.65 1.65a.5.5 0 0 0 .7-.7l-2.5-2.5a.5.5 0 0 0-.7 0l-2.5 2.5a.5.5 0 0 0 .7.7L17 4.71Zm3.5 12.05v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailAttach16Filled = /*#__PURE__*/createFluentIcon('MailAttach16Filled', \"16\", [\"M6.94 7.06c.2.2.44.33.69.4-.11.24-.19.5-.22.75L7 8.43 1 5.2V5c0-1.1.9-2 2-2h5.88L6.94 4.94a1.5 1.5 0 0 0 0 2.12ZM7.5 9.3a2.56 2.56 0 0 0 4.26 1.06L13 9.12V11a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V6.34l5.76 3.1a.5.5 0 0 0 .48 0l.26-.14Zm3.73-5.82L8.35 6.35a.5.5 0 1 1-.7-.7l2.87-2.88a2.63 2.63 0 0 1 3.71 3.71l-3.18 3.17a1.56 1.56 0 0 1-2.2-2.2l2.8-2.8a.5.5 0 1 1 .7.7l-2.8 2.8a.56.56 0 0 0 .8.8l3.17-3.18a1.63 1.63 0 0 0-2.3-2.3Z\"]);\nexport const MailAttach16Regular = /*#__PURE__*/createFluentIcon('MailAttach16Regular', \"16\", [\"m7.4 8.21-.4.22-5-2.69V5a1 1 0 0 1 1-1h4.88l1-1H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V9.12l-1 1V11a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6.88l4.76 2.56a.5.5 0 0 0 .48 0l.26-.14c-.11-.35-.14-.72-.1-1.09Zm3.83-4.73L8.35 6.35a.5.5 0 1 1-.7-.7l2.87-2.88a2.63 2.63 0 0 1 3.71 3.71l-3.18 3.17a1.56 1.56 0 0 1-2.2-2.2l2.8-2.8a.5.5 0 1 1 .7.7l-2.8 2.8a.56.56 0 0 0 .8.8l3.17-3.18a1.63 1.63 0 0 0-2.3-2.3Z\"]);\nexport const MailAttach20Filled = /*#__PURE__*/createFluentIcon('MailAttach20Filled', \"20\", [\"M10.3 8.7c.2.2.44.32.7.39-.21.43-.29.91-.23 1.38l-.77.45-7.98-4.7A2.5 2.5 0 0 1 4.5 4h8.37L10.3 6.58a1.5 1.5 0 0 0 0 2.12Zm.78 2.74a2.57 2.57 0 0 0 4.04.55L18 9.12v5.38a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l.83-.49Zm4.15-6.96a1.62 1.62 0 0 1 2.3 2.3h-.02l-3.85 3.85h-.01a.56.56 0 1 1-.78-.8l3.48-3.48a.5.5 0 1 0-.7-.7l-3.5 3.49-.02.02a1.56 1.56 0 0 0 2.21 2.2l.01-.01 3.88-3.87.01-.01a2.63 2.63 0 0 0-3.72-3.7l-3.57 3.57a.5.5 0 0 0 .7.7l3.58-3.56Z\"]);\nexport const MailAttach20Regular = /*#__PURE__*/createFluentIcon('MailAttach20Regular', \"20\", [\"m10.77 10.47-.77.45L3 6.8v-.3C3 5.67 3.67 5 4.5 5h7.38l1-1H4.5A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9.12l-1 1v4.38c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l.83-.49c-.17-.3-.28-.63-.31-.97Zm4.46-6a1.62 1.62 0 0 1 2.3 2.3l-.02.01-3.85 3.85h-.01a.56.56 0 1 1-.78-.8l3.48-3.48a.5.5 0 1 0-.7-.7l-3.5 3.49-.02.02a1.56 1.56 0 0 0 2.21 2.2l.01-.01 3.88-3.87.01-.01a2.63 2.63 0 0 0-3.72-3.7l-3.57 3.57a.5.5 0 0 0 .7.7l3.58-3.56Z\"]);\nexport const MailAttach24Filled = /*#__PURE__*/createFluentIcon('MailAttach24Filled', \"24\", [\"M17.95 4.1a2.08 2.08 0 0 1 2.94 2.94.75.75 0 0 0-.07.08l-4.18 4.18a.67.67 0 0 1-.95-.95l3.83-3.82a.75.75 0 1 0-1.06-1.06l-3.83 3.82a2.17 2.17 0 1 0 3.07 3.07l4.32-4.32a3.58 3.58 0 0 0-5.13-5l-3.67 3.68a.75.75 0 1 0 1.06 1.06l3.67-3.68Zm-5.44 4.38c.3.3.68.47 1.07.5-.54.77-.71 1.72-.5 2.6l-1.08.57-9.98-5.23A3.25 3.25 0 0 1 5.06 4H14.52L12.51 6c-.68.68-.68 1.8 0 2.47Zm1.26 4.43.15.16a3.17 3.17 0 0 0 4.49 0l3.58-3.59v7.26A3.25 3.25 0 0 1 18.93 20H5.24a3.25 3.25 0 0 1-3.23-3.06L2 16.74V8.61l9.65 5.05c.22.11.48.11.7 0l1.42-.75Z\"]);\nexport const MailAttach24Regular = /*#__PURE__*/createFluentIcon('MailAttach24Regular', \"24\", [\"M17.95 4.1a2.08 2.08 0 0 1 2.94 2.94.76.76 0 0 0-.07.08l-4.18 4.18a.67.67 0 0 1-.95-.95l3.83-3.82a.75.75 0 1 0-1.06-1.06l-3.83 3.82a2.17 2.17 0 1 0 3.07 3.07l4.32-4.32a3.58 3.58 0 0 0-5.13-5l-3.67 3.68a.75.75 0 1 0 1.06 1.06l3.67-3.68Zm-4.87 7.48-1.08.57-8.5-4.47V7.1c.08-.9.83-1.6 1.75-1.6h7.77l1.5-1.5H5.06A3.25 3.25 0 0 0 2 7.25v9.68a3.25 3.25 0 0 0 3.25 3.06h13.68a3.25 3.25 0 0 0 3.06-3.25V9.48l-1.5 1.5v5.91c-.08.9-.83 1.6-1.75 1.6H5.11c-.9-.08-1.61-.83-1.61-1.75V9.37l8.15 4.29.1.04c.19.07.4.06.6-.04l1.42-.75c-.34-.4-.57-.85-.69-1.33Z\"]);\nexport const MailAttach28Filled = /*#__PURE__*/createFluentIcon('MailAttach28Filled', \"28\", [\"m20.4 15.07 4.6-4.6v9.27A3.25 3.25 0 0 1 21.92 23H6.24a3.25 3.25 0 0 1-3.23-3.06L3 19.74v-9.62l10.65 5.54c.22.11.48.11.7 0l1.43-.75.14.16a3.17 3.17 0 0 0 4.49 0ZM6.26 5h11.27L14.51 8a1.75 1.75 0 0 0 1.07 2.98 3.17 3.17 0 0 0-.5 2.6l-1.08.56L3 8.43v-.18A3.25 3.25 0 0 1 6.06 5h.19Zm15.7-.9-5.67 5.68Z\", \"M21.95 4.1a2.08 2.08 0 0 1 2.94 2.94l-6.25 6.26a.67.67 0 0 1-.95-.95l5.08-5.07a.75.75 0 1 0-1.06-1.06l-5.08 5.07a2.17 2.17 0 0 0 3.07 3.07l6.25-6.26a3.58 3.58 0 0 0-5.06-5.06l-5.67 5.68a.75.75 0 1 0 1.06 1.06l5.67-5.68Z\"]);\nexport const MailAttach28Regular = /*#__PURE__*/createFluentIcon('MailAttach28Regular', \"28\", [\"m15.78 14.91-1.44.75a.75.75 0 0 1-.58.05l-.1-.05L4.5 10.9v8.84c0 .92.7 1.67 1.6 1.75h15.65c.91 0 1.66-.7 1.74-1.6v-7.91l1.5-1.5v9.26A3.25 3.25 0 0 1 21.93 23H6.24a3.25 3.25 0 0 1-3.23-3.06L3 19.74V8.24A3.25 3.25 0 0 1 6.06 5H17.52l-1.5 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.96l9.5 4.94 1.09-.57c.11.48.34.94.69 1.33ZM21.95 4.1a2.08 2.08 0 0 1 2.94 2.94l-6.24 6.25-.01.01a.67.67 0 0 1-.95-.95l5.08-5.07a.75.75 0 1 0-1.06-1.06l-5.08 5.07a2.17 2.17 0 1 0 3.07 3.07l6.25-6.26a3.58 3.58 0 1 0-5.06-5.06l-5.67 5.68a.75.75 0 1 0 1.06 1.06l5.67-5.68Z\"]);\nexport const MailCheckmark16Filled = /*#__PURE__*/createFluentIcon('MailCheckmark16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0L9.5 6.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7ZM10.5 11c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailCheckmark16Regular = /*#__PURE__*/createFluentIcon('MailCheckmark16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0L9.5 6.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7ZM12 13v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailCheckmark20Filled = /*#__PURE__*/createFluentIcon('MailCheckmark20Filled', \"20\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm2.35-5.65-3 3a.5.5 0 0 1-.7 0l-1-1a.5.5 0 0 1 .7-.7l.65.64 2.65-2.64a.5.5 0 0 1 .7.7Z\"]);\nexport const MailCheckmark20Regular = /*#__PURE__*/createFluentIcon('MailCheckmark20Regular', \"20\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm2.35-5.65-3 3a.5.5 0 0 1-.7 0l-1-1a.5.5 0 0 1 .7-.7l.65.64 2.65-2.64a.5.5 0 0 1 .7.7Z\"]);\nexport const MailCheckmark24Filled = /*#__PURE__*/createFluentIcon('MailCheckmark24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-2.15-2.35a.5.5 0 0 0-.7 0L16.5 7.79l-1.65-1.64a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l4-4a.5.5 0 0 0 0-.7ZM17.5 13c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailCheckmark24Regular = /*#__PURE__*/createFluentIcon('MailCheckmark24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-2.15-2.35a.5.5 0 0 0-.7 0L16.5 7.79l-1.65-1.64a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l4-4a.5.5 0 0 0 0-.7Zm-.35 12.6v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailClock16Filled = /*#__PURE__*/createFluentIcon('MailClock16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM10.5 3a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H12a.5.5 0 0 0 0-1h-1V3.5a.5.5 0 0 0-.5-.5Zm0 8c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailClock16Regular = /*#__PURE__*/createFluentIcon('MailClock16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM10.5 3a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H12a.5.5 0 0 0 0-1h-1V3.5a.5.5 0 0 0-.5-.5ZM12 13v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailClock20Filled = /*#__PURE__*/createFluentIcon('MailClock20Filled', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1V3.5a.5.5 0 0 0-.5-.5Zm0 8c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailClock20Regular = /*#__PURE__*/createFluentIcon('MailClock20Regular', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1V3.5a.5.5 0 0 0-.5-.5ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailClock24Filled = /*#__PURE__*/createFluentIcon('MailClock24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM17.5 3c.28 0 .5.22.5.5V6h2a.5.5 0 0 1 0 1h-2.5a.5.5 0 0 1-.5-.5v-3c0-.28.22-.5.5-.5Zm4.5 8.19a6.48 6.48 0 0 1-7.24 1.2l-2.41 1.27a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74v-5.56ZM11.5 4H5.06a3.25 3.25 0 0 0-3.04 2.92L12 12.15l1.3-.68A6.49 6.49 0 0 1 11.5 4Z\"]);\nexport const MailClock24Regular = /*#__PURE__*/createFluentIcon('MailClock24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM17.5 3c.28 0 .5.22.5.5V6h2a.5.5 0 0 1 0 1h-2.5a.5.5 0 0 1-.5-.5v-3c0-.28.22-.5.5-.5Zm3 9.27v4.62c-.08.9-.83 1.61-1.75 1.61H5.11c-.9-.08-1.61-.83-1.61-1.75V9.37l8.15 4.3.1.04c.2.07.41.05.6-.05l2.4-1.26a6.5 6.5 0 0 1-1.44-.93l-1.31.68-8.5-4.47V7.1c.08-.9.83-1.61 1.75-1.61h5.83c.08-.52.22-1.03.42-1.5H5.07A3.25 3.25 0 0 0 2 7.26v9.68A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74v-5.56c-.44.43-.95.8-1.5 1.08Z\"]);\nexport const MailCopy20Filled = /*#__PURE__*/createFluentIcon('MailCopy20Filled', \"20\", [\"M4 12.5V6.37l6.75 3.56c.15.1.35.1.5 0L18 6.37v6.13a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 4 12.5Zm.02-7.28A2.5 2.5 0 0 1 6.5 3h9a2.5 2.5 0 0 1 2.48 2.22L11 8.92l-6.98-3.7ZM13.5 17c.82 0 1.54-.4 2-1h-9A3.5 3.5 0 0 1 3 12.5v-7c-.6.46-1 1.18-1 2v5A4.5 4.5 0 0 0 6.5 17h7Z\"]);\nexport const MailCopy20Regular = /*#__PURE__*/createFluentIcon('MailCopy20Regular', \"20\", [\"M4 5.5A2.5 2.5 0 0 1 6.5 3h9A2.5 2.5 0 0 1 18 5.5v7a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 4 12.5v-7Zm6.75 4.43L5 6.96v5.54c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5V6.96l-5.75 2.97-.08.04a.5.5 0 0 1-.42-.04ZM15.5 4h-9C5.67 4 5 4.67 5 5.5v.3l6 3.12 6-3.12v-.3c0-.83-.67-1.5-1.5-1.5Zm-2 13c.82 0 1.54-.4 2-1h-9A3.5 3.5 0 0 1 3 12.5v-7c-.6.46-1 1.18-1 2v5A4.5 4.5 0 0 0 6.5 17h7Z\"]);\nexport const MailCopy24Filled = /*#__PURE__*/createFluentIcon('MailCopy24Filled', \"24\", [\"M3 7.51c-.9.58-1.5 1.59-1.5 2.74v6c0 2.9 2.35 5.25 5.25 5.25h9c1.15 0 2.16-.6 2.74-1.5H6.75A3.75 3.75 0 0 1 3 16.25V7.51Zm1 .6v7.64a3.25 3.25 0 0 0 3.07 3.24l.18.01h11.5a3.25 3.25 0 0 0 3.24-3.07l.01-.18V8.11l-8.65 4.55a.75.75 0 0 1-.7 0L4 8.11ZM18.75 4H7.25A3.25 3.25 0 0 0 4.1 6.47l8.9 4.68 8.9-4.68A3.25 3.25 0 0 0 18.94 4L18.75 4Z\"]);\nexport const MailCopy24Regular = /*#__PURE__*/createFluentIcon('MailCopy24Regular', \"24\", [\"M3 7.51c-.9.58-1.5 1.59-1.5 2.74v6c0 2.9 2.35 5.25 5.25 5.25h9c1.15 0 2.16-.6 2.74-1.5H6.75A3.75 3.75 0 0 1 3 16.25V7.51ZM18.75 4H7.25a3.25 3.25 0 0 0-3.24 3.07L4 7.25v8.5a3.25 3.25 0 0 0 3.07 3.24l.18.01h11.5a3.25 3.25 0 0 0 3.24-3.07l.01-.18v-8.5a3.25 3.25 0 0 0-3.07-3.24L18.75 4ZM5.5 8.9l7.15 3.76c.19.1.4.12.6.05l.1-.05L20.5 8.9v6.85c0 .92-.7 1.67-1.6 1.74l-.15.01H7.25c-.92 0-1.67-.7-1.74-1.6l-.01-.15V8.9Zm1.75-3.4h11.5c.92 0 1.67.7 1.74 1.6v.1L13 11.16 5.5 7.2c.02-.94.8-1.7 1.75-1.7Z\"]);\nexport const MailDismiss16Filled = /*#__PURE__*/createFluentIcon('MailDismiss16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L10.5 4.79 9.35 3.65a.5.5 0 1 0-.7.7L9.79 5.5 8.65 6.65a.5.5 0 1 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L11.21 5.5l1.14-1.15ZM10.5 11c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailDismiss16Regular = /*#__PURE__*/createFluentIcon('MailDismiss16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L10.5 4.79 9.35 3.65a.5.5 0 1 0-.7.7L9.79 5.5 8.65 6.65a.5.5 0 1 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L11.21 5.5l1.14-1.15ZM12 13v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailDismiss20Filled = /*#__PURE__*/createFluentIcon('MailDismiss20Filled', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L14.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L15.21 5.5l1.14-1.15ZM14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailDismiss20Regular = /*#__PURE__*/createFluentIcon('MailDismiss20Regular', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L14.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L15.21 5.5l1.14-1.15ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailDismiss24Filled = /*#__PURE__*/createFluentIcon('MailDismiss24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7L18.21 6.5l1.64-1.65a.5.5 0 0 0-.7-.7L17.5 5.79l-1.65-1.64ZM17.5 13c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailDismiss24Regular = /*#__PURE__*/createFluentIcon('MailDismiss24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7L18.21 6.5l1.64-1.65a.5.5 0 0 0-.7-.7L17.5 5.79l-1.65-1.64Zm4.65 12.6v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailDismiss28Filled = /*#__PURE__*/createFluentIcon('MailDismiss28Filled', \"28\", [\"M27 7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-9.15-3.35a.5.5 0 0 0-.7.7l2.64 2.65-2.64 2.65a.5.5 0 0 0 .7.7l2.65-2.64 2.65 2.64a.5.5 0 0 0 .7-.7L21.21 7.5l2.64-2.65a.5.5 0 0 0-.7-.7L20.5 6.79l-2.65-2.64ZM20.5 15c1.69 0 3.25-.56 4.5-1.5v6.25a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 19.75v-9.63l10.65 5.55c.22.1.48.1.7 0l2.8-1.46c1 .5 2.14.79 3.35.79ZM6.25 5h7.18a7.49 7.49 0 0 0 2.28 8.27l-1.71.88L3 8.43v-.18a3.25 3.25 0 0 1 3.07-3.24L6.25 5Z\"]);\nexport const MailDismiss28Regular = /*#__PURE__*/createFluentIcon('MailDismiss28Regular', \"28\", [\"M27 7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-9.15-3.35a.5.5 0 0 0-.7.7l2.64 2.65-2.64 2.65a.5.5 0 0 0 .7.7l2.65-2.64 2.65 2.64a.5.5 0 0 0 .7-.7L21.21 7.5l2.64-2.65a.5.5 0 0 0-.7-.7L20.5 6.79l-2.65-2.64Zm5.65 15.6v-5.37a7.49 7.49 0 0 0 1.5-.88v6.25a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 19.75V8.25a3.25 3.25 0 0 1 3.07-3.24L6.25 5h7.18c-.17.48-.3.98-.36 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.96l9.5 4.94 1.7-.88c.45.36.93.68 1.45.94l-2.8 1.46a.75.75 0 0 1-.58.04l-.12-.04L4.5 10.9v8.85c0 .92.7 1.67 1.6 1.74l.15.01h15.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailEdit20Filled = /*#__PURE__*/createFluentIcon('MailEdit20Filled', \"20\", [\"M18 6.37v2.76a2.87 2.87 0 0 0-2.9.71l-4.83 4.83a3.2 3.2 0 0 0-.8 1.33H4.5A2.5 2.5 0 0 1 2 13.5V6.37l7.75 4.56c.15.1.35.1.5 0L18 6.37ZM15.5 3a2.5 2.5 0 0 1 2.48 2.22L10 9.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 3h11Zm-4.52 12.38 4.83-4.83a1.87 1.87 0 1 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.07l.37-1.5c.1-.39.3-.74.58-1.02Z\"]);\nexport const MailEdit20Regular = /*#__PURE__*/createFluentIcon('MailEdit20Regular', \"20\", [\"M15.5 3A2.5 2.5 0 0 1 18 5.5v3.63c-.32-.1-.66-.14-1-.13V6.96l-6.75 3.97a.5.5 0 0 1-.42.04l-.08-.04L3 6.96v6.54c0 .83.67 1.5 1.5 1.5h5.48c-.22.3-.4.64-.5 1H4.5A2.5 2.5 0 0 1 2 13.5v-8A2.5 2.5 0 0 1 4.5 3h11Zm0 1h-11C3.67 4 3 4.67 3 5.5v.3l7 4.12 7-4.12v-.3c0-.83-.67-1.5-1.5-1.5Zm-4.52 11.38 4.83-4.83a1.87 1.87 0 1 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.07l.37-1.5c.1-.39.3-.74.58-1.02Z\"]);\nexport const MailEdit24Filled = /*#__PURE__*/createFluentIcon('MailEdit24Filled', \"24\", [\"M22 11.26V7.61l-9.65 5.05a.75.75 0 0 1-.7 0L2 7.61v8.32A3.25 3.25 0 0 0 5.26 19h6.47c.18-.42.44-.8.77-1.14l5.9-5.9a3.29 3.29 0 0 1 3.61-.7ZM18.75 3H5.06a3.25 3.25 0 0 0-3.04 2.92L12 11.15l9.98-5.23A3.25 3.25 0 0 0 18.75 3Zm.35 9.67-5.9 5.9c-.35.35-.6.78-.7 1.25l-.47 1.83c-.2.8.53 1.52 1.32 1.32l1.83-.46c.47-.12.9-.36 1.25-.7l5.9-5.9a2.29 2.29 0 0 0-3.23-3.24Z\"]);\nexport const MailEdit24Regular = /*#__PURE__*/createFluentIcon('MailEdit24Regular', \"24\", [\"M18.75 3H5.07A3.25 3.25 0 0 0 2 6.26v9.68A3.25 3.25 0 0 0 5.26 19h6.47c.18-.42.44-.8.77-1.14l.37-.36H5.1c-.9-.08-1.61-.83-1.61-1.75V8.37l8.15 4.3.1.04c.2.07.41.05.6-.05l8.15-4.29v2.64a3.3 3.3 0 0 1 1.5.25V6.07A3.25 3.25 0 0 0 18.74 3ZM5.25 4.5h13.64c.9.08 1.61.83 1.61 1.75v.43L12 11.15 3.5 6.68V6.1c.08-.9.83-1.61 1.75-1.61Zm13.85 8.17-5.9 5.9c-.35.35-.6.78-.7 1.25l-.47 1.83c-.2.8.53 1.52 1.32 1.32l1.83-.46c.47-.12.9-.36 1.25-.7l5.9-5.9a2.29 2.29 0 0 0-3.23-3.24Z\"]);\nexport const MailError16Filled = /*#__PURE__*/createFluentIcon('MailError16Filled', \"16\", [\"M10.5 11c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Zm7.5 5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM10 3.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0v-2Zm1.13 4a.62.62 0 1 1-1.25 0 .62.62 0 0 1 1.24 0Z\"]);\nexport const MailError16Regular = /*#__PURE__*/createFluentIcon('MailError16Regular', \"16\", [\"M12 13v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Zm-1.5-3a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM10 3.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0v-2Zm1.13 4a.62.62 0 1 1-1.25 0 .62.62 0 0 1 1.24 0Z\"]);\nexport const MailError20Filled = /*#__PURE__*/createFluentIcon('MailError20Filled', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.25Zm0 2.87c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailError20Regular = /*#__PURE__*/createFluentIcon('MailError20Regular', \"20\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.25ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailError24Filled = /*#__PURE__*/createFluentIcon('MailError24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM17.5 3a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5Zm0 7.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Zm0 2.87c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailError24Regular = /*#__PURE__*/createFluentIcon('MailError24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM17.5 3a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5Zm0 7.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Zm3 6.62v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailInbox16Filled = /*#__PURE__*/createFluentIcon('MailInbox16Filled', \"16\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7ZM13 8V4.5c0-.83-.67-1.5-1.5-1.5h-7C3.67 3 3 3.67 3 4.5V8h2.5c.28 0 .5.22.5.5a2.55 2.55 0 0 0 .26 1.03c.3.61.84.97 1.74.97s1.43-.36 1.74-.97A2.55 2.55 0 0 0 10 8.5a.5.5 0 0 1 .41-.5H13Z\"]);\nexport const MailInbox16Regular = /*#__PURE__*/createFluentIcon('MailInbox16Regular', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v7A2.5 2.5 0 0 0 4.5 14h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7ZM13 8h-2.59a.5.5 0 0 0-.41.5c0 .05 0 .16-.03.3-.04.26-.12.5-.23.73-.3.61-.84.97-1.74.97s-1.43-.36-1.74-.97A2.55 2.55 0 0 1 6 8.5a.5.5 0 0 0-.5-.5H3V4.5C3 3.67 3.67 3 4.5 3h7c.83 0 1.5.67 1.5 1.5V8ZM3 9h2.04l.04.17c.06.26.15.53.29.8.47.95 1.34 1.53 2.63 1.53 1.29 0 2.16-.58 2.63-1.53l.1-.2c.09-.2.15-.4.2-.6l.03-.17H13v2.5c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5V9Z\"]);\nexport const MailInbox20Filled = /*#__PURE__*/createFluentIcon('MailInbox20Filled', \"20\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm1 4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 10.5v-.01c0-.28.22-.5.5-.5H16V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4Zm4 .5Z\"]);\nexport const MailInbox20Regular = /*#__PURE__*/createFluentIcon('MailInbox20Regular', \"20\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 7h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4ZM4 11h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInbox24Filled = /*#__PURE__*/createFluentIcon('MailInbox24Filled', \"24\", [\"M17.75 3C19.55 3 21 4.46 21 6.25v11.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75V6.25C3 4.45 4.46 3 6.25 3h11.5Zm0 1.5H6.25c-.97 0-1.75.78-1.75 1.75V13H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5 0c0-.41.34-.75.75-.75h4.5V6.25c0-.92-.7-1.67-1.6-1.74l-.15-.01Z\"]);\nexport const MailInbox24Regular = /*#__PURE__*/createFluentIcon('MailInbox24Regular', \"24\", [\"M6.25 3h11.5a3.25 3.25 0 0 1 3.24 3.07l.01.18v11.5a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 17.75V6.25a3.25 3.25 0 0 1 3.07-3.24L6.25 3h11.5-11.5ZM4.5 14.5v3.25c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V14.5h-3.82a3.75 3.75 0 0 1-3.48 3H12a3.75 3.75 0 0 1-3.63-2.81l-.04-.19H4.5v3.25-3.25Zm13.25-10H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15V13H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5.15v-.15c0-.38.28-.7.65-.74L15 13h4.5V6.25c0-.92-.7-1.67-1.6-1.74l-.15-.01Z\"]);\nexport const MailInbox28Filled = /*#__PURE__*/createFluentIcon('MailInbox28Filled', \"28\", [\"M21.75 3C23.55 3 25 4.46 25 6.25v15.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 21.75V6.25C3 4.45 4.46 3 6.25 3h15.5Zm0 1.5H6.25c-.97 0-1.75.78-1.75 1.75V15h6c.38 0 .7.28.74.65l.01.1a2.75 2.75 0 1 0 5.5 0c0-.38.28-.7.65-.74l.1-.01h6V6.25c0-.97-.78-1.75-1.75-1.75Z\"]);\nexport const MailInbox28Regular = /*#__PURE__*/createFluentIcon('MailInbox28Regular', \"28\", [\"M21.75 3C23.55 3 25 4.46 25 6.25v15.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 21.75V6.25C3 4.45 4.46 3 6.25 3h15.5ZM4.5 21.75c0 .97.78 1.75 1.75 1.75h15.5c.97 0 1.75-.78 1.75-1.75V16.5h-5.32a4.25 4.25 0 0 1-3.96 3.5H14a4.25 4.25 0 0 1-4.14-3.3l-.04-.2H4.5v5.25ZM21.75 4.5H6.25c-.97 0-1.75.78-1.75 1.75V15h6c.38 0 .7.28.74.65l.01.1a2.75 2.75 0 1 0 5.5 0c0-.38.28-.7.65-.74l.1-.01h6V6.25c0-.97-.78-1.75-1.75-1.75Z\"]);\nexport const MailInboxAdd16Filled = /*#__PURE__*/createFluentIcon('MailInboxAdd16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H11V3.5Zm-.5 7.5c1.33 0 2.55-.47 3.5-1.26v2.76a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-7A2.5 2.5 0 0 1 4.5 3h1.1c-.16.32-.3.65-.4 1h-.7C3.67 4 3 4.67 3 5.5V9h2.5c.28 0 .5.22.5.5a2.55 2.55 0 0 0 .26 1.03c.3.61.84.97 1.74.97.7 0 1.17-.21 1.5-.6.32.07.66.1 1 .1Z\"]);\nexport const MailInboxAdd16Regular = /*#__PURE__*/createFluentIcon('MailInboxAdd16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H11V3.5Zm-.5 7.5h.12c-.47.93-1.34 1.5-2.62 1.5-1.29 0-2.16-.58-2.63-1.53a3.54 3.54 0 0 1-.3-.8L5.05 10H3v2.5c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-2.1c.36-.18.7-.4 1-.66v2.76a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-7A2.5 2.5 0 0 1 4.5 3h1.1c-.16.32-.3.65-.4 1h-.7C3.67 4 3 4.67 3 5.5V9h2.5c.28 0 .5.22.5.5a2.55 2.55 0 0 0 .26 1.03c.3.61.84.97 1.74.97.7 0 1.17-.21 1.5-.6.32.07.66.1 1 .1Z\"]);\nexport const MailInboxAdd20Filled = /*#__PURE__*/createFluentIcon('MailInboxAdd20Filled', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H13v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H14V3.5Zm2 7.5v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16Z\"]);\nexport const MailInboxAdd20Regular = /*#__PURE__*/createFluentIcon('MailInboxAdd20Regular', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H13v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H14V3.5ZM6 5h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2Zm-2 7h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxAdd24Filled = /*#__PURE__*/createFluentIcon('MailInboxAdd24Filled', \"24\", [\"M22 6.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM17 7v2.5a.5.5 0 1 1-1 0V7h-2.5a.5.5 0 0 1 0-1H16V3.5a.5.5 0 0 1 1 0V6h2.5a.5.5 0 1 1 0 1H17Zm2.5 7v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 18.75V7.25C3 5.45 4.46 4 6.25 4h4.25c-.2.47-.34.98-.42 1.5H6.25c-.97 0-1.75.78-1.75 1.75V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5 0c0-.41.34-.75.75-.75h4.5Z\"]);\nexport const MailInboxAdd24Regular = /*#__PURE__*/createFluentIcon('MailInboxAdd24Regular', \"24\", [\"M22 6.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM17 7v2.5a.5.5 0 1 1-1 0V7h-2.5a.5.5 0 0 1 0-1H16V3.5a.5.5 0 0 1 1 0V6h2.5a.5.5 0 1 1 0 1H17Zm2.5 7v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 18.75V7.25a3.25 3.25 0 0 1 3.07-3.24L6.25 4h4.25c-.2.47-.34.98-.42 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5.15v-.15c0-.38.28-.7.65-.74L15 14h4.5Zm-15 1.5v3.25c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V15.5h-3.82a3.75 3.75 0 0 1-3.48 3H12a3.75 3.75 0 0 1-3.63-2.81l-.04-.19H4.5Z\"]);\nexport const MailInboxAdd28Filled = /*#__PURE__*/createFluentIcon('MailInboxAdd28Filled', \"28\", [\"M26 7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-6-4a.5.5 0 0 0-1 0V7h-3.5a.5.5 0 0 0 0 1H19v3.5a.5.5 0 0 0 1 0V8h3.5a.5.5 0 0 0 0-1H20V3.5ZM23.5 16v-2.15A7.54 7.54 0 0 0 25 12.6v10.15c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 22.75V7.25C3 5.45 4.46 4 6.25 4h6.62c-.25.47-.46.97-.6 1.5H6.25c-.97 0-1.75.78-1.75 1.75V16h6c.38 0 .7.28.74.65l.01.1a2.75 2.75 0 1 0 5.5 0c0-.38.28-.7.65-.74l.1-.01h6Z\"]);\nexport const MailInboxAdd28Regular = /*#__PURE__*/createFluentIcon('MailInboxAdd28Regular', \"28\", [\"M26 7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-6-4a.5.5 0 0 0-1 0V7h-3.5a.5.5 0 0 0 0 1H19v3.5a.5.5 0 0 0 1 0V8h3.5a.5.5 0 0 0 0-1H20V3.5ZM23.5 16v-2.15A7.54 7.54 0 0 0 25 12.6v10.15c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 22.75V7.25C3 5.45 4.46 4 6.25 4h6.62c-.25.47-.46.97-.6 1.5H6.25c-.97 0-1.75.78-1.75 1.75V16h6c.38 0 .7.28.74.65l.01.1a2.75 2.75 0 1 0 5.5 0c0-.38.28-.7.65-.74l.1-.01h6Zm-19 6.75c0 .97.78 1.75 1.75 1.75h15.5c.97 0 1.75-.78 1.75-1.75V17.5h-5.32a4.25 4.25 0 0 1-3.96 3.5H14a4.25 4.25 0 0 1-4.14-3.3l-.04-.2H4.5v5.25Z\"]);\nexport const MailInboxAll20Filled = /*#__PURE__*/createFluentIcon('MailInboxAll20Filled', \"20\", [\"M6 5.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm1 4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 10.5v-.01c0-.28.22-.5.5-.5H16V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4Zm4 .5Z\"]);\nexport const MailInboxAll20Regular = /*#__PURE__*/createFluentIcon('MailInboxAll20Regular', \"20\", [\"M6 5.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM6.5 7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 7h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4ZM4 11h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxAll24Filled = /*#__PURE__*/createFluentIcon('MailInboxAll24Filled', \"24\", [\"M17.75 3C19.55 3 21 4.46 21 6.25v11.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75V6.25C3 4.45 4.46 3 6.25 3h11.5Zm0 1.5H6.25c-.97 0-1.75.78-1.75 1.75V13H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5.15v-.15c0-.41.34-.75.75-.75h4.5V6.25c0-.92-.7-1.67-1.6-1.74l-.15-.01Zm-11 5h10.5a.75.75 0 0 1 .1 1.5H6.75a.75.75 0 0 1-.1-1.5h10.6-10.5Zm0-3h10.5a.75.75 0 0 1 .1 1.5H6.75a.75.75 0 0 1-.1-1.5h10.6-10.5Z\"]);\nexport const MailInboxAll24Regular = /*#__PURE__*/createFluentIcon('MailInboxAll24Regular', \"24\", [\"M6.25 3h11.5a3.25 3.25 0 0 1 3.24 3.07l.01.18v11.5a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 17.75V6.25a3.25 3.25 0 0 1 3.07-3.24L6.25 3Zm2.08 11.5H4.5v3.25c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V14.5h-3.82a3.75 3.75 0 0 1-3.48 3H12a3.75 3.75 0 0 1-3.63-2.81l-.04-.19Zm9.42-10H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15V13H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5.15v-.15c0-.38.28-.7.65-.74L15 13h4.5V6.25c0-.92-.7-1.67-1.6-1.74l-.15-.01Zm-11 5h10.5a.75.75 0 0 1 .1 1.5H6.75a.75.75 0 0 1-.1-1.5h10.6-10.5Zm0-3h10.5a.75.75 0 0 1 .1 1.5H6.75a.75.75 0 0 1-.1-1.5h10.6-10.5Z\"]);\nexport const MailInboxArrowDown16Filled = /*#__PURE__*/createFluentIcon('MailInboxArrowDown16Filled', \"16\", [\"M14 9.74a5.48 5.48 0 0 1-4.5 1.17c-.33.38-.8.59-1.5.59-.9 0-1.43-.36-1.74-.97A2.55 2.55 0 0 1 6 9.5a.5.5 0 0 0-.5-.5H3V5.5C3 4.67 3.67 4 4.5 4h.7c.1-.35.24-.68.4-1H4.5A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h7a2.5 2.5 0 0 0 2.5-2.5V9.74Zm-3.5.26a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM8.15 5.85a.5.5 0 1 1 .7-.7L10 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailInboxArrowDown16Regular = /*#__PURE__*/createFluentIcon('MailInboxArrowDown16Regular', \"16\", [\"M10.62 11a5.5 5.5 0 0 1-1.13-.1c-.32.39-.8.6-1.49.6-.9 0-1.43-.36-1.74-.97A2.55 2.55 0 0 1 6 9.5a.5.5 0 0 0-.5-.5H3V5.5C3 4.67 3.67 4 4.5 4h.7c.1-.35.24-.68.4-1H4.5A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h7a2.5 2.5 0 0 0 2.5-2.5V9.74c-.3.26-.64.48-1 .66v2.1c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 12.5V10h2.04l.04.17c.06.26.15.53.29.8.47.95 1.34 1.53 2.63 1.53 1.28 0 2.15-.57 2.62-1.5Zm-.12-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM8.15 5.85a.5.5 0 1 1 .7-.7L10 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailInboxArrowDown20Filled = /*#__PURE__*/createFluentIcon('MailInboxArrowDown20Filled', \"20\", [\"M16 10.4v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66Zm-2.5-.4a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2.35-4.15a.5.5 0 0 1 .7-.7L13 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailInboxArrowDown20Regular = /*#__PURE__*/createFluentIcon('MailInboxArrowDown20Regular', \"20\", [\"M8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.68 1.68 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.42 2.42 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Zm6.45-2a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2.35-4.15a.5.5 0 0 1 .7-.7L13 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailInboxArrowRight20Filled = /*#__PURE__*/createFluentIcon('MailInboxArrowRight20Filled', \"20\", [\"M16 11v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16Zm2-5.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Zm-4.15 2.35a.5.5 0 0 1-.7-.7L14.29 6H11.5a.5.5 0 0 1 0-1h2.8l-1.15-1.15a.5.5 0 0 1 .7-.7l2 2a.5.5 0 0 1 .15.35.5.5 0 0 1-.14.35l-2 2Z\"]);\nexport const MailInboxArrowRight20Regular = /*#__PURE__*/createFluentIcon('MailInboxArrowRight20Regular', \"20\", [\"M13.5 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Zm2.35 4.85A.5.5 0 0 0 16 5.5a.5.5 0 0 0-.15-.35l-2-2a.5.5 0 0 0-.7.7L14.29 5H11.5a.5.5 0 0 0 0 1h2.8l-1.15 1.15a.5.5 0 0 0 .7.7l2-2ZM8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Z\"]);\nexport const MailInboxArrowRight24Filled = /*#__PURE__*/createFluentIcon('MailInboxArrowRight24Filled', \"24\", [\"M10.5 4c-.2.47-.34.98-.42 1.5H6.25c-.97 0-1.75.78-1.75 1.75V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5 0c0-.41.34-.75.75-.75h4.5v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 18.75V7.25C3 5.45 4.46 4 6.25 4h4.25Zm6-3a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm.22 2.59-.07.06-.06.07a.5.5 0 0 0 0 .56l.06.07L18.29 6h-5.38a.5.5 0 0 0-.4.41l-.01.09v.09c.05.2.2.36.41.4L13 7h5.3l-1.65 1.65-.06.07a.5.5 0 0 0 .7.7l.06-.07 2.54-2.54.04-.05.03-.07.02-.06.02-.08v-.1l-.02-.08-.03-.08-.04-.07-.04-.06-2.52-2.51-.07-.06a.5.5 0 0 0-.56 0Z\"]);\nexport const MailInboxArrowRight24Regular = /*#__PURE__*/createFluentIcon('MailInboxArrowRight24Regular', \"24\", [\"M10.5 4c-.2.47-.34.98-.42 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5.15v-.15c0-.38.28-.7.65-.74L15 14h4.5v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 18.75V7.25a3.25 3.25 0 0 1 3.07-3.24L6.25 4h4.25Zm9 11.5h-3.82a3.75 3.75 0 0 1-3.48 3H12a3.75 3.75 0 0 1-3.67-3H4.5v3.25c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V15.5ZM16.5 1a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm.22 2.59-.07.06-.06.07a.5.5 0 0 0 0 .56l.06.07L18.29 6h-5.38a.5.5 0 0 0-.4.41l-.01.09v.09c.05.2.2.36.41.4L13 7h5.3l-1.65 1.65-.06.07a.5.5 0 0 0 .7.7l.06-.07 2.54-2.54.04-.05.03-.07.02-.06.02-.08v-.1l-.02-.08-.03-.08-.04-.07-.04-.06-2.52-2.51-.07-.06a.5.5 0 0 0-.56 0Z\"]);\nexport const MailInboxArrowUp20Filled = /*#__PURE__*/createFluentIcon('MailInboxArrowUp20Filled', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 13.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L13 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 1 0 .7-.7l-2-2ZM16 10.4v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66Z\"]);\nexport const MailInboxArrowUp20Regular = /*#__PURE__*/createFluentIcon('MailInboxArrowUp20Regular', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 13.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L13 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2ZM8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.68 1.68 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.42 2.42 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Z\"]);\nexport const MailInboxArrowUp24Filled = /*#__PURE__*/createFluentIcon('MailInboxArrowUp24Filled', \"24\", [\"M10.5 4c-.2.47-.34.98-.42 1.5H6.25c-.97 0-1.75.78-1.75 1.75V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5 0c0-.41.34-.75.75-.75h4.5v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 18.75V7.25C3 5.45 4.46 4 6.25 4h4.25Zm6-3a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm.13 2.02L16.54 3h-.11l-.06.02-.08.03-.07.04-.06.04-2.51 2.52-.06.07a.5.5 0 0 0 0 .56l.06.07.07.06c.17.12.4.12.56 0l.07-.06L16 4.71v5.38c.05.2.2.36.41.4l.09.01h.09a.5.5 0 0 0 .4-.41L17 10V4.7l1.65 1.65.07.06a.5.5 0 0 0 .7-.7l-.07-.06-2.54-2.55-.05-.03-.07-.03-.06-.02Z\"]);\nexport const MailInboxArrowUp24Regular = /*#__PURE__*/createFluentIcon('MailInboxArrowUp24Regular', \"24\", [\"M10.5 4c-.2.47-.34.98-.42 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5 0c0-.38.28-.7.65-.74L15 14h4.5v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 18.75V7.25a3.25 3.25 0 0 1 3.07-3.24L6.25 4h4.25ZM8.33 15.5H4.5v3.25c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V15.5h-3.82a3.75 3.75 0 0 1-3.48 3H12a3.75 3.75 0 0 1-3.63-2.81l-.04-.19ZM16.5 1a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm.13 2.02L16.54 3h-.11l-.06.02-.08.03-.07.04-.06.04-2.51 2.52-.06.07a.5.5 0 0 0 0 .56l.06.07.07.06c.17.12.4.12.56 0l.07-.06L16 4.71v5.38c.05.2.2.36.41.4l.09.01h.09a.5.5 0 0 0 .4-.41L17 10V4.7l1.65 1.65.07.06a.5.5 0 0 0 .7-.7l-.07-.06-2.54-2.55-.05-.03-.07-.03-.06-.02Z\"]);\nexport const MailInboxCheckmark16Filled = /*#__PURE__*/createFluentIcon('MailInboxCheckmark16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.85-1.85L9.5 6.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0-.7-.7ZM14 9.75a5.48 5.48 0 0 1-4.5 1.16c-.33.38-.8.59-1.5.59-.9 0-1.43-.36-1.74-.97A2.55 2.55 0 0 1 6 9.5a.5.5 0 0 0-.5-.5H3V5.5C3 4.67 3.67 4 4.5 4h.7c.1-.35.24-.68.4-1H4.5A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h7a2.5 2.5 0 0 0 2.5-2.5V9.74Z\"]);\nexport const MailInboxCheckmark16Regular = /*#__PURE__*/createFluentIcon('MailInboxCheckmark16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.85-1.85L9.5 6.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0-.7-.7ZM10.62 11a5.5 5.5 0 0 1-1.13-.1c-.32.39-.8.6-1.49.6-.9 0-1.43-.36-1.74-.97A2.55 2.55 0 0 1 6 9.5a.5.5 0 0 0-.5-.5H3V5.5C3 4.67 3.67 4 4.5 4h.7c.1-.35.24-.68.4-1H4.5A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h7a2.5 2.5 0 0 0 2.5-2.5V9.74c-.3.26-.64.48-1 .66v2.1c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 12.5V10h2.04l.04.17c.06.26.15.53.29.8.47.95 1.34 1.53 2.63 1.53 1.28 0 2.15-.57 2.62-1.5Z\"]);\nexport const MailInboxCheckmark20Filled = /*#__PURE__*/createFluentIcon('MailInboxCheckmark20Filled', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.85-1.85L12.5 6.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0-.7-.7ZM16 10.4v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66Z\"]);\nexport const MailInboxCheckmark20Regular = /*#__PURE__*/createFluentIcon('MailInboxCheckmark20Regular', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.85-1.85L12.5 6.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0-.7-.7ZM8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Z\"]);\nexport const MailInboxCheckmark24Filled = /*#__PURE__*/createFluentIcon('MailInboxCheckmark24Filled', \"24\", [\"M22 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-2.15-2.35a.5.5 0 0 0-.7 0L15.5 7.79l-1.65-1.64a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l4-4a.5.5 0 0 0 0-.7Zm-.35 8.12V14H15a.75.75 0 0 0-.75.75 2.25 2.25 0 0 1-4.5 0v-.1A.75.75 0 0 0 9 14H4.5V7.25c0-.97.78-1.75 1.75-1.75h3.83c.08-.52.22-1.03.42-1.5H6.25A3.25 3.25 0 0 0 3 7.25v11.5C3 20.55 4.46 22 6.25 22h11.5c1.8 0 3.25-1.46 3.25-3.25v-7.56c-.44.43-.95.8-1.5 1.08Z\"]);\nexport const MailInboxCheckmark24Regular = /*#__PURE__*/createFluentIcon('MailInboxCheckmark24Regular', \"24\", [\"M22 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-2.15-2.35a.5.5 0 0 0-.7 0L15.5 7.79l-1.65-1.64a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l4-4a.5.5 0 0 0 0-.7Zm-.35 8.12V14h-4.6a.75.75 0 0 0-.65.75v.15a2.25 2.25 0 0 1-4.5-.15v-.1A.75.75 0 0 0 9 14H4.5V7.11c.08-.9.83-1.61 1.75-1.61h3.83c.08-.52.22-1.03.42-1.5H6.07A3.25 3.25 0 0 0 3 7.26v11.68A3.25 3.25 0 0 0 6.26 22h11.68A3.25 3.25 0 0 0 21 18.74v-7.56c-.44.43-.95.8-1.5 1.08Zm-15 6.48V15.5h3.83l.04.19A3.75 3.75 0 0 0 12 18.5h.2a3.75 3.75 0 0 0 3.48-3h3.82v3.39c-.08.9-.83 1.61-1.75 1.61H6.11c-.9-.08-1.61-.83-1.61-1.75Z\"]);\nexport const MailInboxCheckmark28Filled = /*#__PURE__*/createFluentIcon('MailInboxCheckmark28Filled', \"28\", [\"M23.5 16v-2.15A7.54 7.54 0 0 0 25 12.6v10.15c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 22.75V7.25C3 5.45 4.46 4 6.25 4h6.62c-.25.47-.46.97-.6 1.5H6.25c-.97 0-1.75.78-1.75 1.75V16h6c.38 0 .7.28.74.65l.01.1a2.75 2.75 0 1 0 5.5 0c0-.38.28-.7.65-.74l.1-.01h6Zm-4-2a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm3.85-8.65-5 5a.5.5 0 0 1-.7 0l-2-2a.5.5 0 0 1 .7-.7L18 9.29l4.65-4.64a.5.5 0 0 1 .7.7Z\"]);\nexport const MailInboxCheckmark28Regular = /*#__PURE__*/createFluentIcon('MailInboxCheckmark28Regular', \"28\", [\"M23.5 16v-2.15A7.54 7.54 0 0 0 25 12.6v10.15c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 22.75V7.25C3 5.45 4.46 4 6.25 4h6.62c-.25.47-.46.97-.6 1.5H6.25c-.97 0-1.75.78-1.75 1.75V16h6c.38 0 .7.28.74.65l.01.1a2.75 2.75 0 1 0 5.5 0c0-.38.28-.7.65-.74l.1-.01h6Zm-19 6.75c0 .97.78 1.75 1.75 1.75h15.5c.97 0 1.75-.78 1.75-1.75V17.5h-5.32a4.25 4.25 0 0 1-3.96 3.5H14a4.25 4.25 0 0 1-4.14-3.3l-.04-.2H4.5v5.25Zm15-8.75a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm3.85-8.65-5 5a.5.5 0 0 1-.7 0l-2-2a.5.5 0 0 1 .7-.7L18 9.29l4.65-4.64a.5.5 0 0 1 .7.7Z\"]);\nexport const MailInboxDismiss16Filled = /*#__PURE__*/createFluentIcon('MailInboxDismiss16Filled', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L10.5 4.79 9.35 3.65a.5.5 0 1 0-.7.7L9.79 5.5 8.65 6.65a.5.5 0 1 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L11.21 5.5l1.14-1.15ZM10.5 11c1.33 0 2.55-.47 3.5-1.26v2.76a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-7A2.5 2.5 0 0 1 4.5 3h1.1c-.16.32-.3.65-.4 1h-.7C3.67 4 3 4.67 3 5.5V9h2.5c.28 0 .5.22.5.5a2.55 2.55 0 0 0 .26 1.03c.3.61.84.97 1.74.97.7 0 1.17-.21 1.5-.6.32.07.66.1 1 .1Z\"]);\nexport const MailInboxDismiss16Regular = /*#__PURE__*/createFluentIcon('MailInboxDismiss16Regular', \"16\", [\"M15 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L10.5 4.79 9.35 3.65a.5.5 0 1 0-.7.7L9.79 5.5 8.65 6.65a.5.5 0 1 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L11.21 5.5l1.14-1.15ZM10.5 11h.12c-.47.93-1.34 1.5-2.62 1.5-1.29 0-2.16-.58-2.63-1.53a3.54 3.54 0 0 1-.3-.8L5.05 10H3v2.5c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-2.1c.36-.18.7-.4 1-.66v2.76a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-7A2.5 2.5 0 0 1 4.5 3h1.1c-.16.32-.3.65-.4 1h-.7C3.67 4 3 4.67 3 5.5V9h2.5c.28 0 .5.22.5.5a2.55 2.55 0 0 0 .26 1.03c.3.61.84.97 1.74.97.7 0 1.17-.21 1.5-.6.32.07.66.1 1 .1Z\"]);\nexport const MailInboxDismiss20Filled = /*#__PURE__*/createFluentIcon('MailInboxDismiss20Filled', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L13.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L14.21 5.5l1.14-1.15ZM16 11v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16Z\"]);\nexport const MailInboxDismiss20Regular = /*#__PURE__*/createFluentIcon('MailInboxDismiss20Regular', \"20\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L13.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L14.21 5.5l1.14-1.15ZM6 5h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2Zm-2 7h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxDismiss24Filled = /*#__PURE__*/createFluentIcon('MailInboxDismiss24Filled', \"24\", [\"M22 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7L17.21 6.5l1.64-1.65a.5.5 0 0 0-.7-.7L16.5 5.79l-1.65-1.64ZM19.5 14v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 18.75V7.25C3 5.45 4.46 4 6.25 4h4.25c-.2.47-.34.98-.42 1.5H6.25c-.97 0-1.75.78-1.75 1.75V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5 0c0-.41.34-.75.75-.75h4.5Z\"]);\nexport const MailInboxDismiss24Regular = /*#__PURE__*/createFluentIcon('MailInboxDismiss24Regular', \"24\", [\"M22 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7L17.21 6.5l1.64-1.65a.5.5 0 0 0-.7-.7L16.5 5.79l-1.65-1.64ZM19.5 14v-1.73a6.52 6.52 0 0 0 1.5-1.08v7.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 18.75V7.25a3.25 3.25 0 0 1 3.07-3.24L6.25 4h4.25c-.2.47-.34.98-.42 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15V14H9c.38 0 .7.28.74.65l.01.1a2.25 2.25 0 0 0 4.5.15v-.15c0-.38.28-.7.65-.74L15 14h4.5Zm-15 1.5v3.25c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V15.5h-3.82a3.75 3.75 0 0 1-3.48 3H12a3.75 3.75 0 0 1-3.63-2.81l-.04-.19H4.5Z\"]);\nexport const MailInboxDismiss28Filled = /*#__PURE__*/createFluentIcon('MailInboxDismiss28Filled', \"28\", [\"M26 7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-9.15-3.35a.5.5 0 0 0-.7.7l2.64 2.65-2.64 2.65a.5.5 0 0 0 .7.7l2.65-2.64 2.65 2.64a.5.5 0 0 0 .7-.7L20.21 7.5l2.64-2.65a.5.5 0 0 0-.7-.7L19.5 6.79l-2.65-2.64ZM25 22.75V12.6c-.44.48-.95.9-1.5 1.25V16h-6.1a.75.75 0 0 0-.65.75 2.75 2.75 0 1 1-5.5 0v-.1a.75.75 0 0 0-.75-.65h-6V7.25c0-.97.78-1.75 1.75-1.75h6.02c.14-.53.35-1.03.6-1.5H6.25A3.25 3.25 0 0 0 3 7.25v15.5C3 24.55 4.46 26 6.25 26h15.5c1.8 0 3.25-1.46 3.25-3.25Z\"]);\nexport const MailInboxDismiss28Regular = /*#__PURE__*/createFluentIcon('MailInboxDismiss28Regular', \"28\", [\"M26 7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-9.15-3.35a.5.5 0 0 0-.7.7l2.64 2.65-2.64 2.65a.5.5 0 0 0 .7.7l2.65-2.64 2.65 2.64a.5.5 0 0 0 .7-.7L20.21 7.5l2.64-2.65a.5.5 0 0 0-.7-.7L19.5 6.79l-2.65-2.64ZM25 22.75V12.6c-.44.48-.95.9-1.5 1.25V16h-6.1a.75.75 0 0 0-.65.75 2.75 2.75 0 1 1-5.5 0v-.1a.75.75 0 0 0-.75-.65h-6V7.25c0-.97.78-1.75 1.75-1.75h6.02c.14-.53.35-1.03.6-1.5H6.25A3.25 3.25 0 0 0 3 7.25v15.5C3 24.55 4.46 26 6.25 26h15.5c1.8 0 3.25-1.46 3.25-3.25Zm-20.5 0V17.5h5.32l.04.2A4.25 4.25 0 0 0 14 21h.21c2-.1 3.63-1.58 3.97-3.5h5.32v5.25c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75Z\"]);\nexport const MailLink20Filled = /*#__PURE__*/createFluentIcon('MailLink20Filled', \"20\", [\"M12.5 3a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5ZM16 3a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm-3 0c0-.54.12-1.05.34-1.5H4.5a2.5 2.5 0 0 0-2.48 2.22l7.98 4.7L13.26 9h-.76A3.5 3.5 0 0 1 9 5.5ZM16.5 9h-1.27l-4.98 2.93a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V8.66c-.45.22-.96.34-1.5.34Z\"]);\nexport const MailLink20Regular = /*#__PURE__*/createFluentIcon('MailLink20Regular', \"20\", [\"M12.5 3a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5ZM16 3a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm-2 5.42L13.26 9h1.97l-4.98 2.93a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.96c.35-.05.69-.15 1-.3v5.84a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.84c-.15.31-.25.65-.3 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12Z\"]);\nexport const MailLink24Filled = /*#__PURE__*/createFluentIcon('MailLink24Filled', \"24\", [\"M23 6.75A3.75 3.75 0 0 0 19.25 3h-.1a.75.75 0 0 0 .1 1.5h.15a2.25 2.25 0 0 1-.15 4.5l-.1.01a.75.75 0 0 0 .1 1.5v-.01h.2A3.75 3.75 0 0 0 23 6.74Zm-6.5-3a.75.75 0 0 0-.75-.75h-.2a3.75 3.75 0 0 0 .2 7.5h.1a.75.75 0 0 0-.1-1.5h-.15a2.25 2.25 0 0 1 .15-4.5h.1a.75.75 0 0 0 .65-.75Zm3.5 3a.75.75 0 0 0-.75-.75h-3.6a.75.75 0 0 0 .1 1.5h3.6a.75.75 0 0 0 .65-.75Zm-.75 4.75h-2.77l-4.13 2.16a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74v-6.13c-.78.56-1.73.88-2.75.88ZM5.25 4h6.63a4.73 4.73 0 0 0 2.05 7.14L12 12.15 2.02 6.92a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailLink24Regular = /*#__PURE__*/createFluentIcon('MailLink24Regular', \"24\", [\"M23 6.75A3.75 3.75 0 0 0 19.25 3h-.1a.75.75 0 0 0 .1 1.5h.15a2.25 2.25 0 0 1-.15 4.5l-.1.01a.75.75 0 0 0 .1 1.5v-.01h.2A3.75 3.75 0 0 0 23 6.74Zm-6.5-3a.75.75 0 0 0-.75-.75h-.2a3.75 3.75 0 0 0 .2 7.5h.1a.75.75 0 0 0-.1-1.5h-.15a2.25 2.25 0 0 1 .15-4.5h.1a.75.75 0 0 0 .65-.75Zm3.5 3a.75.75 0 0 0-.75-.75h-3.6a.75.75 0 0 0 .1 1.5h3.6a.75.75 0 0 0 .65-.75ZM5.25 4h6.63c-.32.45-.57.95-.71 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.93-1.01c.56.23 1.17.36 1.82.36h.7l-4.1 2.16c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15v-5.42c.55-.14 1.05-.39 1.5-.7v6.12a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4Z\"]);\nexport const MailList16Filled = /*#__PURE__*/createFluentIcon('MailList16Filled', \"16\", [\"M10.91 8H14v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6.34l5.76 3.1a.5.5 0 0 0 .48 0L10.9 8ZM8.1 3c.06.19.16.36.3.5a1.5 1.5 0 0 0 0 2 1.5 1.5 0 0 0 .59 2.4L8 8.44 2 5.2V5c0-1.1.9-2 2-2h4.09ZM9.5 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"]);\nexport const MailList16Regular = /*#__PURE__*/createFluentIcon('MailList16Regular', \"16\", [\"M9 2.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4 3h4.09c.06.19.16.36.3.5a1.5 1.5 0 0 0-.3.5H4a1 1 0 0 0-1 1v.74l5 2.7.98-.53c.16.06.34.09.52.09h1.41L8.24 9.44a.5.5 0 0 1-.48 0L3 6.88V11a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V8h1v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2Z\"]);\nexport const MailList20Filled = /*#__PURE__*/createFluentIcon('MailList20Filled', \"20\", [\"M11.5 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm-7-2h5.59a1.5 1.5 0 0 0 .3 1.5A1.5 1.5 0 0 0 11.5 8h3.45L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm5.75 7.93L16.93 8h.57c.18 0 .34-.03.5-.09v6.59a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0Z\"]);\nexport const MailList20Regular = /*#__PURE__*/createFluentIcon('MailList20Regular', \"20\", [\"M11.5 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm-7-2h5.59a1.5 1.5 0 0 0 0 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12L14.96 8h1.97l-6.68 3.93a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8h.5c.18 0 .34-.03.5-.09v6.59a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailList24Filled = /*#__PURE__*/createFluentIcon('MailList24Filled', \"24\", [\"M20.3 9.5h.95c.27 0 .52-.06.75-.17v7.42a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0L20.3 9.5ZM12.53 4H5.06a3.25 3.25 0 0 0-3.04 2.92L12 12.15l5.07-2.65h-3.32a1.75 1.75 0 0 1-1.22-3 1.74 1.74 0 0 1 0-2.5Zm8.72-2a.75.75 0 1 1 0 1.5h-7.5a.75.75 0 0 1-.75-.75.75.75 0 0 1 .75-.75h7.5Zm0 2.5a.75.75 0 1 1 0 1.5h-7.6a.75.75 0 0 1 .1-1.5h7.5ZM13 7.75c0-.41.34-.75.75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const MailList24Regular = /*#__PURE__*/createFluentIcon('MailList24Regular', \"24\", [\"M12.53 4H5.07A3.25 3.25 0 0 0 2 7.26v9.68A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74V9.33c-.23.11-.48.17-.75.17h-.75v7.39c-.08.9-.83 1.61-1.75 1.61H5.11c-.9-.08-1.61-.83-1.61-1.75V9.37l8.15 4.3.1.04c.2.07.41.05.6-.05l7.9-4.16h-3.21L12 12.15 3.5 7.68V7.1c.08-.9.83-1.61 1.75-1.61h6.77a1.76 1.76 0 0 1 .5-1.5Zm8.72-2a.75.75 0 1 1 0 1.5h-7.5a.75.75 0 0 1-.75-.75.75.75 0 0 1 .75-.75h7.5Zm0 2.5a.75.75 0 1 1 0 1.5h-7.6a.75.75 0 0 1 .1-1.5h7.5ZM13 7.75c0-.41.34-.75.75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const MailList28Filled = /*#__PURE__*/createFluentIcon('MailList28Filled', \"28\", [\"M15.08 6.28A1.75 1.75 0 0 1 15.17 5h-9.1A3.25 3.25 0 0 0 3 8.26v.18l11 5.72 7.03-3.65h-4.28a1.75 1.75 0 0 1-.9-3.25 1.76 1.76 0 0 1-.77-.97Zm9.2 4.22-9.93 5.17a.75.75 0 0 1-.7 0L3 10.12v9.81A3.25 3.25 0 0 0 6.26 23h15.68A3.25 3.25 0 0 0 25 19.74V10.5h-.72ZM16 2.75c0-.41.34-.75.75-.75h8.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75ZM16.75 5l-.14.01a.75.75 0 0 0 .14 1.49h8.5a.75.75 0 0 0 0-1.5h-8.5ZM16 8.75c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const MailList28Regular = /*#__PURE__*/createFluentIcon('MailList28Regular', \"28\", [\"M15.08 6.28A1.75 1.75 0 0 1 15.17 5h-9.1A3.25 3.25 0 0 0 3 8.26v11.68A3.25 3.25 0 0 0 6.26 23h15.68A3.25 3.25 0 0 0 25 19.74V10.5h-3.97L14 14.15 4.5 9.21v-1.1c.08-.9.83-1.61 1.75-1.61h8.92a1.75 1.75 0 0 1-.09-.22Zm-.73 9.39 9.15-4.77v8.99c-.08.9-.83 1.61-1.75 1.61H6.11c-.9-.08-1.61-.83-1.61-1.75V10.9l9.15 4.77.12.04c.19.07.4.05.58-.04ZM16 2.75c0-.41.34-.75.75-.75h8.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75ZM16.75 5l-.14.01a.75.75 0 0 0 .14 1.49h8.5a.75.75 0 0 0 0-1.5h-8.5ZM16 8.75c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const MailMultiple16Filled = /*#__PURE__*/createFluentIcon('MailMultiple16Filled', \"16\", [\"M1 4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v.2L7 7.43 1 4.2V4Zm6.24 4.44L13 5.34V10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5.34l5.76 3.1a.5.5 0 0 0 .48 0ZM5 14a2 2 0 0 1-1.73-1H11a3 3 0 0 0 3-3V4.27c.6.34 1 .99 1 1.73v4a4 4 0 0 1-4 4H5Z\"]);\nexport const MailMultiple16Regular = /*#__PURE__*/createFluentIcon('MailMultiple16Regular', \"16\", [\"M1 10V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2Zm10-7H3a1 1 0 0 0-1 1v.74l5 2.7 5-2.7V4a1 1 0 0 0-1-1ZM6.76 8.44 2 5.88V10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5.88L7.24 8.44a.5.5 0 0 1-.48 0ZM5 14a2 2 0 0 1-1.73-1H11a3 3 0 0 0 3-3V4.27c.6.34 1 .99 1 1.73v4a4 4 0 0 1-4 4H5Z\"]);\nexport const MailMultiple20Filled = /*#__PURE__*/createFluentIcon('MailMultiple20Filled', \"20\", [\"M16 12.5V6.37L9.25 9.93a.5.5 0 0 1-.5 0L2 6.37v6.13A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5Zm-.02-7.28A2.5 2.5 0 0 0 13.5 3h-9a2.5 2.5 0 0 0-2.48 2.22L9 8.92l6.98-3.7ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-7c.6.46 1 1.18 1 2v5a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailMultiple20Regular = /*#__PURE__*/createFluentIcon('MailMultiple20Regular', \"20\", [\"M16 5.5A2.5 2.5 0 0 0 13.5 3h-9A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7ZM9.25 9.93 15 6.96v5.54c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 3 12.5V6.96l5.75 2.97.08.04c.14.05.3.04.42-.04ZM4.5 4h9c.83 0 1.5.67 1.5 1.5v.3L9 8.92 3 5.8v-.3C3 4.67 3.67 4 4.5 4Zm2 13a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-7c.6.46 1 1.18 1 2v5a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailMultiple24Filled = /*#__PURE__*/createFluentIcon('MailMultiple24Filled', \"24\", [\"M21 7.51c.9.58 1.5 1.59 1.5 2.74v6c0 2.9-2.35 5.25-5.25 5.25h-9c-1.15 0-2.16-.6-2.74-1.5h11.74A3.75 3.75 0 0 0 21 16.25V7.51Zm-1 .6v7.64a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 15.75V8.11l8.65 4.55c.22.12.48.12.7 0L20 8.11ZM5.25 4h11.5c1.52 0 2.8 1.05 3.15 2.47L11 11.15 2.1 6.47A3.25 3.25 0 0 1 5.06 4L5.25 4Z\"]);\nexport const MailMultiple24Regular = /*#__PURE__*/createFluentIcon('MailMultiple24Regular', \"24\", [\"M21 7.51c.9.58 1.5 1.59 1.5 2.74v6c0 2.9-2.35 5.25-5.25 5.25h-9c-1.15 0-2.16-.6-2.74-1.5h11.74A3.75 3.75 0 0 0 21 16.25V7.51ZM5.25 4h11.5a3.25 3.25 0 0 1 3.24 3.07l.01.18v8.5a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 15.75v-8.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4ZM18.5 8.9l-7.15 3.76c-.19.1-.4.12-.6.05l-.1-.05L3.5 8.9v6.85c0 .92.7 1.67 1.6 1.74l.15.01h11.5c.92 0 1.67-.7 1.74-1.6l.01-.15V8.9Zm-1.75-3.4H5.25c-.92 0-1.67.7-1.74 1.6v.1L11 11.16l7.5-3.95c-.02-.94-.8-1.7-1.75-1.7Z\"]);\nexport const MailMultiple28Filled = /*#__PURE__*/createFluentIcon('MailMultiple28Filled', \"28\", [\"M23 9.6v8.15a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 17.75V9.61l9.65 5.05c.22.12.48.12.7 0L23 9.61ZM6.25 5h13.5a3.25 3.25 0 0 1 3.23 2.92L13 13.15 3.02 7.92a3.25 3.25 0 0 1 3.04-2.91L6.25 5Zm-.24 17c.58.9 1.59 1.5 2.74 1.5h11.5c2.9 0 5.25-2.35 5.25-5.25v-7.5c0-1.15-.6-2.16-1.5-2.74v10.24A3.75 3.75 0 0 1 20.25 22H6.01Z\"]);\nexport const MailMultiple28Regular = /*#__PURE__*/createFluentIcon('MailMultiple28Regular', \"28\", [\"M6.25 5h13.5a3.25 3.25 0 0 1 3.24 3.07l.01.18v9.5a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 17.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L6.25 5Zm15.25 5.37-8.15 4.3c-.19.1-.4.1-.6.04l-.1-.05-8.15-4.29v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15v-7.38ZM19.75 6.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 8.5-4.47v-.43c0-.92-.7-1.67-1.6-1.74l-.15-.01ZM6.01 22c.58.9 1.59 1.5 2.74 1.5h11.5c2.9 0 5.25-2.35 5.25-5.25v-7.5c0-1.15-.6-2.16-1.5-2.74v10.24A3.75 3.75 0 0 1 20.25 22H6.01Z\"]);\nexport const MailMultiple32Filled = /*#__PURE__*/createFluentIcon('MailMultiple32Filled', \"32\", [\"M7.5 5a4.5 4.5 0 0 0-4.36 3.38l11.36 6.47 11.35-6.5A4.5 4.5 0 0 0 21.5 5h-14ZM3 19.5v-8.9l11 6.27a1 1 0 0 0 1 0l11-6.3v8.93a4.5 4.5 0 0 1-4.5 4.5h-14A4.5 4.5 0 0 1 3 19.5Zm8 8a4.5 4.5 0 0 1-3.74-2H22a5.5 5.5 0 0 0 5.5-5.5V9.26c1.2.8 2 2.18 2 3.74v7a7.5 7.5 0 0 1-7.5 7.5H11Z\"]);\nexport const MailMultiple32Regular = /*#__PURE__*/createFluentIcon('MailMultiple32Regular', \"32\", [\"M7.5 7A2.5 2.5 0 0 0 5 9.42l9.5 5.43L24 9.42A2.5 2.5 0 0 0 21.5 7h-14ZM3 9.5A4.5 4.5 0 0 1 7.5 5h14A4.5 4.5 0 0 1 26 9.5v10a4.5 4.5 0 0 1-4.5 4.5h-14A4.5 4.5 0 0 1 3 19.5v-10Zm21 10v-7.78l-9 5.15a1 1 0 0 1-1 0l-9-5.15v7.78A2.5 2.5 0 0 0 7.5 22h14a2.5 2.5 0 0 0 2.5-2.5Zm-13 8a4.5 4.5 0 0 1-3.74-2H22a5.5 5.5 0 0 0 5.5-5.5V9.26c1.2.8 2 2.18 2 3.74v7a7.5 7.5 0 0 1-7.5 7.5H11Z\"]);\nexport const MailOff16Filled = /*#__PURE__*/createFluentIcon('MailOff16Filled', \"16\", [\"m12.27 12.98 1.88 1.87a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7l1.59 1.6A2 2 0 0 0 2 5v.2l5.4 2.91 1.16 1.16-.32.17a.5.5 0 0 1-.48 0L2 6.34V11c0 1.1.9 2 2 2h8c.1 0 .18 0 .27-.02Zm-1.87-4.7 3.46 3.46A2 2 0 0 0 14 11V6.34l-3.6 1.94ZM5.12 3l4.54 4.54L14 5.2V5a2 2 0 0 0-2-2H5.12Z\"]);\nexport const MailOff16Regular = /*#__PURE__*/createFluentIcon('MailOff16Regular', \"16\", [\"m12.27 12.98 1.88 1.87a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7l1.59 1.6A2 2 0 0 0 2 5v6c0 1.1.9 2 2 2h8c.1 0 .18 0 .27-.02ZM11.3 12H4a1 1 0 0 1-1-1V6.88l4.76 2.56a.5.5 0 0 0 .48 0l.32-.17L11.29 12ZM7.4 8.11 3 5.74V5a1 1 0 0 1 .45-.84L7.4 8.11ZM13 5.74l-3.34 1.8.74.74 2.6-1.4v4l.86.86A2 2 0 0 0 14 11V5a2 2 0 0 0-2-2H5.12l1 1H12a1 1 0 0 1 1 1v.74Z\"]);\nexport const MailOff20Filled = /*#__PURE__*/createFluentIcon('MailOff20Filled', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.5 4.21a2.5 2.5 0 0 0-1.48 2.01l7.98 4.7.13-.08.73.73-.6.36a.5.5 0 0 1-.51 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11c.24 0 .47-.03.7-.1l.95.95a.5.5 0 0 0 .7-.7l-15-15Zm9.8 8.37 5.09 5.1c.17-.34.26-.72.26-1.12V7.37l-5.35 3.15ZM6.12 4l5.8 5.8 6.06-3.58A2.5 2.5 0 0 0 15.5 4H6.12Z\"]);\nexport const MailOff20Regular = /*#__PURE__*/createFluentIcon('MailOff20Regular', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.5 4.21A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11c.24 0 .47-.03.7-.1l.95.95a.5.5 0 0 0 .7-.7l-15-15ZM15.3 16H4.5A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l.61-.36L15.3 16Zm-5.16-5.16-.13.08L3 6.8v-.3c0-.76.57-1.4 1.3-1.49l5.83 5.83ZM17 6.8l-5.09 3 .73.72L17 7.96v6.54c0 .12-.01.23-.04.34l.78.78c.17-.34.26-.72.26-1.12v-8A2.5 2.5 0 0 0 15.5 4H6.12l1 1h8.38c.83 0 1.5.67 1.5 1.5v.3Z\"]);\nexport const MailOff24Filled = /*#__PURE__*/createFluentIcon('MailOff24Filled', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l1.25 1.25c-.8.52-1.35 1.4-1.45 2.4l8.07 4.23 2.43 2.42-.17.08a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68l1.79 1.78a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm12.02 9.9 6.26 6.26c.28-.48.44-1.04.44-1.63V8.61l-6.7 3.5ZM7.18 4l7 7 7.8-4.08A3.25 3.25 0 0 0 18.75 4H7.18Z\"]);\nexport const MailOff24Regular = /*#__PURE__*/createFluentIcon('MailOff24Regular', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l1.25 1.25A3.25 3.25 0 0 0 2 7.25v9.68A3.25 3.25 0 0 0 5.26 20h13.68l1.79 1.78a.75.75 0 0 0 1.06-1.06L3.28 2.22ZM17.44 18.5H5.1c-.9-.08-1.61-.83-1.61-1.75V9.37l8.15 4.3.1.04c.2.07.41.05.6-.05l.17-.08 4.92 4.92Zm-7.36-7.36L3.5 7.68V7.1c.06-.67.49-1.23 1.07-1.47l5.51 5.5ZM20.5 7.68 14.18 11l1.11 1.11 5.21-2.74v7.52l-.07.36 1.13 1.13c.28-.48.44-1.04.44-1.63V7.07A3.25 3.25 0 0 0 18.74 4H7.18l1.5 1.5H18.9c.9.08 1.61.83 1.61 1.75v.43Z\"]);\nexport const MailOpenPerson16Filled = /*#__PURE__*/createFluentIcon('MailOpenPerson16Filled', \"16\", [\"M8.24 1.56a.5.5 0 0 0-.48 0L1.8 4.78a1.5 1.5 0 0 0-.57.54h.02a.5.5 0 0 1 .03.02l.28.15L8 8.93l.57-.3A3.01 3.01 0 0 1 11.5 5a3 3 0 0 1 2.16.92l1.12-.6a1.5 1.5 0 0 0-.57-.54L8.24 1.56ZM1 6.33l.08.04 6.78 3.65a.3.3 0 0 1 .08.47l-.3.33v.01A2.5 2.5 0 0 0 7 12.5c0 .51.12 1.03.37 1.5H3a2 2 0 0 1-2-2V6.33ZM13.5 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S8 13.75 8 12.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailOpenPerson16Regular = /*#__PURE__*/createFluentIcon('MailOpenPerson16Regular', \"16\", [\"M2.49 6h.01l-.4-.21a.5.5 0 0 1 .16-.13L8 2.57l5.95 3.2-.29.15a3 3 0 0 1 .57.83l.27-.14a.95.95 0 0 0 0-1.68L8.23 1.56a.5.5 0 0 0-.47 0L1.8 4.78A1.5 1.5 0 0 0 1 6.1V12c0 1.1.9 2 2 2h4.37a3.18 3.18 0 0 1-.33-1H3a1 1 0 0 1-1-1V6.87l5.53 2.95a1 1 0 0 0 .94 0l.47-.25c-.17-.29-.3-.6-.37-.94l-.57.3L2.5 6ZM13.5 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S8 13.75 8 12.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailOpenPerson20Filled = /*#__PURE__*/createFluentIcon('MailOpenPerson20Filled', \"20\", [\"M9.74 2.07a.5.5 0 0 1 .52 0l6.77 4.06a2 2 0 0 1 .7.71L10 10.94l-7.73-4.1a2 2 0 0 1 .7-.7l6.77-4.07Zm3.14 8.47-2.65 1.4a.5.5 0 0 1-.46 0L2 7.83v5.67A2.5 2.5 0 0 0 4.5 16h6.55a2.5 2.5 0 0 1 2.22-1.99 2.99 2.99 0 0 1-.4-3.47ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailOpenPerson20Regular = /*#__PURE__*/createFluentIcon('MailOpenPerson20Regular', \"20\", [\"M10 3.08 3.49 7 3.47 7 10 10.92 16.53 7 10 3.08ZM9.98 12a.5.5 0 0 1-.24-.07L3 7.88v5.62c0 .83.67 1.5 1.5 1.5h7c-.22.3-.38.63-.45 1H4.5A2.5 2.5 0 0 1 2 13.5V7.85a2 2 0 0 1 .97-1.72l6.76-4.05a.5.5 0 0 1 .53 0l6.93 4.15a.9.9 0 0 1 0 1.54l-2.1 1.26a3 3 0 0 0-2.02 1.21l-2.81 1.69a.5.5 0 0 1-.28.07Zm7.52 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailOpenPerson24Filled = /*#__PURE__*/createFluentIcon('MailOpenPerson24Filled', \"24\", [\"M11.65 14.16 2 9.13v7.8A3.25 3.25 0 0 0 5.26 20H13a4 4 0 0 1 0-.13v-.1A2.77 2.77 0 0 1 15.77 17h.28a3.49 3.49 0 0 1-.37-4.57l-3.33 1.73a.75.75 0 0 1-.7 0Zm-.03-12.05L3.1 7.17l-.17.11c-.16.12-.31.26-.43.41l9.5 4.96 9.5-4.96c-.16-.2-.36-.38-.6-.52L12.38 2.1l-.1-.06a.75.75 0 0 0-.66.06ZM21 14.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 5.38c0 1.55-1.29 3.12-4.5 3.12S14 21.44 14 19.87v-.1c0-.98.8-1.77 1.77-1.77h5.46c.98 0 1.77.8 1.77 1.77v.1Z\"]);\nexport const MailOpenPerson24Regular = /*#__PURE__*/createFluentIcon('MailOpenPerson24Regular', \"24\", [\"M12 3.62 3.9 8.43l8.1 4.22 8.23-4.22L12 3.62Zm-.17 10.61a.83.83 0 0 1-.19-.07L3.5 9.91v6.84c0 .92.7 1.67 1.6 1.74l.15.01h8.06c-.2.38-.31.81-.31 1.27v.1a4 4 0 0 0 0 .13H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V9.1c0-.73.36-1.42.96-1.84l.14-.1 8.5-5.05a.75.75 0 0 1 .78 0l9 5.26c.85.5.82 1.74-.06 2.19L18.52 11h-.02a3.5 3.5 0 0 0-2.85 1.47l-3.3 1.7a.75.75 0 0 1-.52.06Zm9.17.27a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 5.38c0 1.55-1.29 3.12-4.5 3.12S14 21.44 14 19.88v-.1c0-.99.8-1.78 1.77-1.78h5.46c.98 0 1.77.8 1.77 1.77v.1Z\"]);\nexport const MailPause16Filled = /*#__PURE__*/createFluentIcon('MailPause16Filled', \"16\", [\"M13 10.4a5.48 5.48 0 0 1-4.35.28l-1.41.76a.5.5 0 0 1-.48 0L1 8.34V13c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6ZM5.02 5H3a2 2 0 0 0-2 2v.2l6 3.23.54-.3A5.5 5.5 0 0 1 5.02 5Zm5.48 5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1-6.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Zm3 0v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Z\"]);\nexport const MailPause16Regular = /*#__PURE__*/createFluentIcon('MailPause16Regular', \"16\", [\"M12 10.8V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l4.76 2.56a.5.5 0 0 0 .48 0l1.4-.76a5.48 5.48 0 0 1-1.1-.54l-.54.3-5-2.7V7a1 1 0 0 1 1-1h2.02a5.57 5.57 0 0 1 0-1H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6c-.32.16-.65.3-1 .4Zm-1.5-.8a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1-6.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Zm3 0v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Z\"]);\nexport const MailPause20Filled = /*#__PURE__*/createFluentIcon('MailPause20Filled', \"20\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1-6.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Zm3 0v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Z\"]);\nexport const MailPause20Regular = /*#__PURE__*/createFluentIcon('MailPause20Regular', \"20\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1-6.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Zm3 0v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Z\"]);\nexport const MailProhibited16Filled = /*#__PURE__*/createFluentIcon('MailProhibited16Filled', \"16\", [\"M6 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8L7.7 7.6A3.48 3.48 0 0 1 7 5.5ZM10.5 9c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 10.5 9Zm0 2c.9 0 1.75-.22 2.5-.6V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l1.4-.76c.59.2 1.21.32 1.86.32ZM3 5h2.02L5 5.5a5.5 5.5 0 0 0 2.54 4.64l-.54.3L1 7.2V7c0-1.1.9-2 2-2Z\"]);\nexport const MailProhibited16Regular = /*#__PURE__*/createFluentIcon('MailProhibited16Regular', \"16\", [\"M6 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8L7.7 7.6A3.48 3.48 0 0 1 7 5.5ZM10.5 9c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 10.5 9Zm1.5 4v-2.2c.35-.1.68-.24 1-.4V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h2.02a5.57 5.57 0 0 0 0 1H3a1 1 0 0 0-1 1v.74l5 2.7.54-.3c.35.22.72.4 1.1.54l-1.4.76a.5.5 0 0 1-.48 0L2 8.88V13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1Z\"]);\nexport const MailProhibited20Filled = /*#__PURE__*/createFluentIcon('MailProhibited20Filled', \"20\", [\"M10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1ZM14.5 9c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 14.5 9Zm0 2c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailProhibited20Regular = /*#__PURE__*/createFluentIcon('MailProhibited20Regular', \"20\", [\"M10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1ZM14.5 9c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 14.5 9Zm2.5 5.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailProhibited24Filled = /*#__PURE__*/createFluentIcon('MailProhibited24Filled', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-9.5 0c0 .83.26 1.6.7 2.25l5.55-5.56a4 4 0 0 0-6.25 3.3Zm4 4a4 4 0 0 0 3.3-6.25l-5.55 5.56c.64.43 1.42.69 2.25.69Zm0 2.5c1.75 0 3.33-.69 4.5-1.81v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0l2.41-1.26c.84.38 1.76.6 2.74.6ZM5.25 4h6.25a6.48 6.48 0 0 0 1.8 7.47l-1.3.68-9.98-5.23a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailProhibited24Regular = /*#__PURE__*/createFluentIcon('MailProhibited24Regular', \"24\", [\"M23 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-9.5 0c0 .83.26 1.6.7 2.25l5.55-5.56a4 4 0 0 0-6.25 3.3Zm4 4a4 4 0 0 0 3.3-6.25l-5.55 5.56c.64.43 1.42.69 2.25.69Zm3 6.25v-4.48a6.52 6.52 0 0 0 1.5-1.08v5.56a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h6.25c-.2.47-.34.98-.42 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 1.3-.68c.44.37.93.68 1.46.93l-2.41 1.26c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15Z\"]);\nexport const MailProhibited28Filled = /*#__PURE__*/createFluentIcon('MailProhibited28Filled', \"28\", [\"M20.5 14a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0-1.5a4.98 4.98 0 0 1-2.97-.97l7-7a5 5 0 0 1-4.03 7.97Zm2.97-9.03-7 7a5 5 0 0 1 7-7ZM25 13.5a7.47 7.47 0 0 1-7.85.71l-2.8 1.46a.75.75 0 0 1-.7 0L3 10.12v9.81A3.25 3.25 0 0 0 6.26 23h15.68A3.25 3.25 0 0 0 25 19.74V13.5ZM13.43 5H6.07A3.25 3.25 0 0 0 3 8.26v.18l11 5.72 1.7-.88A7.48 7.48 0 0 1 13.44 5Z\"]);\nexport const MailProhibited28Regular = /*#__PURE__*/createFluentIcon('MailProhibited28Regular', \"28\", [\"M20.5 14a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0-1.5a4.98 4.98 0 0 1-2.97-.97l7-7a5 5 0 0 1-4.03 7.97Zm2.97-9.03-7 7a5 5 0 0 1 7-7Zm.03 10.9v5.52c-.08.9-.83 1.61-1.75 1.61H6.11c-.9-.08-1.61-.83-1.61-1.75V10.9l9.15 4.77.12.04c.19.07.4.05.58-.04l2.8-1.46c-.52-.26-1-.58-1.44-.94l-1.71.88-9.5-4.94v-1.1c.08-.9.83-1.61 1.75-1.61h6.82c.07-.52.19-1.02.36-1.5H6.07A3.25 3.25 0 0 0 3 8.26v11.68A3.25 3.25 0 0 0 6.26 23h15.68A3.25 3.25 0 0 0 25 19.74V13.5c-.46.35-.96.64-1.5.88Z\"]);\nexport const MailRead16Filled = /*#__PURE__*/createFluentIcon('MailRead16Filled', \"16\", [\"M7.73 1.08a.5.5 0 0 1 .54 0l4.8 3.06a2 2 0 0 1 .85 1.11L8 8.43 2.09 5.24a2 2 0 0 1 .84-1.1l4.8-3.06ZM2 6.33V11c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V6.34l-5.76 3.1a.5.5 0 0 1-.48 0L2 6.34Z\"]);\nexport const MailRead16Regular = /*#__PURE__*/createFluentIcon('MailRead16Regular', \"16\", [\"M8.24 1.56a.5.5 0 0 0-.48 0L1.8 4.78A1.5 1.5 0 0 0 1 6.1V12c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V6.1c0-.55-.3-1.06-.79-1.32L8.24 1.56Zm-5.98 4.1L8 2.56l5.74 3.1a.5.5 0 0 1 .15.13L8 8.93 2.1 5.8a.5.5 0 0 1 .16-.13ZM2 6.86l5.76 3.08a.5.5 0 0 0 .48 0L14 6.87V12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6.87Z\"]);\nexport const MailRead20Filled = /*#__PURE__*/createFluentIcon('MailRead20Filled', \"20\", [\"M10.26 2.07a.5.5 0 0 0-.52 0L2.97 6.13a2 2 0 0 0-.4.32L10 10.92l7.43-4.46a2 2 0 0 0-.4-.33l-6.77-4.06Zm7.67 5.26-7.67 4.6a.5.5 0 0 1-.52 0l-7.67-4.6a2 2 0 0 0-.07.52v6.65A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V7.85a2 2 0 0 0-.07-.52Z\"]);\nexport const MailRead20Regular = /*#__PURE__*/createFluentIcon('MailRead20Regular', \"20\", [\"M9.74 3.07a.5.5 0 0 1 .52 0l6.77 4.06A2 2 0 0 1 18 8.85v6.65a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 15.5V8.85a2 2 0 0 1 .97-1.72l6.77-4.06ZM10 4.08 3.49 8 3.47 8 10 11.92 16.53 8h-.02L10 4.07Zm7 4.8-6.74 4.05a.5.5 0 0 1-.52 0L3 8.88v6.62c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.88Z\"]);\nexport const MailRead24Filled = /*#__PURE__*/createFluentIcon('MailRead24Filled', \"24\", [\"M10.8 2.34a2.25 2.25 0 0 1 2.4 0l7.74 4.83.22.16L12 12.15 2.83 7.33l.23-.16 7.75-4.83ZM2.06 8.62c-.03.15-.05.3-.05.46v7.67C2 18.55 3.46 20 5.25 20h13.5c1.8 0 3.25-1.46 3.25-3.25V9.08c0-.16-.02-.32-.05-.47l-9.6 5.05a.75.75 0 0 1-.7 0l-9.6-5.04Z\"]);\nexport const MailRead24Regular = /*#__PURE__*/createFluentIcon('MailRead24Regular', \"24\", [\"M13.2 2.34a2.25 2.25 0 0 0-2.4 0L3.07 7.17A2.25 2.25 0 0 0 2 9.08v7.67C2 18.55 3.46 20 5.25 20h13.5c1.8 0 3.25-1.46 3.25-3.25V9.08c0-.77-.4-1.5-1.06-1.9L13.2 2.33ZM11.6 3.6a.75.75 0 0 1 .8 0l7.24 4.52L12 12.15 4.36 8.13 11.6 3.6ZM3.5 9.37l8.15 4.3c.22.1.48.1.7 0l8.15-4.3v7.38c0 .97-.78 1.75-1.75 1.75H5.25c-.97 0-1.75-.78-1.75-1.75V9.37Z\"]);\nexport const MailRead28Filled = /*#__PURE__*/createFluentIcon('MailRead28Filled', \"28\", [\"M12.24 2.84a3.75 3.75 0 0 1 3.53 0l8.25 4.4c.45.24.83.57 1.14.95L14 13.9 2.84 8.19c.3-.38.7-.7 1.15-.95l8.25-4.4ZM2.14 9.52c-.09.33-.14.68-.14 1.03v8.7A3.75 3.75 0 0 0 5.75 23h16.5A3.75 3.75 0 0 0 26 19.25v-8.7c0-.35-.05-.7-.14-1.03l-11.52 5.9a.75.75 0 0 1-.68 0L2.15 9.52Z\"]);\nexport const MailRead28Regular = /*#__PURE__*/createFluentIcon('MailRead28Regular', \"28\", [\"M12.94 4.16a2.25 2.25 0 0 1 2.12 0l8.25 4.4c.17.1.33.2.47.34l-9.78 5-9.78-5c.14-.13.3-.24.47-.34l8.25-4.4Zm-9.41 6.07 10.13 5.19c.21.1.47.1.68 0l10.14-5.2.02.33v8.7c0 1.24-1 2.25-2.25 2.25H5.75c-1.24 0-2.25-1-2.25-2.25v-8.7c0-.1.01-.22.03-.32Zm12.24-7.39a3.75 3.75 0 0 0-3.53 0l-8.25 4.4A3.75 3.75 0 0 0 2 10.55v8.7A3.75 3.75 0 0 0 5.75 23h16.5A3.75 3.75 0 0 0 26 19.25v-8.7c0-1.38-.76-2.66-1.98-3.3l-8.25-4.4Z\"]);\nexport const MailRead32Filled = /*#__PURE__*/createFluentIcon('MailRead32Filled', \"32\", [\"M13.75 2.62a4.5 4.5 0 0 1 4.5 0l9.5 5.5c.67.39 1.2.92 1.6 1.56L16 16.86 2.65 9.68a4.5 4.5 0 0 1 1.6-1.56l9.5-5.5Zm-11.73 9a4.5 4.5 0 0 0-.02.4V22.5A4.5 4.5 0 0 0 6.5 27h19a4.5 4.5 0 0 0 4.5-4.5V12.02c0-.14 0-.28-.02-.42l-13.5 7.28a1 1 0 0 1-.95 0L2.02 11.61Z\"]);\nexport const MailRead32Regular = /*#__PURE__*/createFluentIcon('MailRead32Regular', \"32\", [\"M18.25 2.62a4.5 4.5 0 0 0-4.5 0l-9.5 5.5A4.5 4.5 0 0 0 2 12.02V22.5A4.5 4.5 0 0 0 6.5 27h19a4.5 4.5 0 0 0 4.5-4.5V12.02a4.5 4.5 0 0 0-2.25-3.9l-9.5-5.5Zm-3.5 1.73a2.5 2.5 0 0 1 2.5 0l9.5 5.5c.34.2.62.47.83.78L16 16.86 4.42 10.63c.21-.31.49-.58.83-.78l9.5-5.5ZM4 12.67l11.53 6.21a1 1 0 0 0 .94 0L28 12.68v9.82a2.5 2.5 0 0 1-2.5 2.5h-19A2.5 2.5 0 0 1 4 22.5v-9.83Z\"]);\nexport const MailRead48Filled = /*#__PURE__*/createFluentIcon('MailRead48Filled', \"48\", [\"M21.15 4.69a6.25 6.25 0 0 1 5.7 0l13.75 7.04a6.25 6.25 0 0 1 2.6 2.51L24 24.35 4.83 14.18a6.25 6.25 0 0 1 2.57-2.45L21.15 4.7ZM4.04 16.59c-.03.23-.04.47-.04.7v16.46C4 37.2 6.8 40 10.25 40h27.5C41.2 40 44 37.2 44 33.75V17.3c0-.22-.01-.43-.03-.64L24.58 26.87c-.36.2-.8.2-1.17 0L4.04 16.58Z\"]);\nexport const MailRead48Regular = /*#__PURE__*/createFluentIcon('MailRead48Regular', \"48\", [\"M22.3 6.92a3.75 3.75 0 0 1 3.4 0l13.76 7.04c.65.33 1.18.84 1.53 1.45L24 24.35l-16.96-9c.36-.58.87-1.07 1.5-1.4L22.3 6.93ZM6.5 17.89l16.91 8.98c.37.2.8.2 1.17 0l16.92-8.9v15.78a3.75 3.75 0 0 1-3.75 3.75h-27.5a3.75 3.75 0 0 1-3.75-3.75V17.89ZM26.85 4.7a6.25 6.25 0 0 0-5.7 0L7.4 11.73A6.25 6.25 0 0 0 4 17.3v16.45C4 37.2 6.8 40 10.25 40h27.5C41.2 40 44 37.2 44 33.75V17.3c0-2.35-1.31-4.5-3.4-5.57L26.85 4.7Z\"]);\nexport const MailReadMultiple16Filled = /*#__PURE__*/createFluentIcon('MailReadMultiple16Filled', \"16\", [\"M7.24 1.06a.5.5 0 0 0-.48 0L1.7 3.82c-.2.11-.37.27-.49.45L7 7.43l5.79-3.16a1.34 1.34 0 0 0-.49-.45L7.24 1.06ZM1 10V5.3l5.76 3.14a.5.5 0 0 0 .48 0L13 5.3V10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2Zm2.27 3c.34.6.99 1 1.73 1h6a4 4 0 0 0 4-4V6a2 2 0 0 0-1-1.73V10a3 3 0 0 1-3 3H3.27Z\"]);\nexport const MailReadMultiple16Regular = /*#__PURE__*/createFluentIcon('MailReadMultiple16Regular', \"16\", [\"M7.24 1.06a.5.5 0 0 0-.48 0L1.7 3.82C1.27 4.06 1 4.51 1 5v5c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V5c0-.5-.27-.94-.7-1.18L7.24 1.06ZM2.18 4.7 7 2.07l4.82 2.63.08.06L7 7.43 2.1 4.76a.34.34 0 0 1 .08-.06Zm5.06 3.74L12 5.84V10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5.84l4.76 2.6a.5.5 0 0 0 .48 0ZM3.27 13c.34.6.99 1 1.73 1h6a4 4 0 0 0 4-4V6a2 2 0 0 0-1-1.73V10a3 3 0 0 1-3 3H3.27Z\"]);\nexport const MailReadMultiple20Filled = /*#__PURE__*/createFluentIcon('MailReadMultiple20Filled', \"20\", [\"M8.74 2.07a.5.5 0 0 1 .52 0l6.03 3.71.2.14-6.49 4-6.48-4c.06-.05.12-.1.2-.14l6.02-3.7Zm7.24 4.72.02.27v5.44a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 2 12.5V7.06c0-.1 0-.18.02-.27l6.72 4.14c.16.1.36.1.52 0l6.72-4.14ZM4.5 16c.46.6 1.18 1 2 1H14a4 4 0 0 0 4-4V8.06c0-.52-.27-1-.71-1.28l-.34-.2c.03.15.05.32.05.48V13a3 3 0 0 1-3 3H4.5Z\"]);\nexport const MailReadMultiple20Regular = /*#__PURE__*/createFluentIcon('MailReadMultiple20Regular', \"20\", [\"M9.26 2.07a.5.5 0 0 0-.52 0L2.7 5.78A1.5 1.5 0 0 0 2 7.06v5.44A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V7.06c0-.52-.27-1-.71-1.28l-6.03-3.7ZM3.46 6.5 9 3.09l5.55 3.41L9 9.91 3.45 6.5ZM3 7.4l5.74 3.53c.16.1.36.1.52 0L15 7.39v5.11c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 3 12.5V7.4ZM6.5 17a2.5 2.5 0 0 1-2-1H14a3 3 0 0 0 3-3V7.06c0-.16-.02-.33-.05-.48l.34.2c.44.27.71.76.71 1.28V13a4 4 0 0 1-4 4H6.5Z\"]);\nexport const MailReadMultiple24Filled = /*#__PURE__*/createFluentIcon('MailReadMultiple24Filled', \"24\", [\"M11.36 1.84a.75.75 0 0 0-.72 0L2.83 6.1c-.17.1-.31.21-.44.35l8.61 4.7 8.6-4.7a1.6 1.6 0 0 0-.43-.35l-7.81-4.26ZM2 15.75v-7.8l8.64 4.7c.22.13.5.13.72 0L20 7.96v7.8c0 1.8-1.46 3.25-3.25 3.25H5.25A3.25 3.25 0 0 1 2 15.75Zm19-8.24c.9.58 1.5 1.59 1.5 2.74v6c0 2.9-2.35 5.25-5.25 5.25h-9c-1.15 0-2.16-.6-2.74-1.5h11.74A3.75 3.75 0 0 0 21 16.25V7.51Z\"]);\nexport const MailReadMultiple24Regular = /*#__PURE__*/createFluentIcon('MailReadMultiple24Regular', \"24\", [\"M11.36 1.84a.75.75 0 0 0-.72 0L2.83 6.1A1.6 1.6 0 0 0 2 7.5v8.25C2 17.55 3.46 19 5.25 19h11.5c1.8 0 3.25-1.46 3.25-3.25V7.5a1.6 1.6 0 0 0-.83-1.4l-7.81-4.26Zm-.36 9.3L3.86 7.26 11 3.35l7.14 3.9-7.14 3.9Zm.36 1.52 7.14-3.9v6.99c0 .97-.78 1.75-1.75 1.75H5.25c-.97 0-1.75-.78-1.75-1.75V8.76l7.14 3.9c.22.12.5.12.72 0ZM21 7.5c.9.58 1.5 1.59 1.5 2.74v6c0 2.9-2.35 5.25-5.25 5.25h-9c-1.15 0-2.16-.6-2.74-1.5h11.74A3.75 3.75 0 0 0 21 16.25V7.51Z\"]);\nexport const MailReadMultiple28Filled = /*#__PURE__*/createFluentIcon('MailReadMultiple28Filled', \"28\", [\"M13.35 2.69a.75.75 0 0 0-.7 0L4.2 7.12c-.39.2-.7.5-.9.87l9.7 5.16 9.7-5.16c-.2-.36-.51-.67-.9-.87l-8.45-4.43ZM3 17.75V9.54l9.65 5.12c.22.12.48.12.7 0L23 9.54v8.21c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 17.75ZM6.01 22c.58.9 1.59 1.5 2.74 1.5h11.5c2.9 0 5.25-2.35 5.25-5.25v-7.5c0-1.15-.6-2.16-1.5-2.74v10.24A3.75 3.75 0 0 1 20.25 22H6.01Z\"]);\nexport const MailReadMultiple28Regular = /*#__PURE__*/createFluentIcon('MailReadMultiple28Regular', \"28\", [\"M13.35 2.69a.75.75 0 0 0-.7 0L4.2 7.12A2.24 2.24 0 0 0 3 9.1v8.65C3 19.55 4.46 21 6.25 21h13.5c1.8 0 3.25-1.46 3.25-3.25V9.1c0-.83-.46-1.6-1.2-1.98l-8.45-4.43ZM4.9 8.45 13 4.2l8.1 4.25c.12.06.22.15.29.26L13 13.15 4.61 8.71c.07-.11.17-.2.29-.26Zm8.45 6.21 8.15-4.31v7.4c0 .97-.78 1.75-1.75 1.75H6.25c-.97 0-1.75-.78-1.75-1.75v-7.4l8.15 4.31c.22.12.48.12.7 0ZM6.01 22c.58.9 1.59 1.5 2.74 1.5h11.5c2.9 0 5.25-2.35 5.25-5.25v-7.5c0-1.15-.6-2.16-1.5-2.74v10.24A3.75 3.75 0 0 1 20.25 22H6.01Z\"]);\nexport const MailReadMultiple32Filled = /*#__PURE__*/createFluentIcon('MailReadMultiple32Filled', \"32\", [\"M14 3.13a1 1 0 0 1 1 0l9.49 5.43c.16.09.32.2.46.32L14.5 14.85 4.05 8.88a3 3 0 0 1 .46-.32l9.5-5.43Zm11.95 7.48a3 3 0 0 1 .05.55v8.34a4.5 4.5 0 0 1-4.5 4.5h-14A4.5 4.5 0 0 1 3 19.5v-8.34a3 3 0 0 1 .05-.55L14 16.87a1 1 0 0 0 1 0l10.95-6.26ZM7.25 25.5c.81 1.2 2.19 2 3.75 2h11.5a7 7 0 0 0 7-7v-7.34a3 3 0 0 0-1.51-2.6l-.49-.28V20.5a5 5 0 0 1-5 5H7.26Z\"]);\nexport const MailReadMultiple32Regular = /*#__PURE__*/createFluentIcon('MailReadMultiple32Regular', \"32\", [\"M14 3.13a1 1 0 0 1 1 0l9.49 5.43a3 3 0 0 1 1.51 2.6v8.34a4.5 4.5 0 0 1-4.5 4.5h-14A4.5 4.5 0 0 1 3 19.5v-8.34a3 3 0 0 1 1.51-2.6l9.5-5.43ZM6.02 10l8.48 4.85L22.98 10 14.5 5.15 6.02 10ZM24 11.72l-9 5.15a1 1 0 0 1-1 0l-9-5.15v7.78A2.5 2.5 0 0 0 7.5 22h14a2.5 2.5 0 0 0 2.5-2.5v-7.78ZM11 27.5a4.5 4.5 0 0 1-3.74-2H22.5a5 5 0 0 0 5-5V10.28l.49.28a3 3 0 0 1 1.51 2.6v7.34a7 7 0 0 1-7 7H11Z\"]);\nexport const MailRewind16Filled = /*#__PURE__*/createFluentIcon('MailRewind16Filled', \"16\", [\"M12 7V5.8l2.36 1.97A1 1 0 0 0 16 7V2a1 1 0 0 0-1.64-.77L12 3.2V2a1 1 0 0 0-1.64-.77l-3 2.5a1 1 0 0 0 0 1.54l3 2.5A1 1 0 0 0 12 7Zm.72 1.03.23-.13.77.64.28.2V12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7.34l5.76 3.1a.5.5 0 0 0 .48 0L10.9 9c.72.03 1.43-.34 1.8-.97ZM4 4h2.06a2 2 0 0 0 .66 2.04L9.7 8.52 8 9.43 2 6.2V6c0-1.1.9-2 2-2Z\"]);\nexport const MailRewind16Regular = /*#__PURE__*/createFluentIcon('MailRewind16Regular', \"16\", [\"M12 7V5.8l2.36 1.97A1 1 0 0 0 16 7V2a1 1 0 0 0-1.64-.77L12 3.2V2a1 1 0 0 0-1.64-.77l-3 2.5a1 1 0 0 0 0 1.54l3 2.5A1 1 0 0 0 12 7Zm-3.76 3.44L10.9 9a1.97 1.97 0 0 1-1.2-.46l-.01-.02-1.7.91-5-2.69V6a1 1 0 0 1 1-1h2.06a2.02 2.02 0 0 1 0-1H4a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V8.73a2.1 2.1 0 0 1-.28-.2l-.72-.6V12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7.88l4.76 2.56a.5.5 0 0 0 .48 0Z\"]);\nexport const MailRewind20Filled = /*#__PURE__*/createFluentIcon('MailRewind20Filled', \"20\", [\"M16 8V6.8l2.36 1.97A1 1 0 0 0 20 8V3a1 1 0 0 0-1.64-.77L16 4.2V3a1 1 0 0 0-1.64-.77l-3 2.5a1 1 0 0 0 0 1.54l3 2.5A1 1 0 0 0 16 8Zm.84.8a2 2 0 0 1-2.85.93l-3.74 2.2a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9.73c-.1-.05-.2-.12-.28-.2l-.88-.73ZM4.5 4h6.18a2 2 0 0 0 .04 3.04l2.43 2.02L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailRewind20Regular = /*#__PURE__*/createFluentIcon('MailRewind20Regular', \"20\", [\"M16 8V6.8l2.36 1.97A1 1 0 0 0 20 8V3a1 1 0 0 0-1.64-.77L16 4.2V3a1 1 0 0 0-1.64-.77l-3 2.5a1 1 0 0 0 0 1.54l3 2.5A1 1 0 0 0 16 8Zm-2.28 1.54.27.19-3.74 2.2a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.94l.72.6.28.2v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h6.18c-.32.28-.52.63-.62 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 3.15-1.86.57.48Z\"]);\nexport const MailRewind24Filled = /*#__PURE__*/createFluentIcon('MailRewind24Filled', \"25\", [\"M19 9V6.83l3.34 2.92A1 1 0 0 0 24 9V2a1 1 0 0 0-1.66-.75L19 4.17V2a1 1 0 0 0-1.66-.75l-4 3.5a1 1 0 0 0 0 1.5l4 3.5A1 1 0 0 0 19 9Zm-6.32-2a2 2 0 0 1 0-3H5.06a3.25 3.25 0 0 0-3.04 2.92L12 12.15 16.1 10l-3.42-3Zm9 3.5-1.23-1.08-.58.3a2.02 2.02 0 0 1-2.34 1.23l-5.18 2.71a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74v-6.02l-.31-.22Z\"]);\nexport const MailRewind24Regular = /*#__PURE__*/createFluentIcon('MailRewind24Regular', \"25\", [\"M19 9V6.83l3.34 2.92A1 1 0 0 0 24 9V2a1 1 0 0 0-1.66-.75L19 4.17V2a1 1 0 0 0-1.66-.75l-4 3.5a1 1 0 0 0 0 1.5l4 3.5A1 1 0 0 0 19 9Zm-7 3.15L16.1 10l.59.52a2 2 0 0 0 .82.43l-5.16 2.72c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15V9.47l1.19 1.04c.1.08.2.16.31.22v6.02a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4h7.43A2 2 0 0 0 12 5.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47Z\"]);\nexport const MailSettings16Filled = /*#__PURE__*/createFluentIcon('MailSettings16Filled', \"16\", [\"M13 10.4a5.48 5.48 0 0 1-4.35.28l-1.41.76a.5.5 0 0 1-.48 0L1 8.34V13c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6ZM5.02 5H3a2 2 0 0 0-2 2v.2l6 3.23.54-.3A5.5 5.5 0 0 1 5.02 5Zm1.61-.08a2 2 0 0 0 1.44-2.48L7.9 1.9c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52L8 8.66a2 2 0 0 0-1.46-2.52l-.35-.09a4.7 4.7 0 0 1 0-1.01l.45-.12Zm4.87.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MailSettings16Regular = /*#__PURE__*/createFluentIcon('MailSettings16Regular', \"16\", [\"M12 10.8V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l4.76 2.56a.5.5 0 0 0 .48 0l1.4-.76a5.48 5.48 0 0 1-1.1-.54l-.54.3-5-2.7V7a1 1 0 0 1 1-1h2.02a5.57 5.57 0 0 1 0-1H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.6c-.32.16-.65.3-1 .4ZM6.63 4.91a2 2 0 0 0 1.44-2.48L7.9 1.9c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52L8 8.66a2 2 0 0 0-1.46-2.52l-.35-.09a4.7 4.7 0 0 1 0-1.01l.45-.12Zm4.87.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MailSettings20Filled = /*#__PURE__*/createFluentIcon('MailSettings20Filled', \"20\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm6.14.92a2 2 0 0 0 1.43-2.48l-.16-.55c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52l.13-.42a2 2 0 0 0-1.46-2.52l-.35-.09a4.71 4.71 0 0 1 0-1.01l.46-.12Zm4.86.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MailSettings20Regular = /*#__PURE__*/createFluentIcon('MailSettings20Regular', \"20\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Zm-6.36-9.58a2 2 0 0 0 1.43-2.48l-.16-.55c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52l.13-.42a2 2 0 0 0-1.46-2.52l-.35-.09a4.71 4.71 0 0 1 0-1.01l.46-.12Zm4.86.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MailShield16Filled = /*#__PURE__*/createFluentIcon('MailShield16Filled', \"16\", [\"M9.56 10.2c.45.29.95.53 1.5.72.28.1.6.1.89 0 .37-.13.72-.29 1.05-.46V13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l5.76 3.1a.5.5 0 0 0 .48 0l2.32-1.25ZM7 5v.39c.04 1.18.33 2.24.9 3.15.23.35.5.68.8.97l-1.7.92L1 7.2V7c0-1.1.9-2 2-2h4Zm7-2.56a3.52 3.52 0 0 1-1-.35 4.72 4.72 0 0 1-1.25-.98.33.33 0 0 0-.5 0 3.89 3.89 0 0 1-2.9 1.39c-.2 0-.35.17-.35.38v2.48c.04 1.03.29 1.91.75 2.64.24.37.53.7.88 1 .48.4 1.07.73 1.76.98.07.03.15.03.22 0A4.75 4.75 0 0 0 15 5.13V2.8a.36.36 0 0 0-.35-.3c-.22 0-.44-.02-.65-.06Z\"]);\nexport const MailShield16Regular = /*#__PURE__*/createFluentIcon('MailShield16Regular', \"16\", [\"M7 5H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2.54a7.4 7.4 0 0 1-1 .44V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l4.76 2.56a.5.5 0 0 0 .48 0l2.32-1.25a5.88 5.88 0 0 1-.86-.68l-1.7.92-5-2.69V7a1 1 0 0 1 1-1h4.05L7 5.4V5Zm7-2.56a3.52 3.52 0 0 1-1-.35 4.72 4.72 0 0 1-1.25-.98.33.33 0 0 0-.5 0 3.89 3.89 0 0 1-2.9 1.39c-.2 0-.35.17-.35.38v2.48c.04 1.03.29 1.91.75 2.64.24.37.53.7.88 1 .48.4 1.07.73 1.76.98.07.03.15.03.22 0A4.75 4.75 0 0 0 15 5.13V2.8a.36.36 0 0 0-.35-.3c-.22 0-.44-.02-.65-.06Z\"]);\nexport const MailShield20Filled = /*#__PURE__*/createFluentIcon('MailShield20Filled', \"20\", [\"M18 2.62a4.06 4.06 0 0 1-1-.27 5.16 5.16 0 0 1-1.72-1.23.39.39 0 0 0-.56 0 4.5 4.5 0 0 1-3.32 1.55.4.4 0 0 0-.4.41v2.77A5.5 5.5 0 0 0 12.01 9c.27.37.6.7.99 1 .52.4 1.15.73 1.87.98.09.03.17.03.26 0 2.56-.89 3.87-2.71 3.87-5.4V3a.4.4 0 0 0-.4-.33c-.2 0-.4-.02-.6-.05Zm-5.7 8.1.1.07c.61.48 1.34.85 2.15 1.13.29.1.61.1.9 0A7.36 7.36 0 0 0 18 10.47v4.03a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.05-1.2ZM10 4V5.88a6.49 6.49 0 0 0 1.54 4.13l-1.54.91-7.98-4.7A2.5 2.5 0 0 1 4.5 4H10Z\"]);\nexport const MailShield20Regular = /*#__PURE__*/createFluentIcon('MailShield20Regular', \"20\", [\"M18 2.62a4.06 4.06 0 0 1-1-.27 5.16 5.16 0 0 1-1.72-1.23.39.39 0 0 0-.56 0 4.5 4.5 0 0 1-3.32 1.55.4.4 0 0 0-.4.41v2.77A5.5 5.5 0 0 0 12.01 9c.27.37.6.7.99 1 .52.4 1.15.73 1.87.98.09.03.17.03.26 0 2.56-.89 3.87-2.71 3.87-5.4V3a.4.4 0 0 0-.4-.33c-.2 0-.4-.02-.6-.05ZM10 4H4.5A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-4.03c-.3.27-.64.52-1 .74v3.29c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l2.05-1.2a6.05 6.05 0 0 1-.76-.72l-1.54.91L3 6.8v-.3C3 5.67 3.67 5 4.5 5H10V4Z\"]);\nexport const MailTemplate16Filled = /*#__PURE__*/createFluentIcon('MailTemplate16Filled', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v6A2.5 2.5 0 0 0 4.5 13H5V9.5A2.5 2.5 0 0 1 7.5 7H13V4.5A2.5 2.5 0 0 0 10.5 2h-6Zm0 2.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5ZM6 9.43C6.04 8.63 6.7 8 7.5 8h6c.8 0 1.46.63 1.5 1.43l-4.5 2.5L6 9.43Zm4.74 3.5L15 10.58v2.93c0 .83-.67 1.5-1.5 1.5h-6A1.5 1.5 0 0 1 6 13.5v-2.93l4.26 2.37a.5.5 0 0 0 .48 0Z\"]);\nexport const MailTemplate16Regular = /*#__PURE__*/createFluentIcon('MailTemplate16Regular', \"16\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v6A2.5 2.5 0 0 0 4.5 13H5v-1h-.5A1.5 1.5 0 0 1 3 10.5v-6C3 3.67 3.67 3 4.5 3h6c.83 0 1.5.67 1.5 1.5V7h1V4.5A2.5 2.5 0 0 0 10.5 2h-6Zm3 6C6.67 8 6 8.67 6 9.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5h-6ZM7 9.5c0-.28.22-.5.5-.5h6c.28 0 .5.22.5.5v.48l-3.5 1.95L7 9.98V9.5Zm0 1.63 3.26 1.8a.5.5 0 0 0 .48 0l3.26-1.8v2.37a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2.37ZM5 5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1H5Z\"]);\nexport const MailTemplate20Filled = /*#__PURE__*/createFluentIcon('MailTemplate20Filled', \"20\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v9A2.5 2.5 0 0 0 4.5 16h1.54a3.53 3.53 0 0 1-.04-.5v-4A3.5 3.5 0 0 1 9.5 8h6c.17 0 .34.01.5.04V4.5A2.5 2.5 0 0 0 13.5 2h-9ZM5 4.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm2 2c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm5.5 7.2-5.3-3.17A2.5 2.5 0 0 1 9.5 9h6a2.5 2.5 0 0 1 2.3 1.53l-5.3 3.17Zm.26 1L18 11.59v3.92a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 7 15.5v-3.92l5.24 3.13c.16.1.36.1.52 0Z\"]);\nexport const MailTemplate20Regular = /*#__PURE__*/createFluentIcon('MailTemplate20Regular', \"20\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h9A2.5 2.5 0 0 1 16 4.5v3.54a3.53 3.53 0 0 0-.5-.04H15V4.5c0-.83-.67-1.5-1.5-1.5h-9C3.67 3 3 3.67 3 4.5v9c0 .83.67 1.5 1.5 1.5H6v.5c0 .17.01.34.04.5H4.5A2.5 2.5 0 0 1 2 13.5v-9Zm11 3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h5c.28 0 .5.22.5.5Zm-8-2c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm2 6A2.5 2.5 0 0 1 9.5 9h6a2.5 2.5 0 0 1 2.5 2.5v4a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 7 15.5v-4ZM9.5 10a1.5 1.5 0 0 0-1.48 1.23l4.48 2.69 4.48-2.69A1.5 1.5 0 0 0 15.5 10h-6ZM8 15.5c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-3.12l-4.24 2.55a.5.5 0 0 1-.52 0L8 12.38v3.12Z\"]);\nexport const MailTemplate24Filled = /*#__PURE__*/createFluentIcon('MailTemplate24Filled', \"24\", [\"M2 5a3 3 0 0 1 3-3h11a3 3 0 0 1 3 3v5h-9a4 4 0 0 0-4 4v5a4 4 0 0 0 .13 1H5a3 3 0 0 1-3-3V5Zm3.75-1a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm2 3a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm-.2 5.27A3 3 0 0 1 10 11h9a3 3 0 0 1 2.45 1.27l-6.95 4.35-6.95-4.35ZM7 13.71 7 14v5a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-5l-.01-.3-7.1 4.44a.75.75 0 0 1-.79 0L7.01 13.7Z\"]);\nexport const MailTemplate24Regular = /*#__PURE__*/createFluentIcon('MailTemplate24Regular', \"24\", [\"M2 5.25C2 3.45 3.46 2 5.25 2h10.5C17.55 2 19 3.46 19 5.25v4.76l-.25-.01H17.5V5.25c0-.97-.78-1.75-1.75-1.75H5.25c-.97 0-1.75.78-1.75 1.75v11.5c0 .97.78 1.75 1.75 1.75H6v.25c0 .43.07.85.19 1.25h-.94A3.25 3.25 0 0 1 2 16.75V5.25ZM6.75 5a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5ZM8 8.25c0-.41.34-.75.75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5A.75.75 0 0 1 8 8.25Zm-1 6C7 12.45 8.46 11 10.25 11h8.5c1.8 0 3.25 1.46 3.25 3.25v4.5c0 1.8-1.46 3.25-3.25 3.25h-8.5A3.25 3.25 0 0 1 7 18.75v-4.5Zm3.25-1.75c-.5 0-.96.21-1.28.55l5.53 3.56 5.53-3.56a1.75 1.75 0 0 0-1.28-.55h-8.5ZM8.5 18.75c0 .97.78 1.75 1.75 1.75h8.5c.97 0 1.75-.78 1.75-1.75v-4.22l-5.6 3.6a.75.75 0 0 1-.8 0l-5.6-3.6v4.22Z\"]);\nexport const MailUnread12Filled = /*#__PURE__*/createFluentIcon('MailUnread12Filled', \"12\", [\"M9.5 4.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM3.5 3h4.06a2 2 0 0 0 .6 1.98L6 5.95 2.04 4.17A1.5 1.5 0 0 1 3.5 3Zm2.7 3.96L9.44 5.5a2.01 2.01 0 0 0 .56-.06V7.5C10 8.33 9.33 9 8.5 9h-5A1.5 1.5 0 0 1 2 7.5V5.25l3.8 1.7a.5.5 0 0 0 .4 0Z\"]);\nexport const MailUnread12Regular = /*#__PURE__*/createFluentIcon('MailUnread12Regular', \"12\", [\"M10 4.37a1 1 0 1 0-1.02-.02 1 1 0 0 0 1.01.02ZM3.5 3h4.06a2 2 0 0 0 0 1H3.5a.5.5 0 0 0-.5.5v.17l3 1.29 2.2-.94a2 2 0 0 0 1.8.42V7.5C10 8.33 9.33 9 8.5 9h-5A1.5 1.5 0 0 1 2 7.5v-3C2 3.67 2.67 3 3.5 3ZM3 5.76V7.5c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5V5.76l-2.8 1.2a.5.5 0 0 1-.4 0L3 5.76Z\"]);\nexport const MailUnread16Filled = /*#__PURE__*/createFluentIcon('MailUnread16Filled', \"16\", [\"M13.64 5.4A2 2 0 1 0 11.06 3a2 2 0 0 0 2.58 2.4ZM4 3h6.04a3.02 3.02 0 0 0 1.9 3.3L8 8.44 2 5.2V5c0-1.1.9-2 2-2Zm10 3.34-5.76 3.1a.5.5 0 0 1-.48 0L2 6.34V11c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V6.34Z\"]);\nexport const MailUnread16Regular = /*#__PURE__*/createFluentIcon('MailUnread16Regular', \"16\", [\"M14 5.23A2 2 0 1 0 11.06 3 2 2 0 0 0 14 5.23ZM4 3h6.04a3.02 3.02 0 0 0 0 1H4a1 1 0 0 0-1 1v.74l5 2.7 3.94-2.13a3 3 0 0 0 2.06.02V11a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2ZM3 6.88V11a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6.88L8.24 9.44a.5.5 0 0 1-.48 0L3 6.88Z\"]);\nexport const MailUnread20Filled = /*#__PURE__*/createFluentIcon('MailUnread20Filled', \"20\", [\"M17.5 6a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm-13-3h9.54a3.5 3.5 0 0 0 1.72 3.53L10 9.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 3Zm5.75 7.93L17 6.96a3.53 3.53 0 0 0 1 0v6.54a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 13.5V6.37l7.75 4.56c.15.1.35.1.5 0Z\"]);\nexport const MailUnread20Regular = /*#__PURE__*/createFluentIcon('MailUnread20Regular', \"20\", [\"M18 5.95a2.5 2.5 0 1 0-1-4.9 2.5 2.5 0 0 0 1 4.9ZM4.5 3h9.54a3.54 3.54 0 0 0 0 1H4.5C3.67 4 3 4.67 3 5.5v.3l7 4.12 5.75-3.39c.38.22.8.37 1.25.43l-6.75 3.97a.5.5 0 0 1-.42.04l-.08-.04L3 6.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V6.96a3.53 3.53 0 0 0 1 0v6.54a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 13.5v-8A2.5 2.5 0 0 1 4.5 3Z\"]);\nexport const MailUnread24Filled = /*#__PURE__*/createFluentIcon('MailUnread24Filled', \"24\", [\"M21 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM5.25 4h11.36a4.51 4.51 0 0 0 1.9 4.75L12 12.15 2.02 6.92a3.25 3.25 0 0 1 3.04-2.91L5.25 4Zm7.1 9.66 8.03-4.2A4.54 4.54 0 0 0 22 9.39v7.36a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75V8.61l9.65 5.05c.22.12.48.12.7 0Z\"]);\nexport const MailUnread24Regular = /*#__PURE__*/createFluentIcon('MailUnread24Regular', \"24\", [\"M22 7.83a3 3 0 1 0-2-5.66 3 3 0 0 0 2 5.66ZM5.25 4h11.36a4.51 4.51 0 0 0-.08 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l8.5 4.47 6.5-3.41c.54.36 1.17.61 1.85.71l-8 4.21c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15V9.47A4.55 4.55 0 0 0 22 9.4v7.36a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4Z\"]);\nexport const MailUnread28Filled = /*#__PURE__*/createFluentIcon('MailUnread28Filled', \"28\", [\"M23.97 8.97A3.5 3.5 0 1 0 20.04 5v.01a3.5 3.5 0 0 0 3.94 3.96ZM18.52 5H6.07A3.25 3.25 0 0 0 3 8.26v.18l11 5.72 7.68-4A5 5 0 0 1 18.52 5Zm-4.17 10.67 10.1-5.26c.19-.04.37-.08.55-.14v9.48a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 19.75v-9.63l10.65 5.55c.22.1.48.1.7 0Z\"]);\nexport const MailUnread28Regular = /*#__PURE__*/createFluentIcon('MailUnread28Regular', \"28\", [\"M25 8.66A3.5 3.5 0 1 0 20.04 5v.01a3.53 3.53 0 0 0 .1 1.49A3.5 3.5 0 0 0 25 8.66ZM6.25 5h12.27a5.07 5.07 0 0 0 .08 1.5H6.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.96l9.5 4.94 7.68-4a4.99 4.99 0 0 0 3.32.12v9.48a3.25 3.25 0 0 1-3.07 3.24l-.18.01H6.25a3.25 3.25 0 0 1-3.24-3.07L3 19.75V8.25a3.25 3.25 0 0 1 3.07-3.24L6.25 5Zm17.25 5.9-9.15 4.77a.75.75 0 0 1-.58.04l-.12-.04L4.5 10.9v8.85c0 .92.7 1.67 1.6 1.74l.15.01h15.5c.92 0 1.67-.7 1.74-1.6l.01-.15V10.9Z\"]);\nexport const MailUnread32Filled = /*#__PURE__*/createFluentIcon('MailUnread32Filled', \"32\", [\"M27 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-5.5-4c0 2.73 1.99 5 4.6 5.43L16 16.86 3.48 10.12 2 9.3A4.5 4.5 0 0 1 6.5 5h15.1c-.07.32-.1.66-.1 1ZM2 11.59V22.5A4.5 4.5 0 0 0 6.5 27h19a4.5 4.5 0 0 0 4.5-4.5V11.59l-.53.29-13 7a1 1 0 0 1-.94 0l-13.02-7-.51-.3Z\"]);\nexport const MailUnread32Regular = /*#__PURE__*/createFluentIcon('MailUnread32Regular', \"32\", [\"M27 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM6.5 5h15.1a5.53 5.53 0 0 0 0 2H6.5A2.5 2.5 0 0 0 4 9.5v.9l12 6.46 10.1-5.43a5.53 5.53 0 0 0 3.9-.82V22.5a4.5 4.5 0 0 1-4.5 4.5h-19A4.5 4.5 0 0 1 2 22.5v-13A4.5 4.5 0 0 1 6.5 5ZM4 12.67v9.83A2.5 2.5 0 0 0 6.5 25h19a2.5 2.5 0 0 0 2.5-2.5v-9.83l-11.53 6.21a1 1 0 0 1-.94 0L4 12.68Z\"]);\nexport const MailUnread48Filled = /*#__PURE__*/createFluentIcon('MailUnread48Filled', \"48\", [\"M41 16a5 5 0 1 0 0-10 5 5 0 0 0 0 10ZM10.25 9h23a8.02 8.02 0 0 0 3.08 8.5L24 24.33 5.02 13.8A5.25 5.25 0 0 1 10.25 9ZM24.6 27.35 40 18.94a8.08 8.08 0 0 0 3-.2v15.01c0 2.9-2.35 5.25-5.25 5.25h-27.5A5.25 5.25 0 0 1 5 33.75V17.3l18.4 10.05.13.06c.34.14.74.12 1.07-.06Z\"]);\nexport const MailUnread48Regular = /*#__PURE__*/createFluentIcon('MailUnread48Regular', \"48\", [\"M43 15.58a5 5 0 1 0-4-9.16 5 5 0 0 0 4 9.16ZM10.25 9h23.52a7.5 7.5 0 0 0-.25 2.5H10.25a2.75 2.75 0 0 0-2.75 2.75v1.25L24 24.57l13.07-7.18c.95.59 2.05.97 3.22 1.08L24.6 27.1c-.33.18-.73.2-1.07.06l-.13-.06-15.9-8.75v15.4a2.75 2.75 0 0 0 2.75 2.75h27.5a2.75 2.75 0 0 0 2.75-2.75V18.48a7.6 7.6 0 0 0 2.5-.25v15.52c0 2.9-2.35 5.25-5.25 5.25h-27.5A5.25 5.25 0 0 1 5 33.75v-19.5C5 11.35 7.35 9 10.25 9Z\"]);\nexport const MailWarning16Filled = /*#__PURE__*/createFluentIcon('MailWarning16Filled', \"16\", [\"M5.08 10.53A2 2 0 0 0 7 12H13v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8.34l4.08 2.2ZM7.27 5 5.22 9.1c-.05.1-.1.2-.12.3L1 7.2V7c0-1.1.9-2 2-2h4.27ZM6.1 9.55l3.5-7a1 1 0 0 1 1.78 0l3.5 7A1 1 0 0 1 14 11H7a1 1 0 0 1-.9-1.45ZM10.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5Zm.5 5.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\"]);\nexport const MailWarning16Regular = /*#__PURE__*/createFluentIcon('MailWarning16Regular', \"16\", [\"M7.27 5H3a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-1h-1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8.88l3.08 1.65c-.1-.35-.1-.74.02-1.12L2 7.74V7a1 1 0 0 1 1-1h3.77l.5-1ZM6.1 9.55l3.5-7a1 1 0 0 1 1.78 0l3.5 7A1 1 0 0 1 14 11H7a1 1 0 0 1-.9-1.45ZM10.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5Zm.5 5.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\"]);\nexport const MailWarning20Filled = /*#__PURE__*/createFluentIcon('MailWarning20Filled', \"20\", [\"m13.6 1.55-3.5 7A1 1 0 0 0 11 10h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 3.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0ZM14.5 9a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm3.5 2h-6.16l-1.59.93a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V11ZM9.22 8.1 11.27 4H4.5a2.5 2.5 0 0 0-2.48 2.22l7.98 4.7.17-.1a2 2 0 0 1-.95-2.72Z\"]);\nexport const MailWarning20Regular = /*#__PURE__*/createFluentIcon('MailWarning20Regular', \"20\", [\"m13.6 1.55-3.5 7A1 1 0 0 0 11 10h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 3.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0ZM14.5 9a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm-10-5h6.77l-.5 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12.17-.1a2 2 0 0 0 .84.18h.83l-1.59.93a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V11h1v3.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailWarning24Filled = /*#__PURE__*/createFluentIcon('MailWarning24Filled', \"24\", [\"m16.16 1.83-4 8A1.5 1.5 0 0 0 13.51 12h8a1.5 1.5 0 0 0 1.33-2.17l-4-8a1.5 1.5 0 0 0-2.68 0ZM18 4.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0Zm-.5 5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm4 3h-7.88l-1.27.66a.75.75 0 0 1-.7 0L2 8.61v8.32A3.25 3.25 0 0 0 5.26 20h13.68A3.25 3.25 0 0 0 22 16.74v-3.8c-.16.03-.33.05-.5.05ZM5.25 4h8.7l-2.68 5.38c-.42.84-.32 1.76.12 2.46L2.02 6.92a3.25 3.25 0 0 1 3.04-2.91L5.25 4Z\"]);\nexport const MailWarning24Regular = /*#__PURE__*/createFluentIcon('MailWarning24Regular', \"24\", [\"m16.16 1.83-4 8A1.5 1.5 0 0 0 13.51 12h8a1.5 1.5 0 0 0 1.33-2.17l-4-8a1.5 1.5 0 0 0-2.68 0ZM18 4.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0Zm-.5 5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM5.25 4h8.7l-.74 1.5H5.25c-.92 0-1.67.7-1.74 1.6l-.01.15v.43l7.9 4.15c.43.69 1.19 1.17 2.1 1.17h.11l-1.26.66c-.19.1-.4.12-.6.05l-.1-.05L3.5 9.37v7.38c0 .92.7 1.67 1.6 1.74l.15.01h13.5c.92 0 1.67-.7 1.74-1.6l.01-.15V13h1c.17 0 .34-.02.5-.05v3.8a3.25 3.25 0 0 1-3.07 3.24l-.18.01H5.25a3.25 3.25 0 0 1-3.24-3.07L2 16.75v-9.5a3.25 3.25 0 0 1 3.07-3.24L5.25 4Z\"]);\nexport const Mailbox16Filled = /*#__PURE__*/createFluentIcon('Mailbox16Filled', \"16\", [\"M2 1.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5V6h3.35A3.99 3.99 0 0 0 8 9v5c0 .36.1.7.27 1H2a1 1 0 0 1-1-1V9a3 3 0 0 1 3-3v3.5a.5.5 0 0 0 1 0V4H2.5a.5.5 0 0 1-.5-.5v-2ZM12 6a3 3 0 0 0-3 3v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V9a3 3 0 0 0-3-3Zm-.5 3h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Z\"]);\nexport const Mailbox16Regular = /*#__PURE__*/createFluentIcon('Mailbox16Regular', \"16\", [\"M2 1.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5V6h6a3 3 0 0 1 3 3v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9a3 3 0 0 1 3-3h1V4H2.5a.5.5 0 0 1-.5-.5v-2Zm3 8V7H4a2 2 0 0 0-2 2v5h7V9c0-.77.29-1.47.76-2H6v2.5a.5.5 0 0 1-1 0Zm9-.5a2 2 0 1 0-4 0v5h4V9Zm-2.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"]);\nexport const Mailbox20Filled = /*#__PURE__*/createFluentIcon('Mailbox20Filled', \"20\", [\"M3 2.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5V8h3.67A4.5 4.5 0 0 0 10 11.5V17c0 .36.1.7.27 1H3a1 1 0 0 1-1-1v-5.5A3.5 3.5 0 0 1 5.5 8H6v3.5a.5.5 0 0 0 1 0V5H3.5a.5.5 0 0 1-.5-.5v-2ZM14.5 8a3.5 3.5 0 0 0-3.5 3.5V17a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5.5A3.5 3.5 0 0 0 14.5 8Zm-1.25 3.5c0-.28.22-.5.5-.5h1.5a.5.5 0 0 1 0 1h-1.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const Mailbox20Regular = /*#__PURE__*/createFluentIcon('Mailbox20Regular', \"20\", [\"M3.5 2a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H7v3H5.5A3.5 3.5 0 0 0 2 11.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-5.5A3.5 3.5 0 0 0 14.5 8H8V2.5a.5.5 0 0 0-.5-.5h-4ZM7 9v2.5a.5.5 0 0 0 1 0V9h4.05A3.49 3.49 0 0 0 11 11.5V17H3v-5.5A2.5 2.5 0 0 1 5.5 9H7Zm10 2.5V17h-5v-5.5a2.5 2.5 0 0 1 5 0Zm-3-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"]);\nexport const Map16Filled = /*#__PURE__*/createFluentIcon('Map16Filled', \"16\", [\"M5 2.22 1.24 4.58A.5.5 0 0 0 1 5v8.5a.5.5 0 0 0 .76.42L5 11.9V2.22Zm1 9.59 4 2V4.19l-4-2v9.62Zm8.77-.39L11 13.78V4.1l3.23-2.02a.5.5 0 0 1 .77.42V11a.5.5 0 0 1-.23.42Z\"]);\nexport const Map16Regular = /*#__PURE__*/createFluentIcon('Map16Regular', \"16\", [\"M5.24 2.08a.5.5 0 0 1 .48-.03l4.75 2.38 3.76-2.35a.5.5 0 0 1 .77.42V11a.5.5 0 0 1-.23.42l-4 2.5a.5.5 0 0 1-.5.03l-4.74-2.38-3.77 2.35A.5.5 0 0 1 1 13.5V5a.5.5 0 0 1 .24-.42l4-2.5ZM6 10.69l4 2V5.31l-4-2v7.38ZM5 3.4 2 5.28v7.32l3-1.88V3.4Zm6 1.88v7.32l3-1.88V3.4l-3 1.88Z\"]);\nexport const Map20Filled = /*#__PURE__*/createFluentIcon('Map20Filled', \"20\", [\"m12 6.04-4-2.8v10.72l4 2.8V6.04Zm1 10.72 4.79-3.35A.5.5 0 0 0 18 13V3.5a.5.5 0 0 0-.79-.41L13 6.04v10.72ZM2.21 6.59 7 3.24v10.72l-4.21 2.95A.5.5 0 0 1 2 16.5V7a.5.5 0 0 1 .21-.41Z\"]);\nexport const Map20Regular = /*#__PURE__*/createFluentIcon('Map20Regular', \"20\", [\"M17.73 3.06a.5.5 0 0 1 .27.44V13a.5.5 0 0 1-.21.41l-5 3.5a.5.5 0 0 1-.58 0l-4.71-3.3-4.71 3.3A.5.5 0 0 1 2 16.5V7a.5.5 0 0 1 .21-.41l5-3.5a.5.5 0 0 1 .58 0l4.71 3.3 4.71-3.3a.5.5 0 0 1 .52-.03ZM12 7.26l-4-2.8v8.28l4 2.8V7.26Zm1 8.28 4-2.8V4.46l-4 2.8v8.28Zm-6-2.8V4.46l-4 2.8v8.28l4-2.8Z\"]);\nexport const Map24Filled = /*#__PURE__*/createFluentIcon('Map24Filled', \"24\", [\"M8.5 4.36v12.46l-4.32 3.04a.75.75 0 0 1-1.17-.5L3 19.24V8.62c0-.21.09-.41.24-.55L3.32 8 8.5 4.36Zm12.5.29v10.73c0 .21-.09.41-.24.55l-.08.07-5.18 3.64V7.17l4.32-3.03a.75.75 0 0 1 1.17.5Zm-11-.3 4 2.82v12.47l-4-2.82V4.36Z\"]);\nexport const Map24Regular = /*#__PURE__*/createFluentIcon('Map24Regular', \"24\", [\"M9.2 4h.16l.02.01c.09.01.17.04.25.1l.05.03 5.07 3.56 5.07-3.56a.75.75 0 0 1 1.17.5l.01.11V15.4c0 .2-.09.4-.24.54l-.08.07-5.5 3.87a.74.74 0 0 1-.83.02l-5.1-3.6-5.07 3.57a.75.75 0 0 1-1.17-.5L3 19.24V8.62c0-.21.09-.41.24-.55L3.32 8l5.5-3.86a.76.76 0 0 1 .2-.1L9.14 4 9.2 4Zm10.3 2.2-4 2.8v8.8l4-2.8V6.2Zm-11 0L4.5 9v8.8l4-2.8V6.2Zm1.5 0V15l4 2.8V9l-4-2.8Z\"]);\nexport const MapDrive16Filled = /*#__PURE__*/createFluentIcon('MapDrive16Filled', \"16\", [\"M1 3.5C1 2.67 1.67 2 2.5 2h11c.83 0 1.5.67 1.5 1.5v3a.5.5 0 0 1-.5.5H8.51v1h.99c.28 0 .5.22.5.5V10h1c.28 0 .5.22.5.5v1h3a.5.5 0 0 1 0 1h-3v1a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5v-1h-3a.5.5 0 0 1 0-1h3v-1c0-.28.22-.5.5-.5h1V8.5a.5.5 0 0 1 .5-.5h1.01V7H1.5a.5.5 0 0 1-.5-.5v-3ZM12.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"]);\nexport const MapDrive16Regular = /*#__PURE__*/createFluentIcon('MapDrive16Regular', \"16\", [\"M12.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-10-3C1.67 2 1 2.67 1 3.5v3c0 .27.22.5.5.5h6.01v1H6.5a.5.5 0 0 0-.5.5V10H5a.5.5 0 0 0-.5.5v1h-3a.5.5 0 0 0 0 1h3v1c0 .28.22.5.5.5h6a.5.5 0 0 0 .5-.5v-1h3a.5.5 0 0 0 0-1h-3v-1a.5.5 0 0 0-.5-.5h-1V8.5a.5.5 0 0 0-.5-.5h-.99V7h5.99a.5.5 0 0 0 .5-.5v-3c0-.83-.67-1.5-1.5-1.5h-11ZM2 3.5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5V6H2V3.5ZM7 9h2v1.5c0 .28.22.5.5.5h1v2h-5v-2h1a.5.5 0 0 0 .5-.5V9Z\"]);\nexport const MapDrive20Filled = /*#__PURE__*/createFluentIcon('MapDrive20Filled', \"20\", [\"M2 5c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v3.5a.5.5 0 0 1-.5.5h-7v2h1c.28 0 .5.22.5.5V13h1.5c.27 0 .5.22.5.5v1h3.5a.5.5 0 0 1 0 1H14v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1H2.5a.5.5 0 0 1 0-1H6v-1c0-.28.23-.5.5-.5H8v-1.5a.5.5 0 0 1 .5-.5h1V9h-7a.5.5 0 0 1-.5-.5V5Zm12.75 1.74a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const MapDrive20Regular = /*#__PURE__*/createFluentIcon('MapDrive20Regular', \"20\", [\"M14.75 6.74a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 5c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v3.5a.5.5 0 0 1-.5.5h-7v2h1c.28 0 .5.22.5.5V13h1.5c.27 0 .5.22.5.5v1h3.5a.5.5 0 0 1 0 1H14v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1H2.5a.5.5 0 0 1 0-1H6v-1c0-.28.23-.5.5-.5H8v-1.5a.5.5 0 0 1 .5-.5h1V9h-7a.5.5 0 0 1-.5-.5V5Zm2-1a1 1 0 0 0-1 1v3h14V5a1 1 0 0 0-1-1H4Zm7.47 12H13v-2h-1.5a.5.5 0 0 1-.5-.5V12H9v1.5a.5.5 0 0 1-.5.5H7v2h4.47Z\"]);\nexport const MapDrive24Filled = /*#__PURE__*/createFluentIcon('MapDrive24Filled', \"24\", [\"M2 5.25C2 4.01 3 3 4.25 3h15.5C20.99 3 22 4 22 5.25v5c0 .41-.34.75-.75.75h-8.5v2h1c.41 0 .75.34.75.75V16h1.75c.41 0 .75.34.75.75v.75h4.25a.75.75 0 0 1 0 1.5H17v1.25c0 .42-.34.75-.75.75h-8.5a.75.75 0 0 1-.75-.75V19H2.75a.75.75 0 0 1 0-1.5H7v-.75c0-.41.34-.75.75-.75H9.5v-2.25c0-.41.34-.75.75-.75h1v-2h-8.5a.75.75 0 0 1-.75-.75v-5ZM18 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MapDrive24Regular = /*#__PURE__*/createFluentIcon('MapDrive24Regular', \"24\", [\"M18 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM4.25 3C3.01 3 2 4 2 5.25v5c0 .41.34.75.75.75h8.5v2h-1a.75.75 0 0 0-.75.75V16H7.75a.75.75 0 0 0-.75.75v.75H2.75a.75.75 0 0 0 0 1.5H7v1.25c0 .42.34.75.75.75h8.5c.41 0 .75-.33.75-.75V19h4.25a.75.75 0 0 0 0-1.5H17v-.75a.75.75 0 0 0-.75-.75H14.5v-2.25a.75.75 0 0 0-.75-.75h-1v-2h8.5c.41 0 .75-.34.75-.75v-5C22 4.01 21 3 19.75 3H4.25ZM3.5 5.25c0-.41.34-.75.75-.75h15.5c.41 0 .75.34.75.75V9.5h-17V5.25ZM11 14.5h2v2.25c0 .42.34.75.75.75h1.75v2h-7v-2h1.75c.41 0 .75-.33.75-.75V14.5Z\"]);\nexport const Markdown20Filled = /*#__PURE__*/createFluentIcon('Markdown20Filled', \"20\", [\"M2.5 4.05c.29-.11.62-.03.82.21L7 8.6l3.68-4.33a.75.75 0 0 1 1.32.49v9.5a.75.75 0 0 1-1.5 0V6.79l-2.93 3.45a.75.75 0 0 1-1.14 0L3.5 6.79v7.46a.75.75 0 0 1-1.5 0v-9.5c0-.31.2-.6.5-.7Zm10.72 7.67c.3-.3.77-.3 1.06 0l.72.72V4.75a.75.75 0 0 1 1.5 0v7.69l.72-.72a.75.75 0 1 1 1.06 1.06l-2 2c-.3.3-.77.3-1.06 0l-2-2a.75.75 0 0 1 0-1.06Z\"]);\nexport const Markdown20Regular = /*#__PURE__*/createFluentIcon('Markdown20Regular', \"20\", [\"M16 4.5a.5.5 0 0 0-1 0v8.8l-1.15-1.15a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l2-2a.5.5 0 0 0-.7-.7L16 13.29V4.5ZM2.32 4.03a.5.5 0 0 1 .55.14L7 8.75l4.13-4.58a.5.5 0 0 1 .87.33v10a.5.5 0 1 1-1 0V5.8L7.37 9.83a.5.5 0 0 1-.74 0L3 5.8v8.7a.5.5 0 1 1-1 0v-10c0-.2.13-.4.32-.47Z\"]);\nexport const MatchAppLayout20Filled = /*#__PURE__*/createFluentIcon('MatchAppLayout20Filled', \"20\", [\"M3.5 7C2.67 7 2 7.67 2 8.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3C9 7.67 8.33 7 7.5 7h-4Zm9 0c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-4Z\"]);\nexport const MatchAppLayout20Regular = /*#__PURE__*/createFluentIcon('MatchAppLayout20Regular', \"20\", [\"M3.5 7C2.67 7 2 7.67 2 8.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3C9 7.67 8.33 7 7.5 7h-4ZM3 8.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3ZM12.5 7c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-4ZM12 8.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3Z\"]);\nexport const MatchAppLayout24Filled = /*#__PURE__*/createFluentIcon('MatchAppLayout24Filled', \"24\", [\"M9.5 8c.97 0 1.75.78 1.75 1.75v4.5c0 .97-.78 1.75-1.75 1.75H3.75C2.78 16 2 15.22 2 14.25v-4.5c0-.92.7-1.67 1.6-1.74L3.76 8H9.5Zm10.75 0c.97 0 1.75.78 1.75 1.75v4.5c0 .97-.78 1.75-1.75 1.75H14.5c-.97 0-1.75-.78-1.75-1.75v-4.5c0-.97.78-1.75 1.75-1.75h5.75Z\"]);\nexport const MatchAppLayout24Regular = /*#__PURE__*/createFluentIcon('MatchAppLayout24Regular', \"24\", [\"M9.28 8c.97 0 1.75.78 1.75 1.75v4.5c0 .97-.78 1.75-1.75 1.75H3.75C2.78 16 2 15.22 2 14.25v-4.5c0-.92.7-1.67 1.6-1.74L3.76 8h5.53Zm10.97 0c.97 0 1.75.78 1.75 1.75v4.5c0 .97-.78 1.75-1.75 1.75h-5.53c-.97 0-1.75-.78-1.75-1.75v-4.5c0-.97.78-1.75 1.75-1.75h5.53ZM9.28 9.5H3.7a.25.25 0 0 0-.19.25v4.5c0 .14.11.25.25.25h5.53c.14 0 .25-.11.25-.25v-4.5a.25.25 0 0 0-.25-.25Zm10.97 0h-5.53a.25.25 0 0 0-.25.25v4.5c0 .14.11.25.25.25h5.53c.14 0 .25-.11.25-.25v-4.5a.25.25 0 0 0-.25-.25Z\"]);\nexport const MathFormatLinear20Filled = /*#__PURE__*/createFluentIcon('MathFormatLinear20Filled', \"20\", [\"M9.01 3.18c.28-.24.7-.24.98 0l1.75 1.5a.75.75 0 1 1-.98 1.14L9.5 4.74 8.24 5.82a.75.75 0 0 1-.98-1.14l1.75-1.5Zm2.3 5.7c.36-.4.54-.38.56-.38.05 0 .15.05.26.2l1.32 2.05-3.21 2.98a.75.75 0 1 0 1.02 1.1l3-2.8 1.36 2.1v.02a1.92 1.92 0 0 0 3.27.01.75.75 0 1 0-1.28-.77.42.42 0 0 1-.51.14.59.59 0 0 1-.22-.21L15.38 11l2.88-2.67a.75.75 0 0 0-1.02-1.1L14.56 9.7l-1.18-1.84A1.93 1.93 0 0 0 12.02 7c-.67-.07-1.3.27-1.84.9a.75.75 0 1 0 1.14.98ZM7.68 7.86a2.11 2.11 0 0 0-1.52-.83c-.6-.07-1.26.03-1.92.3-1.33.56-2.6 1.86-3.12 4.08-.23.97-.1 1.84.35 2.54A3.32 3.32 0 0 0 3.3 15.3a4.5 4.5 0 0 0 4.47-1.09.75.75 0 1 0-1.07-1.04 3 3 0 0 1-2.95.7c-.47-.15-.82-.4-1.02-.73a1.5 1.5 0 0 1-.23-.7c2.13.26 3.63-.3 4.54-1.22.5-.52.8-1.12.91-1.7.1-.57.04-1.2-.28-1.67Zm-1.7 2.31c-.49.5-1.46.99-3.17.8a3.77 3.77 0 0 1 2-2.26c.45-.18.86-.23 1.17-.19.32.04.44.16.46.18.04.06.1.25.05.55-.06.29-.21.62-.5.92Z\"]);\nexport const MathFormatLinear20Regular = /*#__PURE__*/createFluentIcon('MathFormatLinear20Regular', \"20\", [\"M9.36 3.65a.5.5 0 0 0-.71 0l-1.5 1.5a.5.5 0 0 0 .7.7L9 4.72l1.15 1.15a.5.5 0 1 0 .7-.71l-1.5-1.5ZM7.74 7.78a1.79 1.79 0 0 0-1.27-.75 3.26 3.26 0 0 0-1.74.24c-1.24.52-2.45 1.78-3.06 4.06a3.7 3.7 0 0 0 .14 2.6c.35.72.96 1.2 1.67 1.42 1.42.45 3.21-.12 4.42-1.73a.5.5 0 0 0-.8-.6c-1 1.33-2.37 1.68-3.32 1.38a1.74 1.74 0 0 1-1.07-.9 2.48 2.48 0 0 1-.16-1.51c2.16.12 3.64-.47 4.51-1.32.9-.87 1.18-2.1.68-2.89ZM6.36 9.95c-.6.59-1.71 1.1-3.55 1.05.58-1.64 1.5-2.47 2.3-2.8.46-.2.88-.23 1.2-.18.34.05.52.19.58.29.16.26.17.96-.53 1.64Zm11.5-2.8c.19.2.19.5 0 .7l-3.09 3.08 1.64 2.76c.07.1.25.25.47.3.17.03.42.02.74-.35a.5.5 0 1 1 .76.66c-.53.6-1.15.78-1.7.67-.51-.1-.9-.44-1.1-.72-.12-.18-.8-1.34-1.54-2.59l-3.19 3.2a.5.5 0 0 1-.7-.71l3.37-3.38a981.7 981.7 0 0 1-1.46-2.5.59.59 0 0 0-.41-.27c-.15-.01-.42.02-.75.47a.5.5 0 0 1-.8-.59c.49-.67 1.08-.94 1.66-.87.54.06.96.4 1.16.75l1.33 2.28 2.9-2.9c.2-.19.5-.19.7 0Z\"]);\nexport const MathFormatLinear24Filled = /*#__PURE__*/createFluentIcon('MathFormatLinear24Filled', \"24\", [\"M11.7 3.3a1 1 0 0 0-1.4 0l-2 2a1 1 0 0 0 1.4 1.4L11 5.42l1.3 1.3a1 1 0 1 0 1.4-1.42l-2-2Zm2.77 6.43a.5.5 0 0 1 .77.15l1.11 2.1-3.56 3.56a1 1 0 0 0 1.42 1.42l3.11-3.12 1.17 2.21a2.5 2.5 0 0 0 3.84.74l.32-.28a1 1 0 0 0-1.3-1.52l-.32.28a.5.5 0 0 1-.77-.15l-1.45-2.76 2.9-2.9a1 1 0 0 0-1.42-1.42l-2.46 2.47-.82-1.56a2.5 2.5 0 0 0-3.84-.74l-.32.28a1 1 0 1 0 1.3 1.52l.32-.28ZM3.04 13.72c.88-.02 1.78-.08 2.61-.26a4.4 4.4 0 0 0 2.87-1.74c.62-.92.64-2.05.06-2.9-.6-.88-1.7-1.25-2.87-.98-.44.1-1.28.31-2.15 1-.87.7-1.7 1.8-2.26 3.58a4.8 4.8 0 0 0 0 3.38 3.2 3.2 0 0 0 2.14 1.8c1.76.5 3.93-.29 5.31-2.03a1 1 0 0 0-1.56-1.24c-.97 1.22-2.36 1.59-3.22 1.35a1.2 1.2 0 0 1-.83-.69 2.29 2.29 0 0 1-.1-1.27Zm3.89-3.77c.07.1.14.35-.08.67-.26.4-.77.7-1.62.89-.45.1-.94.15-1.46.18.34-.63.7-1.02 1.03-1.28a3.18 3.18 0 0 1 1.36-.62c.5-.12.7.06.77.16Z\"]);\nexport const MathFormatLinear24Regular = /*#__PURE__*/createFluentIcon('MathFormatLinear24Regular', \"24\", [\"M10.99 4.18a.75.75 0 0 0-.98 0l-1.75 1.5a.75.75 0 1 0 .98 1.14l1.26-1.08 1.26 1.08a.75.75 0 0 0 .98-1.14l-1.75-1.5Zm2.57 5.36a.75.75 0 0 1 1.15.22l1.2 2.27-3.69 3.69a.75.75 0 1 0 1.06 1.06l3.36-3.36 1.32 2.52a2.25 2.25 0 0 0 3.46.66l.32-.28a.75.75 0 1 0-.98-1.14l-.32.28a.75.75 0 0 1-1.15-.22l-1.54-2.93 3.03-3.03a.75.75 0 0 0-1.06-1.06l-2.7 2.7-.98-1.86a2.25 2.25 0 0 0-3.46-.66l-.32.28a.75.75 0 1 0 .98 1.14l.32-.28Zm-9.97 3.93c.92-.01 1.89-.07 2.76-.25a4.15 4.15 0 0 0 2.71-1.63c.57-.86.58-1.88.06-2.64-.53-.77-1.51-1.12-2.6-.87-.46.1-1.25.34-2.08 1A6.88 6.88 0 0 0 2.3 12.5a4.55 4.55 0 0 0 0 3.2 2.95 2.95 0 0 0 1.96 1.67c1.65.45 3.73-.28 5.06-1.95a.75.75 0 0 0-1.18-.93c-1.02 1.28-2.5 1.7-3.48 1.43-.46-.13-.8-.4-1-.82a2.68 2.68 0 0 1-.06-1.63Zm4.3-3.67c.13.2.19.56-.08.96-.31.48-.9.8-1.78 1-.58.12-1.23.17-1.92.2.39-.83.85-1.36 1.28-1.7a3.52 3.52 0 0 1 1.46-.72c.6-.13.9.08 1.03.26Z\"]);\nexport const MathFormatProfessional16Filled = /*#__PURE__*/createFluentIcon('MathFormatProfessional16Filled', \"16\", [\"M9.49 3.52a2.83 2.83 0 0 0-.2.19.75.75 0 0 1-1.07-1.06l.02-.02a2.16 2.16 0 0 1 .66-.5c.7-.27 1.4-.12 1.92.27.24.16.39.36.49.52l.11.19.02.02.06.11 1.03-1.02a.75.75 0 0 1 1.06 1.06l-1.35 1.35.09.15.2.32.06.1a2.74 2.74 0 0 0 .13.2l.02.02.1.07a.16.16 0 0 0 .12 0 .75.75 0 0 1 .08-.05 2.72 2.72 0 0 0 .22-.2.75.75 0 0 1 1.06 1.07l-.02.02c-.15.15-.3.3-.55.43-.5.31-1.38.41-2.07-.28a2.66 2.66 0 0 1-.36-.49l-.1-.16-.07-.11-1.06 1.06a.75.75 0 0 1-1.06-1.06l1.37-1.37a8.05 8.05 0 0 1-.26-.47l-.02-.02-.08-.14c-.04-.07-.06-.08-.07-.09a.75.75 0 0 1-.03-.02c-.15-.11-.3-.14-.45-.09Zm-3.2 1.42a1.86 1.86 0 0 1 1.73 1.8c.04.73-.22 1.33-.67 1.78-.43.44-1 .7-1.55.88-.89.28-1.9.36-2.65.36-.1.4-.11.7-.08.91.04.25.14.42.3.56l.04.04c.14.14.3.2.72.28.94.1 1.9-.44 2.52-1.29a.75.75 0 0 1 1.21.88c-.83 1.15-2.3 2.1-3.95 1.9l-.05-.02H3.8c-.38-.08-.97-.2-1.45-.69-.4-.36-.68-.84-.77-1.42a4.11 4.11 0 0 1 .25-2l.09-.25c.06-.19.38-1.08 1.02-1.93a4.02 4.02 0 0 1 3.33-1.79Zm-2.53 3.3c.52-.03 1.1-.11 1.6-.27.42-.13.74-.3.92-.5a.76.76 0 0 0 .23-.64v-.06a.36.36 0 0 0-.1-.24.34.34 0 0 0-.1-.07.12.12 0 0 0-.04-.02h-.03c-.88-.03-1.56.5-2.09 1.19-.15.2-.28.42-.4.61Z\"]);\nexport const MathFormatProfessional16Regular = /*#__PURE__*/createFluentIcon('MathFormatProfessional16Regular', \"16\", [\"M9.14 3.04c-.08.04-.12.08-.29.24a.5.5 0 1 1-.7-.7l.01-.02c.16-.16.3-.3.55-.42a1.7 1.7 0 0 1 1.72.21c.2.14.33.3.42.45l.1.18.02.03a2.9 2.9 0 0 0 .13.21c.03.07.06.13.1.18l1.26-1.26a.5.5 0 1 1 .7.7l-1.49 1.5a5.85 5.85 0 0 0 .39.63l.07.12c.09.14.14.22.18.25.12.12.23.16.32.16.1 0 .18-.03.22-.05a1 1 0 0 0 .34-.27.5.5 0 1 1 .7.7v.02c-.16.15-.3.28-.51.4-.42.26-1.18.35-1.78-.25-.13-.13-.24-.3-.32-.44l-.1-.15a5.67 5.67 0 0 0-.24-.39L9.66 6.35a.5.5 0 1 1-.7-.7l1.5-1.5v-.02a9.47 9.47 0 0 1-.36-.63l-.01-.02-.08-.14a.5.5 0 0 0-.17-.18.71.71 0 0 0-.7-.12ZM6.5 4.97c.41 0 .78.2 1.04.48.26.28.45.66.45 1.09.05.66-.18 1.2-.59 1.61-.39.4-.92.65-1.46.82-.94.3-2.04.37-2.8.35a2.8 2.8 0 0 0-.13 1.22 1.14 1.14 0 0 0 .41.74c.2.2.46.27.87.36 1.07.13 2.13-.5 2.8-1.4a.5.5 0 0 1 .8.58c-.8 1.11-2.2 2-3.74 1.8h-.08c-.38-.08-.92-.2-1.35-.63-.37-.33-.61-.76-.7-1.29a3.9 3.9 0 0 1 .24-1.88l.1-.26c.05-.17.36-1.05 1-1.89.63-.85 1.66-1.74 3.14-1.7ZM3.54 8.32a7.74 7.74 0 0 0 2.11-.3c.46-.14.82-.34 1.05-.57a1.02 1.02 0 0 0 .3-.9c0-.14-.06-.3-.17-.4a.48.48 0 0 0-.33-.18H6.5c-1.02-.03-1.78.57-2.33 1.3-.27.37-.48.75-.62 1.05Z\"]);\nexport const MathFormatProfessional20Filled = /*#__PURE__*/createFluentIcon('MathFormatProfessional20Filled', \"20\", [\"M10.25 3.6c.44-.33 1-.65 1.65-.65l.12.01c.43.07.77.23 1.06.5.25.23.44.52.62.78l1.07-1.07a.75.75 0 1 1 1.06 1.06L14.5 5.57l.38.7c.08.16.18.24.38.3h.19l.1-.07.23-.23a.75.75 0 0 1 1.06 1.06l-.03.03c-.17.17-.4.4-.69.55a1.78 1.78 0 0 1-1.2.12 2.02 2.02 0 0 1-1.38-1.1l-.14-.26-1.06 1.06a.75.75 0 1 1-1.06-1.06l1.35-1.35a3.01 3.01 0 0 0-.14-.2 3.34 3.34 0 0 0-.42-.56.42.42 0 0 0-.22-.1c-.15.01-.37.1-.7.34a.75.75 0 0 1-.9-1.2ZM5.4 16.3H6c1.4-.1 2.8-.7 3.9-2 .3-.4.2-.8-.1-1.1-.3-.2-.8-.2-1.2.1-.9.7-1.9 1.4-3.1 1.4-.6 0-1.2-.5-1.3-1.1-.1-.5 0-1.1.2-1.6 1.6.1 3.8-.1 4.8-1.3.8-.9 1-2.4 0-3.3-.4-.4-.9-.5-1.4-.5-.9 0-1.8.5-2.6 1.3-1.3 1.3-2.6 3.5-2.4 5.6.1 1.5 1.4 2.4 2.6 2.5Zm.8-7.1c.6-.5 1.1-.8 1.6-.8.2 0 .5.1.6.3.2.3 0 .8-.2 1-.5.5-1.8.8-3 .8.3-.5.6-.9 1-1.3Z\"]);\nexport const MathFormatProfessional20Regular = /*#__PURE__*/createFluentIcon('MathFormatProfessional20Regular', \"20\", [\"M10.85 4.35c.2-.19.25-.24.35-.3a.9.9 0 0 1 .92.17c.07.04.13.1.2.21l.1.17.01.03.14.22.3.54v.03l-1.72 1.73a.5.5 0 0 0 .7.7l1.56-1.55.17.28.18.29.11.18c.1.16.23.36.38.5a1.6 1.6 0 0 0 2 .28c.26-.13.4-.28.59-.46l.01-.02a.5.5 0 1 0-.7-.7 1.28 1.28 0 0 1-.43.33c-.13.1-.46.17-.77-.13a8.08 8.08 0 0 1-.81-1.28l1.71-1.72a.5.5 0 0 0-.7-.7L13.6 4.68a7.66 7.66 0 0 1-.2-.36 3.42 3.42 0 0 1-.11-.2l-.02-.02a5.29 5.29 0 0 0-.12-.2c-.1-.17-.25-.36-.47-.5a1.9 1.9 0 0 0-1.91-.25c-.28.14-.43.29-.62.48l-.01.02a.5.5 0 0 0 .7.7ZM8.31 7c.46 0 .88.23 1.18.54.3.32.5.75.5 1.24.07.77-.2 1.4-.67 1.86-.45.46-1.07.76-1.7.96-1.17.37-2.52.44-3.42.41a3.54 3.54 0 0 0-.2 1.6 1.46 1.46 0 0 0 .52.94c.27.27.6.35 1.1.46 1.34.16 2.64-.61 3.46-1.72a.5.5 0 0 1 .8.6c-.95 1.3-2.6 2.34-4.4 2.1H5.4c-.46-.1-1.08-.23-1.58-.73-.42-.38-.7-.87-.8-1.49a4.56 4.56 0 0 1 .25-2.13l.13-.35a.5.5 0 0 1 .02-.04v-.02c.07-.2.44-1.23 1.2-2.23.75-1 1.96-2.05 3.69-2Zm-3.72 4.02c.8 0 1.84-.1 2.72-.37.55-.18 1-.41 1.3-.71A1.32 1.32 0 0 0 9 8.8c0-.2-.1-.41-.24-.57A.67.67 0 0 0 8.3 8h-.02c-1.26-.04-2.2.71-2.87 1.6-.38.5-.65 1.04-.82 1.42Z\"]);\nexport const MathFormatProfessional24Filled = /*#__PURE__*/createFluentIcon('MathFormatProfessional24Filled', \"24\", [\"M15.44 4.95a.5.5 0 0 0-.72-.16l-.39.27a1 1 0 0 1-1.16-1.62l.38-.28a2.5 2.5 0 0 1 3.64.82l.5.9 1.6-1.59a1 1 0 1 1 1.42 1.42l-2 2 .8 1.41a.5.5 0 0 0 .75.15l.36-.3a1 1 0 0 1 1.26 1.56l-.36.3c-1.21.97-3 .63-3.76-.73l-.52-.93-1.53 1.54a1 1 0 1 1-1.42-1.42l1.94-1.93-.79-1.4ZM8.4 14.14c-1.42.27-3 .34-4.53.36-.28 1.1-.16 1.9.1 2.43.3.62.88 1.06 1.7 1.27 1.7.42 4.18-.25 5.83-2.14a1 1 0 1 1 1.5 1.32c-2.1 2.4-5.32 3.38-7.81 2.76a4.44 4.44 0 0 1-3.03-2.34c-.6-1.25-.6-2.83.01-4.63A9.83 9.83 0 0 1 5.58 8.3 8.16 8.16 0 0 1 8.8 6.87c1.62-.33 3.08.13 3.9 1.2.83 1.08.8 2.56-.1 3.78-.97 1.34-2.57 1.97-4.2 2.29Zm.8-5.31c-.55.11-1.48.37-2.44 1.07a7.17 7.17 0 0 0-2.13 2.58c1.21-.03 2.36-.1 3.38-.3 1.46-.29 2.45-.78 2.98-1.5.43-.6.35-1.1.12-1.4-.25-.32-.85-.67-1.91-.45Z\"]);\nexport const MathFormatProfessional24Regular = /*#__PURE__*/createFluentIcon('MathFormatProfessional24Regular', \"24\", [\"M15.66 4.83a.75.75 0 0 0-1.09-.24l-.38.27a.75.75 0 1 1-.88-1.22l.39-.28a2.25 2.25 0 0 1 3.27.74l.67 1.2 2.08-2.08a.75.75 0 1 1 1.06 1.06L18.4 6.66l.89 1.59c.22.4.76.5 1.12.21l.37-.3a.75.75 0 0 1 .94 1.17l-.36.3c-1.09.88-2.7.57-3.38-.65l-.68-1.22-2.02 2.02a.75.75 0 1 1-1.06-1.06l2.32-2.32-.88-1.57Zm-7.31 9.06c-1.45.29-3.1.35-4.68.36-.34 1.25-.24 2.16.07 2.79.34.7 1 1.18 1.87 1.4 1.8.45 4.37-.26 6.08-2.21a.75.75 0 1 1 1.12.99c-2.04 2.33-5.17 3.27-7.56 2.67a4.2 4.2 0 0 1-2.86-2.2c-.57-1.18-.59-2.68.02-4.44A9.59 9.59 0 0 1 5.73 8.5a7.91 7.91 0 0 1 3.12-1.37c1.55-.32 2.9.12 3.65 1.1.75.99.74 2.34-.1 3.48-.92 1.27-2.44 1.88-4.05 2.2Zm.8-5.3c-.57.11-1.53.37-2.53 1.1a7.6 7.6 0 0 0-2.39 3.05 22.4 22.4 0 0 0 3.83-.32c1.48-.29 2.54-.8 3.13-1.6.5-.67.42-1.3.12-1.7-.32-.4-1.03-.77-2.16-.53Z\"]);\nexport const MathFormula16Filled = /*#__PURE__*/createFluentIcon('MathFormula16Filled', \"16\", [\"M8.75 1.5a2.65 2.65 0 0 0-4.23 1.95L4.45 4.5h-.7a.75.75 0 0 0 0 1.5h.6l-.42 6.3c-.06.82-.9 1.37-1.68 1.08l-.24-.09a.75.75 0 0 0-.52 1.41l.25.1a2.75 2.75 0 0 0 3.69-2.4L5.85 6h1.4a.75.75 0 1 0 0-1.5h-1.3l.07-.95c.06-.92 1.1-1.4 1.83-.85l.2.15a.75.75 0 1 0 .9-1.2l-.2-.15Z\", \"M9.64 7.67a1.5 1.5 0 0 0-2.34-.28l-.33.33a.75.75 0 0 0 1.06 1.06l.33-.33 1.2 1.94-2.34 2.33a.75.75 0 0 0 1.06 1.06l2.08-2.08 1 1.63c.51.83 1.66.96 2.34.28l.33-.33a.75.75 0 0 0-1.06-1.06l-.33.33-1.2-1.94 2.34-2.33a.75.75 0 0 0-1.06-1.06L10.64 9.3l-1-1.63Z\"]);\nexport const MathFormula16Regular = /*#__PURE__*/createFluentIcon('MathFormula16Regular', \"16\", [\"M8.33 1.23a2.5 2.5 0 0 0-3.52 2.1L4.7 5H3.5a.5.5 0 0 0 0 1h1.13l-.44 6.6a1.5 1.5 0 0 1-2.11 1.26l-.38-.17a.5.5 0 0 0-.4.92l.37.17a2.5 2.5 0 0 0 3.52-2.12L5.63 6H7.5a.5.5 0 1 0 0-1H5.7l.1-1.6a1.5 1.5 0 0 1 2.12-1.26l.37.17a.5.5 0 1 0 .42-.92l-.38-.16Z\", \"M8.16 8.05a.25.25 0 0 1 .4.05l1.32 2.32-2.73 2.73a.5.5 0 1 0 .7.7l2.54-2.53 1.19 2.08c.4.71 1.39.84 1.97.26l.3-.3a.5.5 0 0 0-.7-.71l-.3.3a.25.25 0 0 1-.4-.05l-1.33-2.32 2.73-2.73a.5.5 0 1 0-.7-.7L10.6 9.68 9.42 7.6a1.25 1.25 0 0 0-1.97-.26l-.3.3a.5.5 0 1 0 .7.71l.3-.3Z\"]);\nexport const MathFormula20Filled = /*#__PURE__*/createFluentIcon('MathFormula20Filled', \"20\", [\"M8.91 3.54c.3-.04.48-.03.62 0 .14.02.28.08.48.2a.75.75 0 1 0 .78-1.28c-.3-.18-.6-.32-.97-.4a3.3 3.3 0 0 0-1.13 0h-.01c-.8.13-1.43.55-1.86 1.16a4.23 4.23 0 0 0-.67 2.18v.03a8.55 8.55 0 0 1-.02.36c0 .22-.02.52-.04.87v.09H4.8a.75.75 0 0 0 0 1.5H6a864.51 864.51 0 0 1-.35 5.49c-.1 1.28-.22 2.14-1.03 2.61-.4.23-1.01.21-1.68-.12a.75.75 0 1 0-.68 1.34c.93.46 2.11.65 3.11.08 1.54-.9 1.68-2.55 1.77-3.67v-.12c.07-.77.23-3.46.36-5.61h1.8a.75.75 0 1 0 0-1.5H7.58l.07-1.32c.04-.6.2-1.05.4-1.35.2-.28.47-.47.86-.54Zm7.87 6.74a.75.75 0 0 0-1.06-1.06l-2.58 2.58a36.22 36.22 0 0 1-.76-1.36l-.07-.11c-.15-.25-.38-.61-.66-.87a1.6 1.6 0 0 0-.74-.4 1.55 1.55 0 0 0-1.1.18l-.03.02c-.08.06-.18.13-.28.23l-.13.15-.02.03-.17.19a.75.75 0 0 0 1.14.98l.17-.2.02-.03.07-.07.01-.01.04.03a7.8 7.8 0 0 1 .47.66c.12.24.49.9.94 1.67l-2.82 2.83a.75.75 0 1 0 1.06 1.06l2.66-2.66a38.47 38.47 0 0 1 .87 1.54c.13.22.35.6.64.87.18.17.42.34.73.42a1.6 1.6 0 0 0 1.06-.1c.35-.17.57-.4.8-.77a.75.75 0 0 0-1.28-.79.95.95 0 0 1-.13.18l-.03.02-.03.01-.03-.01a.38.38 0 0 1-.06-.05 6.01 6.01 0 0 1-.36-.52l-.06-.1c-.12-.23-.53-.96-1.02-1.8l2.74-2.74Zm-6.18.24Zm0 0Z\"]);\nexport const MathFormula20Regular = /*#__PURE__*/createFluentIcon('MathFormula20Regular', \"20\", [\"M9.68 3.09c-.18-.04-.4-.04-.7 0-.52.08-.87.33-1.12.68-.26.37-.41.87-.46 1.45 0 .2-.04.87-.09 1.78H9.5a.5.5 0 0 1 0 1H7.26c-.13 2.25-.3 5.15-.36 5.94v.07c-.05.57-.11 1.25-.31 1.88-.21.67-.6 1.3-1.33 1.74-1.02.63-2.13.34-2.98-.08a.5.5 0 1 1 .44-.9c.75.38 1.44.49 2.02.13v-.01c.47-.27.73-.68.9-1.18.16-.52.2-1.1.26-1.7v-.03c.06-.8.23-3.64.36-5.86H4.5a.5.5 0 1 1 0-1h1.81a75.96 75.96 0 0 0 .1-1.84c.05-.7.24-1.4.63-1.96.4-.57 1-.97 1.78-1.1.4-.05.73-.05 1.05.01.33.06.6.2.89.36a.5.5 0 0 1-.52.86c-.22-.13-.39-.2-.56-.24Zm7.17 6.06c.2.2.2.5 0 .7l-3.22 3.22a162.5 162.5 0 0 0 1.4 2.47l.04.07c.06.12.11.2.15.25.06.09.12.15.25.22.21.03.28-.01.3-.03a3.56 3.56 0 0 0 .23-.27l.1-.13a.5.5 0 0 1 .8.6l-.06.08c-.11.16-.28.39-.5.54-.31.22-.69.27-1.14.17a1.69 1.69 0 0 1-.79-.6c-.08-.1-.14-.22-.2-.33l-.05-.08-.19-.32-1.07-1.9-3.05 3.04a.5.5 0 0 1-.7-.7l3.24-3.25a149.94 149.94 0 0 0-1.47-2.57 1.14 1.14 0 0 0-.32-.32c-.07-.02-.12-.01-.21.04-.12.08-.25.21-.39.4a.5.5 0 1 1-.8-.6c.16-.2.38-.47.66-.65a1.21 1.21 0 0 1 1.16-.1c.3.16.53.4.7.63a131.74 131.74 0 0 1 1.4 2.44l3.03-3.02c.2-.2.5-.2.7 0Z\"]);\nexport const MathFormula24Filled = /*#__PURE__*/createFluentIcon('MathFormula24Filled', \"24\", [\"M12.19 4.14a1.5 1.5 0 0 0-2.4 1.13L9.7 7H12a1 1 0 1 1 0 2H9.62l-.39 8.85a3.5 3.5 0 0 1-5.8 2.48l-.09-.08a1 1 0 0 1 1.32-1.5l.09.07c.94.83 2.43.2 2.48-1.06L7.63 9H6a1 1 0 0 1 0-2h1.71l.08-1.82a3.5 3.5 0 0 1 5.6-2.64l.21.16a1 1 0 1 1-1.2 1.6l-.21-.16Zm.9 8.9a.5.5 0 0 1 .69.23l.8 1.73-3.29 3.3a1 1 0 0 0 1.42 1.4l2.78-2.78.78 1.66a2.5 2.5 0 0 0 3.86.86l.5-.42a1 1 0 1 0-1.27-1.54l-.5.42a.5.5 0 0 1-.78-.17L17 15.42l2.7-2.71a1 1 0 1 0-1.4-1.42l-2.2 2.2-.52-1.07a2.5 2.5 0 0 0-3.46-1.13l-.6.33a1 1 0 0 0 .96 1.76l.6-.33Z\"]);\nexport const MathFormula24Regular = /*#__PURE__*/createFluentIcon('MathFormula24Regular', \"24\", [\"M12.48 3.83A1.75 1.75 0 0 0 9.7 5.12L9.54 7.5h2.71a.75.75 0 0 1 0 1.5H9.44l-.6 9a3.25 3.25 0 0 1-5.39 2.24l-.2-.18a.75.75 0 0 1 1-1.12l.19.17c1.09.95 2.8.24 2.9-1.2L7.94 9H5.74a.75.75 0 0 1 0-1.5h2.28l.17-2.48a3.25 3.25 0 0 1 5.17-2.4l.38.28a.75.75 0 1 1-.9 1.2l-.37-.27Zm1.23 8.93a.75.75 0 0 0-1.15-.22l-.32.28a.75.75 0 1 1-.98-1.14l.32-.28a2.25 2.25 0 0 1 3.46.66l.98 1.86 2.7-2.7a.75.75 0 1 1 1.06 1.06l-3.03 3.03 1.54 2.93c.22.42.78.53 1.15.22l.32-.28a.75.75 0 0 1 .98 1.14l-.32.28c-1.1.94-2.79.61-3.46-.67l-1.32-2.5-3.36 3.35a.75.75 0 1 1-1.06-1.06l3.69-3.69-1.2-2.27Z\"]);\nexport const MathFormula32Filled = /*#__PURE__*/createFluentIcon('MathFormula32Filled', \"32\", [\"M16.66 4.84a2.28 2.28 0 0 0-3.46 1.73l-.24 2.52H17a1.25 1.25 0 0 1 0 2.5h-4.28l-1.43 14.84a4.5 4.5 0 0 1-7.32 3.05l-.51-.41a1.25 1.25 0 0 1 1.58-1.94l.5.41a2 2 0 0 0 3.26-1.36l1.4-14.58H8.14a1.25 1.25 0 0 1 0-2.5h2.32l.27-2.77a4.78 4.78 0 0 1 7.24-3.63l.94.58a1.25 1.25 0 0 1-1.3 2.13l-.94-.57Zm10.97 11.39a1.25 1.25 0 0 0-1.76-1.77l-4.4 4.4-1.37-2.9a3.2 3.2 0 0 0-4.8-1.2l-.8.58a1.25 1.25 0 0 0 1.5 2.01l.79-.59a.7.7 0 0 1 1.05.27l1.76 3.7-5.23 5.24a1.25 1.25 0 0 0 1.76 1.76l4.6-4.6 1.5 3.17a3.2 3.2 0 0 0 5.06 1l.3-.28a1.25 1.25 0 0 0-1.68-1.85l-.3.28a.7.7 0 0 1-1.11-.22l-1.89-3.98 5.02-5.02Z\"]);\nexport const MathFormula32Regular = /*#__PURE__*/createFluentIcon('MathFormula32Regular', \"32\", [\"M17.09 4.4a2.53 2.53 0 0 0-4.1 1.8L12.8 9H17a1 1 0 1 1 0 2h-4.36L11.49 26.3a4.53 4.53 0 0 1-7.67 2.9l-.52-.5a1 1 0 0 1 1.4-1.43l.51.5a2.53 2.53 0 0 0 4.28-1.62L10.63 11H8a1 1 0 1 1 0-2h2.78L11 6.04a4.53 4.53 0 0 1 7.33-3.2l.8.62a1 1 0 1 1-1.25 1.57l-.8-.63Zm-.88 11.87c.56-.5 1.44-.3 1.75.38l1.86 4.11-5.53 5.53a1 1 0 0 0 1.42 1.41l4.99-4.99 1.57 3.48c.9 2 3.54 2.46 5.07.89l.38-.39a1 1 0 1 0-1.44-1.4l-.37.4c-.55.55-1.5.39-1.81-.33L22.2 21.2l5.5-5.5a1 1 0 0 0-1.42-1.41l-4.96 4.96-1.55-3.42a3.12 3.12 0 0 0-4.89-1.07l-.55.48a1 1 0 0 0 1.32 1.5l.55-.47Z\"]);\nexport const MathSymbols16Filled = /*#__PURE__*/createFluentIcon('MathSymbols16Filled', \"16\", [\"M3.75 6.25v-1h-1a.75.75 0 0 1 0-1.5h1v-1a.75.75 0 0 1 1.5 0v1h1a.75.75 0 0 1 0 1.5h-1v1a.75.75 0 0 1-1.5 0Zm6-2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Zm-7.53 8.97a.75.75 0 1 0 1.06 1.06l1.22-1.22 1.22 1.22a.75.75 0 0 0 1.06-1.06L5.56 11.5l1.22-1.22a.75.75 0 1 0-1.06-1.06L4.5 10.44 3.28 9.22a.75.75 0 0 0-1.06 1.06l1.22 1.22-1.22 1.22ZM11.5 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-2 .25a.75.75 0 0 0 0 1.5h4a.75.75 0 0 0 0-1.5h-4Zm3 2.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const MathSymbols16Regular = /*#__PURE__*/createFluentIcon('MathSymbols16Regular', \"16\", [\"M4.5 2c.28 0 .5.22.5.5V4h1.5a.5.5 0 0 1 0 1H5v1.5a.5.5 0 0 1-1 0V5H2.5a.5.5 0 0 1 0-1H4V2.5c0-.28.22-.5.5-.5Zm5 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-4.3 7.5 1.65-1.65a.5.5 0 1 0-.7-.7L4.5 10.79 2.85 9.15a.5.5 0 1 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7L5.21 11.5Zm6.3-1.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-2 .5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm3 2.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const MathSymbols20Filled = /*#__PURE__*/createFluentIcon('MathSymbols20Filled', \"20\", [\"M4.75 5.25v2a.75.75 0 0 0 1.5 0v-2h2a.75.75 0 0 0 0-1.5h-2v-2a.75.75 0 0 0-1.5 0v2h-2a.75.75 0 0 0 0 1.5h2ZM11 4.5c0-.41.34-.75.75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5A.75.75 0 0 1 11 4.5Zm-8.78 6.78 2.22 2.22-2.22 2.22a.75.75 0 1 0 1.06 1.06l2.22-2.22 2.22 2.22a.75.75 0 0 0 1.06-1.06L6.56 13.5l2.22-2.22a.75.75 0 1 0-1.06-1.06L5.5 12.44l-2.22-2.22a.75.75 0 1 0-1.06 1.06Zm9.53 1.47a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5ZM15.5 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MathSymbols20Regular = /*#__PURE__*/createFluentIcon('MathSymbols20Regular', \"20\", [\"M5 5v2.5a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1H6V1.5a.5.5 0 0 0-1 0V4H2.5a.5.5 0 0 0 0 1H5Zm6-.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM8.85 16.15 6.21 13.5l2.64-2.65a.5.5 0 0 0-.7-.7L5.5 12.79l-2.65-2.64a.5.5 0 0 0-.7.7l2.64 2.65-2.64 2.65a.5.5 0 0 0 .7.7l2.65-2.64 2.65 2.64a.5.5 0 0 0 .7-.7ZM11.5 13a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm4-2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MathSymbols24Filled = /*#__PURE__*/createFluentIcon('MathSymbols24Filled', \"24\", [\"M6.5 1.5a1 1 0 0 1 1 1V5H10a1 1 0 0 1 0 2H7.5v2.5a1 1 0 1 1-2 0V7H3a1 1 0 0 1 0-2h2.5V2.5a1 1 0 0 1 1-1ZM14 5a1 1 0 0 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 12.5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm4.5-2a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm1.25 5.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM2.29 13.29a1 1 0 0 1 1.42 0l2.79 2.8 2.8-2.8a1 1 0 0 1 1.4 1.42L7.92 17.5l2.8 2.8a1 1 0 0 1-1.42 1.4L6.5 18.92l-2.8 2.8a1 1 0 0 1-1.4-1.42l2.79-2.79-2.8-2.8a1 1 0 0 1 0-1.4Z\"]);\nexport const MathSymbols24Regular = /*#__PURE__*/createFluentIcon('MathSymbols24Regular', \"24\", [\"M6.25 2c.41 0 .75.34.75.75V5.5h2.75a.75.75 0 0 1 0 1.5H7v2.75a.75.75 0 0 1-1.5 0V7H2.75a.75.75 0 0 1 0-1.5H5.5V2.75c0-.41.34-.75.75-.75Zm8 3.5a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7Zm-.75 12.25c0-.41.34-.75.75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM17.75 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2.22 14.28a.75.75 0 1 1 1.06-1.06l2.97 2.97 2.97-2.97a.75.75 0 1 1 1.06 1.06l-2.97 2.97 2.97 2.97a.75.75 0 1 1-1.06 1.06l-2.97-2.97-2.97 2.97a.75.75 0 0 1-1.06-1.06l2.97-2.97-2.97-2.97Z\"]);\nexport const MathSymbols28Filled = /*#__PURE__*/createFluentIcon('MathSymbols28Filled', \"28\", [\"M8.5 2.5a1 1 0 1 0-2 0V6H3a1 1 0 0 0 0 2h3.5v3.5a1 1 0 1 0 2 0V8H12a1 1 0 1 0 0-2H8.5V2.5ZM16 6a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm0 13a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm4.75-1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm1.5 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM2.29 15.3a1 1 0 0 1 1.42 0l3.79 3.79 3.8-3.8a1 1 0 1 1 1.4 1.42L8.92 20.5l3.8 3.8a1 1 0 0 1-1.42 1.4L7.5 21.92l-3.8 3.8a1 1 0 0 1-1.4-1.42l3.79-3.79-3.8-3.8a1 1 0 0 1 0-1.4Z\"]);\nexport const MathSymbols28Regular = /*#__PURE__*/createFluentIcon('MathSymbols28Regular', \"28\", [\"M8 2.75a.75.75 0 0 0-1.5 0V6.5H2.75a.75.75 0 0 0 0 1.5H6.5v3.75a.75.75 0 0 0 1.5 0V8h3.75a.75.75 0 0 0 0-1.5H8V2.75Zm8.25 3.75a.75.75 0 0 0 0 1.5h9a.75.75 0 0 0 0-1.5h-9Zm0 13a.75.75 0 0 0 0 1.5h9a.75.75 0 0 0 0-1.5h-9Zm4.5-1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm1.5 6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM2.22 16.28a.75.75 0 0 1 1.06-1.06l3.97 3.97 3.97-3.97a.75.75 0 1 1 1.06 1.06l-3.97 3.97 3.97 3.97a.75.75 0 0 1-1.06 1.06l-3.97-3.97-3.97 3.97a.75.75 0 1 1-1.06-1.06l3.97-3.97-3.97-3.97Z\"]);\nexport const MathSymbols32Filled = /*#__PURE__*/createFluentIcon('MathSymbols32Filled', \"32\", [\"M8 1.75c.69 0 1.25.56 1.25 1.25v3.5h3.5a1.25 1.25 0 1 1 0 2.5h-3.5v4a1.25 1.25 0 1 1-2.5 0V9h-3.5a1.25 1.25 0 1 1 0-2.5h3.5V3c0-.69.56-1.25 1.25-1.25Zm5.63 25.12L9.77 23l3.86-3.87a1.25 1.25 0 0 0-1.76-1.76L8 21.23l-3.87-3.86a1.25 1.25 0 0 0-1.76 1.76L6.23 23l-3.86 3.87a1.25 1.25 0 0 0 1.76 1.76L8 24.77l3.87 3.86a1.25 1.25 0 0 0 1.76-1.76ZM19.25 6.5a1.25 1.25 0 1 0 0 2.5h9.5a1.25 1.25 0 1 0 0-2.5h-9.5Zm0 15a1.25 1.25 0 1 0 0 2.5h9.5a1.25 1.25 0 1 0 0-2.5h-9.5Zm6.75-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM24 29a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]);\nexport const MathSymbols32Regular = /*#__PURE__*/createFluentIcon('MathSymbols32Regular', \"32\", [\"M8 2a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2H9v4a1 1 0 1 1-2 0V9H3a1 1 0 1 1 0-2h4V3a1 1 0 0 1 1-1Zm5.7 25.3L9.42 23l4.3-4.3a1 1 0 0 0-1.42-1.4L8 21.58l-4.3-4.3a1 1 0 0 0-1.4 1.42L6.58 23l-4.3 4.3a1 1 0 1 0 1.42 1.4L8 24.42l4.3 4.3a1 1 0 0 0 1.4-1.42ZM19 7a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H19Zm0 15a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H19Zm7-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]);\nexport const MathSymbols48Filled = /*#__PURE__*/createFluentIcon('MathSymbols48Filled', \"48\", [\"M12.5 4c.83 0 1.5.67 1.5 1.5V11h5.5a1.5 1.5 0 0 1 0 3H14v5.5a1.5 1.5 0 0 1-3 0V14H5.5a1.5 1.5 0 0 1 0-3H11V5.5c0-.83.67-1.5 1.5-1.5Zm16 7a1.5 1.5 0 0 0 0 3h14a1.5 1.5 0 1 0 0-3h-14ZM27 35.5c0-.83.67-1.5 1.5-1.5h14a1.5 1.5 0 0 1 0 3h-14a1.5 1.5 0 0 1-1.5-1.5Zm8.5-3.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 9a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM4.19 27.19a1.5 1.5 0 0 1 2.12 0l6.19 6.19 6.19-6.2a1.5 1.5 0 0 1 2.12 2.13l-6.19 6.19 6.2 6.19a1.5 1.5 0 0 1-2.13 2.12l-6.19-6.19-6.19 6.2a1.5 1.5 0 0 1-2.12-2.13l6.19-6.19-6.2-6.19a1.5 1.5 0 0 1 0-2.12Z\"]);\nexport const MathSymbols48Regular = /*#__PURE__*/createFluentIcon('MathSymbols48Regular', \"48\", [\"M12.75 4c.69 0 1.25.56 1.25 1.25v6.25h5.75a1.25 1.25 0 1 1 0 2.5H14v5.75a1.25 1.25 0 1 1-2.5 0V14H5.25a1.25 1.25 0 1 1 0-2.5h6.25V5.25c0-.69.56-1.25 1.25-1.25Zm15.5 7.5a1.25 1.25 0 1 0 0 2.5h14.5a1.25 1.25 0 1 0 0-2.5h-14.5ZM27 35.25c0-.69.56-1.25 1.25-1.25h14.5a1.25 1.25 0 1 1 0 2.5h-14.5c-.69 0-1.25-.56-1.25-1.25ZM35.5 32a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 8.75a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM4.37 29.13a1.25 1.25 0 0 1 1.76-1.76l6.37 6.36 6.37-6.36a1.25 1.25 0 0 1 1.76 1.76l-6.36 6.37 6.36 6.37a1.25 1.25 0 0 1-1.76 1.76l-6.37-6.36-6.37 6.36a1.25 1.25 0 0 1-1.76-1.76l6.36-6.37-6.36-6.37Z\"]);\nexport const Maximize16Filled = /*#__PURE__*/createFluentIcon('Maximize16Filled', \"16\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v7c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-7ZM5 4.5h6c.28 0 .5.22.5.5v6a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5c0-.28.22-.5.5-.5Z\"]);\nexport const Maximize16Regular = /*#__PURE__*/createFluentIcon('Maximize16Regular', \"16\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v7c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-7Zm0 1h7c.28 0 .5.22.5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7c0-.28.22-.5.5-.5Z\"]);\nexport const Maximize20Filled = /*#__PURE__*/createFluentIcon('Maximize20Filled', \"20\", [\"M3 5.25C3 4.01 4 3 5.25 3h9.5C15.99 3 17 4 17 5.25v9.5c0 1.24-1 2.25-2.25 2.25h-9.5C4.01 17 3 16 3 14.75v-9.5Zm2.25-.75a.75.75 0 0 0-.75.75v9.5c0 .41.34.75.75.75h9.5c.41 0 .75-.34.75-.75v-9.5a.75.75 0 0 0-.75-.75h-9.5Z\"]);\nexport const Maximize20Regular = /*#__PURE__*/createFluentIcon('Maximize20Regular', \"20\", [\"M3 5c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm2-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z\"]);\nexport const Maximize24Filled = /*#__PURE__*/createFluentIcon('Maximize24Filled', \"24\", [\"M6 3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z\"]);\nexport const Maximize24Regular = /*#__PURE__*/createFluentIcon('Maximize24Regular', \"24\", [\"M5.75 3h12.5A2.75 2.75 0 0 1 21 5.75v12.5A2.75 2.75 0 0 1 18.25 21H5.75A2.75 2.75 0 0 1 3 18.25V5.75A2.75 2.75 0 0 1 5.75 3Zm0 1.5c-.69 0-1.25.56-1.25 1.25v12.5c0 .69.56 1.25 1.25 1.25h12.5c.69 0 1.25-.56 1.25-1.25V5.75c0-.69-.56-1.25-1.25-1.25H5.75Z\"]);\nexport const Maximize28Filled = /*#__PURE__*/createFluentIcon('Maximize28Filled', \"28\", [\"M3 7a4 4 0 0 1 4-4h14a4 4 0 0 1 4 4v14a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7Zm4-2a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H7Z\"]);\nexport const Maximize28Regular = /*#__PURE__*/createFluentIcon('Maximize28Regular', \"28\", [\"M3 6.25C3 4.45 4.46 3 6.25 3h15.5C23.55 3 25 4.46 25 6.25v15.5c0 1.8-1.46 3.25-3.25 3.25H6.25A3.25 3.25 0 0 1 3 21.75V6.25ZM6.25 4.5c-.97 0-1.75.78-1.75 1.75v15.5c0 .97.78 1.75 1.75 1.75h15.5c.97 0 1.75-.78 1.75-1.75V6.25c0-.97-.78-1.75-1.75-1.75H6.25Z\"]);\nexport const Maximize48Filled = /*#__PURE__*/createFluentIcon('Maximize48Filled', \"48\", [\"M6 11.5A5.5 5.5 0 0 1 11.5 6h25a5.5 5.5 0 0 1 5.5 5.5v25a5.5 5.5 0 0 1-5.5 5.5h-25A5.5 5.5 0 0 1 6 36.5v-25ZM11.5 9A2.5 2.5 0 0 0 9 11.5v25a2.5 2.5 0 0 0 2.5 2.5h25a2.5 2.5 0 0 0 2.5-2.5v-25A2.5 2.5 0 0 0 36.5 9h-25Z\"]);\nexport const Maximize48Regular = /*#__PURE__*/createFluentIcon('Maximize48Regular', \"48\", [\"M6 11.25C6 8.35 8.35 6 11.25 6h25.5C39.65 6 42 8.35 42 11.25v25.5c0 2.9-2.35 5.25-5.25 5.25h-25.5A5.25 5.25 0 0 1 6 36.75v-25.5Zm5.25-2.75a2.75 2.75 0 0 0-2.75 2.75v25.5a2.75 2.75 0 0 0 2.75 2.75h25.5a2.75 2.75 0 0 0 2.75-2.75v-25.5a2.75 2.75 0 0 0-2.75-2.75h-25.5Z\"]);\nexport const MeetNow16Filled = /*#__PURE__*/createFluentIcon('MeetNow16Filled', \"16\", [\"M4.77 2.92a2.7 2.7 0 0 1 .24-.13A7.1 7.1 0 0 1 8 2a6.35 6.35 0 0 1 3.22.92h.01a.5.5 0 0 0 .54-.84h-.01l-.02-.02a3.5 3.5 0 0 0-.28-.16A8.1 8.1 0 0 0 8 1a7.35 7.35 0 0 0-3.74 1.06l-.02.01a.5.5 0 0 0 .53.85ZM4 4a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4Zm10 1.5a.5.5 0 0 0-.8-.4l-2 1.5a.5.5 0 0 0-.2.4v2c0 .16.07.3.2.4l2 1.5a.5.5 0 0 0 .8-.4v-5Zm-9.23 7.58a.5.5 0 0 0-.54.84h.01l.02.02a3.02 3.02 0 0 0 .28.16A8.08 8.08 0 0 0 8 15a7.35 7.35 0 0 0 3.74-1.06l.02-.01a.5.5 0 0 0-.53-.85 2.4 2.4 0 0 1-.24.13A7.09 7.09 0 0 1 8 14a6.35 6.35 0 0 1-3.22-.92h-.01Z\"]);\nexport const MeetNow16Regular = /*#__PURE__*/createFluentIcon('MeetNow16Regular', \"16\", [\"M4.77 2.92a2.7 2.7 0 0 1 .24-.13A7.1 7.1 0 0 1 8 2a6.35 6.35 0 0 1 3.22.92h.01a.5.5 0 0 0 .54-.84h-.01l-.02-.02a3.5 3.5 0 0 0-.28-.16A8.1 8.1 0 0 0 8 1a7.35 7.35 0 0 0-3.74 1.06l-.02.01a.5.5 0 0 0 .53.85ZM4 4a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h4.5a2 2 0 0 0 2-2v-.14l2.75 1.57A.5.5 0 0 0 14 11V5a.5.5 0 0 0-.75-.43L10.5 6.14V6a2 2 0 0 0-2-2H4Zm6.5 3.29L13 5.86v4.28L10.5 8.7V7.29ZM3 6a1 1 0 0 1 1-1h4.5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Zm1.77 7.08a.5.5 0 0 0-.54.84h.01l.02.02a3.02 3.02 0 0 0 .28.16A8.08 8.08 0 0 0 8 15a7.35 7.35 0 0 0 3.74-1.06l.02-.01a.5.5 0 0 0-.53-.85 2.4 2.4 0 0 1-.24.13A7.09 7.09 0 0 1 8 14a6.35 6.35 0 0 1-3.22-.92h-.01Z\"]);\nexport const MeetNow20Filled = /*#__PURE__*/createFluentIcon('MeetNow20Filled', \"20\", [\"M6.9 2.03a7.07 7.07 0 0 0-1.15.54h-.02v.01L6 3l-.28-.42a.5.5 0 0 0 .56.84 1.87 1.87 0 0 1 .22-.13A8.1 8.1 0 0 1 10 2.5a8.1 8.1 0 0 1 3.5.79 3.69 3.69 0 0 1 .22.12l.26-.39-.26.4a.5.5 0 1 0 .56-.84L14 3l.28-.42h-.01l-.02-.01a2.83 2.83 0 0 0-.3-.17A9.1 9.1 0 0 0 10 1.5a9.1 9.1 0 0 0-3.1.53Zm-.62 1.39Zm7.44 0ZM6.9 17.97c.73.27 1.8.53 3.11.53a9.1 9.1 0 0 0 3.96-.9 4.63 4.63 0 0 0 .29-.17h.02v-.01L14 17l.28.42a.5.5 0 0 0-.56-.84l.26.4-.26-.4a1.74 1.74 0 0 1-.22.13 8.1 8.1 0 0 1-3.5.79 8.1 8.1 0 0 1-3.5-.79 3.66 3.66 0 0 1-.22-.12.5.5 0 0 0-.56.83L6 17l-.28.42h.01l.02.01a2.64 2.64 0 0 0 .3.17c.19.1.48.24.84.37Zm-.61-1.39Zm7.44 0ZM2.5 7v6c0 1.1.9 2 2 2h6a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2Zm11 4.55 2.78 2.26a.75.75 0 0 0 1.22-.59V6.78a.75.75 0 0 0-1.22-.59L13.5 8.45v3.1Z\"]);\nexport const MeetNow20Regular = /*#__PURE__*/createFluentIcon('MeetNow20Regular', \"20\", [\"M5 5a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h6a2 2 0 0 0 2-2v-1.03l2.84 1.85a.75.75 0 0 0 1.16-.63V6.8c0-.6-.66-.95-1.16-.63L13 8.03V7a2 2 0 0 0-2-2H5Zm8 4.22 3-1.95v5.46l-3-1.95V9.22ZM12 7v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1ZM6.9 2.03a7.07 7.07 0 0 0-1.15.54h-.02v.01L6 3l-.28-.42a.5.5 0 0 0 .56.84 1.87 1.87 0 0 1 .22-.13A8.1 8.1 0 0 1 10 2.5a8.1 8.1 0 0 1 3.5.79 3.69 3.69 0 0 1 .22.12l.26-.39-.26.4a.5.5 0 1 0 .56-.84L14 3l.28-.42h-.01l-.02-.01a2.83 2.83 0 0 0-.3-.17A9.1 9.1 0 0 0 10 1.5a9.1 9.1 0 0 0-3.1.53Zm-.62 1.39Zm7.44 0ZM6.9 17.97c.73.27 1.8.53 3.11.53a9.1 9.1 0 0 0 3.96-.9 4.63 4.63 0 0 0 .29-.17h.02v-.01L14 17l.28.42a.5.5 0 0 0-.56-.84l.26.4-.26-.4a1.74 1.74 0 0 1-.22.13 8.1 8.1 0 0 1-3.5.79 8.1 8.1 0 0 1-3.5-.79 3.66 3.66 0 0 1-.22-.12.5.5 0 0 0-.56.83L6 17l-.28.42h.01l.02.01a2.64 2.64 0 0 0 .3.17c.19.1.48.24.84.37Zm-.61-1.39Zm7.44 0Z\"]);\nexport const MeetNow24Filled = /*#__PURE__*/createFluentIcon('MeetNow24Filled', \"24\", [\"M7.96 2.52A15.1 15.1 0 0 1 12 2a15.32 15.32 0 0 1 5.16.9 7.13 7.13 0 0 1 .42.18c.04.02-.55 1.12 0 0a.75.75 0 0 1-.66 1.34h-.01a2.8 2.8 0 0 0-.3-.13A13.82 13.82 0 0 0 12 3.5a13.6 13.6 0 0 0-4.61.8 5.6 5.6 0 0 0-.3.13.75.75 0 1 1-.68-1.34h.02l.02-.02a4.17 4.17 0 0 1 .39-.16c.26-.1.63-.24 1.12-.38ZM6.75 20.25l-.33.67.03.02a4.16 4.16 0 0 0 .39.16A15.37 15.37 0 0 0 12 22a15.15 15.15 0 0 0 5.16-.9 6.9 6.9 0 0 0 .39-.16l.02-.01h.01l-.33-.68.34.67a.75.75 0 0 0-.68-1.34 2.61 2.61 0 0 1-.3.13 13.66 13.66 0 0 1-4.61.8 13.88 13.88 0 0 1-4.61-.8 5.75 5.75 0 0 1-.3-.13.75.75 0 0 0-.67 1.34l.33-.67ZM6.25 6.5C5.01 6.5 4 7.5 4 8.75v6.5c0 1.24 1 2.25 2.25 2.25h6.5c1.24 0 2.25-1 2.25-2.25v-6.5c0-1.24-1-2.25-2.25-2.25h-6.5Zm13.02 9.83L16 13.6v-3.2l3.27-2.72a.75.75 0 0 1 1.23.57v7.5a.75.75 0 0 1-1.23.58Z\"]);\nexport const MeetNow24Regular = /*#__PURE__*/createFluentIcon('MeetNow24Regular', \"24\", [\"M6.75 6.5c-1.24 0-2.25 1-2.25 2.25v6.5c0 1.24 1 2.25 2.25 2.25h6.5c1.24 0 2.25-1 2.25-2.25v-.73l3.39 1.89a.75.75 0 0 0 1.11-.66v-7.5a.75.75 0 0 0-1.11-.65L15.5 9.48v-.73c0-1.24-1-2.25-2.25-2.25h-6.5Zm8.75 4.7 3-1.67v4.95l-3-1.67v-1.62ZM14 8.74v6.5c0 .41-.34.75-.75.75h-6.5a.75.75 0 0 1-.75-.75v-6.5c0-.41.34-.75.75-.75h6.5c.41 0 .75.34.75.75ZM6.42 20.92l.03.02a4.8 4.8 0 0 0 .39.16A15.37 15.37 0 0 0 12 22a15.15 15.15 0 0 0 5.16-.9 6.9 6.9 0 0 0 .39-.16c.34-.16.54-.68.37-1.03a.75.75 0 0 0-1-.33h-.02a2.61 2.61 0 0 1-.29.13 13.66 13.66 0 0 1-4.61.8 13.88 13.88 0 0 1-4.61-.8 5.75 5.75 0 0 1-.3-.13.75.75 0 0 0-.67 1.34Zm1.54-18.4A15.1 15.1 0 0 1 12 2a15.32 15.32 0 0 1 5.16.9 7.19 7.19 0 0 1 .39.16l.02.01h.01s.6.36.34 1.02a.75.75 0 0 1-1 .33h-.01a2.54 2.54 0 0 0-.3-.13A13.82 13.82 0 0 0 12 3.5a13.6 13.6 0 0 0-4.61.8 5.6 5.6 0 0 0-.3.13.75.75 0 1 1-.68-1.34h.02l.02-.02a4.2 4.2 0 0 1 .39-.16c.26-.1.63-.24 1.12-.38Zm-.87 1.9Z\"]);\nexport const MeetNow28Filled = /*#__PURE__*/createFluentIcon('MeetNow28Filled', \"28\", [\"M14 3.5a19.05 19.05 0 0 0-5.68.83 5.78 5.78 0 0 0-.26.1.75.75 0 0 1-.61-1.37s.24-.1 0 0l.03-.01a4.26 4.26 0 0 1 .34-.13A20.55 20.55 0 0 1 14 2c2.32 0 4.08.33 5.2.62a12.31 12.31 0 0 1 1.32.43l.02.01h.01a.75.75 0 0 1-.6 1.38h-.01a2.65 2.65 0 0 0-.26-.1c-.19-.07-.48-.17-.87-.27-1-.26-2.63-.57-4.81-.57ZM4 9.75A2.75 2.75 0 0 1 6.75 7h8.5A2.75 2.75 0 0 1 18 9.75v8.5A2.75 2.75 0 0 1 15.25 21h-8.5A2.75 2.75 0 0 1 4 18.25v-8.5Zm15 6.73 3.4 3.18c.8.75 2.1.18 2.1-.91v-9.5c0-1.1-1.3-1.66-2.1-.9L19 11.51v4.96Zm-9.8 7.45c.99.26 2.62.57 4.8.57a19.06 19.06 0 0 0 5.68-.83l.21-.08.05-.02a.75.75 0 0 1 .61 1.37h-.03a3.9 3.9 0 0 1-.34.14A20.55 20.55 0 0 1 14 26c-2.32 0-4.08-.33-5.19-.62a12.32 12.32 0 0 1-1.33-.43l-.02-.01h-.01c.24.1 0 0 0 0a.75.75 0 0 1 .6-1.38h.01l.05.03.2.08c.2.06.5.16.88.26Z\"]);\nexport const MeetNow28Regular = /*#__PURE__*/createFluentIcon('MeetNow28Regular', \"28\", [\"M14 3.5a19.05 19.05 0 0 0-5.68.83 5.78 5.78 0 0 0-.26.1.75.75 0 0 1-.61-1.37s.24-.1 0 0l.03-.01a4.26 4.26 0 0 1 .34-.13A20.55 20.55 0 0 1 14 2c2.32 0 4.08.33 5.2.62a12.31 12.31 0 0 1 1.32.43l.02.01h.01a.75.75 0 0 1-.6 1.38h-.01a2.65 2.65 0 0 0-.26-.1c-.19-.07-.48-.17-.87-.27-1-.26-2.63-.57-4.81-.57ZM7.25 7A2.75 2.75 0 0 0 4.5 9.75v8.5A2.75 2.75 0 0 0 7.25 21h8.5a2.75 2.75 0 0 0 2.75-2.75v-1.11l4.07 2.65c.83.55 1.93-.05 1.93-1.04v-9.5c0-.99-1.1-1.59-1.93-1.04l-4.07 2.65V9.75A2.75 2.75 0 0 0 15.75 7h-8.5Zm11.25 5.66L23 9.72v8.56l-4.5-2.94v-2.68ZM6 9.75c0-.69.56-1.25 1.25-1.25h8.5c.69 0 1.25.56 1.25 1.25v8.5c0 .69-.56 1.25-1.25 1.25h-8.5c-.69 0-1.25-.56-1.25-1.25v-8.5Zm3.2 14.18c.99.26 2.62.57 4.8.57a19.06 19.06 0 0 0 5.68-.83l.21-.08.05-.02a.75.75 0 0 1 .61 1.37h-.03a3.9 3.9 0 0 1-.34.14A20.55 20.55 0 0 1 14 26c-2.32 0-4.08-.33-5.19-.62a12.32 12.32 0 0 1-1.33-.43l-.02-.01h-.01c.24.1 0 0 0 0a.75.75 0 0 1 .6-1.38h.01l.05.03.2.08c.2.06.5.16.88.26Z\"]);\nexport const MeetNow32Filled = /*#__PURE__*/createFluentIcon('MeetNow32Filled', \"32\", [\"M7.49 3.64A1 1 0 0 0 8.5 5.36l.07-.04.3-.14c.28-.12.72-.3 1.33-.47C11.43 4.36 13.34 4 16 4s4.57.36 5.79.71a10.55 10.55 0 0 1 1.7.65 1 1 0 0 0 1.02-1.72l-.02-.01a3.6 3.6 0 0 0-.56-.28c-.36-.16-.9-.36-1.6-.56C20.94 2.39 18.85 2 16 2s-4.93.39-6.34.79a12.53 12.53 0 0 0-2.15.84h-.02v.01ZM3.5 11A3.5 3.5 0 0 1 7 7.5h10a3.5 3.5 0 0 1 3.5 3.5v10a3.5 3.5 0 0 1-3.5 3.5H7A3.5 3.5 0 0 1 3.5 21V11ZM22 18.57l3.97 3.16c.82.65 2.03.07 2.03-.98v-9.5c0-1.05-1.2-1.63-2.03-.98L22 13.43v5.14ZM7.14 27a1 1 0 0 0 .35 1.37h.02a2.4 2.4 0 0 0 .15.1l.41.19c.37.16.9.36 1.6.56 1.4.4 3.49.79 6.33.79s4.93-.39 6.34-.79a12.54 12.54 0 0 0 2.12-.82l.03-.02h.02v-.01a1 1 0 0 0-1.02-1.72l-.07.04-.3.14c-.28.12-.72.3-1.33.47-1.22.35-3.13.71-5.79.71s-4.57-.36-5.79-.71a10.54 10.54 0 0 1-1.7-.65 1 1 0 0 0-1.37.35Z\"]);\nexport const MeetNow32Regular = /*#__PURE__*/createFluentIcon('MeetNow32Regular', \"32\", [\"M7.49 3.64A1 1 0 0 0 8.5 5.36l.07-.04.3-.14c.28-.12.72-.3 1.33-.47C11.43 4.36 13.34 4 16 4s4.57.36 5.79.71a10.55 10.55 0 0 1 1.7.65 1 1 0 0 0 1.02-1.72l-.02-.01a3.6 3.6 0 0 0-.56-.28c-.36-.16-.9-.36-1.6-.56C20.94 2.39 18.85 2 16 2s-4.93.39-6.34.79a12.53 12.53 0 0 0-2.15.84h-.02v.01ZM7.5 7.5A3.5 3.5 0 0 0 4 11v10a3.5 3.5 0 0 0 3.5 3.5h10A3.5 3.5 0 0 0 21 21v-2.03l4.74 2.8c1 .6 2.26-.13 2.26-1.29v-8.97a1.5 1.5 0 0 0-2.16-1.34L21 12.55V11a3.5 3.5 0 0 0-3.5-3.5h-10ZM21 14.78l5-2.46v7.29l-5-2.96v-1.87ZM6 11c0-.83.67-1.5 1.5-1.5h10c.83 0 1.5.67 1.5 1.5v10c0 .83-.67 1.5-1.5 1.5h-10A1.5 1.5 0 0 1 6 21V11Zm1.14 15.99a1 1 0 0 0 .35 1.37h.02a2.4 2.4 0 0 0 .15.1l.41.19c.37.16.9.36 1.6.56 1.4.4 3.49.79 6.33.79s4.93-.39 6.34-.79a12.54 12.54 0 0 0 2.12-.82l.03-.02h.02v-.01a1 1 0 0 0-1.02-1.72l-.07.04-.3.14c-.28.12-.72.3-1.33.47-1.22.35-3.13.71-5.79.71s-4.57-.36-5.79-.71a10.54 10.54 0 0 1-1.7-.65 1 1 0 0 0-1.37.35Z\"]);\nexport const MeetNow48Filled = /*#__PURE__*/createFluentIcon('MeetNow48Filled', \"48\", [\"m13.88 8.83.03-.02a6.04 6.04 0 0 1 .64-.32 23.56 23.56 0 0 1 19.54.32l.03.02a1.25 1.25 0 0 0 1.26-2.16l-.02-.01a5.7 5.7 0 0 0-.22-.12l-.62-.31c-.54-.26-1.32-.59-2.31-.92a26.06 26.06 0 0 0-19.35 1.23 8.6 8.6 0 0 0-.22.12h-.01l-.01.01s.18-.1 0 0a1.25 1.25 0 0 0 1.26 2.16ZM8 17.06a4.56 4.56 0 0 1 4.56-4.56h12.88A4.56 4.56 0 0 1 30 17.06v13.88a4.56 4.56 0 0 1-4.56 4.56H12.56A4.56 4.56 0 0 1 8 30.94V17.06Zm24 10.5 6.14 5.04c1.14.93 2.86.12 2.86-1.36V16.76a1.75 1.75 0 0 0-2.86-1.36L32 20.45v7.1ZM13.88 39.16a1.25 1.25 0 0 0-1.26 2.16c.29.16 0 0 0 0l.02.01.05.03a8.5 8.5 0 0 0 .8.4c.53.26 1.31.59 2.3.92a26.06 26.06 0 0 0 19.35-1.23l.17-.1.05-.02h.02v-.01a1.25 1.25 0 0 0-1.26-2.16l-.03.02a5.8 5.8 0 0 1-.64.32 23.56 23.56 0 0 1-19.54-.32l-.03-.02Z\"]);\nexport const MeetNow48Regular = /*#__PURE__*/createFluentIcon('MeetNow48Regular', \"48\", [\"m13.88 8.83.03-.02a6.04 6.04 0 0 1 .64-.32 23.56 23.56 0 0 1 19.54.32l.03.02a1.25 1.25 0 0 0 1.26-2.16l-.02-.01a5.7 5.7 0 0 0-.22-.12l-.62-.31c-.54-.26-1.32-.59-2.31-.92a26.06 26.06 0 0 0-19.35 1.23 8.6 8.6 0 0 0-.22.12h-.01l-.01.01s.18-.1 0 0a1.25 1.25 0 0 0 1.26 2.16Zm-1.32 3.67h13.88A4.56 4.56 0 0 1 31 17.06v1.52l5.62-3.28c1.5-.87 3.38.21 3.38 1.95v13.5a2.25 2.25 0 0 1-3.38 1.95L31 29.42v1.52a4.56 4.56 0 0 1-4.56 4.56H12.56A4.56 4.56 0 0 1 8 30.94V17.06a4.56 4.56 0 0 1 4.56-4.56ZM31 21.47v5.06l6.5 3.79V17.68L31 21.47Zm-20.5-4.41v13.88c0 1.14.92 2.06 2.06 2.06h13.88c1.14 0 2.06-.92 2.06-2.06V17.06c0-1.14-.92-2.06-2.06-2.06H12.56c-1.14 0-2.06.92-2.06 2.06Zm3.38 22.11a1.25 1.25 0 0 0-1.26 2.16c.29.16 0 0 0 0l.02.01.05.03a8.5 8.5 0 0 0 .8.4c.53.26 1.31.59 2.3.92a26.06 26.06 0 0 0 19.35-1.23l.17-.1.05-.02h.02v-.01a1.25 1.25 0 0 0-1.26-2.16l-.03.02a5.8 5.8 0 0 1-.64.32 23.56 23.56 0 0 1-19.54-.32l-.03-.02Z\"]);\nexport const Megaphone16Filled = /*#__PURE__*/createFluentIcon('Megaphone16Filled', \"16\", [\"M15 3.5c0-1.02-1-1.75-1.98-1.42l-11 3.72A1.5 1.5 0 0 0 1 7.22v1.56c0 .65.4 1.22 1.02 1.42l1.98.68V12a3 3 0 0 0 5.87.87l3.15 1.07A1.5 1.5 0 0 0 15 12.5v-9ZM5 11.22l3.92 1.33A2 2 0 0 1 5 12v-.78Z\"]);\nexport const Megaphone16Regular = /*#__PURE__*/createFluentIcon('Megaphone16Regular', \"16\", [\"M15 3.5c0-1.02-1-1.75-1.98-1.42l-11 3.72A1.5 1.5 0 0 0 1 7.22v1.56c0 .65.4 1.22 1.02 1.42l1.98.68V12a3 3 0 0 0 5.87.87l3.15 1.07A1.5 1.5 0 0 0 15 12.5v-9Zm-1.66-.47a.5.5 0 0 1 .66.47v9.01a.5.5 0 0 1-.66.48l-11-3.73A.5.5 0 0 1 2 8.78V7.22c0-.22.14-.4.34-.48l11-3.71Zm-4.42 9.52A2 2 0 0 1 5 12v-.78l3.92 1.33Z\"]);\nexport const Megaphone20Filled = /*#__PURE__*/createFluentIcon('Megaphone20Filled', \"20\", [\"M16.11 3.35A1.5 1.5 0 0 1 18 4.8v10.31c0 1.03-1 1.75-1.97 1.43l-4.76-1.59A3.25 3.25 0 0 1 5 13.75v-.89l-1.97-.66A1.5 1.5 0 0 1 2 10.78V8.27c0-.68.46-1.28 1.11-1.45l13-3.47ZM6 13.2v.56a2.25 2.25 0 0 0 4.32.88L6 13.2Z\"]);\nexport const Megaphone20Regular = /*#__PURE__*/createFluentIcon('Megaphone20Regular', \"20\", [\"M18 4.8c0-.98-.93-1.7-1.89-1.45l-13 3.47A1.5 1.5 0 0 0 2 8.27v2.5c0 .65.41 1.23 1.03 1.43l1.97.66v.89a3.25 3.25 0 0 0 6.27 1.2l4.76 1.59A1.5 1.5 0 0 0 18 15.1V4.81Zm-7.68 9.83A2.25 2.25 0 0 1 6 13.75v-.56l4.32 1.44Zm6.05-10.31a.5.5 0 0 1 .63.48v10.31a.5.5 0 0 1-.66.48l-13-4.34a.5.5 0 0 1-.34-.47V8.27a.5.5 0 0 1 .37-.48l13-3.47Z\"]);\nexport const Megaphone24Filled = /*#__PURE__*/createFluentIcon('Megaphone24Filled', \"24\", [\"M21.9 5.62c.07.21.1.43.1.64v11.48a2.25 2.25 0 0 1-2.9 2.16l-5.5-1.64A4 4 0 0 1 6 16.7V16l-2.4-.71A2.25 2.25 0 0 1 2 13.13v-2.26c0-1 .65-1.87 1.6-2.16l15.5-4.6c1.2-.36 2.45.32 2.8 1.51ZM7.5 16.44v.06a2.5 2.5 0 0 0 4.62 1.32L7.5 16.44Z\"]);\nexport const Megaphone24Regular = /*#__PURE__*/createFluentIcon('Megaphone24Regular', \"24\", [\"M21.9 5.62c.07.21.1.43.1.64v11.48a2.25 2.25 0 0 1-2.9 2.16l-5.5-1.64A4 4 0 0 1 6 16.7V16l-2.4-.71A2.25 2.25 0 0 1 2 13.13v-2.26c0-1 .65-1.87 1.6-2.16l15.5-4.6c1.2-.36 2.45.32 2.8 1.51ZM7.5 16.44v.06a2.5 2.5 0 0 0 4.62 1.32L7.5 16.44Zm12.04-10.9-15.5 4.61a.75.75 0 0 0-.54.72v2.26c0 .33.22.63.54.72l15.5 4.6a.75.75 0 0 0 .96-.71V6.26a.75.75 0 0 0-.96-.72Z\"]);\nexport const Megaphone28Filled = /*#__PURE__*/createFluentIcon('Megaphone28Filled', \"28\", [\"M26 7.35c0-1.8-1.71-3.12-3.46-2.65L4.04 9.63A2.75 2.75 0 0 0 2 12.29v3.42c0 1.25.84 2.34 2.05 2.66l2.95.79v.34a4.5 4.5 0 0 0 8.56 1.94l6.98 1.86A2.75 2.75 0 0 0 26 20.65V7.35ZM8.5 19.55l5.57 1.5a3 3 0 0 1-5.57-1.5Z\"]);\nexport const Megaphone28Regular = /*#__PURE__*/createFluentIcon('Megaphone28Regular', \"28\", [\"M26 7.35c0-1.8-1.71-3.12-3.46-2.65L4.04 9.63A2.75 2.75 0 0 0 2 12.29v3.42c0 1.25.84 2.34 2.05 2.66l2.95.79v.34a4.5 4.5 0 0 0 8.56 1.94l6.98 1.86A2.75 2.75 0 0 0 26 20.65V7.35Zm-3.07-1.2c.8-.22 1.57.38 1.57 1.2v13.3c0 .82-.78 1.42-1.57 1.2l-18.5-4.93a1.25 1.25 0 0 1-.93-1.2v-3.43c0-.57.38-1.07.93-1.21l18.5-4.93Zm-8.86 14.9a3 3 0 0 1-5.57-1.5l5.57 1.5Z\"]);\nexport const MegaphoneCircle20Filled = /*#__PURE__*/createFluentIcon('MegaphoneCircle20Filled', \"20\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16ZM7 12.02l-1.17-.42c-.5-.17-.83-.64-.83-1.17v-.85c0-.53.33-1 .83-1.18l6.5-2.33c.81-.29 1.67.32 1.67 1.18v5.5c0 .87-.86 1.47-1.67 1.18l-1.38-.5A2 2 0 0 1 7 13v-.98Zm3 1.07A1 1 0 0 1 8 13v-.62l2 .71Z\"]);\nexport const MegaphoneCircle20Regular = /*#__PURE__*/createFluentIcon('MegaphoneCircle20Regular', \"20\", [\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm5 2.02-1.17-.42c-.5-.17-.83-.64-.83-1.17v-.85c0-.53.33-1 .83-1.18l6.5-2.33c.81-.29 1.67.32 1.67 1.18v5.5c0 .87-.86 1.47-1.67 1.18l-1.38-.5A2 2 0 0 1 7 13v-.98Zm3 1.07-2-.7V13a1 1 0 0 0 2 .1Zm2.67-6.07-6.5 2.32a.25.25 0 0 0-.17.24v.85c0 .1.07.2.17.23l6.5 2.33c.16.06.33-.06.33-.24v-5.5c0-.17-.17-.3-.33-.23Z\"]);\nexport const MegaphoneCircle24Filled = /*#__PURE__*/createFluentIcon('MegaphoneCircle24Filled', \"24\", [\"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Zm-4-7.57-.86-.31A1.75 1.75 0 0 1 6 12.46v-.95c0-.73.45-1.38 1.14-1.64l7.5-2.77A1.75 1.75 0 0 1 17 8.75v6.5a1.75 1.75 0 0 1-2.36 1.64l-1.43-.53A2.63 2.63 0 0 1 8 15.88v-1.45Zm3.75 1.4v.04a1.13 1.13 0 0 1-2.25 0V15l2.25.83Z\"]);\nexport const MegaphoneCircle24Regular = /*#__PURE__*/createFluentIcon('MegaphoneCircle24Regular', \"24\", [\"M3.5 12a8.5 8.5 0 1 1 17 0 8.5 8.5 0 0 1-17 0ZM12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm2.64 5.1A1.75 1.75 0 0 1 17 8.76v6.5a1.75 1.75 0 0 1-2.36 1.64l-1.56-.58A2.63 2.63 0 0 1 8 15.38v-.95l-.86-.31A1.75 1.75 0 0 1 6 12.46v-.95c0-.73.45-1.38 1.14-1.64l7.5-2.77ZM9.5 15v.38a1.13 1.13 0 0 0 2.17.42L9.5 15Zm6-6.24c0-.18-.18-.3-.34-.24l-7.5 2.78a.25.25 0 0 0-.16.23v.95c0 .1.06.2.16.24l7.5 2.77c.16.06.34-.06.34-.23v-6.5Z\"]);\nexport const MegaphoneLoud16Filled = /*#__PURE__*/createFluentIcon('MegaphoneLoud16Filled', \"16\", [\"M10.87 1.02a.5.5 0 0 1 .37.6l-.25 1a.5.5 0 1 1-.97-.24l.24-1a.5.5 0 0 1 .61-.36Zm2.98 1.13c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0ZM6.28 13.03a2 2 0 0 0 3.63-1.6l-3.63 1.6Zm-.92.4-1 .45a1.4 1.4 0 0 1-1.55-.29l-.4-.4a1.4 1.4 0 0 1-.3-1.55L6 2.84a1.4 1.4 0 0 1 2.27-.43l5.33 5.31c.7.7.48 1.87-.42 2.27l-2.34 1.03a3 3 0 0 1-5.47 2.42ZM14.5 5h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1Z\"]);\nexport const MegaphoneLoud16Regular = /*#__PURE__*/createFluentIcon('MegaphoneLoud16Regular', \"16\", [\"M10.87 1.02a.5.5 0 0 1 .37.6l-.25 1a.5.5 0 1 1-.97-.24l.24-1a.5.5 0 0 1 .61-.36Zm2.98 1.13c.2.2.2.5 0 .7l-1 1a.5.5 0 1 1-.7-.7l1-1c.2-.2.5-.2.7 0ZM6.28 13.03a2 2 0 0 0 3.63-1.6l-3.63 1.6Zm-.92.4-1 .45a1.4 1.4 0 0 1-1.55-.29l-.4-.4a1.4 1.4 0 0 1-.3-1.55L6 2.84a1.4 1.4 0 0 1 2.27-.43l5.33 5.31c.7.7.48 1.87-.42 2.27l-2.34 1.03a3 3 0 0 1-5.47 2.42ZM14.5 5h-1a.5.5 0 0 0 0 1h1a.5.5 0 1 0 0-1ZM6.9 3.24l-3.87 8.8a.4.4 0 0 0 .09.44l.4.4c.11.12.29.15.44.09l8.8-3.9a.4.4 0 0 0 .12-.64L7.55 3.12a.4.4 0 0 0-.65.12Z\"]);\nexport const MegaphoneLoud20Filled = /*#__PURE__*/createFluentIcon('MegaphoneLoud20Filled', \"20\", [\"M14.16 1.03c.26.08.4.37.31.63l-.5 1.5a.5.5 0 0 1-.94-.32l.5-1.5a.5.5 0 0 1 .63-.31Zm3.7 1.82a.5.5 0 1 0-.71-.7l-2 2a.5.5 0 0 0 .7.7l2-2Zm-10.25.3a2 2 0 0 1 3.26-.52l6.58 6.98a2 2 0 0 1-.64 3.2l-3.94 1.74a3.5 3.5 0 0 1-6.34 2.8l-1.2.52a1.5 1.5 0 0 1-1.67-.3l-1.22-1.22a1.5 1.5 0 0 1-.3-1.7l5.47-11.5Zm-.16 13.78a2.5 2.5 0 0 0 4.5-1.97l-4.5 1.97ZM17 6a.5.5 0 0 0 0 1h1.5a.5.5 0 1 0 0-1H17Z\"]);\nexport const MegaphoneLoud20Regular = /*#__PURE__*/createFluentIcon('MegaphoneLoud20Regular', \"20\", [\"M14.16 1.03c.26.08.4.37.31.63l-.5 1.5a.5.5 0 0 1-.94-.32l.5-1.5a.5.5 0 0 1 .63-.31Zm3.7 1.82a.5.5 0 1 0-.71-.7l-2 2a.5.5 0 0 0 .7.7l2-2Zm-10.25.3a2 2 0 0 1 3.26-.52l6.58 6.98a2 2 0 0 1-.64 3.2l-3.94 1.74a3.5 3.5 0 0 1-6.34 2.8l-1.2.52a1.5 1.5 0 0 1-1.67-.3l-1.22-1.22a1.5 1.5 0 0 1-.3-1.7l5.47-11.5Zm-.16 13.78a2.5 2.5 0 0 0 4.5-1.97l-4.5 1.97Zm2.7-13.61a1 1 0 0 0-1.64.25l-5.46 11.5a.5.5 0 0 0 .1.57l1.22 1.21a.5.5 0 0 0 .55.1L16.4 11.9a1 1 0 0 0 .33-1.6l-6.59-6.98ZM17 6a.5.5 0 0 0 0 1h1.5a.5.5 0 1 0 0-1H17Z\"]);\nexport const MegaphoneLoud24Filled = /*#__PURE__*/createFluentIcon('MegaphoneLoud24Filled', \"24\", [\"M17.21 2.24a.75.75 0 0 0-1.42-.48l-.75 2.25a.75.75 0 0 0 1.42.48l.75-2.25Zm4.57-.02c.3.3.3.77 0 1.06l-2.5 2.5a.75.75 0 1 1-1.06-1.06l2.5-2.5c.3-.3.77-.3 1.06 0Zm-8.9 1.52a2.33 2.33 0 0 0-3.8.58l-5.9 12.24a1.8 1.8 0 0 0 .39 2.09L5 20.01c.53.5 1.3.63 1.97.33l1.42-.63a4 4 0 0 0 7.3-3.24l3.43-1.51a2.33 2.33 0 0 0 .76-3.71l-7-7.5Zm1.45 13.34a2.5 2.5 0 0 1-4.57 2.03l4.57-2.03ZM19 8.25c0-.41.34-.75.75-.75h2a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1-.75-.75Z\"]);\nexport const MegaphoneLoud24Regular = /*#__PURE__*/createFluentIcon('MegaphoneLoud24Regular', \"24\", [\"M17.21 2.24a.75.75 0 0 0-1.42-.48l-.75 2.25a.75.75 0 0 0 1.42.48l.75-2.25Zm4.57-.02c.3.3.3.77 0 1.06l-2.5 2.5a.75.75 0 1 1-1.06-1.06l2.5-2.5c.3-.3.77-.3 1.06 0Zm-12.7 2.1a2.33 2.33 0 0 1 3.8-.58l7 7.5c1.09 1.18.7 3.07-.76 3.72l-3.42 1.51A3.99 3.99 0 0 1 12 22a4 4 0 0 1-3.61-2.29l-1.42.63A1.8 1.8 0 0 1 5 20.01l-1.43-1.36a1.8 1.8 0 0 1-.4-2.1l5.9-12.23Zm.68 14.79a2.5 2.5 0 0 0 4.57-2.03l-4.57 2.03Zm2.01-14.35a.83.83 0 0 0-1.34.2l-5.9 12.25a.3.3 0 0 0 .06.35l1.44 1.36c.1.08.22.1.33.05l12.15-5.38c.52-.23.66-.9.27-1.32l-7-7.5ZM19 8.25c0-.41.34-.75.75-.75h2a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1-.75-.75Z\"]);\nexport const MegaphoneLoud28Filled = /*#__PURE__*/createFluentIcon('MegaphoneLoud28Filled', \"28\", [\"M17.53 4.47a.75.75 0 1 0 1.44.38l.65-2.41a.75.75 0 1 0-1.45-.39l-.64 2.42Zm7.25-1.25c.3.3.3.77 0 1.06l-2.5 2.5a.75.75 0 0 1-1.06-1.06l2.5-2.5c.3-.3.77-.3 1.06 0ZM22.5 9.75c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75ZM14.25 26a4.75 4.75 0 0 1-4.07-2.3l-2 1.01A2.75 2.75 0 0 1 5 24.19L3.8 23a2.75 2.75 0 0 1-.5-3.17l7.15-14.3a2.75 2.75 0 0 1 4.4-.72l8.34 8.34a2.75 2.75 0 0 1-.71 4.4l-3.83 1.92a4.74 4.74 0 0 1-4.4 6.53Zm3.05-5.86-5.77 2.89a3.25 3.25 0 0 0 5.78-2.89Z\"]);\nexport const MegaphoneLoud28Regular = /*#__PURE__*/createFluentIcon('MegaphoneLoud28Regular', \"28\", [\"M17.53 4.47a.75.75 0 1 0 1.44.38l.65-2.41a.75.75 0 1 0-1.45-.39l-.64 2.42Zm7.25-1.25c.3.3.3.77 0 1.06l-2.5 2.5a.75.75 0 1 1-1.06-1.06l2.5-2.5c.3-.3.77-.3 1.06 0ZM10.18 23.7a4.75 4.75 0 0 0 8.47-4.23l3.83-1.91a2.75 2.75 0 0 0 .71-4.4L14.85 4.8a2.75 2.75 0 0 0-4.4.71L3.29 19.83A2.75 2.75 0 0 0 3.81 23L5 24.2a2.75 2.75 0 0 0 3.17.5l2.01-1Zm1.35-.67 5.78-2.89a3.24 3.24 0 0 1-3.06 4.36 3.25 3.25 0 0 1-2.72-1.47Zm.26-16.84c.38-.76 1.4-.93 2-.32l8.34 8.34c.6.6.44 1.62-.32 2L7.5 23.37c-.48.24-1.06.14-1.44-.24l-1.2-1.19a1.25 1.25 0 0 1-.23-1.44L11.8 6.2ZM22.5 9.75c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const MegaphoneLoud32Filled = /*#__PURE__*/createFluentIcon('MegaphoneLoud32Filled', \"32\", [\"M20.72 5.99a1 1 0 0 1-.68-1.24l.83-2.88a1 1 0 1 1 1.92.55l-.83 2.88a1 1 0 0 1-1.24.69Zm7.99-2.7a1 1 0 0 1 0 1.42l-3 3a1 1 0 1 1-1.42-1.42l3-3a1 1 0 0 1 1.42 0Zm-7.12 19.13 4.75-2.38a3 3 0 0 0 .78-4.8L16.76 4.88a3 3 0 0 0-4.8.78L3.32 22.94a3 3 0 0 0 .56 3.46l1.72 1.72a3 3 0 0 0 3.46.56l2.72-1.36a5.5 5.5 0 0 0 9.81-4.9Zm-1.8.9a3.5 3.5 0 0 1-6.21 3.1l6.22-3.1ZM27 10a1 1 0 0 0 0 2h3a1 1 0 1 0 0-2h-3Z\"]);\nexport const MegaphoneLoud32Regular = /*#__PURE__*/createFluentIcon('MegaphoneLoud32Regular', \"32\", [\"M20.04 4.75a1 1 0 0 0 1.92.55l.83-2.88a1 1 0 1 0-1.92-.55l-.83 2.88ZM28.7 3.3a1 1 0 0 1 0 1.42l-3 3a1 1 0 1 1-1.42-1.42l3-3a1 1 0 0 1 1.42 0ZM26 11a1 1 0 0 1 1-1h3a1 1 0 0 1 0 2h-3a1 1 0 0 1-1-1ZM11.96 5.66a3 3 0 0 1 4.8-.78l10.36 10.36a3 3 0 0 1-.78 4.8l-4.75 2.38A5.48 5.48 0 0 1 16.5 30a5.5 5.5 0 0 1-4.72-2.68l-2.72 1.36a3 3 0 0 1-3.46-.56L3.88 26.4a3 3 0 0 1-.56-3.46l8.64-17.28Zm1.62 20.77a3.5 3.5 0 0 0 6.21-3.11l-6.21 3.1Zm1.77-20.14a1 1 0 0 0-1.6.26L5.1 23.83A1 1 0 0 0 5.29 25l1.72 1.72a1 1 0 0 0 1.16.18l17.28-8.64a1 1 0 0 0 .26-1.6L15.35 6.3Z\"]);\nexport const MegaphoneOff16Filled = /*#__PURE__*/createFluentIcon('MegaphoneOff16Filled', \"16\", [\"m13.3 14 .85.85a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L4.3 5.02l-2.29.78A1.5 1.5 0 0 0 1 7.22v1.56c0 .65.4 1.22 1.02 1.42l1.98.68V12a3 3 0 0 0 5.87.87l3.15 1.07.27.06ZM5 11.22l3.92 1.33A2 2 0 0 1 5 12v-.78Zm10 1.3c0 .1-.01.22-.04.32L6.43 4.31l6.59-2.23A1.5 1.5 0 0 1 15 3.5v9.01Z\"]);\nexport const MegaphoneOff16Regular = /*#__PURE__*/createFluentIcon('MegaphoneOff16Regular', \"16\", [\"m13.3 14 .85.85a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L4.3 5.02l-2.29.78A1.5 1.5 0 0 0 1 7.22v1.56c0 .65.4 1.22 1.02 1.42l1.98.68V12a3 3 0 0 0 5.87.87l3.15 1.07.27.06Zm-1.56-1.55-9.4-3.2A.5.5 0 0 1 2 8.79V7.22c0-.22.14-.4.34-.48l2.76-.93 6.64 6.64Zm-2.82.1A2 2 0 0 1 5 12v-.78l3.92 1.33ZM14 3.5v8.38l.96.96c.03-.1.04-.21.04-.33v-9c0-1.03-1-1.76-1.98-1.43l-6.6 2.23.8.79 6.12-2.07a.5.5 0 0 1 .66.47Z\"]);\nexport const MegaphoneOff20Filled = /*#__PURE__*/createFluentIcon('MegaphoneOff20Filled', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L5.48 6.2l-2.37.63A1.5 1.5 0 0 0 2 8.27v2.5c0 .65.41 1.23 1.03 1.43l1.97.66v.89a3.25 3.25 0 0 0 6.27 1.2l4.46 1.49 1.42 1.41a.5.5 0 0 0 .7-.7l-15-15ZM6 13.19l4.32 1.44A2.25 2.25 0 0 1 6 13.75v-.56Zm12 1.92c0 .23-.05.44-.14.63L7.71 5.6l8.4-2.24A1.5 1.5 0 0 1 18 4.8v10.31Z\"]);\nexport const MegaphoneOff20Regular = /*#__PURE__*/createFluentIcon('MegaphoneOff20Regular', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L5.48 6.2l-2.37.63A1.5 1.5 0 0 0 2 8.27v2.5c0 .65.41 1.23 1.03 1.43l1.97.66v.89a3.25 3.25 0 0 0 6.27 1.2l4.46 1.49 1.42 1.41a.5.5 0 0 0 .7-.7l-15-15Zm11.3 12.7-10.8-3.6a.5.5 0 0 1-.35-.47V8.27a.5.5 0 0 1 .37-.48L6.3 7l7.85 7.86Zm-3.83-.22A2.25 2.25 0 0 1 6 13.75v-.56l4.32 1.44ZM17 4.8v10.08l.86.86c.1-.19.14-.4.14-.63V4.81c0-1-.93-1.71-1.89-1.46L7.71 5.6l.82.82 7.84-2.1a.5.5 0 0 1 .63.5Z\"]);\nexport const MegaphoneOff24Filled = /*#__PURE__*/createFluentIcon('MegaphoneOff24Filled', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l4.5 4.5-3.11.93A2.25 2.25 0 0 0 2 10.87v2.26c0 1 .65 1.87 1.6 2.16l2.4.7v.7a4 4 0 0 0 7.6 1.57l5.12 1.52 2 2a.75.75 0 0 0 1.06-1.06L3.28 2.22ZM7.5 16.44l4.62 1.38A2.5 2.5 0 0 1 7.5 16.5v-.06Zm14.5 1.3c0 .32-.07.62-.18.9L10 6.8l9.1-2.7A2.25 2.25 0 0 1 22 6.26v11.48Z\"]);\nexport const MegaphoneOff24Regular = /*#__PURE__*/createFluentIcon('MegaphoneOff24Regular', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l4.5 4.5-3.11.93A2.25 2.25 0 0 0 2 10.87v2.26c0 1 .65 1.87 1.6 2.16l2.4.7v.7a4 4 0 0 0 7.6 1.57l5.12 1.52 2 2a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm13.21 15.33-12.45-3.7a.75.75 0 0 1-.54-.72v-2.26c0-.33.22-.63.54-.72l3.9-1.16 8.55 8.56Zm-9-1.1 4.63 1.37A2.5 2.5 0 0 1 7.5 16.5v-.06ZM20.5 6.25v11.06l1.32 1.31c.11-.27.18-.57.18-.9V6.27a2.25 2.25 0 0 0-2.9-2.15L10 6.8l1.2 1.21 8.34-2.48a.75.75 0 0 1 .96.72Z\"]);\nexport const MegaphoneOff28Filled = /*#__PURE__*/createFluentIcon('MegaphoneOff28Filled', \"28\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l5.4 5.4-3.57.95A2.75 2.75 0 0 0 2 12.29v3.42c0 1.25.84 2.34 2.05 2.66l2.95.79v.34a4.5 4.5 0 0 0 8.56 1.94l6.57 1.76 2.59 2.58a.75.75 0 0 0 1.06-1.06L3.28 2.22ZM8.5 19.56l5.57 1.48a3 3 0 0 1-5.57-1.48Zm2.47-11.78 14.5 14.5c.33-.45.53-1.01.53-1.63V7.35c0-1.8-1.71-3.12-3.46-2.65L10.97 7.78Z\"]);\nexport const MegaphoneOff28Regular = /*#__PURE__*/createFluentIcon('MegaphoneOff28Regular', \"28\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l5.4 5.4-3.57.95A2.75 2.75 0 0 0 2 12.29v3.42c0 1.25.84 2.34 2.05 2.66l2.95.79v.34a4.5 4.5 0 0 0 8.56 1.94l6.57 1.75 2.59 2.59a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm16.74 18.86L4.43 16.92a1.25 1.25 0 0 1-.93-1.2v-3.43c0-.57.39-1.07.93-1.21L8.84 9.9l11.18 11.18Zm-5.95-.04a3 3 0 0 1-5.57-1.48l5.57 1.48Zm-3.1-13.26 1.22 1.23 10.74-2.86c.8-.22 1.57.38 1.57 1.2v13.3c0 .2-.04.38-.12.54l1.08 1.1c.34-.46.54-1.02.54-1.64V7.35c0-1.8-1.71-3.12-3.46-2.65L10.97 7.78Z\"]);\nexport const Memory16Filled = /*#__PURE__*/createFluentIcon('Memory16Filled', \"16\", [\"M14.41 4.59A2 2 0 0 0 13 4V2.5a.5.5 0 0 0-.5-.5.5.5 0 0 0-.5.5V4h-2V2.5a.5.5 0 1 0-1 0V4H7V2.5a.5.5 0 1 0-1 0V4H4V2.5a.5.5 0 1 0-1 0V4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2v1.5c0 .13.05.26.15.35A.5.5 0 0 0 4 13.5V12h2v1.5c0 .13.05.26.15.35A.5.5 0 0 0 7 13.5V12h2v1.5c0 .13.05.26.15.35a.5.5 0 0 0 .85-.35V12h2v1.5c0 .13.05.26.15.35a.5.5 0 0 0 .85-.35V12a2 2 0 0 0 2-2V6a2 2 0 0 0-.59-1.41ZM13 9.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3ZM4 9h8V7H4v2Z\"]);\nexport const Memory16Regular = /*#__PURE__*/createFluentIcon('Memory16Regular', \"16\", [\"M14.41 4.59A2 2 0 0 0 13 4V2.5a.5.5 0 0 0-1 0V4h-2V2.5a.5.5 0 1 0-1 0V4H7V2.5a.5.5 0 1 0-1 0V4H4V2.5a.5.5 0 1 0-1 0V4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2v1.5a.5.5 0 0 0 1 0V12h2v1.5a.5.5 0 0 0 1 0V12h2v1.5a.5.5 0 0 0 1 0V12h2v1.5a.5.5 0 0 0 1 0V12a2 2 0 0 0 2-2V6a2 2 0 0 0-.59-1.41ZM14 10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4Zm-1.5-4h-9a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5ZM12 9H4V7h8v2Z\"]);\nexport const Mention12Filled = /*#__PURE__*/createFluentIcon('Mention12Filled', \"12\", [\"M2 6a4 4 0 1 1 8 0c0 1.17-.59 1.47-.8 1.48-.1 0-.24-.03-.39-.22-.15-.2-.31-.59-.31-1.26V3.75a.75.75 0 0 0-1.4-.37C6.7 3.14 6.25 3 5.75 3 4.15 3 3 4.43 3 6s1.15 3 2.75 3c.75 0 1.4-.31 1.88-.81.42.54 1.02.82 1.66.79C10.6 8.9 11.5 7.63 11.5 6a5.5 5.5 0 1 0-4.05 5.3.75.75 0 0 0-.4-1.44A4 4 0 0 1 2 6Zm5 0c0 .91-.64 1.5-1.25 1.5S4.5 6.91 4.5 6s.64-1.5 1.25-1.5S7 5.09 7 6Z\", \"M0 0h12v12H0z\"]);\nexport const Mention12Regular = /*#__PURE__*/createFluentIcon('Mention12Regular', \"12\", [\"M2 6a4 4 0 1 1 8 0c0 1.04-.6 1.47-1.03 1.5a.76.76 0 0 1-.62-.28C8.16 7 8 6.62 8 6V4a.5.5 0 0 0-1-.08 2.07 2.07 0 0 0-1.25-.42C4.45 3.5 3.5 4.68 3.5 6s.95 2.5 2.25 2.5c.69 0 1.28-.33 1.68-.84l.16.2c.38.45.9.66 1.44.63C10.1 8.44 11 7.46 11 6a5 5 0 1 0-3.33 4.72.5.5 0 0 0-.34-.95A4 4 0 0 1 2 6Zm5 0c0 .9-.62 1.5-1.25 1.5S4.5 6.9 4.5 6s.62-1.5 1.25-1.5S7 5.1 7 6Z\"]);\nexport const Mention16Filled = /*#__PURE__*/createFluentIcon('Mention16Filled', \"16\", [\"M8 1.75c3.45 0 6.25 2.8 6.25 6.25 0 1.8-1.24 3.25-2.75 3.25-.73 0-1.27-.29-1.64-.8-.47.5-1.1.8-1.86.8-1.69 0-2.75-1.52-2.75-3.25S6.31 4.75 8 4.75c.51 0 .96.14 1.35.38a.75.75 0 0 1 1.4.27V8c0 1.24.28 1.75.75 1.75.63 0 1.25-.72 1.25-1.75a4.75 4.75 0 1 0-3.6 4.6l.29-.07.2-.07a.75.75 0 0 1 .6 1.37l-.1.04-.25.09A6.25 6.25 0 1 1 8 1.75Zm0 4.5C7.28 6.25 6.75 7 6.75 8S7.28 9.75 8 9.75 9.25 9 9.25 8 8.72 6.25 8 6.25Z\"]);\nexport const Mention16Regular = /*#__PURE__*/createFluentIcon('Mention16Regular', \"16\", [\"M8 2a6 6 0 0 1 6 6c0 1.68-1.13 3-2.5 3a1.7 1.7 0 0 1-1.61-.99c-.43.6-1.08.99-1.89.99-1.53 0-2.5-1.39-2.5-3S6.47 5 8 5c.6 0 1.1.2 1.5.56V5.5a.5.5 0 0 1 1-.09V8c0 1.36.35 2 1 2 .78 0 1.5-.84 1.5-2a5 5 0 1 0-3.78 4.85l.3-.08.2-.07a.5.5 0 0 1 .34.94A5.88 5.88 0 0 1 8 14 6 6 0 0 1 8 2Zm0 4c-.88 0-1.5.88-1.5 2s.62 2 1.5 2 1.5-.88 1.5-2S8.88 6 8 6Z\"]);\nexport const Mention20Filled = /*#__PURE__*/createFluentIcon('Mention20Filled', \"20\", [\"M10 1.75c4.56 0 8.25 3.7 8.25 8.25 0 2.83-1.22 4.75-3.25 4.75-1.2 0-2.12-.68-2.67-1.82a3.5 3.5 0 0 1-2.83 1.32c-2.3 0-3.75-1.82-3.75-4.25 0-2.46 1.41-4.25 3.75-4.25.9 0 1.66.26 2.25.72a.75.75 0 0 1 1.49-.08l.01.11V10c0 2.1.73 3.25 1.75 3.25s1.75-1.15 1.75-3.25a6.75 6.75 0 1 0-4.45 6.35.75.75 0 0 1 .5 1.4A8.23 8.23 0 0 1 1.76 10c0-4.56 3.7-8.25 8.25-8.25Zm-.5 5.5C8.08 7.25 7.25 8.3 7.25 10c0 1.67.87 2.75 2.25 2.75s2.25-1.08 2.25-2.75c0-1.7-.83-2.75-2.25-2.75Z\"]);\nexport const Mention20Regular = /*#__PURE__*/createFluentIcon('Mention20Regular', \"20\", [\"M10 2a8 8 0 0 1 8 8c0 2.7-1.14 4.5-3 4.5-1.23 0-2.14-.78-2.62-2.09-.6.98-1.6 1.59-2.88 1.59C7.36 14 6 12.3 6 10c0-2.34 1.31-4 3.5-4 1.05 0 1.9.38 2.5 1.04V6.5a.5.5 0 0 1 1-.09V10c0 2.22.81 3.5 2 3.5s2-1.28 2-3.5a7 7 0 1 0-4.62 6.58.5.5 0 0 1 .34.94A7.99 7.99 0 0 1 2 10a8 8 0 0 1 8-8Zm-.5 5C7.92 7 7 8.17 7 10c0 1.8.97 3 2.5 3s2.5-1.2 2.5-3c0-1.83-.92-3-2.5-3Z\"]);\nexport const Mention24Filled = /*#__PURE__*/createFluentIcon('Mention24Filled', \"24\", [\"M12 2a10 10 0 0 1 10 9.72v1.81a4 4 0 0 1-7.41 2.05 4.26 4.26 0 0 1-3.09 1.35c-2.52 0-4.5-2.25-4.5-4.96C7 9.25 8.98 7 11.5 7c.94 0 1.8.31 2.51.84a1 1 0 0 1 1.98.04L16 8v5.5a2 2 0 0 0 4 .15V12a8 8 0 1 0-5.33 7.54 1 1 0 1 1 .67 1.89A10 10 0 1 1 12 2Zm-.35 7h-.15C10.15 9 9 10.3 9 11.97c0 1.66 1.15 2.96 2.5 2.96 1.3 0 2.41-1.2 2.5-2.78v-.22c-.02-1.59-1.08-2.83-2.35-2.92L11.5 9h.15Z\"]);\nexport const Mention24Regular = /*#__PURE__*/createFluentIcon('Mention24Regular', \"24\", [\"M22 12v1.75a3.75 3.75 0 0 1-7.15 1.59A4.29 4.29 0 0 1 11.5 17C9 17 7 14.74 7 12s2-5 4.5-5c1.16 0 2.2.48 3 1.27v-.52a.75.75 0 0 1 1.5-.1v6.1a2.25 2.25 0 0 0 4.5.15V12a8.5 8.5 0 1 0-5.51 7.96.75.75 0 0 1 .52 1.4A10 10 0 1 1 22 11.72l.01.29v1.75V12ZM11.5 8.5c-1.63 0-3 1.55-3 3.5s1.37 3.5 3 3.5 3-1.55 3-3.5-1.37-3.5-3-3.5Z\"]);\nexport const Mention32Filled = /*#__PURE__*/createFluentIcon('Mention32Filled', \"32\", [\"M26.5 16a10.5 10.5 0 1 0-7.1 9.94c.95-.33 2.1.31 2.1 1.43 0 .58-.35 1.13-.93 1.34A13.5 13.5 0 1 1 29.5 16v.28c.08 3.23-2.02 6.21-5.5 6.21-1.69 0-3.2-.76-4.2-1.96a5.77 5.77 0 0 1-4.3 1.96c-3.35 0-6-2.95-6-6.5s2.65-6.5 6-6.5c1.14 0 2.2.34 3.1.94a1.5 1.5 0 0 1 2.9.56v6a2.5 2.5 0 0 0 2.5 2.5c1.16 0 2.11-.8 2.38-1.88.08-.54.12-1.08.12-1.62Zm-11 3.5c1.46 0 3-1.36 3-3.5 0-2.14-1.54-3.5-3-3.5s-3 1.36-3 3.5c0 2.14 1.54 3.5 3 3.5Z\"]);\nexport const Mention32Regular = /*#__PURE__*/createFluentIcon('Mention32Regular', \"32\", [\"M19.56 26.41a11 11 0 1 1 7.3-8.7A2.94 2.94 0 0 1 24 20a3 3 0 0 1-3-3v-6a1 1 0 1 0-2 0v.37A5.2 5.2 0 0 0 15.5 10c-3.04 0-5.5 2.69-5.5 6s2.46 6 5.5 6c1.75 0 3.3-.89 4.3-2.27A5 5 0 0 0 29 17c.03-.33 0-.66 0-1a13 13 0 1 0-8.6 12.23c.37-.13.6-.48.6-.86 0-.72-.76-1.2-1.44-.96ZM15.5 20c-1.77 0-3.5-1.62-3.5-4s1.73-4 3.5-4 3.5 1.62 3.5 4-1.73 4-3.5 4Z\"]);\nexport const Mention48Filled = /*#__PURE__*/createFluentIcon('Mention48Filled', \"48\", [\"M7 24a17 17 0 0 1 34 0c0 5.14-2.63 7.01-4.52 7.03C34.64 31.05 32 29.28 32 24v-8.5a1.5 1.5 0 0 0-3 0v1.04A8.42 8.42 0 0 0 23 14c-5.14 0-9 4.66-9 10s3.86 10 9 10a8.68 8.68 0 0 0 7.27-4.1c1.35 2.65 3.64 4.16 6.25 4.13C40.63 34 44 30.11 44 24a20 20 0 1 0-12.97 18.73 1.5 1.5 0 1 0-1.06-2.8A17 17 0 0 1 7 24Zm22 0c0 4.05-2.86 7-6 7s-6-2.95-6-7 2.86-7 6-7 6 2.95 6 7Z\"]);\nexport const Mention48Regular = /*#__PURE__*/createFluentIcon('Mention48Regular', \"48\", [\"M6.5 24a17.5 17.5 0 1 1 35 0c0 5.65-2.73 7.6-4.72 7.56C34.73 31.52 32 29.38 32 24v-8.75a1.25 1.25 0 1 0-2.5 0v1.83A8.52 8.52 0 0 0 23 14c-5.1 0-9 4.62-9 10s3.9 10 9 10a8.76 8.76 0 0 0 7.55-4.56c1.28 2.88 3.58 4.57 6.17 4.62C40.73 34.15 44 30.35 44 24a20 20 0 1 0-12.8 18.66 1.25 1.25 0 1 0-.9-2.33A17.5 17.5 0 0 1 6.5 24Zm23 0c0 4.29-3.05 7.5-6.5 7.5s-6.5-3.21-6.5-7.5 3.05-7.5 6.5-7.5 6.5 3.21 6.5 7.5Z\"]);\nexport const MentionArrowDown20Filled = /*#__PURE__*/createFluentIcon('MentionArrowDown20Filled', \"20\", [\"M10 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM5.15 7.85A.5.5 0 0 0 5.5 8a.5.5 0 0 0 .35-.15l2-2a.5.5 0 1 0-.7-.7L6 6.29V3.5a.5.5 0 0 0-1 0v2.8L3.85 5.14a.5.5 0 1 0-.7.7l2 2Zm7.6-.38a3.51 3.51 0 0 0-1.9-.7 5.46 5.46 0 0 1-.6 1.5c.09-.02.17-.02.25-.02 1.42 0 2.25 1.05 2.25 2.75 0 1.67-.87 2.75-2.25 2.75S8.25 12.67 8.25 11c0-.28.02-.53.06-.77-.47.28-1 .5-1.56.63V11c0 2.43 1.46 4.25 3.75 4.25 1.2 0 2.17-.5 2.83-1.32.55 1.14 1.47 1.82 2.67 1.82 2.03 0 3.25-1.92 3.25-4.75a8.25 8.25 0 0 0-8.97-8.22c.26.45.46.95.58 1.47H11A6.75 6.75 0 0 1 17.75 11c0 2.1-.73 3.25-1.75 3.25S14.25 13.1 14.25 11V7.4a.75.75 0 0 0-1.5.07Zm-9.97 2.81c.45.26.95.46 1.47.58V11a6.75 6.75 0 0 0 9.05 6.35.75.75 0 0 1 .5 1.4A8.23 8.23 0 0 1 2.76 11l.03-.72Z\"]);\nexport const MentionArrowDown20Regular = /*#__PURE__*/createFluentIcon('MentionArrowDown20Regular', \"20\", [\"M10 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM5.15 7.85A.5.5 0 0 0 5.5 8a.5.5 0 0 0 .35-.15l2-2a.5.5 0 1 0-.7-.7L6 6.29V3.5a.5.5 0 0 0-1 0v2.8L3.85 5.14a.5.5 0 1 0-.7.7l2 2Zm7.85.2A3.2 3.2 0 0 0 10.79 7c-.1.35-.23.68-.4 1L10.5 8c1.58 0 2.5 1.17 2.5 3 0 1.8-.97 3-2.5 3S8 12.8 8 11c0-.22.01-.42.04-.62-.33.17-.68.3-1.04.41V11c0 2.3 1.36 4 3.5 4 1.28 0 2.28-.6 2.88-1.59.48 1.3 1.4 2.09 2.62 2.09 1.86 0 3-1.8 3-4.5a8 8 0 0 0-8.59-7.98c.16.31.29.64.38.98H11a7 7 0 0 1 7 7c0 2.22-.81 3.5-2 3.5s-2-1.28-2-3.5V7.41a.5.5 0 0 0-1 .09v.54ZM3.02 10.4c.31.16.64.29.98.38V11a7 7 0 0 0 9.38 6.58.5.5 0 0 1 .34.94 7.99 7.99 0 0 1-10.7-8.1Z\"]);\nexport const MentionBrackets20Filled = /*#__PURE__*/createFluentIcon('MentionBrackets20Filled', \"20\", [\"M4.75 2A2.75 2.75 0 0 0 2 4.75v10.5A2.75 2.75 0 0 0 4.75 18h1.5a.75.75 0 0 0 0-1.5h-1.5c-.69 0-1.25-.56-1.25-1.25V4.75c0-.69.56-1.25 1.25-1.25h1.5a.75.75 0 0 0 0-1.5h-1.5Zm7 5.25c.41 0 .75.34.75.75v2.75a.75.75 0 0 0 1.5 0V10a4 4 0 1 0-4.24 4 4.1 4.1 0 0 0 1.29-.13c.35-.1.75.05.89.39.17.43-.03.93-.47 1.05A5.5 5.5 0 1 1 15.5 10v.74c0 .46-.14.88-.37 1.24l-.13.3v-.13a2.25 2.25 0 0 1-3.58-.1 2.5 2.5 0 1 1-.37-4.33c.1-.28.38-.48.7-.48ZM10 9a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm8-4.25A2.75 2.75 0 0 0 15.25 2h-1.5a.75.75 0 0 0 0 1.5h1.5c.69 0 1.25.56 1.25 1.25v10.5c0 .69-.56 1.25-1.25 1.25h-1.5a.75.75 0 0 0 0 1.5h1.5A2.75 2.75 0 0 0 18 15.25V4.75Z\"]);\nexport const MentionBrackets20Regular = /*#__PURE__*/createFluentIcon('MentionBrackets20Regular', \"20\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v11c0 .83.67 1.5 1.5 1.5h2a.5.5 0 0 1 0 1h-2A2.5 2.5 0 0 1 2 15.5v-11A2.5 2.5 0 0 1 4.5 2h2a.5.5 0 0 1 0 1h-2Zm11 14c.83 0 1.5-.67 1.5-1.5v-11c0-.83-.67-1.5-1.5-1.5h-2a.5.5 0 0 1 0-1h2A2.5 2.5 0 0 1 18 4.5v11a2.5 2.5 0 0 1-2.5 2.5h-2a.5.5 0 0 1 0-1h2Zm-4-7a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM10 7.5c.56 0 1.08.19 1.5.5a.5.5 0 0 1 1 0v2.75a.75.75 0 0 0 1.5 0V10a4 4 0 1 0-4.24 4h.02a3.99 3.99 0 0 0 1.58-.23c.3-.1.64.11.64.43 0 .23-.14.45-.36.53A5 5 0 1 1 15 10v.75a1.75 1.75 0 0 1-3.2.98A2.5 2.5 0 0 1 7.5 10 2.5 2.5 0 0 1 10 7.5Z\"]);\nexport const Merge16Filled = /*#__PURE__*/createFluentIcon('Merge16Filled', \"16\", [\"M2 4.25c0-.41.34-.75.75-.75h1.79c.83 0 1.62.38 2.15 1.03l1.5 1.88c.42.53 1.07.84 1.75.84h1.79l-1.57-2.04a.75.75 0 0 1 1.18-.92l2.5 3.25c.21.27.21.65 0 .92l-2.5 3.25a.75.75 0 0 1-1.18-.92l1.57-2.04H9.7c-.38 0-.74.17-.97.47l-1.5 1.87A3.75 3.75 0 0 1 4.3 12.5H2.75a.75.75 0 0 1 0-1.5h1.56c.68 0 1.33-.31 1.76-.84l1.5-1.88.2-.22c-.28-.2-.54-.44-.76-.72l-1.5-1.87c-.23-.3-.6-.47-.97-.47H2.75A.75.75 0 0 1 2 4.25Z\"]);\nexport const Merge16Regular = /*#__PURE__*/createFluentIcon('Merge16Regular', \"16\", [\"M11.5 7.5H9.88a2.5 2.5 0 0 1-1.9-.87l-1.5-1.76A2.5 2.5 0 0 0 4.58 4H2.5a.5.5 0 0 0 0 1h2.08c.44 0 .85.2 1.14.52l1.5 1.76c.25.29.54.53.86.72-.32.2-.61.43-.86.72l-1.5 1.76c-.29.33-.7.52-1.14.52H2.5a.5.5 0 0 0 0 1h2.08a2.5 2.5 0 0 0 1.9-.87l1.5-1.76a2.5 2.5 0 0 1 1.9-.87h2.53l-2.29 2.67a.5.5 0 1 0 .76.66l3-3.5a.5.5 0 0 0 0-.66l-3-3.5a.5.5 0 1 0-.76.66l2.3 2.67h-.92Z\"]);\nexport const Merge20Filled = /*#__PURE__*/createFluentIcon('Merge20Filled', \"20\", [\"M3 5.75c0-.41.34-.75.75-.75h1.76c1 0 1.95.4 2.65 1.1l2.5 2.5c.41.41.99.65 1.58.65h3.2l-2.97-2.97a.75.75 0 0 1 1.06-1.06l4.25 4.25c.3.3.3.77 0 1.06l-4.25 4.25a.75.75 0 1 1-1.06-1.06l2.97-2.97h-3.2c-.6 0-1.17.24-1.59.66l-2.5 2.5C7.46 14.6 6.5 15 5.52 15H3.75a.75.75 0 0 1 0-1.5h1.76c.6 0 1.17-.24 1.59-.66l2.5-2.5c.12-.12.25-.23.4-.34-.15-.1-.28-.22-.4-.35l-2.5-2.5c-.42-.41-1-.65-1.6-.65H3.76A.75.75 0 0 1 3 5.75Z\"]);\nexport const Merge20Regular = /*#__PURE__*/createFluentIcon('Merge20Regular', \"20\", [\"M3 5.5c0-.28.22-.5.5-.5h1.65c1 0 1.95.43 2.62 1.17l2.2 2.5a2.5 2.5 0 0 0 1.88.83h4.44l-3.64-3.65a.5.5 0 0 1 .7-.7l4.5 4.5c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7-.7l3.64-3.65h-4.44c-.72 0-1.4.3-1.87.84l-2.21 2.49A3.5 3.5 0 0 1 5.15 15H3.5a.5.5 0 0 1 0-1h1.65c.72 0 1.4-.3 1.87-.84l2.21-2.49c.24-.26.51-.49.81-.67a3.5 3.5 0 0 1-.8-.67l-2.22-2.5A2.5 2.5 0 0 0 5.15 6H3.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const Merge24Filled = /*#__PURE__*/createFluentIcon('Merge24Filled', \"24\", [\"M3 7a1 1 0 0 1 1-1h2.76a4 4 0 0 1 2.83 1.17l2.95 2.95a3 3 0 0 0 2.12.88h3.92L15.3 7.71a1 1 0 0 1 1.42-1.41l5 5a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.42-1.4l3.3-3.3h-3.97a3 3 0 0 0-2.08.88l-2.95 2.95A4 4 0 0 1 6.76 18H4a1 1 0 1 1 0-2h2.76a2 2 0 0 0 1.41-.59l2.95-2.95a5 5 0 0 1 .54-.46 5 5 0 0 1-.54-.46L8.17 8.59A2 2 0 0 0 6.76 8H4a1 1 0 0 1-1-1Z\"]);\nexport const Merge24Regular = /*#__PURE__*/createFluentIcon('Merge24Regular', \"24\", [\"M3 6.75c0-.41.34-.75.75-.75h3.26c1 0 1.95.4 2.65 1.1l2.95 2.95c.6.6 1.43.95 2.3.95h4.53l-3.72-3.72a.75.75 0 1 1 1.06-1.06l5 5c.3.3.3.77 0 1.06l-5 5a.75.75 0 1 1-1.06-1.06l3.72-3.72h-4.47c-.9 0-1.75.37-2.36 1.01l-2.68 2.82c-.7.75-1.69 1.17-2.72 1.17H3.75a.75.75 0 0 1 0-1.5h3.46c.62 0 1.2-.25 1.63-.7l2.68-2.82c.26-.27.55-.51.86-.71-.3-.19-.58-.4-.83-.66L8.6 8.16c-.42-.42-1-.66-1.6-.66H3.76A.75.75 0 0 1 3 6.75Z\"]);\nexport const Mic16Filled = /*#__PURE__*/createFluentIcon('Mic16Filled', \"16\", [\"M8 2a2.5 2.5 0 0 0-2.5 2.5V8a2.5 2.5 0 0 0 5 0V4.5A2.5 2.5 0 0 0 8 2ZM4 7.5c.28 0 .5.22.5.5a3.5 3.5 0 1 0 7 0 .5.5 0 0 1 1 0 4.5 4.5 0 0 1-4 4.47v1.03a.5.5 0 0 1-1 0v-1.03A4.5 4.5 0 0 1 3.5 8c0-.28.22-.5.5-.5Z\"]);\nexport const Mic16Regular = /*#__PURE__*/createFluentIcon('Mic16Regular', \"16\", [\"M5.5 4.5a2.5 2.5 0 0 1 5 0V8a2.5 2.5 0 0 1-5 0V4.5ZM8 3c-.83 0-1.5.67-1.5 1.5V8a1.5 1.5 0 1 0 3 0V4.5C9.5 3.67 8.83 3 8 3ZM4 7.5c.28 0 .5.22.5.5a3.5 3.5 0 1 0 7 0 .5.5 0 0 1 1 0 4.5 4.5 0 0 1-4 4.47v1.03a.5.5 0 0 1-1 0v-1.03A4.5 4.5 0 0 1 3.5 8c0-.28.22-.5.5-.5Z\"]);\nexport const Mic20Filled = /*#__PURE__*/createFluentIcon('Mic20Filled', \"20\", [\"M5.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-2.02c2.8-.26 5-2.61 5-5.48a.5.5 0 0 0-1 0 4.5 4.5 0 1 1-9 0Zm7.5 0a3 3 0 0 1-6 0V5a3 3 0 0 1 6 0v5Z\"]);\nexport const Mic20Regular = /*#__PURE__*/createFluentIcon('Mic20Regular', \"20\", [\"M10 13a3 3 0 0 0 3-3V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm0-1a2 2 0 0 1-2-2V5a2 2 0 1 1 4 0v5a2 2 0 0 1-2 2ZM5 9.5c.28 0 .5.22.5.5a4.5 4.5 0 1 0 9 0 .5.5 0 0 1 1 0 5.5 5.5 0 0 1-5 5.48v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48c0-.28.22-.5.5-.5Z\"]);\nexport const Mic24Filled = /*#__PURE__*/createFluentIcon('Mic24Filled', \"24\", [\"M18.25 11c.38 0 .7.28.74.65l.01.1v.5a6.75 6.75 0 0 1-6.25 6.73v2.27a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 5 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25h.72a5.25 5.25 0 0 0 5.25-5.03v-.72c0-.41.34-.75.75-.75ZM12 2a4 4 0 0 1 4 4v6a4 4 0 0 1-8 0V6a4 4 0 0 1 4-4Z\"]);\nexport const Mic24Regular = /*#__PURE__*/createFluentIcon('Mic24Regular', \"24\", [\"M18.25 11c.38 0 .7.28.74.65l.01.1v.5a6.75 6.75 0 0 1-6.25 6.73v2.27a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 5 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25h.72a5.25 5.25 0 0 0 5.25-5.03v-.72c0-.41.34-.75.75-.75ZM12 2a4 4 0 0 1 4 4v6a4 4 0 0 1-8 0V6a4 4 0 0 1 4-4Zm0 1.5A2.5 2.5 0 0 0 9.5 6v6a2.5 2.5 0 0 0 5 0V6A2.5 2.5 0 0 0 12 3.5Z\"]);\nexport const Mic28Filled = /*#__PURE__*/createFluentIcon('Mic28Filled', \"28\", [\"M14 2a4.5 4.5 0 0 0-4.5 4.5v8a4.5 4.5 0 1 0 9 0v-8A4.5 4.5 0 0 0 14 2ZM7.5 13.75a.75.75 0 1 0-1.5 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-2.78A8 8 0 0 0 22 14.5v-.75a.75.75 0 1 0-1.5 0v.75a6.5 6.5 0 1 1-13 0v-.75Z\"]);\nexport const Mic28Regular = /*#__PURE__*/createFluentIcon('Mic28Regular', \"28\", [\"M14 2a4.5 4.5 0 0 0-4.5 4.5v8a4.5 4.5 0 1 0 9 0v-8A4.5 4.5 0 0 0 14 2Zm-3 4.5a3 3 0 1 1 6 0v8a3 3 0 1 1-6 0v-8Zm-3.5 7.25a.75.75 0 1 0-1.5 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-2.78A8 8 0 0 0 22 14.5v-.75a.75.75 0 1 0-1.5 0v.75a6.5 6.5 0 1 1-13 0v-.75Z\"]);\nexport const Mic32Filled = /*#__PURE__*/createFluentIcon('Mic32Filled', \"32\", [\"M16 2a6 6 0 0 0-6 6v8a6 6 0 0 0 12 0V8a6 6 0 0 0-6-6ZM7 15a1 1 0 0 1 1 1 8 8 0 1 0 16 0 1 1 0 1 1 2 0 10 10 0 0 1-9 9.95V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 6 16a1 1 0 0 1 1-1Z\"]);\nexport const Mic32Regular = /*#__PURE__*/createFluentIcon('Mic32Regular', \"32\", [\"M16 2a6 6 0 0 0-6 6v8a6 6 0 0 0 12 0V8a6 6 0 0 0-6-6Zm4 14a4 4 0 0 1-8 0V8a4 4 0 0 1 8 0v8ZM7 15a1 1 0 0 1 1 1 8 8 0 1 0 16 0 1 1 0 1 1 2 0 10 10 0 0 1-9 9.95V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 6 16a1 1 0 0 1 1-1Z\"]);\nexport const Mic48Filled = /*#__PURE__*/createFluentIcon('Mic48Filled', \"48\", [\"M24 4a8 8 0 0 0-8 8v12a8 8 0 1 0 16 0V12a8 8 0 0 0-8-8Zm1 33.71a14 14 0 0 0 13-13.96 1.25 1.25 0 1 0-2.5 0 11.5 11.5 0 1 1-23 0 1.25 1.25 0 1 0-2.5 0 14 14 0 0 0 12.5 13.92v5.08a1.25 1.25 0 1 0 2.5 0v-5.04Z\"]);\nexport const Mic48Regular = /*#__PURE__*/createFluentIcon('Mic48Regular', \"48\", [\"M16 12a8 8 0 1 1 16 0v12a8 8 0 1 1-16 0V12Zm8-5.5a5.5 5.5 0 0 0-5.5 5.5v12a5.5 5.5 0 1 0 11 0V12A5.5 5.5 0 0 0 24 6.5Zm1 31.21a14 14 0 0 0 13-13.96 1.25 1.25 0 1 0-2.5 0 11.5 11.5 0 1 1-23 0 1.25 1.25 0 1 0-2.5 0 14 14 0 0 0 12.5 13.92v5.08a1.25 1.25 0 1 0 2.5 0v-5.04Z\"]);\nexport const MicOff12Filled = /*#__PURE__*/createFluentIcon('MicOff12Filled', \"12\", [\"M1.85 1.15a.5.5 0 1 0-.7.7L4 4.71v.79a2 2 0 0 0 2.68 1.88l.75.76A3 3 0 0 1 3 5.5a.5.5 0 1 0-1 0 4 4 0 0 0 3.5 3.97v1.03a.5.5 0 1 0 1 0V9.47c.6-.08 1.17-.29 1.66-.6l1.99 1.98a.5.5 0 0 0 .7-.7l-9-9ZM9.52 7.4l-.75-.75A3 3 0 0 0 9 5.5a.5.5 0 1 1 1 0c0 .69-.17 1.33-.48 1.9ZM7.97 5.85 4.22 2.09A2 2 0 0 1 8 3v2.5c0 .12-.01.24-.03.35Z\"]);\nexport const MicOff12Regular = /*#__PURE__*/createFluentIcon('MicOff12Regular', \"12\", [\"M1.15 1.15c.2-.2.5-.2.7 0l9 9a.5.5 0 0 1-.7.7L8.16 8.87c-.49.31-1.05.52-1.66.6v1.03a.5.5 0 1 1-1 0V9.47A4 4 0 0 1 2 5.5a.5.5 0 1 1 1 0 3 3 0 0 0 4.43 2.64l-.75-.76A2 2 0 0 1 4 5.5v-.8L1.15 1.86a.5.5 0 0 1 0-.7ZM7 3v1.88l.97.97c.02-.11.03-.23.03-.35V3a2 2 0 0 0-3.78-.9l.79.79A1 1 0 0 1 7 3Zm1.77 3.65.75.75c.3-.57.48-1.21.48-1.9a.5.5 0 1 0-1 0 3 3 0 0 1-.23 1.15Z\"]);\nexport const MicOff16Filled = /*#__PURE__*/createFluentIcon('MicOff16Filled', \"16\", [\"m10.8 11.52 3.35 3.33a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L5.5 6.21V8a2.5 2.5 0 0 0 3.88 2.09l.72.71A3.5 3.5 0 0 1 4.5 8a.5.5 0 1 0-1 0 4.5 4.5 0 0 0 4 4.47v1.03a.5.5 0 1 0 1 0v-1.03c.87-.1 1.66-.44 2.3-.95Zm1.26-1.58-.76-.76c.13-.37.2-.77.2-1.18a.5.5 0 0 1 1 0c0 .7-.16 1.35-.44 1.94Zm-1.58-1.59-4.8-4.79a2.5 2.5 0 0 1 4.82.94V8c0 .12 0 .24-.02.35Z\"]);\nexport const MicOff16Regular = /*#__PURE__*/createFluentIcon('MicOff16Regular', \"16\", [\"m10.8 11.52 3.35 3.33a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L5.5 6.21V8a2.5 2.5 0 0 0 3.88 2.09l.72.71A3.5 3.5 0 0 1 4.5 8a.5.5 0 1 0-1 0 4.5 4.5 0 0 0 4 4.47v1.03a.5.5 0 1 0 1 0v-1.03c.87-.1 1.66-.44 2.3-.95ZM8.66 9.35A1.5 1.5 0 0 1 6.5 8v-.8l2.15 2.15Zm.85-1.97V4.5a1.5 1.5 0 0 0-3-.12l-.82-.82a2.5 2.5 0 0 1 4.82.94V8c0 .12 0 .24-.02.35l-.98-.97Zm2.56 2.56-.76-.76c.13-.37.2-.77.2-1.18a.5.5 0 0 1 1 0c0 .7-.16 1.35-.44 1.94Z\"]);\nexport const MicOff20Filled = /*#__PURE__*/createFluentIcon('MicOff20Filled', \"20\", [\"M13 10a3 3 0 0 1-.1.78L7 4.88A3 3 0 0 1 13 5v5ZM7 7.7V10a3 3 0 0 0 4.74 2.45l1.07 1.07A4.5 4.5 0 0 1 5.5 10a.5.5 0 0 0-1.01 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-2.02a5.48 5.48 0 0 0 3.02-1.25l3.63 3.62a.5.5 0 0 0 .7-.7l-15-15a.5.5 0 1 0-.7.7L7 7.71Zm7.8 4.98c.45-.8.7-1.7.7-2.68a.5.5 0 0 0-1 0c0 .7-.16 1.35-.44 1.94l.74.74Z\"]);\nexport const MicOff20Regular = /*#__PURE__*/createFluentIcon('MicOff20Regular', \"20\", [\"M12 5v4.88l.9.9A3 3 0 0 0 13 10V5a3 3 0 0 0-6-.12l1 1V5a2 2 0 1 1 4 0ZM7 7.7 2.15 2.86a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7l-3.63-3.62a5.48 5.48 0 0 1-3.02 1.25v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0 4.5 4.5 0 0 0 7.3 3.52l-1.06-1.07A3 3 0 0 1 7 10V7.7Zm4.02 4.02L8 8.71V10a2 2 0 0 0 3.02 1.72Zm3.78.96-.74-.74c.28-.59.44-1.25.44-1.94a.5.5 0 0 1 1 0c0 .97-.25 1.89-.7 2.68Z\"]);\nexport const MicOff24Filled = /*#__PURE__*/createFluentIcon('MicOff24Filled', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06L8 9.06V12a4 4 0 0 0 6.25 3.3l1.14 1.15a5.23 5.23 0 0 1-3.14 1.05h-.72a5.25 5.25 0 0 1-5.03-5.25v-.6a.75.75 0 0 0-1.5.1v.74a6.75 6.75 0 0 0 6.25 6.5v2.36a.75.75 0 0 0 1.5-.1v-2.27c1.4-.1 2.68-.63 3.71-1.46l4.26 4.26a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm13.92 11.8 1.14 1.14c.42-.88.66-1.87.66-2.91v-.6a.75.75 0 0 0-1.5.1v.72a5.23 5.23 0 0 1-.3 1.54ZM8.14 4.95l7.79 7.79c.05-.24.07-.5.07-.75V6a4 4 0 0 0-7.86-1.04Z\"]);\nexport const MicOff24Regular = /*#__PURE__*/createFluentIcon('MicOff24Regular', \"24\", [\"M3.28 2.22a.75.75 0 1 0-1.06 1.06L8 9.06V12a4 4 0 0 0 6.25 3.3l1.14 1.15a5.23 5.23 0 0 1-3.14 1.05h-.72a5.25 5.25 0 0 1-5.03-5.25v-.6a.75.75 0 0 0-1.5.1v.74a6.75 6.75 0 0 0 6.25 6.5v2.36a.75.75 0 0 0 1.5-.1v-2.27c1.4-.1 2.68-.63 3.71-1.46l4.26 4.26a.75.75 0 0 0 1.06-1.06L3.28 2.22Zm9.88 12A2.5 2.5 0 0 1 9.5 12v-1.44l3.66 3.66ZM14.5 6v5.32l1.43 1.43c.05-.24.07-.5.07-.75V6a4 4 0 0 0-7.86-1.04L9.5 6.32V6a2.5 2.5 0 0 1 5 0Zm2.7 8.01 1.14 1.15c.42-.88.66-1.87.66-2.91v-.6a.75.75 0 0 0-1.5.1v.72a5.23 5.23 0 0 1-.3 1.54Z\"]);\nexport const MicOff28Filled = /*#__PURE__*/createFluentIcon('MicOff28Filled', \"28\", [\"M19.31 18.25 3.28 2.22a.75.75 0 1 0-1.06 1.06l7.28 7.28v3.94a4.5 4.5 0 0 0 7.39 3.45l1.42 1.42A6.5 6.5 0 0 1 7.5 14.5v-.75a.75.75 0 1 0-1.51 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-2.78a7.97 7.97 0 0 0 4.62-2.04l5.35 5.35c.3.3.77.3 1.06 0a.75.75 0 0 0 0-1.06l-5.4-5.4-1.07-1.07Z\", \"M21.2 18c.5-1.05.8-2.24.8-3.5v-.75a.75.75 0 1 0-1.5 0v.75c0 .84-.16 1.64-.45 2.37l1.14 1.14Z\", \"M18.44 15.26c.04-.25.06-.5.06-.76v-8a4.5 4.5 0 0 0-9-.18l8.94 8.94Z\"]);\nexport const MicOff28Regular = /*#__PURE__*/createFluentIcon('MicOff28Regular', \"28\", [\"M9.5 10.56 2.22 3.28a.75.75 0 1 1 1.06-1.06l22.5 22.5a.75.75 0 0 1-1.06 1.06l-5.35-5.35a7.97 7.97 0 0 1-4.62 2.04v2.78a.75.75 0 0 1-1.5 0v-2.78A8 8 0 0 1 6 14.5v-.75a.75.75 0 0 1 1.5 0v.75a6.5 6.5 0 0 0 10.8 4.87l-1.41-1.42A4.5 4.5 0 0 1 9.5 14.5v-3.94Zm6.32 6.32L11 12.06v2.44a3 3 0 0 0 4.82 2.38ZM9.5 6.32l1.5 1.5V6.5a3 3 0 1 1 6 0v7.32l1.44 1.44c.04-.25.06-.5.06-.76v-8a4.5 4.5 0 0 0-9-.18Zm10.55 10.55 1.14 1.14c.52-1.06.81-2.25.81-3.51v-.75a.75.75 0 1 0-1.5 0v.75c0 .84-.16 1.64-.45 2.37Z\"]);\nexport const MicOff32Filled = /*#__PURE__*/createFluentIcon('MicOff32Filled', \"32\", [\"M10 11.41V16a6 6 0 0 0 9.48 4.9l1.43 1.42A8 8 0 0 1 8 16a1 1 0 1 0-2.01 0 10 10 0 0 0 9 9.95V29a1 1 0 1 0 2 0v-3.05c2.01-.2 3.85-1 5.33-2.2l5.96 5.96a1 1 0 0 0 1.42-1.42l-26-26a1 1 0 0 0-1.42 1.42L10 11.4Zm13.14 8.2 1.48 1.47A9.95 9.95 0 0 0 26 16a1 1 0 1 0-2 0c0 1.3-.3 2.52-.86 3.6ZM10.16 6.62 21.63 18.1c.24-.65.37-1.35.37-2.09V8a6 6 0 0 0-11.84-1.38Z\"]);\nexport const MicOff32Regular = /*#__PURE__*/createFluentIcon('MicOff32Regular', \"32\", [\"m10 11.41-7.7-7.7a1 1 0 0 1 1.4-1.42l26 26a1 1 0 0 1-1.4 1.42l-5.97-5.97A9.95 9.95 0 0 1 17 25.95V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 6 16a1 1 0 1 1 2 0 8 8 0 0 0 12.9 6.32l-1.42-1.43A6 6 0 0 1 10 16v-4.58Zm8.03 8.04L12 13.4V16a4 4 0 0 0 6.03 3.45ZM20 16c0 .15 0 .3-.02.44l1.65 1.65c.24-.65.37-1.35.37-2.09V8a6 6 0 0 0-11.84-1.38L12 8.47V8a4 4 0 0 1 8 0v8Zm3.14 3.6 1.48 1.48A9.95 9.95 0 0 0 26 16a1 1 0 1 0-2 0c0 1.3-.3 2.52-.86 3.6Z\"]);\nexport const MicOff48Filled = /*#__PURE__*/createFluentIcon('MicOff48Filled', \"48\", [\"M16 17.77V24a8 8 0 0 0 12.7 6.47l2.36 2.36a11.5 11.5 0 0 1-18.56-9.08 1.25 1.25 0 1 0-2.5 0 14 14 0 0 0 12.5 13.92v5.08a1.25 1.25 0 1 0 2.5 0v-5.04c2.96-.2 5.67-1.34 7.84-3.1l8.78 8.77a1.25 1.25 0 1 0 1.76-1.76l-37-37a1.25 1.25 0 0 0-1.76 1.76L16 17.77Zm18.26 11.18 1.84 1.85c1.2-2.07 1.9-4.48 1.9-7.05a1.25 1.25 0 1 0-2.5 0c0 1.87-.45 3.64-1.24 5.2ZM16.09 10.8l15.56 15.56A8 8 0 0 0 32 24V12a8 8 0 0 0-15.9-1.21Z\"]);\nexport const MicOff48Regular = /*#__PURE__*/createFluentIcon('MicOff48Regular', \"48\", [\"M16 17.77 4.62 6.38a1.25 1.25 0 1 1 1.76-1.76l37 37a1.25 1.25 0 0 1-1.76 1.76l-8.78-8.77A13.94 13.94 0 0 1 25 37.7v5.04a1.25 1.25 0 1 1-2.5 0v-5.08A14 14 0 0 1 10 23.75a1.25 1.25 0 1 1 2.5 0 11.5 11.5 0 0 0 18.56 9.08l-2.36-2.36A8 8 0 0 1 16 24v-6.23Zm10.9 10.9-8.4-8.4V24a5.5 5.5 0 0 0 8.4 4.67ZM29.5 24v.2l2.15 2.15A8 8 0 0 0 32 24V12a8 8 0 0 0-15.9-1.21l2.4 2.4V12a5.5 5.5 0 1 1 11 0v12Zm4.76 4.95 1.84 1.85c1.2-2.07 1.9-4.48 1.9-7.05a1.25 1.25 0 1 0-2.5 0c0 1.87-.45 3.64-1.24 5.2Z\"]);\nexport const MicProhibited16Filled = /*#__PURE__*/createFluentIcon('MicProhibited16Filled', \"16\", [\"M4 4.5a2.5 2.5 0 0 1 5 0v.7a5.5 5.5 0 0 0-3.98 4.82A2.5 2.5 0 0 1 4 8V4.5Zm1.04 6.68A3.5 3.5 0 0 1 3 8a.5.5 0 0 0-1 0 4.5 4.5 0 0 0 3.32 4.34 5.47 5.47 0 0 1-.28-1.16ZM6 10.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm2.4 2.8 4.9-4.9a3.5 3.5 0 0 1-4.9 4.9Zm-.7-.7a3.5 3.5 0 0 1 4.9-4.9l-4.9 4.9Z\"]);\nexport const MicProhibited16Regular = /*#__PURE__*/createFluentIcon('MicProhibited16Regular', \"16\", [\"M6.5 2A2.5 2.5 0 0 0 4 4.5V8c0 .83.4 1.56 1.02 2.02.04-.41.12-.8.24-1.18A1.5 1.5 0 0 1 5 8V4.5a1.5 1.5 0 1 1 3 0v1.1c.32-.16.65-.3 1-.4v-.7A2.5 2.5 0 0 0 6.5 2Zm-1.46 9.18c.05.4.14.8.28 1.16A4.5 4.5 0 0 1 2 8a.5.5 0 0 1 1 0 3.5 3.5 0 0 0 2.04 3.18ZM6 10.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm2.4 2.8 4.9-4.9a3.5 3.5 0 0 1-4.9 4.9Zm-.7-.7a3.5 3.5 0 0 1 4.9-4.9l-4.9 4.9Z\"]);\nexport const MicProhibited20Filled = /*#__PURE__*/createFluentIcon('MicProhibited20Filled', \"20\", [\"M9.2 13A5.51 5.51 0 0 1 12 9.6V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3.2 3Zm.3 4.5v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0Zm5 1.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-8a3.5 3.5 0 0 0-2.8 5.6l4.9-4.9a3.48 3.48 0 0 0-2.1-.7Zm-2.1 6.3a3.5 3.5 0 0 0 4.9-4.9l-4.9 4.9Z\"]);\nexport const MicProhibited20Regular = /*#__PURE__*/createFluentIcon('MicProhibited20Regular', \"20\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm10 9a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-8a3.5 3.5 0 0 0-2.8 5.6l4.9-4.9a3.48 3.48 0 0 0-2.1-.7Zm-2.1 6.3a3.5 3.5 0 0 0 4.9-4.9l-4.9 4.9Z\"]);\nexport const MicProhibited24Filled = /*#__PURE__*/createFluentIcon('MicProhibited24Filled', \"24\", [\"M11.17 16A6.51 6.51 0 0 1 15 11.5V6a4 4 0 0 0-8 0v6a4 4 0 0 0 4.17 4ZM11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Zm12 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-9.5 0c0 .83.26 1.6.7 2.25l5.55-5.56a4 4 0 0 0-6.25 3.3Zm4 4a4 4 0 0 0 3.3-6.25l-5.55 5.56c.64.44 1.42.69 2.25.69Z\"]);\nexport const MicProhibited24Regular = /*#__PURE__*/createFluentIcon('MicProhibited24Regular', \"24\", [\"M15 6v5.5a6.5 6.5 0 0 0-1.53.9c.02-.13.03-.26.03-.4V6a2.5 2.5 0 0 0-5 0v6a2.5 2.5 0 0 0 3.3 2.37c-.28.5-.49 1.05-.63 1.63H11a4 4 0 0 1-4-4V6a4 4 0 1 1 8 0Zm-4 11.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Zm12 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-9.5 0c0 .83.26 1.6.7 2.25l5.55-5.56a4 4 0 0 0-6.25 3.3Zm4 4a4 4 0 0 0 3.3-6.25l-5.55 5.56c.64.44 1.42.69 2.25.69Z\"]);\nexport const MicProhibited28Filled = /*#__PURE__*/createFluentIcon('MicProhibited28Filled', \"28\", [\"M8.5 6.5a4.5 4.5 0 1 1 9 0v7.12A7.51 7.51 0 0 0 13.15 19H13a4.5 4.5 0 0 1-4.5-4.5v-8ZM13.02 21H13a6.5 6.5 0 0 1-6.5-6.5v-.75a.75.75 0 1 0-1.5 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-1.48a7.46 7.46 0 0 1-.73-2.77Zm7.48 6a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0-1.5a4.98 4.98 0 0 1-2.97-.97l7-7a5 5 0 0 1-4.03 7.97Zm2.97-9.03-7 7a5 5 0 0 1 7-7Z\"]);\nexport const MicProhibited28Regular = /*#__PURE__*/createFluentIcon('MicProhibited28Regular', \"28\", [\"M8.5 6.5a4.5 4.5 0 1 1 9 0v7.12c-.54.24-1.04.53-1.5.88v-8a3 3 0 1 0-6 0v8a3 3 0 0 0 3.66 2.93c-.23.5-.4 1.02-.51 1.57H13a4.5 4.5 0 0 1-4.5-4.5v-8ZM13.02 21H13a6.5 6.5 0 0 1-6.5-6.5v-.75a.75.75 0 1 0-1.5 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-1.48a7.46 7.46 0 0 1-.73-2.77Zm7.48 6a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0-1.5a4.98 4.98 0 0 1-2.97-.97l7-7a5 5 0 0 1-4.03 7.97Zm2.97-9.03-7 7a5 5 0 0 1 7-7Z\"]);\nexport const MicProhibited48Filled = /*#__PURE__*/createFluentIcon('MicProhibited48Filled', \"48\", [\"M14 12a8 8 0 1 1 16 0v11a13.03 13.03 0 0 0-7.65 9H22a8 8 0 0 1-8-8V12Zm8 23.25a11.5 11.5 0 0 1-11.5-11.5 1.25 1.25 0 1 0-2.5 0 14 14 0 0 0 12.5 13.92v5.08a1.25 1.25 0 1 0 2.5 0v-2.74a12.95 12.95 0 0 1-1-4.76ZM35 46a11 11 0 1 1 0-22 11 11 0 0 1 0 22Zm0-2a9 9 0 0 0 7.03-14.62L29.38 42.03A8.96 8.96 0 0 0 35 44Zm-7.03-3.38 12.65-12.65a9 9 0 0 0-12.65 12.65Z\"]);\nexport const MicProhibited48Regular = /*#__PURE__*/createFluentIcon('MicProhibited48Regular', \"48\", [\"M22 4a8 8 0 0 0-8 8v12a8 8 0 0 0 8.35 8c.22-.93.54-1.82.94-2.65A5.51 5.51 0 0 1 16.5 24V12a5.5 5.5 0 1 1 11 0v12l-.01.39c.78-.55 1.62-1.02 2.51-1.4V12a8 8 0 0 0-8-8Zm0 31.25c.03 1.68.39 3.29 1 4.76v2.74a1.25 1.25 0 1 1-2.5 0v-5.08A14 14 0 0 1 8 23.75a1.25 1.25 0 1 1 2.5 0A11.5 11.5 0 0 0 22 35.25ZM35 46a11 11 0 1 1 0-22 11 11 0 0 1 0 22Zm0-2a9 9 0 0 0 7.03-14.62L29.38 42.03A8.96 8.96 0 0 0 35 44Zm-7.03-3.38 12.65-12.65a9 9 0 0 0-12.65 12.65Z\"]);\nexport const MicPulse16Filled = /*#__PURE__*/createFluentIcon('MicPulse16Filled', \"16\", [\"M6.5 2A2.5 2.5 0 0 0 4 4.5V8c0 .83.4 1.56 1.02 2.02A5.5 5.5 0 0 1 9 5.2V4.5A2.5 2.5 0 0 0 6.5 2ZM3 8a3.5 3.5 0 0 0 2.04 3.18c.05.4.14.8.28 1.16A4.5 4.5 0 0 1 2 8a.5.5 0 0 1 1 0Zm12 2.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-5.56-2a.5.5 0 0 0-.47.3l-.59 1.37H8a.5.5 0 1 0 0 1h.71a.5.5 0 0 0 .46-.3l.22-.5.64 1.8a.5.5 0 0 0 .93.02l.68-1.68.2.4a.5.5 0 0 0 .45.26H13a.5.5 0 0 0 0-1h-.41L12 9.1a.5.5 0 0 0-.9.05l-.58 1.44-.63-1.76a.5.5 0 0 0-.46-.33Z\"]);\nexport const MicPulse16Regular = /*#__PURE__*/createFluentIcon('MicPulse16Regular', \"16\", [\"M4 4.5a2.5 2.5 0 0 1 5 0v.7c-.35.1-.68.24-1 .4V4.5a1.5 1.5 0 1 0-3 0V8c0 .31.1.6.26.84-.12.37-.2.77-.24 1.18A2.5 2.5 0 0 1 4 8V4.5Zm1.32 7.84a5.47 5.47 0 0 1-.28-1.16A3.5 3.5 0 0 1 3 8a.5.5 0 0 0-1 0 4.5 4.5 0 0 0 3.32 4.34ZM15 10.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-5.56-2a.5.5 0 0 0-.47.3l-.59 1.37H8a.5.5 0 1 0 0 1h.71a.5.5 0 0 0 .46-.3l.22-.5.64 1.8a.5.5 0 0 0 .93.02l.68-1.68.2.4a.5.5 0 0 0 .45.26H13a.5.5 0 0 0 0-1h-.41L12 9.1a.5.5 0 0 0-.9.05l-.58 1.44-.63-1.76a.5.5 0 0 0-.46-.33Z\"]);\nexport const MicPulse20Filled = /*#__PURE__*/createFluentIcon('MicPulse20Filled', \"20\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10ZM12 5v4.6A5.51 5.51 0 0 0 9.2 13 3.02 3.02 0 0 1 6 10V5a3 3 0 0 1 6 0Zm7 9.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Zm-5.56-2c.21 0 .39.14.46.33l.63 1.76.58-1.44a.5.5 0 0 1 .9-.05l.58 1.07H17a.5.5 0 1 1 0 1h-.71a.5.5 0 0 1-.44-.27l-.21-.39-.68 1.68a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.59-1.37a.5.5 0 0 1 .47-.3Z\"]);\nexport const MicPulse20Regular = /*#__PURE__*/createFluentIcon('MicPulse20Regular', \"20\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0ZM19 14.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Zm-5.56-2c.21 0 .39.14.46.33l.63 1.76.58-1.44a.5.5 0 0 1 .9-.05l.58 1.07H17a.5.5 0 1 1 0 1h-.71a.5.5 0 0 1-.44-.27l-.21-.39-.68 1.68a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.59-1.37a.5.5 0 0 1 .47-.3Z\"]);\nexport const MicPulse24Filled = /*#__PURE__*/createFluentIcon('MicPulse24Filled', \"24\", [\"M11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Zm.17-1.5A6.51 6.51 0 0 1 15 11.5V6a4 4 0 0 0-8 0v6a4 4 0 0 0 4.17 4ZM23 17.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-6.99-3c.21 0 .4.14.46.34L17.53 18l1-2.68a.5.5 0 0 1 .92-.04L20.3 17H21a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.45-.28l-.48-.97-1.1 2.93a.5.5 0 0 1-.94-.02l-1.07-3.2-.5 1.23A.5.5 0 0 1 15 18h-1a.5.5 0 0 1 0-1h.66l.88-2.19a.5.5 0 0 1 .47-.31Z\"]);\nexport const MicPulse24Regular = /*#__PURE__*/createFluentIcon('MicPulse24Regular', \"24\", [\"M11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11ZM15 6v5.5a6.5 6.5 0 0 0-1.53.9c.02-.13.03-.26.03-.4V6a2.5 2.5 0 0 0-5 0v6a2.5 2.5 0 0 0 3.3 2.37c-.28.5-.49 1.05-.63 1.63H11a4 4 0 0 1-4-4V6a4 4 0 1 1 8 0Zm8 11.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-6.99-3c.21 0 .4.14.46.34L17.53 18l1-2.68a.5.5 0 0 1 .92-.04L20.3 17H21a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.45-.28l-.48-.97-1.1 2.93a.5.5 0 0 1-.94-.02l-1.07-3.2-.5 1.23A.5.5 0 0 1 15 18h-1a.5.5 0 0 1 0-1h.66l.88-2.19a.5.5 0 0 1 .47-.31Z\"]);\nexport const MicPulse28Filled = /*#__PURE__*/createFluentIcon('MicPulse28Filled', \"28\", [\"M13 2a4.5 4.5 0 0 0-4.5 4.5v8a4.5 4.5 0 0 0 4.65 4.5 7.51 7.51 0 0 1 4.35-5.38V6.5A4.5 4.5 0 0 0 13 2Zm0 19h.02c.06.99.32 1.93.73 2.77v1.48a.75.75 0 0 1-1.5 0v-2.78A8 8 0 0 1 5 14.5v-.75a.75.75 0 0 1 1.5 0v.75A6.5 6.5 0 0 0 13 21Zm14-.5a6.5 6.5 0 1 0-13 0 6.5 6.5 0 0 0 13 0Zm-8-3c.23 0 .42.15.48.36l1.07 3.58.98-2.62a.5.5 0 0 1 .92-.04l.86 1.74h1.19a.5.5 0 1 1 0 1H23a.5.5 0 0 1-.45-.28l-.49-.99-1.1 2.93a.5.5 0 0 1-.94-.04l-1.05-3.5-.52 1.54a.5.5 0 0 1-.47.34H16.5a.5.5 0 0 1 0-1h1.12l.9-2.68a.5.5 0 0 1 .49-.34Z\"]);\nexport const MicPulse28Regular = /*#__PURE__*/createFluentIcon('MicPulse28Regular', \"28\", [\"M13 2a4.5 4.5 0 0 0-4.5 4.5v8a4.5 4.5 0 0 0 4.65 4.5c.11-.55.28-1.08.5-1.57A3 3 0 0 1 10 14.5v-8a3 3 0 1 1 6 0v8c.46-.35.96-.64 1.5-.88V6.5A4.5 4.5 0 0 0 13 2Zm0 19h.02c.06.99.32 1.93.73 2.77v1.48a.75.75 0 0 1-1.5 0v-2.78A8 8 0 0 1 5 14.5v-.75a.75.75 0 0 1 1.5 0v.75A6.5 6.5 0 0 0 13 21Zm14-.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Zm-8-3a.5.5 0 0 0-.47.34l-.9 2.68H16.5a.5.5 0 1 0 0 1h1.48a.5.5 0 0 0 .47-.34l.52-1.53 1.05 3.5a.5.5 0 0 0 .95.03l1.1-2.93.48.99a.5.5 0 0 0 .45.28h1.5a.5.5 0 0 0 0-1h-1.19l-.86-1.74a.5.5 0 0 0-.92.04l-.98 2.62-1.07-3.58a.5.5 0 0 0-.47-.36Z\"]);\nexport const MicPulse32Filled = /*#__PURE__*/createFluentIcon('MicPulse32Filled', \"32\", [\"M15 2a6 6 0 0 0-6 6v8a6 6 0 0 0 5.06 5.93 9 9 0 0 1 6.94-7.7V8a6 6 0 0 0-6-6ZM7 16a8 8 0 0 0 7.05 7.94c.18 1.78.89 3.4 1.95 4.72V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 5 16a1 1 0 1 1 2 0Zm16 14.5a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm-1.59-11.25c.32 0 .6.2.7.5l1.39 3.98 1.04-2.98a.75.75 0 0 1 1.41-.01l.57 1.53h.73a.75.75 0 0 1 0 1.5H26c-.31 0-.6-.2-.7-.49l-.03-.07-1.06 3.04a.75.75 0 0 1-1.42 0l-1.43-4.08-.43 1.12a.75.75 0 0 1-.7.48h-1.48a.75.75 0 0 1 0-1.5h.96l1-2.54c.1-.3.39-.49.7-.48Z\"]);\nexport const MicPulse32Regular = /*#__PURE__*/createFluentIcon('MicPulse32Regular', \"32\", [\"M15 2a6 6 0 0 0-6 6v8a6 6 0 0 0 5.06 5.93c.08-.68.24-1.34.46-1.96A4 4 0 0 1 11 16V8a4 4 0 0 1 8 0v6.94c.63-.32 1.3-.56 2-.72V8a6 6 0 0 0-6-6ZM7 16a8 8 0 0 0 7.05 7.94c.18 1.78.89 3.4 1.95 4.72V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 5 16a1 1 0 1 1 2 0Zm16 14.5a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm-1.59-11.25c.32 0 .6.2.7.5l1.39 3.98 1.04-2.98a.75.75 0 0 1 1.41-.01l.57 1.53h.73a.75.75 0 0 1 0 1.5H26c-.31 0-.6-.2-.7-.49l-.03-.07-1.06 3.04a.75.75 0 0 1-1.42 0l-1.43-4.08-.43 1.12a.75.75 0 0 1-.7.48h-1.48a.75.75 0 0 1 0-1.5h.96l1-2.54c.1-.3.39-.49.7-.48Z\"]);\nexport const MicPulse48Filled = /*#__PURE__*/createFluentIcon('MicPulse48Filled', \"48\", [\"M22 4a8 8 0 0 0-8 8v12a8 8 0 0 0 8.35 8A13.03 13.03 0 0 1 30 23V12a8 8 0 0 0-8-8Zm0 31.25c.03 1.68.39 3.29 1 4.76v2.74a1.25 1.25 0 1 1-2.5 0v-5.08A14 14 0 0 1 8 23.75a1.25 1.25 0 1 1 2.5 0A11.5 11.5 0 0 0 22 35.25ZM46 35a11 11 0 1 1-22 0 11 11 0 0 1 22 0Zm-13.98-6a1 1 0 0 0-.95.64l-1.7 4.4H28a1 1 0 1 0 0 2h2.04a1 1 0 0 0 .94-.64l.97-2.51 2.6 7.44a1 1 0 0 0 1.89.02l2.2-5.85.47.95a1 1 0 0 0 .87.55l2 .03a1 1 0 1 0 .04-2l-1.4-.02-1.23-2.46a1 1 0 0 0-1.83.1l-2.03 5.42-2.59-7.4a1 1 0 0 0-.92-.67Z\"]);\nexport const MicPulse48Regular = /*#__PURE__*/createFluentIcon('MicPulse48Regular', \"48\", [\"M14 12a8 8 0 1 1 16 0v11c-.9.37-1.73.84-2.51 1.39l.01-.39V12a5.5 5.5 0 1 0-11 0v12a5.5 5.5 0 0 0 6.79 5.35c-.4.83-.72 1.72-.94 2.64L22 32a8 8 0 0 1-8-8V12Zm9 28a12.95 12.95 0 0 1-1-4.75 11.5 11.5 0 0 1-11.5-11.5 1.25 1.25 0 1 0-2.5 0 14 14 0 0 0 12.5 13.92v5.08a1.25 1.25 0 1 0 2.5 0v-2.74Zm23-5a11 11 0 1 1-22 0 11 11 0 0 1 22 0Zm-13.98-6a1 1 0 0 0-.95.64l-1.7 4.4H28a1 1 0 1 0 0 2h2.04a1 1 0 0 0 .94-.64l.97-2.51 2.6 7.44a1 1 0 0 0 1.89.02l2.2-5.85.47.95a1 1 0 0 0 .87.55l2 .03a1 1 0 1 0 .04-2l-1.4-.02-1.23-2.46a1 1 0 0 0-1.83.1l-2.03 5.42-2.59-7.4a1 1 0 0 0-.92-.67Z\"]);\nexport const MicPulseOff16Filled = /*#__PURE__*/createFluentIcon('MicPulseOff16Filled', \"16\", [\"m13.3 14.02.85.83a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L4 4.71V8c0 .83.4 1.56 1.02 2.02.1-1.15.56-2.2 1.25-3.04l.71.71a4.5 4.5 0 0 0 6.32 6.32Zm-2.19-2.2-.15.37a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H8a.5.5 0 0 1 0-1h.38l.33-.76 2.4 2.4ZM8.56 6.44l6 6a4.5 4.5 0 0 0-6-6ZM4.79 2.67 7.82 5.7c.37-.21.76-.38 1.18-.5v-.7a2.5 2.5 0 0 0-4.2-1.83ZM3 8a3.5 3.5 0 0 0 2.04 3.18c.05.4.14.8.28 1.16A4.5 4.5 0 0 1 2 8a.5.5 0 0 1 1 0Z\"]);\nexport const MicPulseOff16Regular = /*#__PURE__*/createFluentIcon('MicPulseOff16Regular', \"16\", [\"m13.3 14.02.85.83a.5.5 0 0 0 .7-.7l-13-13a.5.5 0 1 0-.7.7L4 4.71V8c0 .83.4 1.56 1.02 2.02.04-.41.12-.8.24-1.18A1.5 1.5 0 0 1 5 8V5.7l1.98 2a4.5 4.5 0 0 0 6.32 6.32Zm-2.19-2.2-.15.37a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H8a.5.5 0 0 1 0-1h.38l.33-.76 2.4 2.4ZM8.56 6.44l6 6a4.5 4.5 0 0 0-6-6ZM4.79 2.67l.71.71A1.5 1.5 0 0 1 8 4.5v1.1c.32-.16.65-.3 1-.4v-.7a2.5 2.5 0 0 0-4.2-1.83Zm.53 9.67a5.47 5.47 0 0 1-.28-1.16A3.5 3.5 0 0 1 3 8a.5.5 0 0 0-1 0 4.5 4.5 0 0 0 3.32 4.34Z\"]);\nexport const MicPulseOff20Filled = /*#__PURE__*/createFluentIcon('MicPulseOff20Filled', \"20\", [\"M6 6.7V10a3 3 0 0 0 3.2 3c.22-.76.59-1.44 1.07-2.02l.71.71a4.5 4.5 0 0 0 6.37 6.29.5.5 0 0 0 .5-.83l-15-15a.5.5 0 1 0-.7.7L6 6.71Zm9.11 9.12-.15.37a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.33-.76 2.4 2.4Zm3.45.62a4.5 4.5 0 0 0-6-6l6 6ZM6.16 4.04l5.66 5.66.18-.1V5a3 3 0 0 0-5.84-.96ZM4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10Z\"]);\nexport const MicPulseOff20Regular = /*#__PURE__*/createFluentIcon('MicPulseOff20Regular', \"20\", [\"M6 6.7V10a3 3 0 0 0 3.2 3c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V7.7l3.98 4a4.5 4.5 0 0 0 6.37 6.29.5.5 0 0 0 .5-.84l-15-15a.5.5 0 1 0-.7.7L6 6.71Zm9.11 9.12-.15.37a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.33-.76 2.4 2.4ZM11 5v3.88l.82.82.18-.1V5a3 3 0 0 0-5.84-.96l.84.84A2 2 0 0 1 11 5Zm7.56 11.44a4.5 4.5 0 0 0-6-6l6 6ZM4.5 10A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Z\"]);\nexport const MicPulseOff24Filled = /*#__PURE__*/createFluentIcon('MicPulseOff24Filled', \"24\", [\"M7 8.06V12a4 4 0 0 0 4.17 4c.23-.94.65-1.8 1.23-2.54l.72.72a5.5 5.5 0 0 0 7.72 7.7.75.75 0 0 0 .94-1.16L3.28 2.22a.75.75 0 1 0-1.06 1.06L7 8.06Zm11.14 11.15-.17.47a.5.5 0 0 1-.94-.02l-.79-2.36 1.9 1.9Zm-2.34-2.35-.34.83A.5.5 0 0 1 15 18h-1a.5.5 0 0 1 0-1h.66l.37-.91.77.77Zm-.26-4.5 7.1 7.1A5.49 5.49 0 0 0 17.5 12c-.69 0-1.35.13-1.96.36ZM7.41 4.23l7.37 7.37.22-.1V6a4 4 0 0 0-7.59-1.77ZM11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Z\"]);\nexport const MicPulseOff24Regular = /*#__PURE__*/createFluentIcon('MicPulseOff24Regular', \"24\", [\"M7 8.06V12a4 4 0 0 0 4.17 4c.14-.58.35-1.13.63-1.63A2.5 2.5 0 0 1 8.5 12V9.56l4.62 4.62a5.5 5.5 0 0 0 7.72 7.7.75.75 0 0 0 .94-1.16L3.28 2.22a.75.75 0 1 0-1.06 1.06L7 8.06Zm11.14 11.15-.17.47a.5.5 0 0 1-.94-.02l-.79-2.36 1.9 1.9Zm-2.34-2.35-.34.83A.5.5 0 0 1 15 18h-1a.5.5 0 0 1 0-1h.66l.37-.91.77.77ZM13.5 6v4.32l1.28 1.28.22-.1V6a4 4 0 0 0-7.59-1.77l1.16 1.16A2.5 2.5 0 0 1 13.5 6Zm2.04 6.36 7.1 7.1A5.49 5.49 0 0 0 17.5 12c-.69 0-1.35.13-1.96.36ZM11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Z\"]);\nexport const MicPulseOff28Filled = /*#__PURE__*/createFluentIcon('MicPulseOff28Filled', \"28\", [\"M8.5 9.56v4.94a4.5 4.5 0 0 0 4.65 4.5 7.47 7.47 0 0 1 1.54-3.25l.71.71a6.5 6.5 0 0 0 9.13 9.13l.19.2a.75.75 0 0 0 1.06-1.07L3.28 2.22a.75.75 0 1 0-1.06 1.06L8.5 9.56Zm12.78 12.78-.31.84a.5.5 0 0 1-.95-.04l-.88-2.94 2.14 2.14Zm-2.4-2.4-.43 1.24a.5.5 0 0 1-.47.34H16.5a.5.5 0 0 1 0-1h1.12l.47-1.37.78.79ZM8.62 5.43l8.4 8.4.47-.22V6.5a4.5 4.5 0 0 0-8.87-1.06Zm9.15 9.16 3.97 3.97a.5.5 0 0 1 .7.2l.48.97.77.78h.8a.5.5 0 0 1 .17.97l1.73 1.73a6.5 6.5 0 0 0-8.63-8.63ZM13 21h.02c.06.99.32 1.93.73 2.77v1.48a.75.75 0 0 1-1.5 0v-2.78A8 8 0 0 1 5 14.5v-.75a.75.75 0 0 1 1.5 0v.75A6.5 6.5 0 0 0 13 21Z\"]);\nexport const MicPulseOff28Regular = /*#__PURE__*/createFluentIcon('MicPulseOff28Regular', \"28\", [\"M8.5 9.56v4.94a4.5 4.5 0 0 0 4.65 4.5c.11-.55.28-1.08.5-1.57A3 3 0 0 1 10 14.5v-3.44l5.4 5.4a6.5 6.5 0 0 0 9.13 9.13l.19.2a.75.75 0 0 0 1.06-1.07L3.28 2.22a.75.75 0 1 0-1.06 1.06L8.5 9.56Zm12.78 12.78-.31.84a.5.5 0 0 1-.95-.04l-.88-2.94 2.14 2.14Zm-2.4-2.4-.43 1.24a.5.5 0 0 1-.47.34H16.5a.5.5 0 0 1 0-1h1.12l.47-1.37.78.79ZM8.62 5.43 10 6.82V6.5a3 3 0 1 1 6 0v6.32l1.03 1.03.47-.23V6.5a4.5 4.5 0 0 0-8.87-1.06Zm9.15 9.16 3.97 3.97a.5.5 0 0 1 .7.2l.48.97.77.78h.8a.5.5 0 0 1 .17.97l1.73 1.73a6.5 6.5 0 0 0-8.63-8.63ZM13 21h.02c.06.99.32 1.93.73 2.77v1.48a.75.75 0 0 1-1.5 0v-2.78A8 8 0 0 1 5 14.5v-.75a.75.75 0 0 1 1.5 0v.75A6.5 6.5 0 0 0 13 21Z\"]);\nexport const MicPulseOff32Filled = /*#__PURE__*/createFluentIcon('MicPulseOff32Filled', \"32\", [\"M9 10.41V16a6 6 0 0 0 5.06 5.93c.2-1.71.89-3.27 1.9-4.55l1.08 1.07a7.5 7.5 0 0 0 10.51 10.51l.74.75a1 1 0 0 0 1.42-1.42l-26-26a1 1 0 0 0-1.42 1.42L9 10.4Zm15.37 15.37-.16.47a.75.75 0 0 1-1.42 0l-1.1-3.14 2.68 2.67Zm-3.18-3.17-.26.68a.75.75 0 0 1-.7.48h-1.48a.75.75 0 0 1 0-1.5h.96l.32-.82 1.16 1.16Zm-1.42-6.38 4.7 4.7.07-.18a.75.75 0 0 1 1.41-.01l.57 1.53h.73a.75.75 0 0 1 .06 1.5l2.46 2.46a7.5 7.5 0 0 0-10-10ZM9.39 5.86l9.26 9.26c.73-.4 1.52-.7 2.35-.9V8A6 6 0 0 0 9.4 5.86ZM7 16a8 8 0 0 0 7.05 7.94c.18 1.78.89 3.4 1.95 4.72V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 5 16a1 1 0 1 1 2 0Z\"]);\nexport const MicPulseOff32Regular = /*#__PURE__*/createFluentIcon('MicPulseOff32Regular', \"32\", [\"M9 10.41V16a6 6 0 0 0 5.06 5.93c.08-.68.24-1.34.46-1.96A4 4 0 0 1 11 16v-3.59l6.04 6.04a7.5 7.5 0 0 0 10.51 10.51l.74.75a1 1 0 0 0 1.42-1.42l-26-26a1 1 0 0 0-1.42 1.42L9 10.4Zm15.37 15.37-.16.47a.75.75 0 0 1-1.42 0l-1.1-3.14 2.68 2.67Zm-3.18-3.17-.26.68a.75.75 0 0 1-.7.48h-1.48a.75.75 0 0 1 0-1.5h.96l.32-.82 1.16 1.16Zm-1.42-6.38 4.7 4.7.07-.18a.75.75 0 0 1 1.41-.01l.57 1.53h.73a.75.75 0 0 1 .06 1.5l2.46 2.46a7.5 7.5 0 0 0-10-10ZM9.39 5.86l1.64 1.63A4 4 0 0 1 19 8v6.94c.63-.32 1.3-.56 2-.72V8A6 6 0 0 0 9.4 5.86ZM7 16a8 8 0 0 0 7.05 7.94c.18 1.78.89 3.4 1.95 4.72V29a1 1 0 1 1-2 0v-3.05A10 10 0 0 1 5 16a1 1 0 1 1 2 0Z\"]);\nexport const MicPulseOff48Filled = /*#__PURE__*/createFluentIcon('MicPulseOff48Filled', \"48\", [\"M14 15.77V24a8 8 0 0 0 8.35 8 12.96 12.96 0 0 1 2.62-5.27l1.42 1.43a11 11 0 0 0 15.46 15.46l.02.01a1.25 1.25 0 0 0 1.76-1.76L6.13 4.37a1.25 1.25 0 1 0-1.76 1.76L14 15.77Zm23.02 23.02-.58 1.56a1 1 0 0 1-1.88-.02l-2.16-6.16 4.62 4.62Zm-5.3-5.3-.74 1.9a1 1 0 0 1-.94.64H28a1 1 0 1 1 0-2h1.36l.81-2.09 1.55 1.55Zm-1.38-8.46 7.06 7.06.16-.44a1 1 0 0 1 1.83-.1l1.23 2.46 1.4.02a1 1 0 0 1-.04 2h-.65l3.64 3.63a11 11 0 0 0-14.63-14.63ZM14.5 9.2l14.35 14.35c.37-.2.76-.39 1.15-.55V12a8 8 0 0 0-15.5-2.8ZM22 35.25c.03 1.68.39 3.29 1 4.76v2.74a1.25 1.25 0 1 1-2.5 0v-5.08A14 14 0 0 1 8 23.75a1.25 1.25 0 1 1 2.5 0A11.5 11.5 0 0 0 22 35.25Z\"]);\nexport const MicPulseOff48Regular = /*#__PURE__*/createFluentIcon('MicPulseOff48Regular', \"48\", [\"M14 15.77V24a8 8 0 0 0 8.35 8c.22-.93.54-1.82.94-2.65A5.51 5.51 0 0 1 16.5 24v-5.73l9.89 9.89a11 11 0 0 0 15.46 15.46l.02.01a1.25 1.25 0 0 0 1.76-1.76L6.13 4.37a1.25 1.25 0 1 0-1.76 1.76L14 15.77Zm23.02 23.02-.58 1.56a1 1 0 0 1-1.88-.02l-2.16-6.16 4.62 4.62Zm-5.3-5.3-.74 1.9a1 1 0 0 1-.94.64H28a1 1 0 1 1 0-2h1.36l.81-2.09 1.55 1.55ZM27.5 12v10.2l1.35 1.35c.37-.2.76-.39 1.15-.55V12a8 8 0 0 0-15.5-2.8l2.05 2.05A5.5 5.5 0 0 1 27.5 12Zm2.84 13.03 7.06 7.06.16-.44a1 1 0 0 1 1.83-.1l1.23 2.46 1.4.02a1 1 0 0 1-.04 2h-.65l3.64 3.63a11 11 0 0 0-14.63-14.63ZM23 40.01a12.95 12.95 0 0 1-1-4.76 11.5 11.5 0 0 1-11.5-11.5 1.25 1.25 0 1 0-2.5 0 14 14 0 0 0 12.5 13.92v5.08a1.25 1.25 0 1 0 2.5 0v-2.74Z\"]);\nexport const MicRecord20Filled = /*#__PURE__*/createFluentIcon('MicRecord20Filled', \"20\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10ZM12 5v4.6A5.51 5.51 0 0 0 9.2 13 3.02 3.02 0 0 1 6 10V5a3 3 0 0 1 6 0Zm5 9.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-8 0a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z\"]);\nexport const MicRecord20Regular = /*#__PURE__*/createFluentIcon('MicRecord20Regular', \"20\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0ZM17 14.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-8 0a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z\"]);\nexport const MicRecord24Filled = /*#__PURE__*/createFluentIcon('MicRecord24Filled', \"24\", [\"M11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Zm.17-1.5A6.51 6.51 0 0 1 15 11.5V6a4 4 0 0 0-8 0v6a4 4 0 0 0 4.17 4ZM20 17.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm3 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-9.5 0a4 4 0 1 0 8 0 4 4 0 0 0-8 0Z\"]);\nexport const MicRecord24Regular = /*#__PURE__*/createFluentIcon('MicRecord24Regular', \"24\", [\"M11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11ZM15 6v5.5a6.5 6.5 0 0 0-1.53.9c.02-.13.03-.26.03-.4V6a2.5 2.5 0 0 0-5 0v6a2.5 2.5 0 0 0 3.3 2.37c-.28.5-.49 1.05-.63 1.63H11a4 4 0 0 1-4-4V6a4 4 0 1 1 8 0Zm5 11.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm3 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-9.5 0a4 4 0 1 0 8 0 4 4 0 0 0-8 0Z\"]);\nexport const MicRecord28Filled = /*#__PURE__*/createFluentIcon('MicRecord28Filled', \"28\", [\"M8.5 6.5a4.5 4.5 0 1 1 9 0v7.12A7.51 7.51 0 0 0 13.15 19H13a4.5 4.5 0 0 1-4.5-4.5v-8ZM13.02 21H13a6.5 6.5 0 0 1-6.5-6.5v-.75a.75.75 0 1 0-1.5 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-1.48a7.46 7.46 0 0 1-.73-2.77Zm7.48 4.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0 1.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0-3a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z\"]);\nexport const MicRecord28Regular = /*#__PURE__*/createFluentIcon('MicRecord28Regular', \"28\", [\"M8.5 6.5a4.5 4.5 0 1 1 9 0v7.12c-.54.24-1.04.53-1.5.88v-8a3 3 0 1 0-6 0v8a3 3 0 0 0 3.66 2.93c-.23.5-.4 1.02-.51 1.57H13a4.5 4.5 0 0 1-4.5-4.5v-8ZM13.02 21H13a6.5 6.5 0 0 1-6.5-6.5v-.75a.75.75 0 1 0-1.5 0v.75a8 8 0 0 0 7.25 7.97v2.78a.75.75 0 0 0 1.5 0v-1.48a7.46 7.46 0 0 1-.73-2.77Zm7.48 4.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0 1.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0-3a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z\"]);\nexport const MicSettings20Filled = /*#__PURE__*/createFluentIcon('MicSettings20Filled', \"20\", [\"M9 13h.2A5.51 5.51 0 0 1 12 9.6V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm7.56 1.44a2 2 0 0 1-1.43 2.48l-.46.12a4.74 4.74 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MicSettings20Regular = /*#__PURE__*/createFluentIcon('MicSettings20Regular', \"20\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm7.56 1.44a2 2 0 0 1-1.43 2.48l-.46.12a4.74 4.74 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MicSettings24Filled = /*#__PURE__*/createFluentIcon('MicSettings24Filled', \"24\", [\"M11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11Zm.17-1.5A6.51 6.51 0 0 1 15 11.5V6a4 4 0 0 0-8 0v6a4 4 0 0 0 4.17 4Zm3.1-2.02a2 2 0 0 1-1.43 2.5l-.59.14a5.73 5.73 0 0 0 0 1.8l.55.13a2 2 0 0 1 1.45 2.51l-.19.63c.44.39.94.7 1.49.93l.49-.52a2 2 0 0 1 2.9 0l.5.52a5.28 5.28 0 0 0 1.48-.91l-.2-.69a2 2 0 0 1 1.44-2.5l.59-.14a5.72 5.72 0 0 0 0-1.8l-.55-.13a2 2 0 0 1-1.45-2.51l.19-.63c-.44-.4-.94-.7-1.49-.93l-.49.52a2 2 0 0 1-2.9 0l-.5-.52c-.54.22-1.04.53-1.48.9l.2.7ZM17.5 19c-.8 0-1.45-.67-1.45-1.5S16.7 16 17.5 16c.8 0 1.45.67 1.45 1.5S18.3 19 17.5 19Z\"]);\nexport const MicSettings24Regular = /*#__PURE__*/createFluentIcon('MicSettings24Regular', \"24\", [\"M11 17.5c0 1.1.27 2.13.75 3.03v.72a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 4 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25H11ZM15 6v5.5a6.5 6.5 0 0 0-1.53.9c.02-.13.03-.26.03-.4V6a2.5 2.5 0 0 0-5 0v6a2.5 2.5 0 0 0 3.3 2.37c-.28.5-.49 1.05-.63 1.63H11a4 4 0 0 1-4-4V6a4 4 0 1 1 8 0Zm-.72 7.98a2 2 0 0 1-1.44 2.5l-.59.14a5.73 5.73 0 0 0 0 1.8l.55.13a2 2 0 0 1 1.45 2.51l-.19.63c.44.39.94.7 1.49.93l.49-.52a2 2 0 0 1 2.9 0l.5.52a5.28 5.28 0 0 0 1.48-.91l-.2-.69a2 2 0 0 1 1.44-2.5l.59-.14a5.72 5.72 0 0 0 0-1.8l-.55-.13a2 2 0 0 1-1.45-2.51l.19-.63c-.44-.4-.94-.7-1.49-.93l-.49.52a2 2 0 0 1-2.9 0l-.5-.52c-.54.22-1.04.53-1.48.9l.2.7ZM17.5 19c-.8 0-1.45-.67-1.45-1.5S16.7 16 17.5 16c.8 0 1.45.67 1.45 1.5S18.3 19 17.5 19Z\"]);\nexport const MicSparkle16Filled = /*#__PURE__*/createFluentIcon('MicSparkle16Filled', \"16\", [\"M5.5 4.5a2.5 2.5 0 0 1 5 0V5h-.02a1.3 1.3 0 0 0-1.22.87v.01L9 6.66a.58.58 0 0 1-.35.36l-.77.25h-.01a1.3 1.3 0 0 0 0 2.46h.01l.77.25a.58.58 0 0 1 .35.31A2.5 2.5 0 0 1 5.5 8V4.5Zm3.82 6.74A3.49 3.49 0 0 1 4.5 8a.5.5 0 0 0-1 0 4.5 4.5 0 0 0 4 4.47v1.03a.5.5 0 0 0 1 0v-1.03a4.47 4.47 0 0 0 1.5-.44 1.25 1.25 0 0 1 0-.13 1.3 1.3 0 0 1-.68-.66Zm1.47-.44a.3.3 0 0 1-.12.14.3.3 0 0 1-.17.06.3.3 0 0 1-.29-.2l-.24-.77a1.58 1.58 0 0 0-1-1l-.77-.25a.3.3 0 0 1 0-.57l.77-.25a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.57 1.57 0 0 0 1 1l.76.24h.02a.3.3 0 0 1 0 .58l-.77.25a1.58 1.58 0 0 0-1 1l-.24.76Zm4.04.97-.62-.2a1.26 1.26 0 0 1-.8-.8l-.2-.6a.24.24 0 0 0-.45 0l-.2.6a1.26 1.26 0 0 1-.79.8l-.6.2a.24.24 0 0 0 0 .46l.6.2a1.26 1.26 0 0 1 .8.8l.2.6a.24.24 0 0 0 .37.13.24.24 0 0 0 .09-.12l.2-.61a1.26 1.26 0 0 1 .8-.8l.6-.2a.24.24 0 0 0 0-.46Z\"]);\nexport const MicSparkle16Regular = /*#__PURE__*/createFluentIcon('MicSparkle16Regular', \"16\", [\"M5.5 4.5a2.5 2.5 0 0 1 5 0V5h-.02a1.3 1.3 0 0 0-.98.45V4.5a1.5 1.5 0 1 0-3 0V8c0 .57.32 1.07.8 1.33.15.18.34.32.57.4h.01l.77.25a.58.58 0 0 1 .35.31A2.5 2.5 0 0 1 5.5 8V4.5Zm7.28 3.71h.02a.3.3 0 0 1 0 .58l-.77.25a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.12.14.3.3 0 0 1-.17.06.3.3 0 0 1-.29-.2l-.24-.77a1.58 1.58 0 0 0-1-1l-.77-.25a.3.3 0 0 1 0-.57l.77-.25a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.57 1.57 0 0 0 1 1l.76.24Zm-3.03 3.55a1.3 1.3 0 0 1-.43-.52A3.49 3.49 0 0 1 4.5 8a.5.5 0 0 0-1 0 4.5 4.5 0 0 0 4 4.47v1.03a.5.5 0 0 0 1 0v-1.03a4.47 4.47 0 0 0 1.5-.44 1.25 1.25 0 0 1 0-.13 1.3 1.3 0 0 1-.25-.14Zm5.08.01-.62-.2a1.26 1.26 0 0 1-.8-.8l-.2-.6a.24.24 0 0 0-.45 0l-.2.6a1.26 1.26 0 0 1-.79.8l-.6.2a.24.24 0 0 0 0 .46l.6.2a1.26 1.26 0 0 1 .8.8l.2.6a.24.24 0 0 0 .37.13.24.24 0 0 0 .09-.12l.2-.61a1.26 1.26 0 0 1 .8-.8l.6-.2a.24.24 0 0 0 0-.46Z\"]);\nexport const MicSparkle20Filled = /*#__PURE__*/createFluentIcon('MicSparkle20Filled', \"20\", [\"M5 9.5c.28 0 .5.22.5.5a4.5 4.5 0 0 0 5.78 4.31 1.42 1.42 0 0 0 1.04.68c-.56.26-1.18.43-1.82.49v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48c0-.28.22-.5.5-.5Zm7.1 4.22a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8h-.02l-1.08-.35a2.2 2.2 0 0 1-1.4-1.4l-.34-1.07a.42.42 0 0 0-.8 0l-.35 1.07a2.2 2.2 0 0 1-1.38 1.4l-1.07.35a.42.42 0 0 0 0 .8l1.07.34a2.2 2.2 0 0 1 1.4 1.4l.35 1.08ZM12.48 6c.18 0 .35.03.52.1V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3.78 2.9 1.2 1.2 0 0 0-.74-.7l-1.08-.36h-.01a1.42 1.42 0 0 1 0-2.68h.01l1.08-.36a1.2 1.2 0 0 0 .74-.76l.35-1.08v-.01A1.42 1.42 0 0 1 12.49 6Zm5.54 8.96.76.25h.02a.3.3 0 0 1 .14.47.3.3 0 0 1-.14.1l-.77.26a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.57 1.57 0 0 0-1-1l-.77-.25a.3.3 0 0 1-.14-.46.3.3 0 0 1 .14-.1l.77-.26a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 1 1Z\"]);\nexport const MicSparkle20Regular = /*#__PURE__*/createFluentIcon('MicSparkle20Regular', \"20\", [\"m13.23 8.35-.35-1.07a.42.42 0 0 0-.8 0l-.35 1.07a2.2 2.2 0 0 1-1.38 1.4l-1.07.35a.42.42 0 0 0 0 .8l1.07.34a2.2 2.2 0 0 1 1.4 1.4l.35 1.08a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8h-.02l-1.08-.35a2.2 2.2 0 0 1-1.4-1.4ZM10 14.5c.45 0 .88-.06 1.28-.19a1.42 1.42 0 0 0 1.04.68c-.56.26-1.18.43-1.82.49v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0 4.5 4.5 0 0 0 4.5 4.5Zm0-1.5a3 3 0 0 0 .78-.1 1.2 1.2 0 0 0-.74-.7l-1.08-.36h-.01a1.42 1.42 0 0 1-.93-1.57A2.02 2.02 0 0 1 8 10V5a2 2 0 1 1 4 0v1.08a1.42 1.42 0 0 1 1 .02V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm8.02 1.96.76.25h.02a.3.3 0 0 1 0 .58l-.77.25a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.58 1.58 0 0 0-1-1l-.77-.25a.3.3 0 0 1 0-.57l.77-.25a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 1 1Z\"]);\nexport const MicSparkle24Filled = /*#__PURE__*/createFluentIcon('MicSparkle24Filled', \"24\", [\"M13.85 15.15a2.85 2.85 0 0 1 .69 1.11l.45 1.38a.54.54 0 0 0 1.02 0l.45-1.38a2.84 2.84 0 0 1 1.8-1.8l1.38-.44a.54.54 0 0 0 0-1.03h-.03l-1.38-.45a2.84 2.84 0 0 1-1.8-1.8L16 9.36a.54.54 0 0 0-1.03 0l-.45 1.38a2.84 2.84 0 0 1-1.77 1.8l-1.38.44a.54.54 0 0 0 0 1.03l1.38.45c.42.14.8.37 1.11.69ZM16 6v2.1a1.54 1.54 0 0 0-1.98.93v.01l-.46 1.39a1.83 1.83 0 0 1-1.14 1.16l-1.38.45a1.54 1.54 0 0 0 0 2.91l1.39.46c.26.09.5.23.7.43A4 4 0 0 1 8 12V6a4 4 0 1 1 8 0Zm-3.75 11.5c.54 0 1.07-.08 1.56-.24l.23.7v.01c.1.25.25.48.45.65-.55.2-1.13.32-1.74.36v2.27a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 5 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25h.72Zm9.77 1.46.76.25h.02a.3.3 0 0 1 .14.47.3.3 0 0 1-.14.1l-.77.26a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.57 1.57 0 0 0-1-1l-.77-.25a.3.3 0 0 1-.14-.46.3.3 0 0 1 .14-.1l.77-.26a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 1 1Z\"]);\nexport const MicSparkle24Regular = /*#__PURE__*/createFluentIcon('MicSparkle24Regular', \"24\", [\"M13.85 15.15a2.85 2.85 0 0 1 .69 1.11l.45 1.38a.54.54 0 0 0 1.02 0l.45-1.38a2.84 2.84 0 0 1 1.8-1.8l1.38-.44a.54.54 0 0 0 0-1.03h-.03l-1.38-.45a2.84 2.84 0 0 1-1.8-1.8L16 9.36a.54.54 0 0 0-1.03 0l-.45 1.38-.01.03a2.84 2.84 0 0 1-1.76 1.77l-1.38.44a.54.54 0 0 0 0 1.03l1.38.45c.42.14.8.37 1.11.69ZM16 6v2.1a1.54 1.54 0 0 0-1.5.24V6a2.5 2.5 0 0 0-5 0v6c0 .56.19 1.08.5 1.5a1.54 1.54 0 0 0 1.03 1.45h.01l1.39.46c.26.09.5.23.7.43A4 4 0 0 1 8 12V6a4 4 0 1 1 8 0Zm-3.75 11.5c.54 0 1.07-.08 1.56-.24l.23.7v.01c.1.25.25.48.45.65-.55.2-1.13.32-1.74.36v2.27a.75.75 0 0 1-1.5.1v-2.37A6.75 6.75 0 0 1 5 12.48v-.73a.75.75 0 0 1 1.5-.1v.6a5.25 5.25 0 0 0 5.03 5.25h.72Zm9.77 1.46.76.25h.02a.3.3 0 0 1 .14.47.3.3 0 0 1-.14.1l-.77.26a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.57 1.57 0 0 0-1-1l-.77-.25a.3.3 0 0 1-.14-.46.3.3 0 0 1 .14-.1l.77-.26a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 1 1Z\"]);\nexport const MicSync20Filled = /*#__PURE__*/createFluentIcon('MicSync20Filled', \"20\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10ZM12 5v4.6A5.51 5.51 0 0 0 9.2 13 3.02 3.02 0 0 1 6 10V5a3 3 0 0 1 6 0Zm-2 9.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const MicSync20Regular = /*#__PURE__*/createFluentIcon('MicSync20Regular', \"20\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm5.5 4.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const Microscope20Filled = /*#__PURE__*/createFluentIcon('Microscope20Filled', \"20\", [\"M7 2.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5V3h.5c.28 0 .5.22.5.5v1.53A6.5 6.5 0 0 1 13.96 17h2.54a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1h7A5.5 5.5 0 0 0 11 6.02v5.48a.5.5 0 0 1-.5.5H10v.5a1.5 1.5 0 0 1-3 0V12h-.5a.5.5 0 0 1-.5-.5v-8c0-.28.22-.5.5-.5H7v-.5ZM8 12v.5a.5.5 0 0 0 1 0V12H8Zm-2.5 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\"]);\nexport const Microscope20Regular = /*#__PURE__*/createFluentIcon('Microscope20Regular', \"20\", [\"M7 2.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5V3h.5c.28 0 .5.22.5.5v1.53A6.5 6.5 0 0 1 13.96 17h2.54a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1h7A5.5 5.5 0 0 0 11 6.02v5.48a.5.5 0 0 1-.5.5H10v.5a1.5 1.5 0 0 1-3 0V12h-.5a.5.5 0 0 1-.5-.5v-8c0-.28.22-.5.5-.5H7v-.5ZM8 12v.5a.5.5 0 0 0 1 0V12H8Zm-1-1h3V4H7v7Zm-1.5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\"]);\nexport const Microscope24Filled = /*#__PURE__*/createFluentIcon('Microscope24Filled', \"24\", [\"M8 2.75c0-.41.34-.75.75-.75h1.5c.41 0 .75.34.75.75V3h1.25c.41 0 .75.34.75.75v1.78h.03a8.25 8.25 0 0 1 3.96 14.97h3.26a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1 0-1.5h8.53A6.75 6.75 0 0 0 13 7.04v5.21c0 .41-.34.75-.75.75h-.75v1a2 2 0 1 1-4 0v-1h-.75a.75.75 0 0 1-.75-.75v-8.5c0-.41.34-.75.75-.75H8v-.25ZM9 13v1a.5.5 0 0 0 1 0v-1H9Zm-3.25 4.5a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Z\"]);\nexport const Microscope24Regular = /*#__PURE__*/createFluentIcon('Microscope24Regular', \"24\", [\"M8 2.75c0-.41.34-.75.75-.75h1.5c.41 0 .75.34.75.75V3h1.25c.41 0 .75.34.75.75v1.78h.03a8.25 8.25 0 0 1 3.96 14.97h3.26a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1 0-1.5h8.53A6.75 6.75 0 0 0 13 7.04v5.21c0 .41-.34.75-.75.75h-.75v1a2 2 0 1 1-4 0v-1h-.75a.75.75 0 0 1-.75-.75v-8.5c0-.41.34-.75.75-.75H8v-.25ZM9 13v1a.5.5 0 0 0 1 0v-1H9Zm-1.5-1.5h4v-7h-4v7Zm-1.75 6a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Z\"]);\nexport const Midi20Filled = /*#__PURE__*/createFluentIcon('Midi20Filled', \"20\", [\"M2.5 4a.5.5 0 0 0-.5.5v11c0 .28.22.5.5.5h15a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-15Zm.5 6h2v3.5a.5.5 0 0 0 1 0V10h2v3.5a.5.5 0 0 0 1 0V10h2v3.5a.5.5 0 0 0 1 0V10h2v3.5a.5.5 0 0 0 1 0V10h2v5H3v-5Zm2.75-2.5a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm6.25-1c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-3 .25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const Midi20Regular = /*#__PURE__*/createFluentIcon('Midi20Regular', \"20\", [\"M12.5 6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM5.75 7.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM9 6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM2 4.5c0-.28.22-.5.5-.5h15c.28 0 .5.22.5.5v11a.5.5 0 0 1-.5.5h-15a.5.5 0 0 1-.5-.5v-11ZM3 5v4h14V5H3Zm5 5H6v3.5a.5.5 0 0 1-1 0V10H3v5h14v-5h-2v3.5a.5.5 0 0 1-1 0V10h-2v3.5a.5.5 0 0 1-1 0V10H9v3.5a.5.5 0 0 1-1 0V10Z\"]);\nexport const Midi24Filled = /*#__PURE__*/createFluentIcon('Midi24Filled', \"24\", [\"M21.25 4c.38 0 .7.29.74.65l.01.1v14.5c0 .38-.28.7-.65.74l-.1.01H2.75a.75.75 0 0 1-.74-.65l-.01-.1V4.75c0-.38.28-.69.65-.74h18.6ZM6 12H3.5v6.5h17V12H18v4.25a.75.75 0 0 1-1.5.1V12h-2v4.25a.75.75 0 0 1-1.5.1V12h-2v4.25a.75.75 0 0 1-1.5.1V12h-2v4.25a.75.75 0 0 1-1.5.1V12Zm11.25-4.5h-2.6a.75.75 0 0 0 0 1.5h2.7a.75.75 0 0 0-.1-1.5Zm-11 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm3 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z\"]);\nexport const Midi24Regular = /*#__PURE__*/createFluentIcon('Midi24Regular', \"24\", [\"M21.25 4c.38 0 .7.28.74.65l.01.1v14.5c0 .38-.28.7-.65.75H2.75a.75.75 0 0 1-.74-.65l-.01-.1V4.75c0-.38.28-.7.65-.74h18.6ZM6 12.5H3.5v6h17v-6H18v3.75a.75.75 0 0 1-1.5.1V12.5h-2v3.75a.75.75 0 0 1-1.5.1V12.5h-2v3.75a.75.75 0 0 1-1.5.1V12.5h-2v3.75a.75.75 0 0 1-1.5.1V12.5Zm14.5-7h-17V11h17V5.5Zm-11.25 2a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Zm8 0a.75.75 0 0 1 .1 1.5h-2.6a.75.75 0 0 1-.1-1.5h2.6Zm-11 0a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const MobileOptimized20Filled = /*#__PURE__*/createFluentIcon('MobileOptimized20Filled', \"20\", [\"M4.5 2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1H4V2.5c0-.28.22-.5.5-.5Zm11 0c.28 0 .5.22.5.5V4h1.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5v-2c0-.28.22-.5.5-.5Zm-11 16a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1H4v1.5c0 .28.22.5.5.5Zm11 0a.5.5 0 0 0 .5-.5V16h1.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5ZM6 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V6Zm2 2.5c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm0 2c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\"]);\nexport const MobileOptimized20Regular = /*#__PURE__*/createFluentIcon('MobileOptimized20Regular', \"20\", [\"M5 2.5a.5.5 0 0 0-1 0V4H2.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2Zm11 0a.5.5 0 0 0-1 0v2c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1H16V2.5ZM7 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H7Zm0 1h6v8H7V6ZM4.5 18a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1H4v1.5c0 .28.22.5.5.5Zm11 0a.5.5 0 0 0 .5-.5V16h1.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5Zm-7-10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\"]);\nexport const MobileOptimized24Filled = /*#__PURE__*/createFluentIcon('MobileOptimized24Filled', \"24\", [\"M19.25 18.5h2a.75.75 0 0 1 .1 1.5H20v1.25a.75.75 0 0 1-1.5.1v-2.1c0-.38.28-.7.65-.74l.1-.01h2-2Zm-16.5 0h2c.38 0 .7.28.74.65l.01.1v2a.75.75 0 0 1-1.5.1V20H2.75a.75.75 0 0 1-.1-1.5h2.1-2Zm14-13c.41 0 .75.34.75.75v11.5c0 .41-.34.75-.75.75h-9.5a.75.75 0 0 1-.75-.75V6.25c0-.41.34-.75.75-.75h9.5Zm-4.5 7.01h-2.5l-.1.01a.75.75 0 0 0 0 1.49h2.7a.75.75 0 0 0-.1-1.5Zm2-3.01h-4.6a.75.75 0 0 0 0 1.5H14.35a.75.75 0 0 0-.1-1.5ZM4.75 2c.38 0 .7.28.74.65l.01.1v2c0 .38-.28.7-.65.74l-.1.01h-2a.75.75 0 0 1-.1-1.5H4V2.75c0-.41.34-.75.75-.75Zm14.5 0c.38 0 .7.28.74.65l.01.1V4h1.25a.75.75 0 0 1 .1 1.5h-2.1a.75.75 0 0 1-.74-.65l-.01-.1v-2c0-.41.34-.75.75-.75Z\"]);\nexport const MobileOptimized24Regular = /*#__PURE__*/createFluentIcon('MobileOptimized24Regular', \"24\", [\"M19.25 18.5h2a.75.75 0 0 1 .1 1.5H20v1.25a.75.75 0 0 1-1.5.1v-2.1c0-.38.28-.7.65-.74l.1-.01h2-2Zm-16.5 0h2c.38 0 .7.28.74.65l.01.1v2a.75.75 0 0 1-1.5.1V20H2.75a.75.75 0 0 1-.1-1.5h2.1-2Zm14-13c.41 0 .75.34.75.75v11.5c0 .41-.34.75-.75.75h-9.5a.75.75 0 0 1-.75-.75V6.25c0-.41.34-.75.75-.75h9.5ZM16 7H8v10h8V7Zm-6.25 5.51h2.5a.75.75 0 0 1 .1 1.5h-2.6a.75.75 0 0 1-.1-1.49h2.6-2.5Zm0-3.01h4.5a.75.75 0 0 1 .1 1.5h-4.6a.75.75 0 0 1-.1-1.5h4.6-4.5Zm-5-7.5c.38 0 .7.28.74.65l.01.1v2c0 .38-.28.7-.65.74l-.1.01h-2a.75.75 0 0 1-.1-1.5H4V2.75c0-.41.34-.75.75-.75Zm14.5 0c.38 0 .7.28.74.65l.01.1V4h1.25a.75.75 0 0 1 .1 1.5h-2.1a.75.75 0 0 1-.74-.65l-.01-.1v-2c0-.41.34-.75.75-.75Z\"]);\nexport const Mold20Filled = /*#__PURE__*/createFluentIcon('Mold20Filled', \"20\", [\"M13 1c.28 0 .5.22.5.5v1.51a3.8 3.8 0 0 1 2 .78l1.65-1.64a.5.5 0 0 1 .7.7L16.21 4.5c.46.6.72 1.3.78 2.01h1.51a.5.5 0 0 1 0 1h-1.56a3.8 3.8 0 0 1-1.06 2l-1.33 1.34 1.3 1.3a.5.5 0 0 1-.7.71l-1.31-1.3-2.3 2.29 1.31 1.3a.5.5 0 0 1-.7.71l-1.31-1.3-1.34 1.33a3.8 3.8 0 0 1-2 1.06v1.56a.5.5 0 0 1-1 0v-1.51a3.8 3.8 0 0 1-2-.78l-1.65 1.65a.5.5 0 0 1-.7-.71l1.64-1.64A3.8 3.8 0 0 1 3 13.5H1.5a.5.5 0 0 1 0-1h1.56a3.8 3.8 0 0 1 1.06-2l1.33-1.34-1.3-1.3a.5.5 0 1 1 .7-.71l1.31 1.3 2.3-2.29-1.31-1.3a.5.5 0 1 1 .7-.71l1.31 1.3 1.34-1.33a3.8 3.8 0 0 1 2-1.06V1.5c0-.28.22-.5.5-.5ZM6.75 14a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM14 6.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"]);\nexport const Mold20Regular = /*#__PURE__*/createFluentIcon('Mold20Regular', \"20\", [\"M13.5 1.5a.5.5 0 0 0-1 0v1.56a3.8 3.8 0 0 0-2 1.06L9.16 5.45l-1.3-1.3a.5.5 0 1 0-.71.7l1.3 1.31-2.29 2.3-1.3-1.31a.5.5 0 1 0-.71.7l1.3 1.31-1.33 1.34a3.8 3.8 0 0 0-1.06 2H1.5a.5.5 0 0 0 0 1h1.51c.06.71.32 1.41.78 2l-1.65 1.65a.5.5 0 1 0 .71.7l1.64-1.64c.6.46 1.3.72 2.01.78v1.51a.5.5 0 0 0 1 0v-1.56a3.8 3.8 0 0 0 2-1.06l1.34-1.33 1.3 1.3a.5.5 0 0 0 .71-.7l-1.3-1.31 2.29-2.3 1.3 1.31a.5.5 0 0 0 .71-.7l-1.3-1.31 1.33-1.34a3.8 3.8 0 0 0 1.06-2h1.56a.5.5 0 0 0 0-1h-1.51a3.8 3.8 0 0 0-.78-2l1.64-1.65a.5.5 0 0 0-.7-.7L15.5 3.79A3.8 3.8 0 0 0 13.5 3V1.5ZM4 13.24v-.1c.01-.7.29-1.4.82-1.94l6.38-6.38a2.8 2.8 0 0 1 3.98 3.98l-6.39 6.38A2.8 2.8 0 0 1 4 13.24Zm2.75.76a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM14 6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const Mold24Filled = /*#__PURE__*/createFluentIcon('Mold24Filled', \"24\", [\"M16.25 2.25a.75.75 0 0 0-1.5 0v1.82c-.85.16-1.67.57-2.33 1.23l-.78.78-1.36-1.36a.75.75 0 1 0-1.06 1.06l1.36 1.36-3.44 3.44-1.36-1.36a.75.75 0 0 0-1.06 1.06l1.36 1.36-.78.78a4.42 4.42 0 0 0-1.22 2.33H2.25a.75.75 0 0 0 0 1.5h1.8c.1.66.36 1.3.77 1.87l-1.6 1.6a.75.75 0 1 0 1.06 1.06l1.6-1.6c.57.4 1.2.66 1.87.77v1.8a.75.75 0 0 0 1.5 0v-1.82a4.42 4.42 0 0 0 2.33-1.23l.78-.78 1.36 1.36a.75.75 0 1 0 1.06-1.06l-1.36-1.36 3.44-3.44 1.36 1.36a.75.75 0 1 0 1.06-1.06l-1.36-1.36.78-.78a4.42 4.42 0 0 0 1.23-2.33h1.82a.75.75 0 0 0 0-1.5h-1.8c-.1-.66-.36-1.3-.76-1.88l1.59-1.59a.75.75 0 0 0-1.06-1.06l-1.6 1.6a4.42 4.42 0 0 0-1.87-.77v-1.8ZM8.5 16.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm8-8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const Mold24Regular = /*#__PURE__*/createFluentIcon('Mold24Regular', \"24\", [\"M16.25 2.25a.75.75 0 0 0-1.5 0v1.82c-.85.16-1.67.57-2.33 1.23l-.78.78-1.36-1.36a.75.75 0 1 0-1.06 1.06l1.36 1.36-3.44 3.44-1.36-1.36a.75.75 0 0 0-1.06 1.06l1.36 1.36-.78.78a4.42 4.42 0 0 0-1.22 2.33H2.25a.75.75 0 0 0 0 1.5h1.8c.1.66.36 1.3.77 1.87l-1.6 1.6a.75.75 0 1 0 1.06 1.06l1.6-1.6c.57.4 1.2.66 1.87.77v1.8a.75.75 0 0 0 1.5 0v-1.82a4.42 4.42 0 0 0 2.33-1.23l.78-.78 1.36 1.36a.75.75 0 1 0 1.06-1.06l-1.36-1.36 3.44-3.44 1.36 1.36a.75.75 0 1 0 1.06-1.06l-1.36-1.36.78-.78a4.42 4.42 0 0 0 1.23-2.33h1.82a.75.75 0 0 0 0-1.5h-1.8c-.1-.66-.36-1.3-.76-1.88l1.59-1.59a.75.75 0 0 0-1.06-1.06l-1.6 1.6a4.42 4.42 0 0 0-1.87-.77v-1.8ZM6.36 13.48l7.12-7.12a2.94 2.94 0 0 1 4.16 4.16l-7.12 7.12a2.94 2.94 0 1 1-4.16-4.16ZM9.5 15.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm6-6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const Mold28Filled = /*#__PURE__*/createFluentIcon('Mold28Filled', \"28\", [\"M19.25 2.25a.75.75 0 0 0-1.5 0v1.8c-1.12.17-2.2.69-3.07 1.55l-1.76 1.76-1.64-1.64a.75.75 0 1 0-1.06 1.06l1.64 1.64-3.44 3.44-1.64-1.64a.75.75 0 1 0-1.06 1.06l1.64 1.64-1.76 1.76a5.44 5.44 0 0 0-1.54 3.07H2.25a.75.75 0 0 0 0 1.5h1.8c.12.92.47 1.81 1.06 2.58l-1.89 1.89a.75.75 0 1 0 1.06 1.06l1.89-1.88c.77.58 1.66.94 2.58 1.06v1.79a.75.75 0 0 0 1.5 0v-1.8a5.44 5.44 0 0 0 3.07-1.55l1.76-1.76 1.64 1.64a.75.75 0 1 0 1.06-1.06l-1.64-1.64 3.44-3.44 1.64 1.64a.75.75 0 1 0 1.06-1.06l-1.64-1.64 1.76-1.76a5.43 5.43 0 0 0 1.55-3.07h1.8a.75.75 0 0 0 0-1.5h-1.8a5.43 5.43 0 0 0-1.05-2.59l1.88-1.88a.75.75 0 0 0-1.06-1.06L21.84 5.1a5.43 5.43 0 0 0-2.59-1.05v-1.8ZM9.5 19.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm10-10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const Mold28Regular = /*#__PURE__*/createFluentIcon('Mold28Regular', \"28\", [\"M19.25 2.25a.75.75 0 0 0-1.5 0v1.8c-1.12.17-2.2.69-3.07 1.55l-1.76 1.76-1.64-1.64a.75.75 0 1 0-1.06 1.06l1.64 1.64-3.44 3.44-1.64-1.64a.75.75 0 1 0-1.06 1.06l1.64 1.64-1.76 1.76a5.44 5.44 0 0 0-1.54 3.07H2.25a.75.75 0 0 0 0 1.5h1.8c.12.92.47 1.81 1.06 2.58l-1.89 1.89a.75.75 0 1 0 1.06 1.06l1.89-1.88c.77.58 1.66.94 2.58 1.06v1.79a.75.75 0 0 0 1.5 0v-1.8a5.44 5.44 0 0 0 3.07-1.55l1.76-1.76 1.64 1.64a.75.75 0 1 0 1.06-1.06l-1.64-1.64 3.44-3.44 1.64 1.64a.75.75 0 1 0 1.06-1.06l-1.64-1.64 1.76-1.76a5.43 5.43 0 0 0 1.55-3.07h1.8a.75.75 0 0 0 0-1.5h-1.8a5.43 5.43 0 0 0-1.05-2.59l1.88-1.88a.75.75 0 0 0-1.06-1.06L21.84 5.1a5.43 5.43 0 0 0-2.59-1.05v-1.8ZM6.66 15.75l9.08-9.09a3.96 3.96 0 1 1 5.6 5.6l-9.08 9.08a3.96 3.96 0 0 1-5.6-5.6Zm3.84 2.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm8-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const Molecule16Filled = /*#__PURE__*/createFluentIcon('Molecule16Filled', \"16\", [\"M11 8a3 3 0 1 0-2.7-1.7L5.94 7.45a2.5 2.5 0 1 0 .76 3.2l2.3 1.15L9 12a2 2 0 1 0 .35-1.13L7 9.69a2.54 2.54 0 0 0-.34-1.46l2.23-1.11A3 3 0 0 0 11 8Z\"]);\nexport const Molecule16Regular = /*#__PURE__*/createFluentIcon('Molecule16Regular', \"16\", [\"M11 8a3 3 0 1 0-2.7-1.7L5.94 7.45a2.5 2.5 0 1 0 .76 3.2l2.3 1.15L9 12a2 2 0 1 0 .35-1.13L7 9.69a2.54 2.54 0 0 0-.34-1.46l2.23-1.11A3 3 0 0 0 11 8Zm0-1a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm-6.5 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm7.5 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const Molecule20Filled = /*#__PURE__*/createFluentIcon('Molecule20Filled', \"20\", [\"M17 6a4 4 0 0 1-7.33 2.22l-1.66.84a3.49 3.49 0 0 1 .82 3.5l2.7 1.4a2.5 2.5 0 1 1-.44.89l-2.7-1.38A3.5 3.5 0 1 1 7.1 8.39l2.13-1.06A4 4 0 1 1 17 6Z\"]);\nexport const Molecule20Regular = /*#__PURE__*/createFluentIcon('Molecule20Regular', \"20\", [\"M13 10a4 4 0 1 0-3.77-2.67L7.1 8.39a3.5 3.5 0 1 0 1.3 5.08l2.69 1.38a2.5 2.5 0 1 0 .44-.9l-2.7-1.38a3.5 3.5 0 0 0-.82-3.51l1.66-.84A4 4 0 0 0 13 10Zm0-1a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm-7.5 5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm9.5 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const Molecule24Filled = /*#__PURE__*/createFluentIcon('Molecule24Filled', \"24\", [\"M16 12a5 5 0 1 0-4.34-2.51l-2.71 1.8A3.99 3.99 0 0 0 2 14a4 4 0 0 0 7.18 2.43l3.89 1.94a3 3 0 1 0 .67-1.34l-3.89-1.94a4 4 0 0 0-.11-2.52l2.86-1.9c.9.82 2.09 1.33 3.4 1.33Z\"]);\nexport const Molecule24Regular = /*#__PURE__*/createFluentIcon('Molecule24Regular', \"24\", [\"M16 12a5 5 0 1 0-4.34-2.51l-2.71 1.8A3.99 3.99 0 0 0 2 14a4 4 0 0 0 7.18 2.43l3.89 1.94a3 3 0 1 0 .67-1.34l-3.89-1.94a4 4 0 0 0-.11-2.52l2.86-1.9c.9.82 2.09 1.33 3.4 1.33Zm0-1.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm-10 6a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5ZM17.5 19a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const Molecule28Filled = /*#__PURE__*/createFluentIcon('Molecule28Filled', \"28\", [\"M19 14a6 6 0 1 0-5.36-3.3l-3.36 2.35a4.5 4.5 0 1 0-.3 5.3l5.2 3.04a3.5 3.5 0 1 0 .77-1.29l-5.23-3.05a4.5 4.5 0 0 0 .16-2.59l3.6-2.52A5.99 5.99 0 0 0 19 14Z\"]);\nexport const Molecule28Regular = /*#__PURE__*/createFluentIcon('Molecule28Regular', \"28\", [\"M19 14a6 6 0 1 0-5.36-3.3l-3.36 2.35a4.5 4.5 0 1 0-.3 5.3l5.2 3.04a3.5 3.5 0 1 0 .77-1.29l-5.23-3.05a4.5 4.5 0 0 0 .16-2.59l3.6-2.52A5.99 5.99 0 0 0 19 14Zm0-1.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-12.5 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm14 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"]);\nexport const Molecule32Filled = /*#__PURE__*/createFluentIcon('Molecule32Filled', \"32\", [\"M22 16a7 7 0 1 0-6.4-4.17l-2.84 2.2a5.49 5.49 0 1 0-.26 7.25l4.77 2.68a4.5 4.5 0 1 0 1.1-1.68l-4.78-2.68a5.48 5.48 0 0 0 .14-3.8l2.93-2.27A6.98 6.98 0 0 0 22 16Z\"]);\nexport const Molecule32Regular = /*#__PURE__*/createFluentIcon('Molecule32Regular', \"32\", [\"M22 16a7 7 0 1 0-6.4-4.17l-2.84 2.2a5.49 5.49 0 1 0-.26 7.25l4.77 2.68a4.5 4.5 0 1 0 1.1-1.68l-4.78-2.68a5.48 5.48 0 0 0 .14-3.8l2.93-2.27A6.98 6.98 0 0 0 22 16Zm0-2a5 5 0 1 1 0-10 5 5 0 0 1 0 10ZM8.5 21a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM24 25.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"]);\nexport const Molecule48Filled = /*#__PURE__*/createFluentIcon('Molecule48Filled', \"48\", [\"M32 24a10 10 0 1 0-8.55-4.8l-5.38 3.58a8 8 0 1 0 .44 9.87l7.68 3.84a6.01 6.01 0 1 0 1.12-2.23l-7.68-3.84a8 8 0 0 0-.25-5.5l5.64-3.76A9.97 9.97 0 0 0 32 24Z\"]);\nexport const Molecule48Regular = /*#__PURE__*/createFluentIcon('Molecule48Regular', \"48\", [\"M32 24a10 10 0 1 0-8.55-4.8l-5.38 3.58a8 8 0 1 0 .44 9.87l7.68 3.84a6.01 6.01 0 1 0 1.12-2.23l-7.68-3.84a8 8 0 0 0-.25-5.5l5.64-3.76A9.97 9.97 0 0 0 32 24Zm0-2.5a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Zm-20 12a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11ZM35.5 38a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\"]);\nexport const Money16Filled = /*#__PURE__*/createFluentIcon('Money16Filled', \"16\", [\"M1 4.25C1 3.56 1.56 3 2.25 3h9.5c.69 0 1.25.56 1.25 1.25v5.5c0 .69-.56 1.25-1.25 1.25h-9.5C1.56 11 1 10.44 1 9.75v-5.5Zm3 .25V4H3v.5a.5.5 0 0 1-.5.5H2v1h.5C3.33 6 4 5.33 4 4.5ZM9 7a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm2-3h-1v.5c0 .83.67 1.5 1.5 1.5h.5V5h-.5a.5.5 0 0 1-.5-.5V4ZM4 9.5C4 8.67 3.33 8 2.5 8H2v1h.5c.28 0 .5.22.5.5v.5h1v-.5Zm7 .5v-.5c0-.28.22-.5.5-.5h.5V8h-.5c-.83 0-1.5.67-1.5 1.5v.5h1Zm-6.5 3a1.5 1.5 0 0 1-1.43-1.04c.14.03.28.04.43.04h8.25C12.99 12 14 11 14 9.75V5.09c.58.2 1 .76 1 1.41v3.25c0 1.8-1.46 3.25-3.25 3.25H4.5Z\"]);\nexport const Money16Regular = /*#__PURE__*/createFluentIcon('Money16Regular', \"16\", [\"M9 7a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM1 4.25C1 3.56 1.56 3 2.25 3h9.5c.69 0 1.25.56 1.25 1.25v5.5c0 .69-.56 1.25-1.25 1.25h-9.5C1.56 11 1 10.44 1 9.75v-5.5ZM2.25 4a.25.25 0 0 0-.25.25V5h.5a.5.5 0 0 0 .5-.5V4h-.75ZM2 9.75c0 .14.11.25.25.25H3v-.5a.5.5 0 0 0-.5-.5H2v.75Zm2-.25v.5h6v-.5c0-.83.67-1.5 1.5-1.5h.5V6h-.5A1.5 1.5 0 0 1 10 4.5V4H4v.5C4 5.33 3.33 6 2.5 6H2v2h.5C3.33 8 4 8.67 4 9.5Zm7 .5h.75c.14 0 .25-.11.25-.25V9h-.5a.5.5 0 0 0-.5.5v.5Zm1-5v-.75a.25.25 0 0 0-.25-.25H11v.5c0 .28.22.5.5.5h.5Zm-7.5 8a1.5 1.5 0 0 1-1.43-1.04c.14.03.28.04.43.04h8.25C12.99 12 14 11 14 9.75V5.09c.58.2 1 .76 1 1.41v3.25c0 1.8-1.46 3.25-3.25 3.25H4.5Z\"]);\nexport const Money20Filled = /*#__PURE__*/createFluentIcon('Money20Filled', \"20\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-11ZM6 5v1a2 2 0 0 1-2 2H3V7h1a1 1 0 0 0 1-1V5h1Zm3 5.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm11 0a1 1 0 0 0-1 1v1h-1v-1c0-1.1.9-2 2-2h1v1h-1Zm0-4h1v1h-1a2 2 0 0 1-2-2V5h1v1a1 1 0 0 0 1 1Zm3 5.5a2.5 2.5 0 0 1-2.5 2.5H4.09c.2.58.76 1 1.41 1h9a3.5 3.5 0 0 0 3.5-3.5v-5c0-.65-.42-1.2-1-1.41v6.41Z\"]);\nexport const Money20Regular = /*#__PURE__*/createFluentIcon('Money20Regular', \"20\", [\"M7 9a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-11ZM3 5.5c0-.28.22-.5.5-.5H5v1a1 1 0 0 1-1 1H3V5.5ZM3 8h1a2 2 0 0 0 2-2V5h6v1c0 1.1.9 2 2 2h1v2h-1a2 2 0 0 0-2 2v1H6v-1a2 2 0 0 0-2-2H3V8Zm10-3h1.5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5Zm2 6v1.5a.5.5 0 0 1-.5.5H13v-1a1 1 0 0 1 1-1h1ZM5 13H3.5a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1Zm12-.5a2.5 2.5 0 0 1-2.5 2.5H4.09c.2.58.76 1 1.41 1h9a3.5 3.5 0 0 0 3.5-3.5v-5c0-.65-.42-1.2-1-1.41v6.41Z\"]);\nexport const Money24Filled = /*#__PURE__*/createFluentIcon('Money24Filled', \"24\", [\"M2 6.75C2 5.78 2.78 5 3.75 5h13.5c.97 0 1.75.78 1.75 1.75v8.5c0 .97-.78 1.75-1.75 1.75H3.75C2.78 17 2 16.22 2 15.25v-8.5Zm3-.5v1c0 .41-.34.75-.75.75h-1v1.5h1c1.24 0 2.25-1 2.25-2.25v-1H5Zm5.5 7.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Zm-7.25.5h1c.41 0 .75.34.75.75v1h1.5v-1c0-1.24-1-2.25-2.25-2.25h-1V14Zm12.75.75c0-.41.34-.75.75-.75h1v-1.5h-1c-1.24 0-2.25 1-2.25 2.25v1H16v-1Zm0-7.5v-1h-1.5v1c0 1.24 1 2.25 2.25 2.25h1V8h-1a.75.75 0 0 1-.75-.75ZM4.4 18.5A3 3 0 0 0 7 20h10.25A4.75 4.75 0 0 0 22 15.25V10a3 3 0 0 0-1.5-2.6v7.85c0 1.8-1.46 3.25-3.25 3.25H4.4Z\"]);\nexport const Money24Regular = /*#__PURE__*/createFluentIcon('Money24Regular', \"24\", [\"M10.5 8a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM9 11a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM2 7.25C2 6.01 3 5 4.25 5h12.5C17.99 5 19 6 19 7.25v7.5c0 1.24-1 2.25-2.25 2.25H4.25C3.01 17 2 16 2 14.75v-7.5Zm2.25-.75a.75.75 0 0 0-.75.75V8h.75c.41 0 .75-.34.75-.75V6.5h-.75Zm-.75 6h.75c1.24 0 2.25 1 2.25 2.25v.75h8v-.75c0-1.24 1-2.25 2.25-2.25h.75v-3h-.75c-1.24 0-2.25-1-2.25-2.25V6.5h-8v.75c0 1.24-1 2.25-2.25 2.25H3.5v3Zm14-4.5v-.75a.75.75 0 0 0-.75-.75H16v.75c0 .41.34.75.75.75h.75Zm0 6h-.75a.75.75 0 0 0-.75.75v.75h.75c.41 0 .75-.34.75-.75V14Zm-14 .75c0 .41.34.75.75.75H5v-.75a.75.75 0 0 0-.75-.75H3.5v.75Zm.9 3.75A3 3 0 0 0 7 20h10.25A4.75 4.75 0 0 0 22 15.25V10a3 3 0 0 0-1.5-2.6v7.85c0 1.8-1.46 3.25-3.25 3.25H4.4Z\"]);\nexport const MoneyCalculator20Filled = /*#__PURE__*/createFluentIcon('MoneyCalculator20Filled', \"20\", [\"M2 4.5C2 3.67 2.67 3 3.5 3h11c.83 0 1.5.67 1.5 1.5V8h-3a2 2 0 0 0-2 2v3H3.5A1.5 1.5 0 0 1 2 11.5v-7ZM4 7a2 2 0 0 0 2-2V4H5v1a1 1 0 0 1-1 1H3v1h1Zm3.25 1a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0ZM3 9v1h1a1 1 0 0 1 1 1v1h1v-1a2 2 0 0 0-2-2H3Zm12-2V6h-1a1 1 0 0 1-1-1V4h-1v1c0 1.1.9 2 2 2h1Zm2 1V5.09c.58.2 1 .76 1 1.41V8h-1Zm-6 6v1H5.5a1.5 1.5 0 0 1-1.41-1H11Zm2.5-5c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-4Zm0 4h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1ZM13 10.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const MoneyCalculator20Regular = /*#__PURE__*/createFluentIcon('MoneyCalculator20Regular', \"20\", [\"M9 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM8 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM2 4.5C2 3.67 2.67 3 3.5 3h11c.83 0 1.5.67 1.5 1.5V8h-1V7h-1a2 2 0 0 1-2-2V4H6v1a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v1h5v1H3.5A1.5 1.5 0 0 1 2 11.5v-7ZM3.5 4a.5.5 0 0 0-.5.5V6h1a1 1 0 0 0 1-1V4H3.5Zm11 0H13v1a1 1 0 0 0 1 1h1V4.5a.5.5 0 0 0-.5-.5Zm-11 8H5v-1a1 1 0 0 0-1-1H3v1.5c0 .28.22.5.5.5ZM17 8V5.09c.58.2 1 .76 1 1.41V8h-1Zm-6 6v1H5.5a1.5 1.5 0 0 1-1.41-1H11Zm2.5-5c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-4Zm0 4h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1ZM13 10.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const MoneyCalculator24Filled = /*#__PURE__*/createFluentIcon('MoneyCalculator24Filled', \"24\", [\"M2 5.75C2 4.78 2.78 4 3.75 4h13.5c.97 0 1.75.78 1.75 1.75V11h-3a2 2 0 0 0-2 2v3H3.75C2.78 16 2 15.22 2 14.25v-8.5Zm3 .5c0 .41-.34.75-.75.75h-1v1.5h1c1.24 0 2.25-1 2.25-2.25v-1H5v1Zm5.5 6.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Zm-6.25.5c.41 0 .75.34.75.75v1h1.5v-1c0-1.24-1-2.25-2.25-2.25h-1V13h1Zm12.5-6a.75.75 0 0 1-.75-.75v-1h-1.5v1c0 1.24 1 2.25 2.25 2.25h1V7h-1ZM4.4 17.5H14V19H7a3 3 0 0 1-2.6-1.5ZM22 9v2h-1.5V6.4A3 3 0 0 1 22 9Zm-5.5 3c-.83 0-1.5.67-1.5 1.5v8c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-5Zm.5 4.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1ZM16.5 14c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const MoneyCalculator24Regular = /*#__PURE__*/createFluentIcon('MoneyCalculator24Regular', \"24\", [\"M10.5 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM9 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM2 6.25C2 5.01 3 4 4.25 4h12.5C17.99 4 19 5 19 6.25V11h-1.5V8.5h-.75c-1.24 0-2.25-1-2.25-2.25V5.5h-8v.75c0 1.24-1 2.25-2.25 2.25H3.5v3h.75c1.24 0 2.25 1 2.25 2.25v.75H14V16H4.25C3.01 16 2 15 2 13.75v-7.5Zm2.25-.75a.75.75 0 0 0-.75.75V7h.75c.41 0 .75-.34.75-.75V5.5h-.75ZM17.5 7v-.75a.75.75 0 0 0-.75-.75H16v.75c0 .41.34.75.75.75h.75Zm-14 6.75c0 .41.34.75.75.75H5v-.75a.75.75 0 0 0-.75-.75H3.5v.75Zm.9 3.75H14V19H7a3 3 0 0 1-2.6-1.5ZM22 11V9a3 3 0 0 0-1.5-2.6V11H22Zm-5.5 1c-.83 0-1.5.67-1.5 1.5v8c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-5Zm.5 4.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1ZM16.5 14c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const MoneyDismiss20Filled = /*#__PURE__*/createFluentIcon('MoneyDismiss20Filled', \"20\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52A5.5 5.5 0 0 1 16 9.2V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM6 6a2 2 0 0 1-2 2H3V7h1a1 1 0 0 0 1-1V5h1v1Zm3 4.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm10-5a1 1 0 0 0 1 1h1v1h-1a2 2 0 0 1-2-2V5h1v1Zm-8.91 9h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm1 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-3.8 0 1.15-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15Z\"]);\nexport const MoneyDismiss20Regular = /*#__PURE__*/createFluentIcon('MoneyDismiss20Regular', \"20\", [\"M7 9a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52c.03-.34.1-.68.19-1H6v-1a2 2 0 0 0-2-2H3V8h1a2 2 0 0 0 2-2V5h6v1c0 1.1.9 2 2 2h1v1.02c.34.03.68.1 1 .19V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM3 5.5c0-.28.22-.5.5-.5H5v1a1 1 0 0 1-1 1H3V5.5ZM13 5h1.5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5Zm-8 8H3.5a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1Zm-.91 2h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm1 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-3.8 0 1.15-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15Z\"]);\nexport const MoneyDismiss24Filled = /*#__PURE__*/createFluentIcon('MoneyDismiss24Filled', \"24\", [\"M2 6.75C2 5.78 2.78 5 3.75 5h13.5c.97 0 1.75.78 1.75 1.75v4.42A6.52 6.52 0 0 0 11.02 17H3.75C2.78 17 2 16.22 2 15.25v-8.5Zm3 .5c0 .41-.34.75-.75.75h-1v1.5h1c1.24 0 2.25-1 2.25-2.25v-1H5v1Zm5.5 6.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Zm-6.25.5c.41 0 .75.34.75.75v1h1.5v-1c0-1.24-1-2.25-2.25-2.25h-1V14h1Zm12.5-6a.75.75 0 0 1-.75-.75v-1h-1.5v1c0 1.24 1 2.25 2.25 2.25h1V8h-1ZM4.4 18.5h6.68c.08.52.22 1.03.42 1.5H7a3 3 0 0 1-2.6-1.5Zm16.1-6.77c.55.29 1.06.65 1.5 1.08V10a3 3 0 0 0-1.5-2.6v4.33ZM23 17.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7l-1.64-1.65 1.64-1.65a.5.5 0 0 0-.7-.7l-1.65 1.64-1.65-1.64Z\"]);\nexport const MoneyDismiss24Regular = /*#__PURE__*/createFluentIcon('MoneyDismiss24Regular', \"24\", [\"M10.5 8a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM9 11a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM2 7.25C2 6.01 3 5 4.25 5h12.5C17.99 5 19 6 19 7.25v3.92a6.52 6.52 0 0 0-1.5-.17V9.5h-.75c-1.24 0-2.25-1-2.25-2.25V6.5h-8v.75c0 1.24-1 2.25-2.25 2.25H3.5v3h.75c1.24 0 2.25 1 2.25 2.25v.75h4.81c-.15.48-.25.98-.3 1.5H4.26C3.01 17 2 16 2 14.75v-7.5Zm2.25-.75a.75.75 0 0 0-.75.75V8h.75c.41 0 .75-.34.75-.75V6.5h-.75ZM17.5 8v-.75a.75.75 0 0 0-.75-.75H16v.75c0 .41.34.75.75.75h.75Zm-14 6.75c0 .41.34.75.75.75H5v-.75a.75.75 0 0 0-.75-.75H3.5v.75Zm.9 3.75h6.68c.08.52.22 1.03.42 1.5H7a3 3 0 0 1-2.6-1.5Zm16.1-6.77c.55.29 1.06.65 1.5 1.08V10a3 3 0 0 0-1.5-2.6v4.33ZM23 17.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.15-2.35a.5.5 0 0 0-.7.7l1.64 1.65-1.64 1.65a.5.5 0 0 0 .7.7l1.65-1.64 1.65 1.64a.5.5 0 0 0 .7-.7l-1.64-1.65 1.64-1.65a.5.5 0 0 0-.7-.7l-1.65 1.64-1.65-1.64Z\"]);\nexport const MoneyHand16Filled = /*#__PURE__*/createFluentIcon('MoneyHand16Filled', \"16\", [\"M2 2.75C2 1.78 2.78 1 3.75 1h4.5C9.22 1 10 1.78 10 2.75v.54l2.97 2.98A3.5 3.5 0 0 1 14 8.74v5.76a.5.5 0 1 1-1 0V8.74c0-.66-.26-1.3-.73-1.77L10 4.71v2.58l.85.86a.5.5 0 0 1-.7.7L8.12 6.82l-.4-.34a.74.74 0 0 0-.86 1.18l1.5 1.49c.09.09.14.22.14.35v1a1 1 0 0 0 1 1c.28 0 .5.22.5.5v1.25c0 .97-.78 1.75-1.75 1.75h-4.5C2.78 15 2 14.22 2 13.25V2.75Zm7 10v-.31a2 2 0 0 1-.79-.41A1.5 1.5 0 0 0 7 13.5v.5h.75c.09 0 .17 0 .25-.03v-.47c0-.28.22-.5.5-.5h.47c.02-.08.03-.16.03-.25ZM7.3 9.51 6.17 8.36A1.74 1.74 0 0 1 6.06 6H6a2 2 0 1 0 1.3 3.51ZM5 2.5V2h-.75c-.09 0-.17 0-.25.02v.48a.5.5 0 0 1-.5.5h-.48L3 3.25V4h.5C4.33 4 5 3.33 5 2.5ZM3.5 12H3v.75c0 .09 0 .17.02.25h.48c.28 0 .5.22.5.5v.47c.08.02.16.03.25.03H5v-.5c0-.83-.67-1.5-1.5-1.5ZM8 2.5v-.48A1.26 1.26 0 0 0 7.75 2H7v.5C7 3.33 7.67 4 8.5 4H9v-.75c0-.09 0-.17-.03-.25H8.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const MoneyHand16Regular = /*#__PURE__*/createFluentIcon('MoneyHand16Regular', \"16\", [\"M3 2.75V3h.5a.5.5 0 0 0 .5-.5V2h-.25a.75.75 0 0 0-.75.75ZM3.75 1h4.5C9.22 1 10 1.78 10 2.75v.54l2.97 2.98A3.5 3.5 0 0 1 14 8.74v5.76a.5.5 0 0 1-1 0V8.74c0-.66-.26-1.3-.73-1.77L10 4.71v2.58l.85.86a.5.5 0 0 1-.7.7l-.99-.98a.5.5 0 0 1-.03-.03L7.91 6.6a.74.74 0 1 0-1.05 1.05l1.5 1.49c.09.09.14.22.14.35v1a1 1 0 0 0 1 1c.28 0 .5.22.5.5v1.25c0 .97-.78 1.75-1.75 1.75h-4.5C2.78 15 2 14.22 2 13.25V2.75C2 1.78 2.78 1 3.75 1ZM8 14h.25c.41 0 .75-.34.75-.75V13h-.5a.5.5 0 0 0-.5.5v.5Zm.21-1.97a2 2 0 0 1-.7-1.53v-.8l-.2-.19A2 2 0 1 1 6.07 6a1.75 1.75 0 0 1 2.54-.1l.39.4V4h-.5A1.5 1.5 0 0 1 7 2.5V2H5v.5C5 3.33 4.33 4 3.5 4H3v8h.5c.83 0 1.5.67 1.5 1.5v.5h2v-.5c0-.73.52-1.34 1.21-1.47ZM8.5 3H9v-.25A.75.75 0 0 0 8.25 2H8v.5c0 .28.22.5.5.5ZM3 13v.25c0 .41.34.75.75.75H4v-.5a.5.5 0 0 0-.5-.5H3Zm3.6-4.2-.44-.44a1.73 1.73 0 0 1-.51-1.3A1 1 0 1 0 6.6 8.8Z\"]);\nexport const MoneyHand20Filled = /*#__PURE__*/createFluentIcon('MoneyHand20Filled', \"20\", [\"M3 3.5C3 2.67 3.67 2 4.5 2h7c.83 0 1.5.67 1.5 1.5v1.8l3.27 3.26c.47.47.73 1.1.73 1.77v7.17a.5.5 0 0 1-1 0v-7.17c0-.4-.16-.78-.44-1.06L13 6.7v3.08l.85.86a.5.5 0 0 1-.7.7l-3-3c-.43-.42-.66-.4-.76-.38-.18.05-.33.19-.54.4-.1.09-.15.18-.13.32.03.18.17.49.63.96.98.97 1.1 1.1 1.22 1.2l.28.3c.1.09.15.22.15.35 0 .77 0 1.55.22 2.14.1.28.24.49.42.62.18.14.45.24.86.24.28 0 .5.22.5.5v1.5c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 16.5v-13Zm5 4a2.5 2.5 0 1 0 1.9 4.12l-.04-.05-1.21-1.22a2.85 2.85 0 0 1-.91-1.51c-.08-.52.13-.93.41-1.2l.04-.04.1-.08L8 7.5Zm2 9v.5h1v-.5c0-.28.22-.5.5-.5h.5v-.54c-.37-.06-.68-.2-.95-.4-.6.2-1.05.77-1.05 1.44ZM4 5h.5C5.33 5 6 4.33 6 3.5V3H5v.5a.5.5 0 0 1-.5.5H4v1Zm6-1.5c0 .83.67 1.5 1.5 1.5h.5V4h-.5a.5.5 0 0 1-.5-.5V3h-1v.5Zm-4 13c0-.83-.67-1.5-1.5-1.5H4v1h.5c.28 0 .5.22.5.5v.5h1v-.5Z\"]);\nexport const MoneyHand20Regular = /*#__PURE__*/createFluentIcon('MoneyHand20Regular', \"20\", [\"M4.5 2C3.67 2 3 2.67 3 3.5v13c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5V15a.5.5 0 0 0-.5-.5c-.41 0-.68-.1-.86-.24a1.3 1.3 0 0 1-.42-.62A6.69 6.69 0 0 1 11 11.5a.5.5 0 0 0-.15-.35l-.28-.3-1.22-1.2c-.46-.47-.6-.78-.63-.96-.02-.14.03-.23.13-.33.21-.2.36-.34.54-.39.1-.02.33-.04.76.38l3 3a.5.5 0 0 0 .7-.7L13 9.79V6.71l2.56 2.56c.28.28.44.66.44 1.06v7.17a.5.5 0 0 0 1 0v-7.17c0-.66-.26-1.3-.73-1.77L13 5.3V3.5c0-.83-.67-1.5-1.5-1.5h-7ZM12 5.5v3.3l-1.15-1.15c-.57-.58-1.15-.78-1.7-.65-.11.03-.22.07-.31.12A3 3 0 1 0 10 12.23c.01.58.07 1.21.27 1.75.15.41.38.8.76 1.08h.01c-.6.2-1.05.77-1.05 1.44v.5H6v-.5c0-.83-.67-1.5-1.5-1.5H4V5h.5C5.33 5 6 4.33 6 3.5V3h4v.5c0 .83.67 1.5 1.5 1.5h.5v.5Zm0 11a.5.5 0 0 1-.5.5H11v-.5c0-.28.22-.5.5-.5h.5v.5ZM6 10a2 2 0 0 1 1.87-2c-.12.23-.18.51-.13.84.07.48.37.98.9 1.51l.91.91A2 2 0 0 1 6 10ZM5 3v.5a.5.5 0 0 1-.5.5H4v-.5c0-.28.22-.5.5-.5H5ZM4 16h.5c.28 0 .5.22.5.5v.5h-.5a.5.5 0 0 1-.5-.5V16Zm8-12h-.5a.5.5 0 0 1-.5-.5V3h.5c.28 0 .5.22.5.5V4Z\"]);\nexport const MoneyHand24Filled = /*#__PURE__*/createFluentIcon('MoneyHand24Filled', \"24\", [\"M6.25 2C5.01 2 4 3 4 4.25v15.5C4 20.99 5 22 6.25 22h7.5c1.24 0 2.24-1 2.25-2.23v-1.52a.75.75 0 0 0-.75-.75c-.45 0-.74-.12-.94-.28-.2-.17-.38-.43-.5-.79a8.4 8.4 0 0 1-.3-2.68.75.75 0 0 0-.21-.51l-.17-.18-.17-.17-1.18-1.17a3 3 0 0 1-.81-1.17.62.62 0 0 1-.02-.32c.02-.09.08-.2.2-.33a.7.7 0 0 1 .33-.2.61.61 0 0 1 .32.02c.3.08.7.34 1.17.81l1.51 1.5c.76.75 1.38 1.36 1.72 1.73a.75.75 0 0 0 1.1-1.02L16 11.42V8.06l2.84 2.84c.42.42.66 1 .66 1.6v8.75a.75.75 0 0 0 1.5 0v-8.76c0-1-.4-1.95-1.1-2.65L16 5.94V4.25C16 3.01 15 2 13.75 2h-7.5Zm7.12 16.39c.33.26.7.44 1.13.53V19h-.75a.75.75 0 0 0-.75.75v.75h-1.5v-.75c0-.9.52-1.67 1.28-2.03.16.25.35.47.6.67ZM12 14.05c0 .25 0 .52.02.8a3.5 3.5 0 1 1-1.55-6.32 2.48 2.48 0 0 0-.97 1.32c-.1.38-.07.76.02 1.1.2.68.67 1.3 1.2 1.83A66.72 66.72 0 0 0 11.96 14l.04.04ZM7 3.5h1.5v.75c0 1.24-1 2.25-2.25 2.25H5.5V5h.75c.41 0 .75-.34.75-.75V3.5Zm4.5 0H13v.75c0 .41.34.75.75.75h.75v1.5h-.75c-1.24 0-2.25-1-2.25-2.25V3.5Zm-3 17H7v-.75a.75.75 0 0 0-.75-.75H5.5v-1.5h.75c1.24 0 2.25 1 2.25 2.25v.75Z\"]);\nexport const MoneyHand24Regular = /*#__PURE__*/createFluentIcon('MoneyHand24Regular', \"24\", [\"M6.25 2C5.01 2 4 3 4 4.25v15.5C4 20.99 5 22 6.25 22h7.5c1.24 0 2.24-1 2.25-2.23v-1.52a.75.75 0 0 0-.75-.75c-.45 0-.74-.12-.94-.28-.2-.17-.38-.43-.5-.79a8.4 8.4 0 0 1-.3-2.68.75.75 0 0 0-.21-.51l-.17-.18-.17-.17-1.18-1.17a3 3 0 0 1-.81-1.17.62.62 0 0 1-.02-.32c.02-.09.08-.2.2-.33a.7.7 0 0 1 .33-.2.61.61 0 0 1 .32.02c.3.08.7.34 1.17.81l1.51 1.5c.76.75 1.38 1.36 1.72 1.73a.75.75 0 0 0 1.1-1.02L16 11.42V8.06l2.84 2.84c.42.42.66 1 .66 1.6v8.75a.75.75 0 0 0 1.5 0v-8.76c0-1-.4-1.95-1.1-2.65L16 5.94V4.25C16 3.01 15 2 13.75 2h-7.5Zm6.14 14.94c.1.27.22.53.39.78a2.25 2.25 0 0 0-1.28 2.03v.75h-3v-.75c0-1.24-1-2.25-2.25-2.25H5.5v-11h.75c1.24 0 2.25-1 2.25-2.25V3.5h3v.75c0 1.24 1 2.25 2.25 2.25h.75v3.44l-.47-.47c-.53-.53-1.15-1-1.82-1.2a2.1 2.1 0 0 0-1.74.26 3.5 3.5 0 1 0 1.55 6.32c.04.69.13 1.43.37 2.09ZM8 12a2 2 0 0 1 1.46-1.93c-.05.3-.02.6.06.89.2.67.67 1.29 1.2 1.82l.67.66A2 2 0 0 1 8 12ZM5.5 4.25c0-.41.34-.75.75-.75H7v.75c0 .41-.34.75-.75.75H5.5v-.75ZM13 3.5h.75c.41 0 .75.34.75.75V5h-.75a.75.75 0 0 1-.75-.75V3.5ZM14.5 19v.75c0 .41-.34.75-.75.75H13v-.75c0-.41.34-.75.75-.75h.75ZM7 20.5h-.75a.75.75 0 0 1-.75-.75V19h.75c.41 0 .75.34.75.75v.75Z\"]);\nexport const MoneyOff20Filled = /*#__PURE__*/createFluentIcon('MoneyOff20Filled', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.3 4.01C2.57 4.11 2 4.74 2 5.5v7c0 .83.67 1.5 1.5 1.5h9.8l1 1H4.08c.2.58.76 1 1.41 1h9c.25 0 .49-.03.72-.07l1.93 1.92a.5.5 0 0 0 .7-.7l-15-15Zm6.98 8.39a1.75 1.75 0 0 1-2.37-2.37l2.37 2.37ZM5.9 6.61A2 2 0 0 1 4 8H3V7h1a1 1 0 0 0 1-1v-.3l.9.91ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm6.42-3.7 1.28 1.28 1.95 1.95A2 2 0 0 1 14 10h1v1h-1a1 1 0 0 0-.65.24l2.27 2.26c.24-.27.38-.62.38-1v-7c0-.83-.67-1.5-1.5-1.5H6.12l3.3 3.3ZM15 7v1h-1a2 2 0 0 1-2-2V5h1v1a1 1 0 0 0 1 1h1Zm1.33 7.2.7.72c.6-.63.97-1.48.97-2.42v-5c0-.65-.42-1.2-1-1.41v6.41a2.5 2.5 0 0 1-.67 1.7Z\"]);\nexport const MoneyOff20Regular = /*#__PURE__*/createFluentIcon('MoneyOff20Regular', \"20\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.3 4.01C2.57 4.11 2 4.74 2 5.5v7c0 .83.67 1.5 1.5 1.5h9.8l1 1H4.08c.2.58.76 1 1.41 1h9c.25 0 .49-.03.72-.07l1.93 1.92a.5.5 0 0 0 .7-.7l-15-15ZM12 12.7V13H6v-1a2 2 0 0 0-2-2H3V8h1a2 2 0 0 0 1.9-1.39l1.38 1.37a2 2 0 0 0 2.74 2.74L12 12.71ZM4.3 5l.7.7V6a1 1 0 0 1-1 1H3V5.5c0-.28.22-.5.5-.5h.8Zm3.73 3.74 1.23 1.23a1 1 0 0 1-1.23-1.23ZM3.5 13a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1H3.5ZM14 10a2 2 0 0 0-1.35.53l.7.7A1 1 0 0 1 14 11h1v1.5c0 .1-.03.2-.1.29l.72.71c.24-.27.38-.62.38-1v-7c0-.83-.67-1.5-1.5-1.5H6.12l1 1H12v1c0 1.1.9 2 2 2h1v2h-1Zm.5-5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5h1.5Zm1.83 9.2.7.72c.6-.63.97-1.48.97-2.42v-5c0-.65-.42-1.2-1-1.41v6.41a2.5 2.5 0 0 1-.67 1.7Z\"]);\nexport const MoneyOff24Filled = /*#__PURE__*/createFluentIcon('MoneyOff24Filled', \"24\", [\"M3.28 2.22a.75.75 0 0 0-1.06 1.06L3.94 5h-.19C2.78 5 2 5.78 2 6.75v8.5c0 .97.78 1.75 1.75 1.75h12.19l1.5 1.5H4.4A3 3 0 0 0 7 20h10.25c.51 0 1-.08 1.46-.23l2.01 2.01a.75.75 0 1 0 1.06-1.06L3.28 2.22Zm8.65 10.77a2.25 2.25 0 0 1-3.17-3.17L11.93 13ZM5.19 6.25l1.3 1.3A2.25 2.25 0 0 1 4.24 9.5h-1V8h1c.41 0 .75-.34.75-.75v-1h.19ZM4.25 14h-1v-1.5h1c1.24 0 2.25 1 2.25 2.25v1H5v-1a.75.75 0 0 0-.75-.75Zm13.5 0h-.57l1.75 1.75c.04-.16.07-.33.07-.5v-8.5C19 5.78 18.22 5 17.25 5H8.18l7.68 7.68c.27-.12.57-.18.89-.18h1V14ZM16 6.25v1c0 .41.34.75.75.75h1v1.5h-1c-1.24 0-2.25-1-2.25-2.25v-1H16Zm4.06 10.63 1.09 1.09c.53-.77.85-1.71.85-2.72V10a3 3 0 0 0-1.5-2.6v7.85c0 .6-.16 1.15-.44 1.63Z\"]);\nexport const MoneyOff24Regular = /*#__PURE__*/createFluentIcon('MoneyOff24Regular', \"24\", [\"M3.28 2.22a.75.75 0 0 0-1.06 1.06l1.74 1.74A2.25 2.25 0 0 0 2 7.25v7.5C2 15.99 3 17 4.25 17h11.69l1.5 1.5H4.4A3 3 0 0 0 7 20h10.25c.51 0 1-.08 1.46-.23l2.01 2.01a.75.75 0 1 0 1.06-1.06L3.28 2.22ZM14.44 15.5H6.5v-.75c0-1.24-1-2.25-2.25-2.25H3.5v-3h.75c1.14 0 2.09-.85 2.23-1.96l1.64 1.64a3 3 0 0 0 4.2 4.2l2.12 2.12ZM9.2 10.26l2.04 2.04a1.5 1.5 0 0 1-2.05-2.05ZM3.5 7.25c0-.41.34-.75.75-.75H5v.75c0 .41-.34.75-.75.75H3.5v-.75Zm.75 8.25a.75.75 0 0 1-.75-.75V14h.75c.41 0 .75.34.75.75v.75h-.75Zm12.5-3c-.32 0-.62.06-.89.18L17.18 14h.32v.32l1.32 1.32c.12-.27.18-.57.18-.89v-7.5C19 6.01 18 5 16.75 5H8.18l1.5 1.5h4.82v.75c0 1.24 1 2.25 2.25 2.25h.75v3h-.75Zm.75-5.25V8h-.75a.75.75 0 0 1-.75-.75V6.5h.75c.41 0 .75.34.75.75Zm2.56 9.63 1.09 1.09c.53-.77.85-1.71.85-2.72V10a3 3 0 0 0-1.5-2.6v7.85c0 .6-.16 1.15-.44 1.63Z\"]);\nexport const MoneySettings16Filled = /*#__PURE__*/createFluentIcon('MoneySettings16Filled', \"16\", [\"M1 3.25C1 2.56 1.56 2 2.25 2h9.5c.69 0 1.25.56 1.25 1.25v2.96a5.5 5.5 0 0 0-4.11.45 2 2 0 1 0-1.62 1.32A5.49 5.49 0 0 0 6.21 10H2.25C1.56 10 1 9.44 1 8.75v-5.5ZM3.5 11h2.52a5.57 5.57 0 0 0 0 1H4.5a1.5 1.5 0 0 1-1.43-1.04c.14.03.28.04.43.04ZM14 6.6c.36.18.7.4 1 .66V5.5c0-.65-.42-1.2-1-1.41V6.6ZM4 3H3v.5a.5.5 0 0 1-.5.5H2v1h.5C3.33 5 4 4.33 4 3.5V3Zm7 0h-1v.5c0 .83.67 1.5 1.5 1.5h.5V4h-.5a.5.5 0 0 1-.5-.5V3ZM4 8.5C4 7.67 3.33 7 2.5 7H2v1h.5c.28 0 .5.22.5.5V9h1v-.5Zm5.06-.06a2 2 0 0 1-1.43 2.48l-.46.12a4.71 4.71 0 0 0 .01 1.01l.35.09A2 2 0 0 1 9 14.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 14 8.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoneySettings16Regular = /*#__PURE__*/createFluentIcon('MoneySettings16Regular', \"16\", [\"M9 6a2 2 0 0 1-.11.66c-.62.33-1.17.78-1.62 1.32L7 8a2 2 0 1 1 2-2Zm3-1v1.02c.34.03.68.1 1 .19V3.25C13 2.56 12.44 2 11.75 2h-9.5C1.56 2 1 2.56 1 3.25v5.5C1 9.44 1.56 10 2.25 10h3.96c.1-.35.23-.68.39-1H4v-.5C4 7.67 3.33 7 2.5 7H2V5h.5C3.33 5 4 4.33 4 3.5V3h6v.5c0 .83.67 1.5 1.5 1.5h.5Zm-8.5 6h2.52a5.57 5.57 0 0 0 0 1H4.5a1.5 1.5 0 0 1-1.43-1.04c.14.03.28.04.43.04ZM14 6.6c.36.18.7.4 1 .66V5.5c0-.65-.42-1.2-1-1.41V6.6ZM8 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM2.25 3H3v.5a.5.5 0 0 1-.5.5H2v-.75c0-.14.11-.25.25-.25ZM2 8.75V8h.5c.28 0 .5.22.5.5V9h-.75A.25.25 0 0 1 2 8.75ZM12 4h-.5a.5.5 0 0 1-.5-.5V3h.75c.14 0 .25.11.25.25V4ZM9.06 8.44a2 2 0 0 1-1.43 2.48l-.46.12a4.71 4.71 0 0 0 .01 1.01l.35.09A2 2 0 0 1 9 14.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 14 8.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoneySettings20Filled = /*#__PURE__*/createFluentIcon('MoneySettings20Filled', \"20\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52A5.5 5.5 0 0 1 16 9.2V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM6 6a2 2 0 0 1-2 2H3V7h1a1 1 0 0 0 1-1V5h1v1Zm3 4.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm10-5a1 1 0 0 0 1 1h1v1h-1a2 2 0 0 1-2-2V5h1v1Zm-8.91 9h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm-5.94 3.94a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.02l.35.08A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoneySettings20Regular = /*#__PURE__*/createFluentIcon('MoneySettings20Regular', \"20\", [\"M7 9a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52c.03-.34.1-.68.19-1H6v-1a2 2 0 0 0-2-2H3V8h1a2 2 0 0 0 2-2V5h6v1c0 1.1.9 2 2 2h1v1.02c.34.03.68.1 1 .19V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM3 5.5c0-.28.22-.5.5-.5H5v1a1 1 0 0 1-1 1H3V5.5ZM13 5h1.5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5Zm-8 8H3.5a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1Zm-.91 2h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm-5.94 3.94a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.02l.35.08A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoneySettings24Filled = /*#__PURE__*/createFluentIcon('MoneySettings24Filled', \"24\", [\"M2 6.75C2 5.78 2.78 5 3.75 5h13.5c.97 0 1.75.78 1.75 1.75v4.42A6.52 6.52 0 0 0 11.02 17H3.75C2.78 17 2 16.22 2 15.25v-8.5ZM4.4 18.5h6.68c.08.52.22 1.03.42 1.5H7a3 3 0 0 1-2.6-1.5Zm16.1-6.77c.55.29 1.06.65 1.5 1.08V10a3 3 0 0 0-1.5-2.6v4.33ZM5 7.25c0 .41-.34.75-.75.75h-1v1.5h1c1.24 0 2.25-1 2.25-2.25v-1H5v1Zm5.5 6.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Zm-6.25.5c.41 0 .75.34.75.75v1h1.5v-1c0-1.24-1-2.25-2.25-2.25h-1V14h1Zm12.5-6a.75.75 0 0 1-.75-.75v-1h-1.5v1c0 1.24 1 2.25 2.25 2.25h1V8h-1Zm-2.47 5.98a2 2 0 0 1-1.44 2.5l-.59.14a5.73 5.73 0 0 0 0 1.8l.55.13a2 2 0 0 1 1.45 2.51l-.19.64c.44.38.94.7 1.49.92l.49-.52a2 2 0 0 1 2.9 0l.5.52a5.28 5.28 0 0 0 1.48-.91l-.2-.69a2 2 0 0 1 1.44-2.5l.59-.14a5.72 5.72 0 0 0 0-1.8l-.55-.13a2 2 0 0 1-1.45-2.51l.19-.63c-.44-.39-.94-.7-1.49-.93l-.49.52a2 2 0 0 1-2.9 0l-.5-.52c-.54.22-1.04.53-1.48.9l.2.7ZM17.5 19c-.8 0-1.45-.67-1.45-1.5S16.7 16 17.5 16c.8 0 1.45.67 1.45 1.5S18.3 19 17.5 19Z\"]);\nexport const MoneySettings24Regular = /*#__PURE__*/createFluentIcon('MoneySettings24Regular', \"24\", [\"M10.5 8a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM9 11a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM2 7.25C2 6.01 3 5 4.25 5h12.5C17.99 5 19 6 19 7.25v3.92a6.52 6.52 0 0 0-1.5-.17V9.5h-.75c-1.24 0-2.25-1-2.25-2.25V6.5h-8v.75c0 1.24-1 2.25-2.25 2.25H3.5v3h.75c1.24 0 2.25 1 2.25 2.25v.75h4.81c-.15.48-.25.98-.3 1.5H4.26C3.01 17 2 16 2 14.75v-7.5ZM4.4 18.5h6.68c.08.52.22 1.03.42 1.5H7a3 3 0 0 1-2.6-1.5Zm16.1-6.77c.55.29 1.06.65 1.5 1.08V10a3 3 0 0 0-1.5-2.6v4.33ZM4.25 6.5a.75.75 0 0 0-.75.75V8h.75c.41 0 .75-.34.75-.75V6.5h-.75ZM17.5 8v-.75a.75.75 0 0 0-.75-.75H16v.75c0 .41.34.75.75.75h.75Zm-14 6.75c0 .41.34.75.75.75H5v-.75a.75.75 0 0 0-.75-.75H3.5v.75Zm10.78-.77a2 2 0 0 1-1.44 2.5l-.59.14a5.73 5.73 0 0 0 0 1.8l.55.13a2 2 0 0 1 1.45 2.51l-.19.64c.44.38.94.7 1.49.92l.49-.52a2 2 0 0 1 2.9 0l.5.52a5.28 5.28 0 0 0 1.48-.91l-.2-.69a2 2 0 0 1 1.44-2.5l.59-.14a5.72 5.72 0 0 0 0-1.8l-.55-.13a2 2 0 0 1-1.45-2.51l.19-.63c-.44-.39-.94-.7-1.49-.93l-.49.52a2 2 0 0 1-2.9 0l-.5-.52c-.54.22-1.04.53-1.48.9l.2.7ZM17.5 19c-.8 0-1.45-.67-1.45-1.5S16.7 16 17.5 16c.8 0 1.45.67 1.45 1.5S18.3 19 17.5 19Z\"]);\nexport const MoreCircle16Filled = /*#__PURE__*/createFluentIcon('MoreCircle16Filled', \"16\", [\"M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12Zm0-5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM5 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoreCircle16Regular = /*#__PURE__*/createFluentIcon('MoreCircle16Regular', \"16\", [\"M3 8a5 5 0 1 1 10 0A5 5 0 0 1 3 8Zm5-6a6 6 0 1 0 0 12A6 6 0 0 0 8 2Zm0 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MoreCircle20Filled = /*#__PURE__*/createFluentIcon('MoreCircle20Filled', \"20\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-3 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const MoreCircle20Regular = /*#__PURE__*/createFluentIcon('MoreCircle20Regular', \"20\", [\"M7 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-5-8a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const MoreCircle24Filled = /*#__PURE__*/createFluentIcon('MoreCircle24Filled', \"24\", [\"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20ZM8.25 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm5 0a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm5 0a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z\"]);\nexport const MoreCircle24Regular = /*#__PURE__*/createFluentIcon('MoreCircle24Regular', \"24\", [\"M20.5 12a8.5 8.5 0 1 0-17 0 8.5 8.5 0 0 0 17 0Zm1.5 0a10 10 0 1 1-20 0 10 10 0 0 1 20 0ZM7 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm5 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm5 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"]);\nexport const MoreCircle28Filled = /*#__PURE__*/createFluentIcon('MoreCircle28Filled', \"28\", [\"M14 2a12 12 0 1 0 0 24 12 12 0 0 0 0-24ZM9.5 14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm6 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm6 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const MoreCircle28Regular = /*#__PURE__*/createFluentIcon('MoreCircle28Regular', \"28\", [\"M9.5 14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm6 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm6 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM14 2a12 12 0 1 0 0 24 12 12 0 0 0 0-24ZM3.5 14a10.5 10.5 0 1 1 21 0 10.5 10.5 0 0 1-21 0Z\"]);\nexport const MoreCircle32Filled = /*#__PURE__*/createFluentIcon('MoreCircle32Filled', \"32\", [\"M16 30a14 14 0 1 0 0-28 14 14 0 0 0 0 28Zm-6-12a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm8-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 2a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z\"]);\nexport const MoreCircle32Regular = /*#__PURE__*/createFluentIcon('MoreCircle32Regular', \"32\", [\"M10 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm6 0a14 14 0 1 1-28 0 14 14 0 0 1 28 0Zm-2 0a12 12 0 1 0-24 0 12 12 0 0 0 24 0Z\"]);\nexport const MoreCircle48Filled = /*#__PURE__*/createFluentIcon('MoreCircle48Filled', \"48\", [\"M24 44a20 20 0 1 0 0-40 20 20 0 0 0 0 40Zm0-17a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm-6-3a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm15 3a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"]);\nexport const MoreCircle48Regular = /*#__PURE__*/createFluentIcon('MoreCircle48Regular', \"48\", [\"M6.5 24a17.5 17.5 0 1 1 35 0 17.5 17.5 0 0 1-35 0ZM24 4a20 20 0 1 0 0 40 20 20 0 0 0 0-40Zm0 23a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-6-3a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm15 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]);\nexport const MoreHorizontal16Filled = /*#__PURE__*/createFluentIcon('MoreHorizontal16Filled', \"16\", [\"M5.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm4 0a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM12 9.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"]);\nexport const MoreHorizontal16Regular = /*#__PURE__*/createFluentIcon('MoreHorizontal16Regular', \"16\", [\"M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MoreHorizontal20Filled = /*#__PURE__*/createFluentIcon('MoreHorizontal20Filled', \"20\", [\"M6.75 10a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm5 0a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM15 11.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\"]);\nexport const MoreHorizontal20Regular = /*#__PURE__*/createFluentIcon('MoreHorizontal20Regular', \"20\", [\"M6.25 10a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm5 0a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM15 11.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"]);\nexport const MoreHorizontal24Filled = /*#__PURE__*/createFluentIcon('MoreHorizontal24Filled', \"24\", [\"M8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm6 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]);\nexport const MoreHorizontal24Regular = /*#__PURE__*/createFluentIcon('MoreHorizontal24Regular', \"24\", [\"M7.75 12a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm6 0a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM18 13.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\"]);\nexport const MoreHorizontal28Filled = /*#__PURE__*/createFluentIcon('MoreHorizontal28Filled', \"28\", [\"M8.75 14a2.75 2.75 0 1 1-5.5 0 2.75 2.75 0 0 1 5.5 0Zm8 0a2.75 2.75 0 1 1-5.5 0 2.75 2.75 0 0 1 5.5 0ZM22 16.75a2.75 2.75 0 1 0 0-5.5 2.75 2.75 0 0 0 0 5.5Z\"]);\nexport const MoreHorizontal28Regular = /*#__PURE__*/createFluentIcon('MoreHorizontal28Regular', \"28\", [\"M8.25 14a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Zm8 0a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM22 16.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Z\"]);\nexport const MoreHorizontal32Filled = /*#__PURE__*/createFluentIcon('MoreHorizontal32Filled', \"32\", [\"M7 19a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm9 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm9 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]);\nexport const MoreHorizontal32Regular = /*#__PURE__*/createFluentIcon('MoreHorizontal32Regular', \"32\", [\"M9.5 16a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm9 0a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm6.5 2.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"]);\nexport const MoreHorizontal48Filled = /*#__PURE__*/createFluentIcon('MoreHorizontal48Filled', \"48\", [\"M16 24a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm11.5 0a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z\"]);\nexport const MoreHorizontal48Regular = /*#__PURE__*/createFluentIcon('MoreHorizontal48Regular', \"48\", [\"M15.75 24a3.25 3.25 0 1 1-6.5 0 3.25 3.25 0 0 1 6.5 0Zm11.5 0a3.25 3.25 0 1 1-6.5 0 3.25 3.25 0 0 1 6.5 0Zm8.25 3.25a3.25 3.25 0 1 0 0-6.5 3.25 3.25 0 0 0 0 6.5Z\"]);\nexport const MoreVertical16Filled = /*#__PURE__*/createFluentIcon('MoreVertical16Filled', \"16\", [\"M8 5.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm0 4a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5ZM6.75 12a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0Z\"]);\nexport const MoreVertical16Regular = /*#__PURE__*/createFluentIcon('MoreVertical16Regular', \"16\", [\"M8 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm0 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-1 3a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\"]);\nexport const MoreVertical20Filled = /*#__PURE__*/createFluentIcon('MoreVertical20Filled', \"20\", [\"M10 6.5A1.75 1.75 0 1 1 10 3a1.75 1.75 0 0 1 0 3.5ZM10 17a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5Zm-1.75-7a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Z\"]);\nexport const MoreVertical20Regular = /*#__PURE__*/createFluentIcon('MoreVertical20Regular', \"20\", [\"M10 6a1.25 1.25 0 1 1 0-2.5A1.25 1.25 0 0 1 10 6Zm0 5.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm-1.25 4a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0Z\"]);\nexport const MoreVertical24Filled = /*#__PURE__*/createFluentIcon('MoreVertical24Filled', \"24\", [\"M12 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm0 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm-2 4a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z\"]);\nexport const MoreVertical24Regular = /*#__PURE__*/createFluentIcon('MoreVertical24Regular', \"24\", [\"M12 7.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5Zm0 6a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM10.25 18a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Z\"]);\nexport const MoreVertical28Filled = /*#__PURE__*/createFluentIcon('MoreVertical28Filled', \"28\", [\"M14 8.75a2.75 2.75 0 1 1 0-5.5 2.75 2.75 0 0 1 0 5.5Zm0 8a2.75 2.75 0 1 1 0-5.5 2.75 2.75 0 0 1 0 5.5ZM11.25 22a2.75 2.75 0 1 0 5.5 0 2.75 2.75 0 0 0-5.5 0Z\"]);\nexport const MoreVertical28Regular = /*#__PURE__*/createFluentIcon('MoreVertical28Regular', \"28\", [\"M14 8.25a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5Zm0 8a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM11.75 22a2.25 2.25 0 1 0 4.5 0 2.25 2.25 0 0 0-4.5 0Z\"]);\nexport const MoreVertical32Filled = /*#__PURE__*/createFluentIcon('MoreVertical32Filled', \"32\", [\"M13 7a3 3 0 1 0 6 0 3 3 0 0 0-6 0Zm0 9a3 3 0 1 0 6 0 3 3 0 0 0-6 0Zm0 9a3 3 0 1 0 6 0 3 3 0 0 0-6 0Z\"]);\nexport const MoreVertical32Regular = /*#__PURE__*/createFluentIcon('MoreVertical32Regular', \"32\", [\"M16 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm0 9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5ZM13.5 25a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z\"]);\nexport const MoreVertical48Filled = /*#__PURE__*/createFluentIcon('MoreVertical48Filled', \"48\", [\"M24 16a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 11.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm-3.5 8a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z\"]);\nexport const MoreVertical48Regular = /*#__PURE__*/createFluentIcon('MoreVertical48Regular', \"48\", [\"M24 15.75a3.25 3.25 0 1 1 0-6.5 3.25 3.25 0 0 1 0 6.5Zm0 11.5a3.25 3.25 0 1 1 0-6.5 3.25 3.25 0 0 1 0 6.5Zm-3.25 8.25a3.25 3.25 0 1 0 6.5 0 3.25 3.25 0 0 0-6.5 0Z\"]);\nexport const MountainLocationBottom20Filled = /*#__PURE__*/createFluentIcon('MountainLocationBottom20Filled', \"20\", [\"M8.19 2.78a2.5 2.5 0 0 1 3.62 0l5.37 5.65A3 3 0 0 1 18 10.5V15a2 2 0 0 1-2 2h-4.32c.27-.4.56-.85.8-1.3.24-.47.52-1.1.52-1.7a3 3 0 1 0-6 0c0 .6.28 1.23.53 1.7.23.45.52.9.79 1.3H4a2 2 0 0 1-2-2v-4.5a3 3 0 0 1 .82-2.07L8.2 2.78Zm2.9.7a1.5 1.5 0 0 0-2.18 0l-3.23 3.4c.77.5 1.4.7 1.96.74.66.04 1.26-.13 1.92-.4l.7-.3c.9-.4 1.93-.88 3.2-.95l-2.37-2.5Zm-2.7 11.7c.25.49.57 1 .87 1.42a.9.9 0 0 0 1.48 0c.3-.42.62-.93.87-1.41.23-.45.39-.88.39-1.19a2 2 0 1 0-4 0c0 .31.16.74.4 1.19Zm2.37-.53a1 1 0 1 1-1.52-1.3 1 1 0 0 1 1.52 1.3Z\"]);\nexport const MountainLocationBottom20Regular = /*#__PURE__*/createFluentIcon('MountainLocationBottom20Regular', \"20\", [\"M4.99 7.6 3.55 9.13A2 2 0 0 0 3 10.5V15a1 1 0 0 0 1 1h3.7c.2.35.41.7.62 1H4a2 2 0 0 1-2-2v-4.5a3 3 0 0 1 .82-2.07L8.2 2.78a2.5 2.5 0 0 1 3.62 0l5.37 5.65A3 3 0 0 1 18 10.5V15a2 2 0 0 1-2 2h-4.32c.2-.3.43-.65.63-1H16a1 1 0 0 0 1-1v-4.5a2 2 0 0 0-.55-1.38L14.43 7c-1.48-.19-2.55.3-3.68.8-.27.12-.53.24-.81.35-.72.3-1.49.53-2.37.47A5.18 5.18 0 0 1 5 7.6ZM8.9 3.48l-3.23 3.4c.77.5 1.4.7 1.96.75.66.05 1.26-.13 1.92-.4l.7-.3c.9-.4 1.93-.88 3.2-.95l-2.37-2.5a1.5 1.5 0 0 0-2.18 0Zm.35 13.13-.4-.6A4.79 4.79 0 0 1 8 14a2 2 0 1 1 4 0c0 .5-.41 1.29-.86 2l-.4.6a.9.9 0 0 1-1.48 0ZM11 14a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MountainLocationBottom24Filled = /*#__PURE__*/createFluentIcon('MountainLocationBottom24Filled', \"24\", [\"M13.91 2.85a2.75 2.75 0 0 0-3.82 0l-7.1 6.87A3.25 3.25 0 0 0 2 12.06v6.69C2 19.99 3 21 4.25 21h6.04a22.1 22.1 0 0 1-1.36-2.03 9.71 9.71 0 0 1-.63-1.28c-.16-.41-.3-.88-.3-1.35 0-1.08.44-2.15 1.12-2.94.69-.8 1.7-1.4 2.88-1.4s2.19.6 2.88 1.4c.68.8 1.12 1.86 1.12 2.94 0 .47-.14.94-.3 1.35-.17.42-.4.86-.63 1.28A22.1 22.1 0 0 1 13.7 21h6.04c1.24 0 2.25-1 2.25-2.25v-6.69c0-.88-.36-1.72-.99-2.34l-7.1-6.87Zm-2.78 1.08a1.25 1.25 0 0 1 1.74 0l3.45 3.34c-.7.09-1.38.26-2.02.47-.68.22-1.38.51-2.04.78l-1.1.44c-.98.37-1.88.61-2.78.58a4.7 4.7 0 0 1-2.3-.72l5.05-4.89Zm.13 16.7a.92.92 0 0 0 1.48 0c.88-1.17 2.26-3.16 2.26-4.29C15 14.7 13.66 13 12 13s-3 1.69-3 3.34c0 1.13 1.38 3.12 2.26 4.3ZM13.5 16a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);","import { FC } from 'react';\r\n\r\ninterface Participant {\r\n id: string;\r\n emailAddress?: string;\r\n photo?: string; // URL of the user's avatar\r\n fullName?: string; // Full name of the user\r\n department?: string; // Department of the user\r\n userPrincipalName?: string; // User principal name\r\n onPremisesUserPrincipalName?: string; // On-premises user principal name\r\n onPremisesDomainName?: string; // On-premises domain name\r\n manager: string; // User's manager\r\n availability?: string;\r\n activity?: string;\r\n}\r\n\r\ninterface UserStatusProps {\r\n participant: Participant;\r\n persona: boolean;\r\n}\r\n\r\nconst UserStatus: FC = ({ participant, persona }) => {\r\n let positionClass = 'presico';\r\n if (persona) {\r\n positionClass = 'presicop';\r\n }\r\n const presenceIcon = () => {\r\n switch (participant.availability) {\r\n case 'Available':\r\n return
;\r\n case 'Away':\r\n return
;\r\n case 'BeRightBack':\r\n return
;\r\n case 'Busy':\r\n return
;\r\n case 'DoNotDisturb':\r\n return
;\r\n case 'Offline':\r\n return
;\r\n case 'PresenceUnknown':\r\n return
;\r\n default:\r\n return
;\r\n }\r\n };\r\n\r\n return presenceIcon();\r\n};\r\n\r\nexport default UserStatus;\r\n","// Copyright (c) Microsoft. All rights reserved.\nimport { Persona, Tooltip } from '@fluentui/react-components';\nimport { Chat20Regular, Mail20Regular, Person20Regular, PersonAvailable20Regular } from '@fluentui/react-icons';\nimport React, { FC, useCallback, useContext, useEffect, useState } from 'react';\nimport AppContext from '../../../AppContext';\nimport { useGraph } from '../../../libs/hooks';\nimport { IChatUser } from '../../../libs/models/ChatUser';\nimport { useAppDispatch, useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { setUsersLoaded } from '../../../redux/features/conversations/conversationsSlice';\nimport { Users } from '../../../redux/features/users/UsersState';\nimport UserStatus from './UserStatus';\n\ninterface ShareBotMenuProps {\n participants: IChatUser[];\n}\n\ninterface Participant {\n id: string;\n name: string;\n emailAddress?: string;\n photo?: string; // URL of the user's avatar\n fullName?: string; // Full name of the user\n department?: string; // Department of the user\n userPrincipalName?: string; // User principal name\n onPremisesUserPrincipalName?: string; // On-premises user principal name\n onPremisesDomainName?: string; // On-premises domain name\n manager: string; // User's manager\n availability?: string;\n activity?: string;\n}\n\nconst ParticipantAvatar = ({ participant }: { participant: Participant }) => {\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n if (participant.photo) {\n // Render user avatar if photo is available\n return (\n <>\n
\n \n
\n {participant.name}\n
\n {participant.name}\n
\n \n );\n } else {\n // Render Persona component if photo is not available\n return (\n <>\n \n \n \n );\n }\n};\n\nexport const ParticipantsList: FC = ({ participants }) => {\n const dispatch = useAppDispatch();\n const { users } = useAppSelector((state: RootState) => state.users);\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\n const msGraph = useGraph();\n\n // Ensure chatUsers is correctly retrieved and is a valid array\n const chatUsers = conversations[selectedId].users;\n const [loadedParticipants, setLoadedParticipants] = useState(mapParticipantsNames(participants, users));\n const [isParticipantsOpened, setIsParticipantsOpened] = React.useState(false);\n const [openParticipantId, setOpenParticipantId] = useState(null);\n\n // Function to load participants data\n const loadParticipantsData = () => {\n // Check if the corresponding conversation exists and userDataLoaded is false\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (conversations[selectedId] && !conversations[selectedId].userDataLoaded && chatUsers.length > 0) {\n void msGraph\n .loadUsers(chatUsers.map((user: IChatUser) => user.id))\n .then((loadedUsers?: Users) => {\n if (loadedUsers) {\n dispatch(setUsersLoaded(selectedId));\n setLoadedParticipants(mapParticipantsNames(participants, loadedUsers));\n }\n })\n .catch((error) => {\n console.error('Error loading users:', error);\n });\n }\n };\n\n const checkParticipants = useCallback(() => {\n setIsParticipantsOpened((prevState) => {\n // If the menu is currently opened (prevState is true), then close it and reset participant ID\n if (prevState) {\n setOpenParticipantId(null);\n }\n return !prevState;\n });\n }, []);\n\n useEffect(() => {\n loadParticipantsData();\n\n const intervalId = setInterval(() => {\n loadParticipantsData();\n }, 15000);\n\n return () => {\n clearInterval(intervalId);\n };\n\n // Consolidate dependencies into a single useEffect\n }, [selectedId, chatUsers.length, participants]);\n\n useEffect(() => {\n if (!conversations[selectedId].userDataLoaded) {\n void msGraph.loadUsers(chatUsers.map((user: IChatUser) => user.id)).then((loadedUsers?: Users) => {\n if (loadedUsers) {\n dispatch(setUsersLoaded(selectedId));\n setLoadedParticipants(mapParticipantsNames(participants, loadedUsers));\n }\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId, chatUsers.length]);\n\n function handleParticipantClick(id: string) {\n if (openParticipantId === id) {\n setOpenParticipantId(null);\n } else {\n setOpenParticipantId(id);\n }\n }\n const closeParticipants = useCallback(() => {\n setIsParticipantsOpened(false);\n setOpenParticipantId(null);\n }, []);\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n const { currentSection } = useContext(AppContext);\n const hiddenSections = ['settings', 'translator', 'guide'];\n const isHidden = hiddenSections.includes(currentSection);\n\n if (isHidden) {\n return null;\n }\n\n return (\n <>\n
\n \n {`+${Math.min(participants.length, 100)}`}
\n \n
\n \n
\n People in this Chat\n
\n
\n {loadedParticipants.length > 0 &&\n loadedParticipants.map((participant) => (\n {\n handleParticipantClick(participant.id);\n }}\n />\n ))}\n
\n
\n \n );\n};\n\nfunction ParticipantComponent({\n participant,\n isOpen,\n onParticipantClick,\n}: {\n participant: Participant;\n isOpen: boolean;\n onParticipantClick: () => void;\n}) {\n // useEffect(() => {\n // console.log(participant);\n // }, [participant]);\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n return (\n
\n \n {isOpen && (\n
\n
\n \n Name: {participant.name}\n
\n
\n \n E-Mail:{' '}\n \n {participant.userPrincipalName}\n \n
\n {participant.userPrincipalName && (\n
\n \n Teams:{' '}\n \n \n Chat ↗\n \n \n
\n )}\n
\n \n {participant.availability}\n
\n
\n )}\n
\n );\n}\nconst mapParticipantsNames = (participants: IChatUser[], usersData: Users) => {\n return participants.map((participant) => {\n const userId = participant.id.split('.')[0];\n const user = usersData[userId] as\n | {\n displayName?: string;\n department?: string;\n emailAddress?: string;\n managerName?: string;\n userPrincipalName?: string;\n photo?: string;\n availability?: string;\n activity?: string;\n }\n | undefined;\n\n let name;\n let department;\n let emailAddress;\n let managerName;\n let photo;\n let userPrincipalName;\n let availability;\n let activity;\n\n if (!user) {\n name = 'Loading...';\n department = '';\n managerName = '';\n photo = '';\n userPrincipalName = '';\n } else if (!user.displayName) {\n name = 'No display name';\n department = '';\n emailAddress = '';\n managerName = '';\n photo = '';\n userPrincipalName = '';\n } else {\n name = user.displayName;\n department = user.department;\n emailAddress = user.emailAddress;\n managerName = user.managerName;\n photo = user.photo;\n userPrincipalName = user.userPrincipalName;\n availability = user.availability;\n activity = user.activity;\n }\n\n return {\n ...participant,\n name: name,\n department: department,\n emailAddress: emailAddress,\n managerName: managerName,\n photo: photo,\n userPrincipalName: userPrincipalName,\n availability: availability,\n activity: activity,\n };\n });\n};\n","import { useMsal } from '@azure/msal-react';\nimport { Constants } from '../../Constants';\nimport { useAppDispatch, useAppSelector } from '../../redux/app/hooks';\nimport { RootState } from '../../redux/app/store';\nimport { addAlert } from '../../redux/features/app/appSlice';\nimport { UserData } from '../../redux/features/users/UsersState';\nimport { setUsers } from '../../redux/features/users/usersSlice';\nimport { AuthHelper } from '../auth/AuthHelper';\nimport { TokenHelper } from '../auth/TokenHelper';\nimport { AlertType } from '../models/AlertType';\nimport { BatchRequest, BatchResponse, GraphService } from '../services/GraphService';\n\ninterface PresenceData {\n availability: string;\n activity: string;\n}\n\nexport const useGraph = () => {\n const { instance, inProgress } = useMsal();\n const { users } = useAppSelector((state: RootState) => state.users);\n const { activeUserInfo } = useAppSelector((state: RootState) => state.app);\n const dispatch = useAppDispatch();\n const graphService = new GraphService();\n\n const loadUsers = async (userIds: string[]) => {\n // Check if authenticated with AAD, if not, return a default value\n if (!AuthHelper.isAuthAAD()) {\n return {}; // or return null; depending on what makes sense in your context\n }\n\n const MAX_RETRIES = 3;\n let retries = 1;\n\n // Initialize empty arrays to store results\n const usersToLoad: string[] = [];\n const loadedUsers: UserData[] = [];\n const usersToRetry: string[] = [];\n\n try {\n // Copy current state of user data\n const userData = { ...users };\n\n // Filter user Ids list to optimize fetch\n userIds.forEach((userId) => {\n const ids = userId.split('.');\n const objectId = ids[0]; // Unique GUID assigned to each user in their home tenant\n const tenantId = ids[1]; // Home tenant id\n\n // Active user can only access user data within their own tenant\n // Mark chat users outside of tenant as External\n if (activeUserInfo && tenantId !== activeUserInfo.id.split('.')[1]) {\n userData[objectId] = {\n id: objectId,\n displayName: 'External User',\n };\n } else {\n // Only fetch users that haven't already been loaded\n if (!(objectId in users)) {\n usersToLoad.push(objectId);\n }\n }\n });\n\n if (usersToLoad.length > 0) {\n await makeBatchGetUsersRequest(usersToLoad, loadedUsers, usersToRetry);\n\n // Retry any users that failed with transient (5xx) errors up to 3 times\n while (usersToRetry.length > 0 && retries <= MAX_RETRIES) {\n console.log(`Retrying batch request ${retries}/${MAX_RETRIES}`);\n await makeBatchGetUsersRequest(usersToRetry, loadedUsers, usersToRetry);\n retries++;\n }\n\n // Populate user data record to update state\n loadedUsers.forEach((user) => {\n userData[user.id] = user;\n });\n\n usersToRetry.forEach((userId) => {\n userData[userId] = {\n id: userId,\n displayName: 'Unknown',\n };\n });\n }\n\n dispatch(setUsers(userData));\n\n return userData;\n } catch (e) {\n console.error('Error in loadUsers:', e);\n\n let errorMessage = 'Unknown error occurred';\n if (typeof e === 'string') {\n errorMessage = e;\n } else if (e instanceof Error) {\n errorMessage = e.message;\n }\n\n dispatch(\n addAlert({\n type: AlertType.Error,\n message: `Error loading users: ${errorMessage}`,\n }),\n );\n\n return {};\n }\n };\n\n // Helper function to fetch user data in batches of up to 20\n const makeBatchGetUsersRequest = async (userIds: string[], loadedUsers: UserData[], usersToRetry: string[]) => {\n const getUserScope = 'User.ReadBasic.All Presence.Read.All';\n\n const token = await TokenHelper.getAccessTokenUsingMsal(inProgress, instance, [getUserScope]);\n\n // Loop through the user ids in chunks of the maximum batch size\n for (let i = 0; i < userIds.length; i += Constants.BATCH_REQUEST_LIMIT) {\n // Slice the current chunk of user ids\n const chunk = userIds.slice(i, i + Constants.BATCH_REQUEST_LIMIT);\n\n // Create an array of batch requests for the chunk\n const requests = chunk.map((id, index) => createGetUserRequest(id, i + index));\n\n // Requests for user photos\n const photoRequests = chunk.map((id, index) => createGetUserPhotoRequest(id, index));\n const photoResponses: BatchResponse[] = await graphService.makeBatchRequest(photoRequests, token);\n\n // Requests for user presence\n const presenceRequests = chunk.map((id, index) => createGetUserPresenceRequest(id, index));\n const presenceResponses: BatchResponse[] = await graphService.makeBatchRequest(presenceRequests, token);\n\n // Convert photo responses to object\n const photoData: Record = {};\n photoResponses.forEach((response, _) => {\n if (response.status === 200) {\n photoData[response.id] = response.body as string;\n }\n });\n\n // Convert presence responses to object\n const presenceData: Record = {};\n presenceResponses.forEach((response, _) => {\n if (response.status === 200) {\n presenceData[response.id] = response.body as PresenceData;\n }\n });\n\n // Send the batch request using Graph Service\n const responses: BatchResponse[] = await graphService.makeBatchRequest(requests, token);\n\n // Loop through the batch responses and parse the user data\n for (const response of responses) {\n const userData = parseGetUserResponse(response, userIds, usersToRetry, photoData, presenceData);\n if (userData) {\n // Push the user data to the results array\n loadedUsers.push(userData);\n }\n }\n }\n };\n\n const createGetUserPhotoRequest = (id: string, index: number): BatchRequest => {\n return {\n id: `${index}-photo`,\n method: 'GET',\n url: `/users/${id}/photo/$value`,\n headers: {\n Accept: 'image/jpg',\n },\n };\n };\n\n // Helper function to create a GetUser request given a user id\n const createGetUserRequest = (id: string, index: number): BatchRequest => {\n return {\n id: index.toString(),\n method: 'GET',\n url: `/users/${id}?$select=id,displayName,userPrincipalName,department,mail,presence`,\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n };\n\n const createGetUserPresenceRequest = (id: string, index: number): BatchRequest => {\n return {\n id: index.toString(),\n method: 'GET',\n url: `/users/${id}/presence`,\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n };\n\n // Helper function to extract the user data from a batch response\n const parseGetUserResponse = (\n response: BatchResponse,\n userIds: string[],\n usersToRetry: string[],\n photoData: Record,\n presenceData: Record,\n ): UserData | null => {\n if (response.status === 200 && response.body) {\n const user = response.body as UserData;\n\n // Manager - It comes back as an object. displayName among other things can be used\n // const managerObject = user.manager;\n // const managerName = managerObject?.displayName ?? 'N/A';\n\n // Photo (User Avatar)\n const photoBase64 = photoData[`${response.id}-photo`];\n const photoDisplay = photoBase64 ? `data:image/jpeg;base64,${photoBase64}` : undefined;\n\n // Presence\n const presence = presenceData[response.id];\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const availability = presence ? presence.availability : 'Unknown';\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const activity = presence ? presence.activity : 'Unknown';\n\n return {\n id: user.id,\n displayName: user.displayName,\n userPrincipalName: user.userPrincipalName,\n department: user.department,\n photo: photoDisplay,\n emailAddress: user.emailAddress,\n availability: availability,\n activity: activity,\n };\n } else if (response.status >= 500) {\n // Transient error, try again\n usersToRetry.push(userIds[response.id]);\n } else {\n // Failed to fetch, user data unavailable\n return {\n id: userIds[response.id],\n displayName: 'Unknown',\n };\n }\n return null;\n };\n\n return {\n loadUsers,\n };\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { Label, makeStyles, tokens } from '@fluentui/react-components';\nimport { Checkmark20Filled } from '@fluentui/react-icons';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nconst useStyles = makeStyles({\n content: {\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalMNudge,\n },\n});\n\ninterface InvitationCreateDialogProps {\n onCancel: () => void;\n chatId: string;\n}\n\nexport const InvitationCreateDialog: React.FC = ({ onCancel, chatId }) => {\n const [isIdCopied, setIsIdCopied] = React.useState(false);\n\n const classes = useStyles();\n\n const copyId = useCallback(() => {\n // Use the helper function to copy text to clipboard\n copyToClipboard(chatId);\n setIsIdCopied(true);\n }, [chatId]);\n\n const copyToClipboard = (text: string) => {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand('copy');\n document.body.removeChild(textArea);\n };\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n return (\n
\n
\n
\n
Invite Others to Your Chat Group
\n
\n \n \n
\n
\n \n Close\n \n \n {isIdCopied ? : null}\n {isIdCopied ? 'Copied' : 'Copy'}\n \n
\n
\n
\n
\n );\n};\n","import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nexport const inputClassNames = {\n root: 'fui-Input',\n input: 'fui-Input__input',\n contentBefore: 'fui-Input__contentBefore',\n contentAfter: 'fui-Input__contentAfter'\n};\n// TODO(sharing) should these be shared somewhere?\nconst fieldHeights = {\n small: '24px',\n medium: '32px',\n large: '40px'\n};\nconst useRootClassName = makeResetStyles({\n display: 'inline-flex',\n alignItems: 'center',\n flexWrap: 'nowrap',\n gap: tokens.spacingHorizontalXXS,\n borderRadius: tokens.borderRadiusMedium,\n position: 'relative',\n boxSizing: 'border-box',\n // size: medium (default)\n minHeight: fieldHeights.medium,\n padding: `0 ${tokens.spacingHorizontalMNudge}`,\n ...typographyStyles.body1,\n // appearance: outline (default)\n backgroundColor: tokens.colorNeutralBackground1,\n border: `1px solid ${tokens.colorNeutralStroke1}`,\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n // This is all for the bottom focus border.\n // It's supposed to be 2px flat all the way across and match the radius of the field's corners.\n '::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n left: '-1px',\n bottom: '-1px',\n right: '-1px',\n // Maintaining the correct corner radius:\n // Use the whole border-radius as the height and only put radii on the bottom corners.\n // (Otherwise the radius would be automatically reduced to fit available space.)\n // max() ensures the focus border still shows up even if someone sets tokens.borderRadiusMedium to 0.\n height: `max(2px, ${tokens.borderRadiusMedium})`,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n // Flat 2px border:\n // By default borderBottom will cause little \"horns\" on the ends. The clipPath trims them off.\n // (This could be done without trimming using `background: linear-gradient(...)`, but using\n // borderBottom makes it easier for people to override the color if needed.)\n borderBottom: `2px solid ${tokens.colorCompoundBrandStroke}`,\n clipPath: 'inset(calc(100% - 2px) 0 0 0)',\n // Animation for focus OUT\n transform: 'scaleX(0)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationUltraFast,\n transitionDelay: tokens.curveAccelerateMid,\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms'\n }\n },\n ':focus-within::after': {\n // Animation for focus IN\n transform: 'scaleX(1)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationNormal,\n transitionDelay: tokens.curveDecelerateMid,\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms'\n }\n },\n ':focus-within:active::after': {\n // This is if the user clicks the field again while it's already focused\n borderBottomColor: tokens.colorCompoundBrandStrokePressed\n },\n ':focus-within': {\n outline: '2px solid transparent'\n }\n});\nconst useRootStyles = makeStyles({\n small: {\n minHeight: fieldHeights.small,\n paddingLeft: tokens.spacingHorizontalSNudge,\n paddingRight: tokens.spacingHorizontalSNudge,\n ...typographyStyles.caption1\n },\n medium: {\n },\n large: {\n minHeight: fieldHeights.large,\n paddingLeft: tokens.spacingHorizontalM,\n paddingRight: tokens.spacingHorizontalM,\n ...typographyStyles.body2,\n ...shorthands.gap(tokens.spacingHorizontalSNudge)\n },\n outline: {\n },\n outlineInteractive: {\n ':hover': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover\n },\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':active,:focus-within': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed\n }\n },\n underline: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderRadius(0),\n // border is specified in rootBaseStyles, but we only want a bottom border here\n borderTopStyle: 'none',\n borderRightStyle: 'none',\n borderLeftStyle: 'none',\n // Make the focus underline (::after) match the width of the bottom border\n '::after': {\n left: 0,\n right: 0\n }\n },\n underlineInteractive: {\n ':hover': {\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover\n },\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':active,:focus-within': {\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed\n },\n '::after': shorthands.borderRadius(0)\n },\n filled: {\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n },\n filledInteractive: {\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':hover,:focus-within': {\n // also handles pressed border color (:active)\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive)\n }\n },\n invalid: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n ...shorthands.borderColor(tokens.colorPaletteRedBorder2)\n }\n },\n 'filled-darker': {\n backgroundColor: tokens.colorNeutralBackground3\n },\n 'filled-lighter': {\n backgroundColor: tokens.colorNeutralBackground1\n },\n 'filled-darker-shadow': {\n backgroundColor: tokens.colorNeutralBackground3,\n boxShadow: tokens.shadow2\n },\n 'filled-lighter-shadow': {\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow2\n },\n disabled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('GrayText')\n },\n // remove the focus border\n '::after': {\n content: 'unset'\n },\n // remove the focus outline\n ':focus-within': {\n outlineStyle: 'none'\n }\n }\n});\nconst useInputClassName = makeResetStyles({\n boxSizing: 'border-box',\n flexGrow: 1,\n minWidth: 0,\n borderStyle: 'none',\n padding: `0 ${tokens.spacingHorizontalXXS}`,\n color: tokens.colorNeutralForeground1,\n // Use literal \"transparent\" (not from the theme) to always let the color from the root show through\n backgroundColor: 'transparent',\n '::placeholder': {\n color: tokens.colorNeutralForeground4,\n opacity: 1\n },\n outlineStyle: 'none',\n // Inherit typography styles from root\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n lineHeight: 'inherit'\n});\nconst useInputElementStyles = makeStyles({\n large: {\n paddingLeft: tokens.spacingHorizontalSNudge,\n paddingRight: tokens.spacingHorizontalSNudge\n },\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: tokens.colorTransparentBackground,\n cursor: 'not-allowed',\n '::placeholder': {\n color: tokens.colorNeutralForegroundDisabled\n }\n }\n});\nconst useContentClassName = makeResetStyles({\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n display: 'flex',\n // special case styling for icons (most common case) to ensure they're centered vertically\n // size: medium (default)\n '> svg': {\n fontSize: '20px'\n }\n});\nconst useContentStyles = makeStyles({\n disabled: {\n color: tokens.colorNeutralForegroundDisabled\n },\n // Ensure resizable icons show up with the proper font size\n small: {\n '> svg': {\n fontSize: '16px'\n }\n },\n medium: {\n },\n large: {\n '> svg': {\n fontSize: '24px'\n }\n }\n});\n/**\n * Apply styling to the Input slots based on the state\n */ export const useInputStyles_unstable = (state)=>{\n const { size, appearance } = state;\n const disabled = state.input.disabled;\n const invalid = `${state.input['aria-invalid']}` === 'true';\n const filled = appearance.startsWith('filled');\n const rootStyles = useRootStyles();\n const inputStyles = useInputElementStyles();\n const contentStyles = useContentStyles();\n state.root.className = mergeClasses(inputClassNames.root, useRootClassName(), rootStyles[size], rootStyles[appearance], !disabled && appearance === 'outline' && rootStyles.outlineInteractive, !disabled && appearance === 'underline' && rootStyles.underlineInteractive, !disabled && filled && rootStyles.filledInteractive, filled && rootStyles.filled, !disabled && invalid && rootStyles.invalid, disabled && rootStyles.disabled, state.root.className);\n state.input.className = mergeClasses(inputClassNames.input, useInputClassName(), size === 'large' && inputStyles.large, disabled && inputStyles.disabled, state.input.className);\n const contentClasses = [\n useContentClassName(),\n disabled && contentStyles.disabled,\n contentStyles[size]\n ];\n if (state.contentBefore) {\n state.contentBefore.className = mergeClasses(inputClassNames.contentBefore, ...contentClasses, state.contentBefore.className);\n }\n if (state.contentAfter) {\n state.contentAfter.className = mergeClasses(inputClassNames.contentAfter, ...contentClasses, state.contentAfter.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useInput_unstable } from './useInput';\nimport { renderInput_unstable } from './renderInput';\nimport { useInputStyles_unstable } from './useInputStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The Input component allows people to enter and edit text.\n */ export const Input = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useInput_unstable(props, ref);\n useInputStyles_unstable(state);\n useCustomStyleHook_unstable('useInputStyles_unstable')(state);\n return renderInput_unstable(state);\n});\nInput.displayName = 'Input';\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render Input.\n *\n * The returned state can be modified with hooks such as useInputStyles_unstable,\n * before being passed to renderInput_unstable.\n *\n * @param props - props from this instance of Input\n * @param ref - reference to `` element of Input\n */ export const useInput_unstable = (props, ref)=>{\n props = useFieldControlProps_unstable(props, {\n supportsLabelFor: true,\n supportsRequired: true,\n supportsSize: true\n });\n const overrides = useOverrides();\n var _overrides_inputDefaultAppearance;\n const { size = 'medium', appearance = (_overrides_inputDefaultAppearance = overrides.inputDefaultAppearance) !== null && _overrides_inputDefaultAppearance !== void 0 ? _overrides_inputDefaultAppearance : 'outline', onChange } = props;\n if (process.env.NODE_ENV !== 'production' && (appearance === 'filled-darker-shadow' || appearance === 'filled-lighter-shadow')) {\n // eslint-disable-next-line no-console\n console.error(\"The 'filled-darker-shadow' and 'filled-lighter-shadow' appearances are deprecated and will be removed in the\" + ' future.');\n }\n const [value, setValue] = useControllableState({\n state: props.value,\n defaultState: props.defaultValue,\n initialState: undefined\n });\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: [\n 'size',\n 'onChange',\n 'value',\n 'defaultValue'\n ]\n });\n const state = {\n size,\n appearance,\n components: {\n root: 'span',\n input: 'input',\n contentBefore: 'span',\n contentAfter: 'span'\n },\n input: slot.always(props.input, {\n defaultProps: {\n type: 'text',\n ref,\n ...nativeProps.primary\n },\n elementType: 'input'\n }),\n contentAfter: slot.optional(props.contentAfter, {\n elementType: 'span'\n }),\n contentBefore: slot.optional(props.contentBefore, {\n elementType: 'span'\n }),\n root: slot.always(props.root, {\n defaultProps: nativeProps.root,\n elementType: 'span'\n })\n };\n state.input.value = value;\n state.input.onChange = useEventCallback((ev)=>{\n const newValue = ev.target.value;\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, {\n value: newValue\n });\n setValue(newValue);\n });\n return state;\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Input\n */ export const renderInput_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.contentBefore && /*#__PURE__*/ _jsx(state.contentBefore, {}),\n /*#__PURE__*/ _jsx(state.input, {}),\n state.contentAfter && /*#__PURE__*/ _jsx(state.contentAfter, {})\n ]\n });\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Renders a Divider component by passing the slot props (defined in `state`) to the appropriate slots.\n */ export const renderDivider_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: state.root.children !== undefined && /*#__PURE__*/ _jsx(state.wrapper, {\n children: state.root.children\n })\n });\n};\n","import { mergeClasses, shorthands, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const dividerClassNames = {\n root: 'fui-Divider',\n wrapper: 'fui-Divider__wrapper'\n};\nconst contentSpacing = '12px';\nconst insetSpacing = '12px';\nconst maxStartEndLength = '8px';\nconst minStartEndLength = '8px;';\nconst useBaseStyles = makeStyles({\n // Base styles\n base: {\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'row',\n flexGrow: 1,\n position: 'relative',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n lineHeight: tokens.lineHeightBase200,\n textAlign: 'center',\n '::before': {\n boxSizing: 'border-box',\n display: 'flex',\n flexGrow: 1\n },\n '::after': {\n boxSizing: 'border-box',\n display: 'flex',\n flexGrow: 1\n }\n },\n // Childless styles\n childless: {\n '::before': {\n marginBottom: 0,\n marginRight: 0\n },\n '::after': {\n marginLeft: 0,\n marginTop: 0\n }\n },\n // Alignment variations\n start: {\n '::after': {\n content: '\"\"'\n }\n },\n center: {\n '::before': {\n content: '\"\"'\n },\n '::after': {\n content: '\"\"'\n }\n },\n end: {\n '::before': {\n content: '\"\"'\n }\n },\n // Appearance variations\n brand: {\n color: tokens.colorBrandForeground1,\n '::before': {\n ...shorthands.borderColor(tokens.colorBrandStroke1)\n },\n '::after': {\n ...shorthands.borderColor(tokens.colorBrandStroke1)\n }\n },\n default: {\n color: tokens.colorNeutralForeground2,\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke2)\n },\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke2)\n }\n },\n subtle: {\n color: tokens.colorNeutralForeground2,\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke3)\n },\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke3)\n }\n },\n strong: {\n color: tokens.colorNeutralForeground2,\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1)\n },\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1)\n }\n }\n});\nconst useHorizontalStyles = makeStyles({\n // Base styles\n base: {\n width: '100%',\n '::before': {\n borderTopStyle: 'solid',\n borderTopWidth: tokens.strokeWidthThin,\n minWidth: minStartEndLength\n },\n '::after': {\n borderTopStyle: 'solid',\n borderTopWidth: tokens.strokeWidthThin,\n minWidth: minStartEndLength\n }\n },\n // Inset styles\n inset: {\n paddingLeft: insetSpacing,\n paddingRight: insetSpacing\n },\n // Alignment variations\n start: {\n '::before': {\n content: '\"\"',\n marginRight: contentSpacing,\n maxWidth: maxStartEndLength\n },\n '::after': {\n marginLeft: contentSpacing\n }\n },\n center: {\n '::before': {\n marginRight: contentSpacing\n },\n '::after': {\n marginLeft: contentSpacing\n }\n },\n end: {\n '::before': {\n marginRight: contentSpacing\n },\n '::after': {\n content: '\"\"',\n marginLeft: contentSpacing,\n maxWidth: maxStartEndLength\n }\n }\n});\nconst useVerticalStyles = makeStyles({\n // Base styles\n base: {\n flexDirection: 'column',\n minHeight: '20px',\n '::before': {\n borderRightStyle: 'solid',\n borderRightWidth: tokens.strokeWidthThin,\n minHeight: minStartEndLength\n },\n '::after': {\n borderRightStyle: 'solid',\n borderRightWidth: tokens.strokeWidthThin,\n minHeight: minStartEndLength\n }\n },\n // Inset styles\n inset: {\n marginTop: insetSpacing,\n marginBottom: insetSpacing\n },\n // With children styles\n withChildren: {\n minHeight: '84px'\n },\n // Alignment variations\n start: {\n '::before': {\n content: '\"\"',\n marginBottom: contentSpacing,\n maxHeight: maxStartEndLength\n },\n '::after': {\n marginTop: contentSpacing\n }\n },\n center: {\n '::before': {\n marginBottom: contentSpacing\n },\n '::after': {\n marginTop: contentSpacing\n }\n },\n end: {\n '::before': {\n marginBottom: contentSpacing\n },\n '::after': {\n content: '\"\"',\n marginTop: contentSpacing,\n maxHeight: maxStartEndLength\n }\n }\n});\nexport const useDividerStyles_unstable = (state)=>{\n const baseStyles = useBaseStyles();\n const horizontalStyles = useHorizontalStyles();\n const verticalStyles = useVerticalStyles();\n const { alignContent, appearance, inset, vertical } = state;\n state.root.className = mergeClasses(dividerClassNames.root, // Base styles\n baseStyles.base, baseStyles[alignContent], appearance && baseStyles[appearance], // Horizontal styles\n !vertical && horizontalStyles.base, !vertical && inset && horizontalStyles.inset, !vertical && horizontalStyles[alignContent], // Vertical styles\n vertical && verticalStyles.base, vertical && inset && verticalStyles.inset, vertical && verticalStyles[alignContent], vertical && state.root.children !== undefined && verticalStyles.withChildren, // Childless styles\n state.root.children === undefined && baseStyles.childless, // User provided class name\n state.root.className);\n if (state.wrapper) {\n state.wrapper.className = mergeClasses(dividerClassNames.wrapper, state.wrapper.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { renderDivider_unstable } from './renderDivider';\nimport { useDivider_unstable } from './useDivider';\nimport { useDividerStyles_unstable } from './useDividerStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A divider visually segments content into groups.\n */ export const Divider = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDivider_unstable(props, ref);\n useDividerStyles_unstable(state);\n useCustomStyleHook_unstable('useDividerStyles_unstable')(state);\n return renderDivider_unstable(state);\n});\nDivider.displayName = 'Divider';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useId, slot } from '@fluentui/react-utilities';\n/**\n * Returns the props and state required to render the component\n * @param props - User-provided props to the Divider component.\n * @param ref - User-provided ref to be passed to the Divider component.\n */ export const useDivider_unstable = (props, ref)=>{\n const { alignContent = 'center', appearance = 'default', inset = false, vertical = false, wrapper } = props;\n const dividerId = useId('divider-');\n return {\n // Props passed at the top-level\n alignContent,\n appearance,\n inset,\n vertical,\n // Slots definition\n components: {\n root: 'div',\n wrapper: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n role: 'separator',\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-labelledby': props.children ? dividerId : undefined,\n ...props,\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref\n }), {\n elementType: 'div'\n }),\n wrapper: slot.always(wrapper, {\n defaultProps: {\n id: dividerId,\n children: props.children\n },\n elementType: 'div'\n })\n };\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { Divider, Input, Label, makeStyles, tokens } from '@fluentui/react-components';\nimport React, { useEffect, useState } from 'react';\nimport { useChat } from '../../../libs/hooks';\n\nconst useStyles = makeStyles({\n content: {\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalMNudge,\n },\n divider: {\n marginTop: tokens.spacingVerticalXL,\n marginBottom: tokens.spacingVerticalXL,\n },\n});\n\ninterface InvitationJoinDialogProps {\n onCloseDialog: () => void;\n}\n\nexport const InvitationJoinDialog: React.FC = ({ onCloseDialog }) => {\n const chat = useChat();\n const [errorOccurred, setErrorOccurred] = React.useState(false);\n const [errorMessage, setErrorMessage] = React.useState('');\n\n const classes = useStyles();\n\n const handleSubmit = (ev: React.FormEvent) => {\n ev.preventDefault();\n setErrorOccurred(false);\n\n const chatId = ev.currentTarget.elements.namedItem('chat-id-input') as HTMLInputElement;\n\n void chat.joinChat(chatId.value).then(({ success, message }) => {\n if (success) {\n onCloseDialog();\n } else {\n setErrorOccurred(true);\n setErrorMessage(message);\n }\n });\n };\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n return (\n
\n
\n
\n
\n
Join a Group Conversation
\n
\n \n Please enter the chat ID of the chat you would like to join\n \n \n
\n
\n \n \n Join\n \n
\n
\n
\n {errorOccurred && (\n
\n \n \n
\n )}\n
\n
\n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport React, { FC, useCallback, useContext, useEffect, useState } from 'react';\n\nimport {\n Button,\n Menu,\n MenuItem,\n MenuList,\n MenuPopover,\n MenuTrigger,\n Spinner,\n Tooltip,\n} from '@fluentui/react-components';\nimport { ArrowDownloadRegular, ArrowJoinFilled, PeopleRegular, PeopleTeamAddRegular } from '@fluentui/react-icons';\nimport AppContext from '../../../AppContext';\nimport { useChat, useFile } from '../../../libs/hooks';\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { FeatureKeys } from '../../../redux/features/app/AppState';\nimport { InvitationCreateDialog } from '../invitation-dialog/InvitationCreateDialog';\nimport { InvitationJoinDialog } from '../invitation-dialog/InvitationJoinDialog';\n\ninterface ShareBotMenuProps {\n chatId: string;\n chatTitle: string;\n}\n\nexport const ShareBotMenu: FC = ({ chatId, chatTitle }) => {\n const chat = useChat();\n const { downloadFile } = useFile();\n const [isGettingInvitationId, setIsGettingInvitationId] = React.useState(false);\n const { features } = useAppSelector((state: RootState) => state.app);\n const [isLoading, setIsLoading] = useState(false);\n\n const [isJoiningBot, setIsJoiningBot] = useState(false);\n const { currentSection } = useContext(AppContext);\n\n const onDownloadBotClick = useCallback(() => {\n setIsLoading(true);\n void chat.downloadBot(chatId).then((content) => {\n downloadFile(\n `chat-history-${chatTitle}-${new Date().toISOString()}.json`,\n JSON.stringify(content),\n 'text/json',\n );\n setIsLoading(false);\n });\n }, [chat, chatId, chatTitle, downloadFile]);\n\n const onJoinClick = () => {\n setIsJoiningBot(true);\n };\n\n const onCloseDialog = () => {\n setIsJoiningBot(false);\n };\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n const hiddenSections = ['settings', 'translator', 'guide'];\n const isHidden = hiddenSections.includes(currentSection);\n\n if (isHidden) {\n return null;\n }\n\n return (\n
\n {isLoading && (\n
\n
\n \n Preparing your bot...\n
\n
\n )}\n \n \n \n \n {isGettingInvitationId && (\n {\n setIsGettingInvitationId(false);\n }}\n chatId={chatId}\n />\n )}\n {isJoiningBot && }\n
\n );\n};\n","import { Button } from '@fluentui/react-button';\nimport { makeStyles, mergeClasses, shorthands, tokens } from '@fluentui/react-components';\nimport { Input, InputOnChangeData } from '@fluentui/react-input';\nimport { useEffect, useState } from 'react';\nimport { useChat } from '../../../libs/hooks';\nimport { AlertType } from '../../../libs/models/AlertType';\nimport { useAppDispatch, useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { addAlert } from '../../../redux/features/app/appSlice';\nimport { editConversationTitle } from '../../../redux/features/conversations/conversationsSlice';\nimport { Checkmark20, Dismiss20 } from '../../shared/BundledIcons';\n\nconst useClasses = makeStyles({\n root: {\n width: '100%',\n },\n buttons: {},\n textButtons: {\n ...shorthands.gap(tokens.spacingVerticalS),\n },\n});\n\ninterface IEditChatNameProps {\n name: string;\n chatId: string;\n exitEdits: () => void;\n textButtons?: boolean;\n}\n\nexport const EditChatName: React.FC = ({ name, chatId, exitEdits, textButtons }) => {\n const classes = useClasses();\n const dispatch = useAppDispatch();\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\n const chat = useChat();\n\n const [title = '', setTitle] = useState(name);\n\n useEffect(() => {\n if (selectedId !== chatId) exitEdits();\n }, [chatId, exitEdits, selectedId]);\n\n const onSaveTitleChange = async () => {\n if (name !== title) {\n const chatState = conversations[selectedId];\n await chat.editChat(chatId, title, chatState.systemDescription, chatState.memoryBalance).then(() => {\n dispatch(editConversationTitle({ id: chatId, newTitle: title }));\n });\n }\n exitEdits();\n };\n\n const onClose = () => {\n setTitle(name);\n exitEdits();\n };\n\n const onTitleChange = (_ev: React.ChangeEvent, data: InputOnChangeData) => {\n setTitle(data.value);\n };\n\n const handleSave = () => {\n onSaveTitleChange().catch((e: any) => {\n const errorMessage = `Unable to retrieve chat to change title. Details: ${\n e instanceof Error ? e.message : String(e)\n }`;\n dispatch(addAlert({ message: errorMessage, type: AlertType.Error }));\n });\n };\n\n const handleKeyDown: React.KeyboardEventHandler = (event) => {\n if (event.key === 'Enter') {\n handleSave();\n }\n };\n\n return (\n \n \n {textButtons && (\n
\n \n \n
\n )}\n {!textButtons && (\n
\n
\n )}\n
\n );\n};\n","import { CaretDown20Regular, CaretUp20Regular } from '@fluentui/react-icons';\r\nimport React, { useEffect, useState } from 'react';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport remarkGfm from 'remark-gfm';\r\n\r\n// Define interfaces\r\ninterface QnA {\r\n question: string;\r\n answer: string;\r\n opened?: boolean;\r\n}\r\n\r\ninterface Category {\r\n name: string;\r\n qna: QnA[];\r\n}\r\n\r\ninterface GuideData {\r\n categories: Category[];\r\n}\r\n\r\ninterface PossibleGuideData {\r\n categories?: Array<{\r\n name: string;\r\n qna: Array<{ question: string; answer: string }>;\r\n }>;\r\n}\r\n\r\nexport const GuideTab: React.FC = () => {\r\n const [language, setLanguage] = useState('us-en');\r\n const [loading, setLoading] = useState(false);\r\n const [guideData, setGuideData] = useState(null);\r\n\r\n const renderMarkdown = (markdownText: string) => {\r\n return {markdownText};\r\n };\r\n\r\n const fetchGuideData = async (lang: string) => {\r\n setLoading(true);\r\n try {\r\n // console.log('Attempting to load guide_' + lang + '.json...');\r\n const response = await fetch(`/assets/guides/guide_${lang}.json`);\r\n const jsonData = (await response.json()) as PossibleGuideData;\r\n\r\n // Validate jsonData to be of type GuideData\r\n if (!jsonData.categories || !Array.isArray(jsonData.categories)) {\r\n throw new Error('Invalid guide data format');\r\n }\r\n\r\n // Type assertion\r\n const data: GuideData = jsonData as GuideData;\r\n data.categories.forEach((category) => {\r\n category.qna.forEach((qa) => (qa.opened = false));\r\n });\r\n setGuideData(data);\r\n setAllExpanded(false);\r\n } catch (error) {\r\n console.error('Failed to fetch guide data:', error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n void fetchGuideData(language);\r\n }, [language]);\r\n\r\n useEffect(() => {\r\n const observer = new MutationObserver((mutationsList) => {\r\n for (const mutation of mutationsList) {\r\n if (mutation.type === 'childList') {\r\n const links = document.querySelectorAll('a[href]');\r\n links.forEach((link) => {\r\n link.setAttribute('target', '_blank');\r\n link.setAttribute('rel', 'noopener noreferrer');\r\n });\r\n }\r\n }\r\n });\r\n\r\n observer.observe(document.body, { childList: true, subtree: true });\r\n\r\n return () => {\r\n observer.disconnect();\r\n };\r\n }, []);\r\n\r\n const toggleAnswer = (catIndex: number, qaIndex: number) => {\r\n if (guideData) {\r\n const newData = { ...guideData };\r\n newData.categories[catIndex].qna[qaIndex].opened = !newData.categories[catIndex].qna[qaIndex].opened;\r\n setGuideData(newData);\r\n }\r\n };\r\n\r\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\r\n\r\n // Effect to update the font based on localStorage changes\r\n useEffect(() => {\r\n const updateFont = (event: CustomEvent) => {\r\n setCurrentFont(event.detail);\r\n };\r\n\r\n window.addEventListener('fontChange', updateFont as EventListener);\r\n\r\n // Initialize the font\r\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\r\n setCurrentFont(storedFont);\r\n\r\n return () => {\r\n window.removeEventListener('fontChange', updateFont as EventListener);\r\n };\r\n }, []);\r\n\r\n const [allExpanded, setAllExpanded] = useState(false);\r\n\r\n const toggleAllAnswers = () => {\r\n if (guideData) {\r\n const newData = { ...guideData };\r\n newData.categories.forEach((category) => {\r\n category.qna.forEach((qa) => {\r\n qa.opened = !allExpanded;\r\n });\r\n });\r\n setGuideData(newData);\r\n setAllExpanded(!allExpanded);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n

UT Verse Guide

\r\n Language{' '}\r\n {\r\n setLanguage(e.target.value);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allExpanded ? 'Collapse All Answers' : 'Expand All Answers'}\r\n \r\n {loading ? (\r\n

Now loading the guide... Please wait!

\r\n ) : (\r\n guideData?.categories.map((category, catIndex) => (\r\n
\r\n

{category.name}

\r\n
\r\n {category.qna.map((qa, qaIndex) => (\r\n
\r\n {\r\n toggleAnswer(catIndex, qaIndex);\r\n }}\r\n >\r\n
{qa.question}
\r\n
{qa.opened ? : }
\r\n
\r\n

\r\n {' '}\r\n

{renderMarkdown(qa.answer)}
\r\n

\r\n
\r\n ))}\r\n
\r\n
\r\n ))\r\n )}\r\n
\r\n );\r\n};\r\n","import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useCallback } from 'react';\nconst disableScrollElementProp = '__fluentDisableScrollElement';\n/**\n * hook that disables body scrolling through `overflow: hidden` CSS property\n */ export function useDisableBodyScroll() {\n const { targetDocument } = useFluent_unstable();\n return useCallback(()=>{\n if (targetDocument) {\n return disableScroll(targetDocument.body);\n }\n }, [\n targetDocument\n ]);\n}\n/**\n * disables scrolling from a given element through `overflow: hidden` CSS property\n * @param target - element to disable scrolling from\n * @returns a method for enabling scrolling again\n */ export function disableScroll(target) {\n var _target_ownerDocument_defaultView;\n const { clientWidth } = target.ownerDocument.documentElement;\n var _target_ownerDocument_defaultView_innerWidth;\n const innerWidth = (_target_ownerDocument_defaultView_innerWidth = (_target_ownerDocument_defaultView = target.ownerDocument.defaultView) === null || _target_ownerDocument_defaultView === void 0 ? void 0 : _target_ownerDocument_defaultView.innerWidth) !== null && _target_ownerDocument_defaultView_innerWidth !== void 0 ? _target_ownerDocument_defaultView_innerWidth : 0;\n assertIsDisableScrollElement(target);\n if (target[disableScrollElementProp].count === 0) {\n target.style.overflow = 'hidden';\n target.style.paddingRight = `${innerWidth - clientWidth}px`;\n }\n target[disableScrollElementProp].count++;\n return ()=>{\n target[disableScrollElementProp].count--;\n if (target[disableScrollElementProp].count === 0) {\n target.style.overflow = target[disableScrollElementProp].previousOverflowStyle;\n target.style.paddingRight = target[disableScrollElementProp].previousPaddingRightStyle;\n }\n };\n}\nfunction assertIsDisableScrollElement(element) {\n var _element, _disableScrollElementProp;\n var _;\n (_ = (_element = element)[_disableScrollElementProp = disableScrollElementProp]) !== null && _ !== void 0 ? _ : _element[_disableScrollElementProp] = {\n count: 0,\n previousOverflowStyle: element.style.overflow,\n previousPaddingRightStyle: element.style.paddingRight\n };\n}\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nconst defaultContextValue = {\n open: false,\n inertTrapFocus: false,\n modalType: 'modal',\n isNestedDialog: false,\n dialogRef: {\n current: null\n },\n requestOpenChange () {\n /* noop */ }\n};\n// Contexts should default to undefined\nexport const DialogContext = createContext(undefined);\nexport const DialogProvider = DialogContext.Provider;\nexport const useDialogContext_unstable = (selector)=>useContextSelector(DialogContext, (ctx = defaultContextValue)=>selector(ctx));\n","import * as React from 'react';\nimport { useControllableState, useEventCallback, useId, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useDisableBodyScroll, useFocusFirstElement } from '../../utils';\nimport { DialogContext } from '../../contexts';\nimport { useModalAttributes } from '@fluentui/react-tabster';\n/**\n * Create the state required to render Dialog.\n *\n * The returned state can be modified with hooks such as useDialogStyles_unstable,\n * before being passed to renderDialog_unstable.\n *\n * @param props - props from this instance of Dialog\n */ export const useDialog_unstable = (props)=>{\n const { children, modalType = 'modal', onOpenChange, inertTrapFocus = false } = props;\n const [trigger, content] = childrenToTriggerAndContent(children);\n const [open, setOpen] = useControllableState({\n state: props.open,\n defaultState: props.defaultOpen,\n initialState: false\n });\n const requestOpenChange = useEventCallback((data)=>{\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(data.event, data);\n // if user prevents default then do not change state value\n // otherwise updates state value and trigger reference to the element that caused the opening\n if (!data.event.isDefaultPrevented()) {\n setOpen(data.open);\n }\n });\n const focusRef = useFocusFirstElement(open, modalType);\n const disableBodyScroll = useDisableBodyScroll();\n const isBodyScrollLocked = Boolean(open && modalType !== 'non-modal');\n useIsomorphicLayoutEffect(()=>{\n if (isBodyScrollLocked) {\n return disableBodyScroll();\n }\n }, [\n disableBodyScroll,\n isBodyScrollLocked\n ]);\n const { modalAttributes, triggerAttributes } = useModalAttributes({\n trapFocus: modalType !== 'non-modal',\n legacyTrapFocus: !inertTrapFocus\n });\n return {\n components: {\n backdrop: 'div'\n },\n inertTrapFocus,\n open,\n modalType,\n content,\n trigger,\n requestOpenChange,\n dialogTitleId: useId('dialog-title-'),\n isNestedDialog: useHasParentContext(DialogContext),\n dialogRef: focusRef,\n modalAttributes: modalType !== 'non-modal' ? modalAttributes : undefined,\n triggerAttributes\n };\n};\n/**\n * Extracts trigger and content from children\n */ function childrenToTriggerAndContent(children) {\n const childrenArray = React.Children.toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childrenArray.length !== 1 && childrenArray.length !== 2) {\n // eslint-disable-next-line no-console\n console.warn(`@fluentui/react-dialog [useDialog]:\nDialog must contain at least one child ,\nand at most two children (in this order).`);\n }\n }\n switch(childrenArray.length){\n // case where there's a trigger followed by content\n case 2:\n return childrenArray;\n // case where there's only content\n case 1:\n return [\n undefined,\n childrenArray[0]\n ];\n // unknown case\n default:\n return [\n undefined,\n undefined\n ];\n }\n}\n","import * as React from 'react';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Focus first element on content when dialog is opened,\n */ export function useFocusFirstElement(open, modalType) {\n const { findFirstFocusable } = useFocusFinders();\n const { targetDocument } = useFluent_unstable();\n const dialogRef = React.useRef(null);\n React.useEffect(()=>{\n if (!open) {\n return;\n }\n const element = dialogRef.current && findFirstFocusable(dialogRef.current);\n if (element) {\n element.focus();\n } else {\n var _dialogRef_current;\n (_dialogRef_current = dialogRef.current) === null || _dialogRef_current === void 0 ? void 0 : _dialogRef_current.focus(); // https://github.com/microsoft/fluentui/issues/25150\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(`@fluentui/react-dialog [useFocusFirstElement]:\nA Dialog should have at least one focusable element inside DialogSurface.\nPlease add at least a close button either on \\`DialogTitle\\` action slot or inside \\`DialogActions\\``);\n }\n }\n }, [\n findFirstFocusable,\n open,\n modalType,\n targetDocument\n ]);\n return dialogRef;\n}\n","import { createContext, useContext } from 'react';\nconst defaultContextValue = false;\nexport const DialogSurfaceContext = createContext(undefined);\nexport const DialogSurfaceProvider = DialogSurfaceContext.Provider;\nexport const useDialogSurfaceContext_unstable = ()=>{\n var _useContext;\n return (_useContext = useContext(DialogSurfaceContext)) !== null && _useContext !== void 0 ? _useContext : defaultContextValue;\n};\n","import * as React from 'react';\n/**\n * @internal\n */ const defaultContextValue = undefined;\n// Contexts should default to undefined\n/**\n * @internal\n */ export const DialogTransitionContext = React.createContext(undefined);\n/**\n * @internal\n */ export const DialogTransitionProvider = DialogTransitionContext.Provider;\n/**\n * @internal\n */ export const useDialogTransitionContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(DialogTransitionContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;\n};\n","import * as React from 'react';\nimport { useDialog_unstable } from './useDialog';\nimport { renderDialog_unstable } from './renderDialog';\nimport { useDialogContextValues_unstable } from './useDialogContextValues';\n/**\n * The `Dialog` root level component serves as an interface for interaction with all possible behaviors exposed.\n * It provides context down the hierarchy to `children` compound components to allow functionality.\n * This component expects to receive as children either a `DialogSurface` or a `DialogTrigger`\n * and a `DialogSurface` (or some component that will eventually render one of those compound components)\n * in this specific order\n */ export const Dialog = /*#__PURE__*/ React.memo((props)=>{\n const state = useDialog_unstable(props);\n const contextValues = useDialogContextValues_unstable(state);\n return renderDialog_unstable(state, contextValues);\n});\nDialog.displayName = 'Dialog';\n","export function useDialogContextValues_unstable(state) {\n const { modalType, open, dialogRef, dialogTitleId, isNestedDialog, inertTrapFocus, requestOpenChange, modalAttributes, triggerAttributes } = state;\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */ const dialog = {\n open,\n modalType,\n dialogRef,\n dialogTitleId,\n isNestedDialog,\n inertTrapFocus,\n modalAttributes,\n triggerAttributes,\n requestOpenChange\n };\n const dialogSurface = false;\n return {\n dialog,\n dialogSurface\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { Transition } from 'react-transition-group';\nimport { DialogProvider, DialogSurfaceProvider } from '../../contexts';\nimport { DialogTransitionProvider } from '../../contexts/dialogTransitionContext';\n/**\n * Render the final JSX of Dialog\n */ export const renderDialog_unstable = (state, contextValues)=>{\n const { content, trigger } = state;\n return /*#__PURE__*/ _jsx(DialogProvider, {\n value: contextValues.dialog,\n children: /*#__PURE__*/ _jsxs(DialogSurfaceProvider, {\n value: contextValues.dialogSurface,\n children: [\n trigger,\n process.env.NODE_ENV === 'test' ? state.open && /*#__PURE__*/ _jsx(DialogTransitionProvider, {\n value: undefined,\n children: content\n }) : /*#__PURE__*/ _jsx(Transition, {\n mountOnEnter: true,\n unmountOnExit: true,\n in: state.open,\n nodeRef: state.dialogRef,\n appear: true,\n // FIXME: this should not be hardcoded tokens.durationGentle\n timeout: 250,\n children: (status)=>/*#__PURE__*/ _jsx(DialogTransitionProvider, {\n value: status,\n children: content\n })\n })\n ]\n })\n });\n};\n","import * as React from 'react';\nimport { applyTriggerPropsToChildren, getTriggerChild, useEventCallback } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable, useDialogSurfaceContext_unstable } from '../../contexts';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { useModalAttributes } from '@fluentui/react-tabster';\n/**\n * Create the state required to render DialogTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup Dialog\n *\n * @param props - props from this instance of DialogTrigger\n */ export const useDialogTrigger_unstable = (props)=>{\n const isInsideSurfaceDialog = useDialogSurfaceContext_unstable();\n const { children, disableButtonEnhancement = false, action = isInsideSurfaceDialog ? 'close' : 'open' } = props;\n const child = getTriggerChild(children);\n const requestOpenChange = useDialogContext_unstable((ctx)=>ctx.requestOpenChange);\n const { triggerAttributes } = useModalAttributes();\n const handleClick = useEventCallback((event)=>{\n var _child_props_onClick, _child_props;\n child === null || child === void 0 ? void 0 : (_child_props_onClick = (_child_props = child.props).onClick) === null || _child_props_onClick === void 0 ? void 0 : _child_props_onClick.call(_child_props, event);\n if (!event.isDefaultPrevented()) {\n requestOpenChange({\n event,\n type: 'triggerClick',\n open: action === 'open'\n });\n }\n });\n const triggerChildProps = {\n ...child === null || child === void 0 ? void 0 : child.props,\n ref: child === null || child === void 0 ? void 0 : child.ref,\n onClick: handleClick,\n ...triggerAttributes\n };\n const ariaButtonTriggerChildProps = useARIAButtonProps((child === null || child === void 0 ? void 0 : child.type) === 'button' || (child === null || child === void 0 ? void 0 : child.type) === 'a' ? child.type : 'div', {\n ...triggerChildProps,\n type: 'button'\n });\n return {\n children: applyTriggerPropsToChildren(children, disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)\n };\n};\n","import * as React from 'react';\nimport { useDialogTrigger_unstable } from './useDialogTrigger';\nimport { renderDialogTrigger_unstable } from './renderDialogTrigger';\n/**\n * A non-visual component that wraps its child\n * and configures them to be the trigger that will open or close a `Dialog`.\n * This component should only accept one child.\n *\n * This component sole purpose is to avoid opting out of the internal controlled open state of a `Dialog`\n * Besides being a trigger that opens/close a dialog through context this component doesn't do much,\n * making it basically unnecessary in cases where the trigger is outside of the `Dialog` component.\n */ export const DialogTrigger = (props)=>{\n const state = useDialogTrigger_unstable(props);\n return renderDialogTrigger_unstable(state);\n};\nDialogTrigger.displayName = 'DialogTrigger';\n// type casting here is required to ensure internal type FluentTriggerComponent is not leaked\nDialogTrigger.isFluentTriggerComponent = true;\n","/**\n * Render the final JSX of MenuTrigger\n *\n * Only renders children\n */ export const renderDialogTrigger_unstable = (state)=>state.children;\n","import * as React from 'react';\nimport { useEventCallback, useMergedRefs, isResolvedShorthand, slot, getIntrinsicElementProps } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable } from '../../contexts';\nimport { Escape } from '@fluentui/keyboard-keys';\nimport { useDialogTransitionContext_unstable } from '../../contexts/dialogTransitionContext';\n/**\n * Create the state required to render DialogSurface.\n *\n * The returned state can be modified with hooks such as useDialogSurfaceStyles_unstable,\n * before being passed to renderDialogSurface_unstable.\n *\n * @param props - props from this instance of DialogSurface\n * @param ref - reference to root HTMLElement of DialogSurface\n */ export const useDialogSurface_unstable = (props, ref)=>{\n const modalType = useDialogContext_unstable((ctx)=>ctx.modalType);\n const isNestedDialog = useDialogContext_unstable((ctx)=>ctx.isNestedDialog);\n const transitionStatus = useDialogTransitionContext_unstable();\n const modalAttributes = useDialogContext_unstable((ctx)=>ctx.modalAttributes);\n const dialogRef = useDialogContext_unstable((ctx)=>ctx.dialogRef);\n const requestOpenChange = useDialogContext_unstable((ctx)=>ctx.requestOpenChange);\n const dialogTitleID = useDialogContext_unstable((ctx)=>ctx.dialogTitleId);\n const handledBackdropClick = useEventCallback((event)=>{\n if (isResolvedShorthand(props.backdrop)) {\n var _props_backdrop_onClick, _props_backdrop;\n (_props_backdrop_onClick = (_props_backdrop = props.backdrop).onClick) === null || _props_backdrop_onClick === void 0 ? void 0 : _props_backdrop_onClick.call(_props_backdrop, event);\n }\n if (modalType === 'modal' && !event.isDefaultPrevented()) {\n requestOpenChange({\n event,\n open: false,\n type: 'backdropClick'\n });\n }\n });\n const handleKeyDown = useEventCallback((event)=>{\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if (event.key === Escape && !event.isDefaultPrevented()) {\n requestOpenChange({\n event,\n open: false,\n type: 'escapeKeyDown'\n });\n // stop propagation to avoid conflicting with other elements that listen for `Escape`\n // e,g: nested Dialog, Popover, Menu and Tooltip\n event.preventDefault();\n }\n });\n const backdrop = slot.optional(props.backdrop, {\n renderByDefault: modalType !== 'non-modal',\n defaultProps: {\n 'aria-hidden': 'true'\n },\n elementType: 'div'\n });\n if (backdrop) {\n backdrop.onClick = handledBackdropClick;\n }\n return {\n components: {\n backdrop: 'div',\n root: 'div'\n },\n backdrop,\n isNestedDialog,\n transitionStatus,\n mountNode: props.mountNode,\n root: slot.always(getIntrinsicElementProps('div', {\n tabIndex: -1,\n 'aria-modal': modalType !== 'non-modal',\n role: modalType === 'alert' ? 'alertdialog' : 'dialog',\n 'aria-labelledby': props['aria-label'] ? undefined : dialogTitleID,\n ...props,\n ...modalAttributes,\n onKeyDown: handleKeyDown,\n // FIXME:\n // `DialogSurfaceElement` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, dialogRef)\n }), {\n elementType: 'div'\n })\n };\n};\n","import { isValidElement } from 'react';\n/**\n * Guard method that validates if a shorthand is a slot\n * can be used to extends properties provided by a slot\n *\n * @example\n * ```\n * const backdropSlot = resolveShorthand(backdrop, {\n * defaultProps: {\n * onClick: useEventCallback(event => {\n * if (isResolvedShorthand(backdrop)) {\n * backdrop.onClick?.(event)\n * }\n * // do something after passing click down the line\n * }),\n * },\n * })\n * ```\n * @example\n * ```\n * const handleBackDropClick = (event) => {\n * // do your thing\n * }\n * const backdropSlot = resolveShorthand(backdrop, {\n * defaultProps: {\n * onClick: useEventCallback(\n * mergeCallbacks(isResolvedShorthand(backdrop) ? backdrop.onClick : undefined, handleBackdropClick)\n * )\n * })\n * ```\n */ export function isResolvedShorthand(shorthand) {\n return shorthand !== null && typeof shorthand === 'object' && !Array.isArray(shorthand) && !isValidElement(shorthand);\n}\n","import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { MEDIA_QUERY_BREAKPOINT_SELECTOR, SURFACE_BORDER_WIDTH, SURFACE_PADDING } from '../../contexts';\nexport const dialogSurfaceClassNames = {\n root: 'fui-DialogSurface',\n backdrop: 'fui-DialogSurface__backdrop'\n};\n/**\n * Styles for the root slot\n */ const useRootBaseStyle = makeResetStyles({\n ...createFocusOutlineStyle(),\n ...shorthands.inset(0),\n ...shorthands.padding(0),\n ...shorthands.padding(SURFACE_PADDING),\n ...shorthands.margin('auto'),\n ...shorthands.borderStyle('none'),\n ...shorthands.overflow('unset'),\n ...shorthands.border(SURFACE_BORDER_WIDTH, 'solid', tokens.colorTransparentStroke),\n ...shorthands.borderRadius(tokens.borderRadiusXLarge),\n display: 'block',\n userSelect: 'unset',\n visibility: 'unset',\n position: 'fixed',\n height: 'fit-content',\n maxWidth: '600px',\n maxHeight: '100vh',\n boxSizing: 'border-box',\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n [MEDIA_QUERY_BREAKPOINT_SELECTOR]: {\n maxWidth: '100vw'\n }\n});\nconst rootVisible = {\n boxShadow: tokens.shadow64,\n transform: 'scale(1) translateZ(0)',\n opacity: 1\n};\nconst rootWhenAnimating = {\n transitionDuration: tokens.durationGentle,\n transitionProperty: 'opacity, transform, box-shadow',\n // // FIXME: https://github.com/microsoft/fluentui/issues/29473\n transitionTimingFunction: tokens.curveDecelerateMid\n};\nconst useRootStyles = makeStyles({\n animated: {\n // initial style before animation:\n opacity: 0,\n boxShadow: '0px 0px 0px 0px rgba(0, 0, 0, 0.1)',\n transform: 'scale(0.85) translateZ(0)'\n },\n static: {\n boxShadow: tokens.shadow64\n },\n unmounted: {},\n entering: {\n ...rootWhenAnimating,\n ...rootVisible\n },\n entered: rootVisible,\n idle: rootVisible,\n exiting: {\n ...rootWhenAnimating,\n transitionTimingFunction: tokens.curveAccelerateMin\n },\n exited: {}\n});\n/**\n * Styles for the backdrop slot\n */ const backdropVisible = {\n opacity: 1\n};\nconst useBackdropBaseStyle = makeResetStyles({\n ...shorthands.inset('0px'),\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n position: 'fixed',\n // initial style before animation:\n transitionDuration: tokens.durationGentle,\n transitionTimingFunction: tokens.curveLinear,\n transitionProperty: 'opacity',\n willChange: 'opacity',\n opacity: 0\n});\nconst useBackdropStyles = makeStyles({\n nestedDialogBackdrop: {\n backgroundColor: tokens.colorTransparentBackground\n },\n unmounted: {},\n entering: backdropVisible,\n entered: backdropVisible,\n idle: backdropVisible,\n exiting: {\n transitionTimingFunction: tokens.curveAccelerateMin\n },\n exited: {}\n});\n/**\n * Apply styling to the DialogSurface slots based on the state\n */ export const useDialogSurfaceStyles_unstable = (state)=>{\n const { isNestedDialog, root, backdrop, transitionStatus } = state;\n const rootBaseStyle = useRootBaseStyle();\n const rootStyles = useRootStyles();\n const backdropBaseStyle = useBackdropBaseStyle();\n const backdropStyles = useBackdropStyles();\n root.className = mergeClasses(dialogSurfaceClassNames.root, rootBaseStyle, transitionStatus ? rootStyles.animated : rootStyles.static, transitionStatus && rootStyles[transitionStatus], root.className);\n if (backdrop) {\n backdrop.className = mergeClasses(dialogSurfaceClassNames.backdrop, backdropBaseStyle, isNestedDialog && backdropStyles.nestedDialogBackdrop, transitionStatus && backdropStyles[transitionStatus], backdrop.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useDialogSurface_unstable } from './useDialogSurface';\nimport { renderDialogSurface_unstable } from './renderDialogSurface';\nimport { useDialogSurfaceStyles_unstable } from './useDialogSurfaceStyles.styles';\nimport { useDialogSurfaceContextValues_unstable } from './useDialogSurfaceContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * DialogSurface component represents the visual part of a `Dialog` as a whole,\n * it contains everything that should be visible.\n */ export const DialogSurface = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDialogSurface_unstable(props, ref);\n const contextValues = useDialogSurfaceContextValues_unstable(state);\n useDialogSurfaceStyles_unstable(state);\n useCustomStyleHook_unstable('useDialogSurfaceStyles_unstable')(state);\n return renderDialogSurface_unstable(state, contextValues);\n});\nDialogSurface.displayName = 'DialogSurface';\n","export function useDialogSurfaceContextValues_unstable(state) {\n const dialogSurface = true;\n return {\n dialogSurface\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { DialogSurfaceProvider } from '../../contexts';\nimport { Portal } from '@fluentui/react-portal';\n/**\n * Render the final JSX of DialogSurface\n */ export const renderDialogSurface_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(Portal, {\n mountNode: state.mountNode,\n children: [\n state.backdrop && /*#__PURE__*/ _jsx(state.backdrop, {}),\n /*#__PURE__*/ _jsx(DialogSurfaceProvider, {\n value: contextValues.dialogSurface,\n children: /*#__PURE__*/ _jsx(state.root, {})\n })\n ]\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DialogBody.\n *\n * The returned state can be modified with hooks such as useDialogBodyStyles_unstable,\n * before being passed to renderDialogBody_unstable.\n *\n * @param props - props from this instance of DialogBody\n * @param ref - reference to root HTMLElement of DialogBody\n */ export const useDialogBody_unstable = (props, ref)=>{\n var _props_as;\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : 'div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'div'\n })\n };\n};\n","import { makeResetStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DIALOG_GAP, MEDIA_QUERY_BREAKPOINT_SELECTOR, SURFACE_PADDING } from '../../contexts';\nexport const dialogBodyClassNames = {\n root: 'fui-DialogBody'\n};\n/**\n * Styles for the root slot\n */ const useResetStyles = makeResetStyles({\n ...shorthands.overflow('unset'),\n ...shorthands.gap(DIALOG_GAP),\n display: 'grid',\n maxHeight: `calc(100vh - 2 * ${SURFACE_PADDING})`,\n boxSizing: 'border-box',\n gridTemplateRows: 'auto 1fr',\n gridTemplateColumns: '1fr 1fr auto',\n [MEDIA_QUERY_BREAKPOINT_SELECTOR]: {\n maxWidth: '100vw',\n gridTemplateRows: 'auto 1fr auto'\n }\n});\n/**\n * Apply styling to the DialogBody slots based on the state\n */ export const useDialogBodyStyles_unstable = (state)=>{\n const resetStyles = useResetStyles();\n state.root.className = mergeClasses(dialogBodyClassNames.root, resetStyles, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useDialogBody_unstable } from './useDialogBody';\nimport { renderDialogBody_unstable } from './renderDialogBody';\nimport { useDialogBodyStyles_unstable } from './useDialogBodyStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The `DialogBody` is a container where the content of the dialog is rendered.\n * Apart from styling, this component does not have other behavior.\n */ export const DialogBody = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDialogBody_unstable(props, ref);\n useDialogBodyStyles_unstable(state);\n useCustomStyleHook_unstable('useDialogBodyStyles_unstable')(state);\n return renderDialogBody_unstable(state);\n});\nDialogBody.displayName = 'DialogBody';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DialogBody\n */ export const renderDialogBody_unstable = (state)=>{\n assertSlots(state);\n // TODO Add additional slots in the appropriate place\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nexport const dialogTitleClassNames = {\n root: 'fui-DialogTitle',\n action: 'fui-DialogTitle__action'\n};\n/**\n * Styles for the root slot\n */ const useRootResetStyles = makeResetStyles({\n ...typographyStyles.subtitle1,\n ...shorthands.margin(0),\n gridRowStart: 1,\n gridRowEnd: 1,\n gridColumnStart: 1,\n gridColumnEnd: 3\n});\nconst useStyles = makeStyles({\n rootWithoutAction: {\n gridColumnEnd: 4\n }\n});\n/**\n * Styles for the action slot\n */ const useActionResetStyles = makeResetStyles({\n gridRowStart: 1,\n gridRowEnd: 1,\n gridColumnStart: 3,\n justifySelf: 'end',\n alignSelf: 'start'\n});\n/**\n * Styles to be applied on internal elements used by default action on non-modal Dialog\n * @internal\n */ export const useDialogTitleInternalStyles = makeResetStyles({\n ...createFocusOutlineStyle(),\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0),\n ...shorthands.borderStyle('none'),\n position: 'relative',\n boxSizing: 'content-box',\n backgroundColor: 'inherit',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n cursor: 'pointer',\n lineHeight: 0,\n WebkitAppearance: 'button',\n textAlign: 'unset'\n});\n/**\n * Apply styling to the DialogTitle slots based on the state\n */ export const useDialogTitleStyles_unstable = (state)=>{\n const rootResetStyles = useRootResetStyles();\n const actionResetStyles = useActionResetStyles();\n const styles = useStyles();\n state.root.className = mergeClasses(dialogTitleClassNames.root, rootResetStyles, !state.action && styles.rootWithoutAction, state.root.className);\n if (state.action) {\n state.action.className = mergeClasses(dialogTitleClassNames.action, actionResetStyles, state.action.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useDialogTitle_unstable } from './useDialogTitle';\nimport { renderDialogTitle_unstable } from './renderDialogTitle';\nimport { useDialogTitleStyles_unstable } from './useDialogTitleStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The `DialogTitle` component expects to have a title/header\n * and when `Dialog` is `non-modal` a close (X icon) button is provided through `action` slot by default.\n */ export const DialogTitle = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDialogTitle_unstable(props, ref);\n useDialogTitleStyles_unstable(state);\n useCustomStyleHook_unstable('useDialogTitleStyles_unstable')(state);\n return renderDialogTitle_unstable(state);\n});\nDialogTitle.displayName = 'DialogTitle';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable } from '../../contexts/dialogContext';\nimport { Dismiss20Regular } from '@fluentui/react-icons';\nimport { DialogTrigger } from '../DialogTrigger/DialogTrigger';\nimport { useDialogTitleInternalStyles } from './useDialogTitleStyles.styles';\n/**\n * Create the state required to render DialogTitle.\n *\n * The returned state can be modified with hooks such as useDialogTitleStyles_unstable,\n * before being passed to renderDialogTitle_unstable.\n *\n * @param props - props from this instance of DialogTitle\n * @param ref - reference to root HTMLElement of DialogTitle\n */ export const useDialogTitle_unstable = (props, ref)=>{\n const { action } = props;\n const modalType = useDialogContext_unstable((ctx)=>ctx.modalType);\n const internalStyles = useDialogTitleInternalStyles();\n return {\n components: {\n root: 'h2',\n action: 'div'\n },\n root: slot.always(getIntrinsicElementProps('h2', {\n ref,\n id: useDialogContext_unstable((ctx)=>ctx.dialogTitleId),\n ...props\n }), {\n elementType: 'h2'\n }),\n action: slot.optional(action, {\n renderByDefault: modalType === 'non-modal',\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(DialogTrigger, {\n disableButtonEnhancement: true,\n action: \"close\"\n }, /*#__PURE__*/ React.createElement(\"button\", {\n type: \"button\",\n className: internalStyles,\n // TODO: find a better way to add internal labels\n \"aria-label\": \"close\"\n }, /*#__PURE__*/ React.createElement(Dismiss20Regular, null)))\n },\n elementType: 'div'\n })\n };\n};\n"," import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DialogTitle\n */ export const renderDialogTitle_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(_Fragment, {\n children: [\n /*#__PURE__*/ _jsx(state.root, {\n children: state.root.children\n }),\n state.action && /*#__PURE__*/ _jsx(state.action, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DialogBody.\n *\n * The returned state can be modified with hooks such as useDialogBodyStyles_unstable,\n * before being passed to renderDialogBody_unstable.\n *\n * @param props - props from this instance of DialogBody\n * @param ref - reference to root HTMLElement of DialogBody\n */ export const useDialogContent_unstable = (props, ref)=>{\n var _props_as;\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : 'div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'div'\n })\n };\n};\n","import { makeResetStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const dialogContentClassNames = {\n root: 'fui-DialogContent'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeResetStyles({\n ...shorthands.padding(tokens.strokeWidthThick),\n ...shorthands.margin(`calc(${tokens.strokeWidthThick} * -1)`),\n ...typographyStyles.body1,\n overflowY: 'auto',\n minHeight: '32px',\n boxSizing: 'border-box',\n gridRowStart: 2,\n gridRowEnd: 2,\n gridColumnStart: 1,\n gridColumnEnd: 4\n});\n/**\n * Apply styling to the DialogContent slots based on the state\n */ export const useDialogContentStyles_unstable = (state)=>{\n const styles = useStyles();\n state.root.className = mergeClasses(dialogContentClassNames.root, styles, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useDialogContent_unstable } from './useDialogContent';\nimport { renderDialogContent_unstable } from './renderDialogContent';\nimport { useDialogContentStyles_unstable } from './useDialogContentStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The `DialogContent` is a container where the content of the dialog is rendered.\n * Apart from styling, this component does not have other behavior.\n */ export const DialogContent = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDialogContent_unstable(props, ref);\n useDialogContentStyles_unstable(state);\n useCustomStyleHook_unstable('useDialogContentStyles_unstable')(state);\n return renderDialogContent_unstable(state);\n});\nDialogContent.displayName = 'DialogContent';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DialogContent\n */ export const renderDialogContent_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DialogActions.\n *\n * The returned state can be modified with hooks such as useDialogActionsStyles_unstable,\n * before being passed to renderDialogActions_unstable.\n *\n * @param props - props from this instance of DialogActions\n * @param ref - reference to root HTMLElement of DialogActions\n */ export const useDialogActions_unstable = (props, ref)=>{\n const { position = 'end', fluid = false } = props;\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'div'\n }),\n position,\n fluid\n };\n};\n","import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DIALOG_GAP, MEDIA_QUERY_BREAKPOINT_SELECTOR } from '../../contexts/constants';\nexport const dialogActionsClassNames = {\n root: 'fui-DialogActions'\n};\n/**\n * Styles for the root slot\n */ const useResetStyles = makeResetStyles({\n ...shorthands.gap(DIALOG_GAP),\n height: 'fit-content',\n boxSizing: 'border-box',\n display: 'flex',\n gridRowStart: 3,\n gridRowEnd: 3,\n [MEDIA_QUERY_BREAKPOINT_SELECTOR]: {\n flexDirection: 'column',\n justifySelf: 'stretch'\n }\n});\nconst useStyles = makeStyles({\n gridPositionEnd: {\n justifySelf: 'end',\n gridColumnStart: 2,\n gridColumnEnd: 4,\n [MEDIA_QUERY_BREAKPOINT_SELECTOR]: {\n gridColumnStart: 1,\n gridRowStart: 4,\n gridRowEnd: 'auto'\n }\n },\n gridPositionStart: {\n justifySelf: 'start',\n gridColumnStart: 1,\n gridColumnEnd: 2,\n [MEDIA_QUERY_BREAKPOINT_SELECTOR]: {\n gridColumnEnd: 4,\n gridRowStart: 3,\n gridRowEnd: 'auto'\n }\n },\n fluidStart: {\n gridColumnEnd: 4\n },\n fluidEnd: {\n gridColumnStart: 1\n }\n});\n/**\n * Apply styling to the DialogActions slots based on the state\n */ export const useDialogActionsStyles_unstable = (state)=>{\n const resetStyles = useResetStyles();\n const styles = useStyles();\n state.root.className = mergeClasses(dialogActionsClassNames.root, resetStyles, state.position === 'start' && styles.gridPositionStart, state.position === 'end' && styles.gridPositionEnd, state.fluid && state.position === 'start' && styles.fluidStart, state.fluid && state.position === 'end' && styles.fluidEnd, state.root.className);\n return state;\n};\n","import * as React from 'react';\nimport { useDialogActions_unstable } from './useDialogActions';\nimport { renderDialogActions_unstable } from './renderDialogActions';\nimport { useDialogActionsStyles_unstable } from './useDialogActionsStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * `DialogActions` is a container for the actions of the dialog.\n * Apart from styling, this component does not have other behavior.\n */ export const DialogActions = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDialogActions_unstable(props, ref);\n useDialogActionsStyles_unstable(state);\n useCustomStyleHook_unstable('useDialogActionsStyles_unstable')(state);\n return renderDialogActions_unstable(state);\n});\nDialogActions.displayName = 'DialogActions';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DialogActions\n */ export const renderDialogActions_unstable = (state)=>{\n assertSlots(state);\n // TODO Add additional slots in the appropriate place\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\n// Use user intent, if available. If not, use user input.\nexport const getPlanGoal = (description: string) => {\n const userIntentPrefix = 'User intent: ';\n const userIntentIndex = description.indexOf(userIntentPrefix);\n return userIntentIndex !== -1\n ? description.substring(userIntentIndex + userIntentPrefix.length).trim()\n : description\n .split('\\n')\n .find((line: string) => line.startsWith('INPUT:'))\n ?.replace('INPUT:', '')\n .trim() ?? description;\n};\n","import { shorthands, makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const badgeClassNames = {\n root: 'fui-Badge',\n icon: 'fui-Badge__icon'\n};\n// The text content of the badge has additional horizontal padding, but there is no `text` slot to add that padding to.\n// Instead, add extra padding to the root, and a negative margin on the icon to \"remove\" the extra padding on the icon.\nconst textPadding = tokens.spacingHorizontalXXS;\nconst useRootClassName = makeResetStyles({\n display: 'inline-flex',\n boxSizing: 'border-box',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n ...typographyStyles.caption1Strong,\n height: '20px',\n width: '20px',\n minWidth: 'max-content',\n padding: `0 calc(${tokens.spacingHorizontalXS} + ${textPadding})`,\n borderRadius: tokens.borderRadiusCircular,\n // Use a transparent stroke (rather than no border) so the border is visible in high contrast\n borderColor: tokens.colorTransparentStroke,\n '::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n borderStyle: 'solid',\n borderColor: 'inherit',\n borderWidth: tokens.strokeWidthThin,\n borderRadius: 'inherit'\n }\n});\nconst useRootStyles = makeStyles({\n fontSmallToTiny: {\n ...typographyStyles.caption2Strong\n },\n // size\n tiny: {\n width: '6px',\n height: '6px',\n fontSize: '4px',\n lineHeight: '4px',\n minWidth: 'unset',\n ...shorthands.padding('unset')\n },\n 'extra-small': {\n width: '10px',\n height: '10px',\n fontSize: '6px',\n lineHeight: '6px',\n minWidth: 'unset',\n ...shorthands.padding('unset')\n },\n small: {\n width: '16px',\n height: '16px',\n ...shorthands.padding(0, `calc(${tokens.spacingHorizontalXXS} + ${textPadding})`)\n },\n medium: {\n },\n large: {\n width: '24px',\n height: '24px',\n ...shorthands.padding(0, `calc(${tokens.spacingHorizontalXS} + ${textPadding})`)\n },\n 'extra-large': {\n width: '32px',\n height: '32px',\n ...shorthands.padding(0, `calc(${tokens.spacingHorizontalSNudge} + ${textPadding})`)\n },\n // shape\n square: {\n ...shorthands.borderRadius(tokens.borderRadiusNone)\n },\n rounded: {\n ...shorthands.borderRadius(tokens.borderRadiusMedium)\n },\n roundedSmallToTiny: {\n ...shorthands.borderRadius(tokens.borderRadiusSmall)\n },\n circular: {\n },\n // hide the boder when appearance is \"ghost\"\n borderGhost: {\n // The border is applied in an ::after pseudo-element because it should not affect layout.\n // The padding and size of the badge should be the same regardless of whether or not it has a border.\n '::after': {\n display: 'none'\n }\n },\n // appearance: filled\n filled: {\n },\n 'filled-brand': {\n backgroundColor: tokens.colorBrandBackground,\n color: tokens.colorNeutralForegroundOnBrand\n },\n 'filled-danger': {\n backgroundColor: tokens.colorPaletteRedBackground3,\n color: tokens.colorNeutralForegroundOnBrand\n },\n 'filled-important': {\n backgroundColor: tokens.colorNeutralForeground1,\n color: tokens.colorNeutralBackground1\n },\n 'filled-informative': {\n backgroundColor: tokens.colorNeutralBackground5,\n color: tokens.colorNeutralForeground3\n },\n 'filled-severe': {\n backgroundColor: tokens.colorPaletteDarkOrangeBackground3,\n color: tokens.colorNeutralForegroundOnBrand\n },\n 'filled-subtle': {\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1\n },\n 'filled-success': {\n backgroundColor: tokens.colorPaletteGreenBackground3,\n color: tokens.colorNeutralForegroundOnBrand\n },\n 'filled-warning': {\n backgroundColor: tokens.colorPaletteYellowBackground3,\n color: tokens.colorNeutralForeground1Static\n },\n // appearance: ghost\n ghost: {\n },\n 'ghost-brand': {\n color: tokens.colorBrandForeground1\n },\n 'ghost-danger': {\n color: tokens.colorPaletteRedForeground3\n },\n 'ghost-important': {\n color: tokens.colorNeutralForeground1\n },\n 'ghost-informative': {\n color: tokens.colorNeutralForeground3\n },\n 'ghost-severe': {\n color: tokens.colorPaletteDarkOrangeForeground3\n },\n 'ghost-subtle': {\n color: tokens.colorNeutralForegroundStaticInverted\n },\n 'ghost-success': {\n color: tokens.colorPaletteGreenForeground3\n },\n 'ghost-warning': {\n color: tokens.colorPaletteYellowForeground2\n },\n // appearance: outline\n outline: {\n ...shorthands.borderColor('currentColor')\n },\n 'outline-brand': {\n color: tokens.colorBrandForeground1\n },\n 'outline-danger': {\n color: tokens.colorPaletteRedForeground3,\n ...shorthands.borderColor(tokens.colorPaletteRedBorder2)\n },\n 'outline-important': {\n color: tokens.colorNeutralForeground3,\n ...shorthands.borderColor(tokens.colorNeutralStrokeAccessible)\n },\n 'outline-informative': {\n color: tokens.colorNeutralForeground3,\n ...shorthands.borderColor(tokens.colorNeutralStroke2)\n },\n 'outline-severe': {\n color: tokens.colorPaletteDarkOrangeForeground3\n },\n 'outline-subtle': {\n color: tokens.colorNeutralForegroundStaticInverted\n },\n 'outline-success': {\n color: tokens.colorPaletteGreenForeground3,\n ...shorthands.borderColor(tokens.colorPaletteGreenBorder2)\n },\n 'outline-warning': {\n color: tokens.colorPaletteYellowForeground2\n },\n // appearance: tint\n tint: {\n },\n 'tint-brand': {\n backgroundColor: tokens.colorBrandBackground2,\n color: tokens.colorBrandForeground2,\n ...shorthands.borderColor(tokens.colorBrandStroke2)\n },\n 'tint-danger': {\n backgroundColor: tokens.colorPaletteRedBackground1,\n color: tokens.colorPaletteRedForeground1,\n ...shorthands.borderColor(tokens.colorPaletteRedBorder1)\n },\n 'tint-important': {\n backgroundColor: tokens.colorNeutralForeground3,\n color: tokens.colorNeutralBackground1,\n ...shorthands.borderColor(tokens.colorTransparentStroke)\n },\n 'tint-informative': {\n backgroundColor: tokens.colorNeutralBackground4,\n color: tokens.colorNeutralForeground3,\n ...shorthands.borderColor(tokens.colorNeutralStroke2)\n },\n 'tint-severe': {\n backgroundColor: tokens.colorPaletteDarkOrangeBackground1,\n color: tokens.colorPaletteDarkOrangeForeground1,\n ...shorthands.borderColor(tokens.colorPaletteDarkOrangeBorder1)\n },\n 'tint-subtle': {\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground3,\n ...shorthands.borderColor(tokens.colorNeutralStroke2)\n },\n 'tint-success': {\n backgroundColor: tokens.colorPaletteGreenBackground1,\n color: tokens.colorPaletteGreenForeground1,\n ...shorthands.borderColor(tokens.colorPaletteGreenBorder1)\n },\n 'tint-warning': {\n backgroundColor: tokens.colorPaletteYellowBackground1,\n color: tokens.colorPaletteYellowForeground1,\n ...shorthands.borderColor(tokens.colorPaletteYellowBorder1)\n }\n});\nconst useIconRootClassName = makeResetStyles({\n display: 'flex',\n lineHeight: '1',\n margin: `0 calc(-1 * ${textPadding})`,\n fontSize: '12px'\n});\nconst useIconStyles = makeStyles({\n beforeText: {\n marginRight: `calc(${tokens.spacingHorizontalXXS} + ${textPadding})`\n },\n afterText: {\n marginLeft: `calc(${tokens.spacingHorizontalXXS} + ${textPadding})`\n },\n beforeTextXL: {\n marginRight: `calc(${tokens.spacingHorizontalXS} + ${textPadding})`\n },\n afterTextXL: {\n marginLeft: `calc(${tokens.spacingHorizontalXS} + ${textPadding})`\n },\n // size\n tiny: {\n fontSize: '6px'\n },\n 'extra-small': {\n fontSize: '10px'\n },\n small: {\n fontSize: '12px'\n },\n medium: {\n },\n large: {\n fontSize: '16px'\n },\n 'extra-large': {\n fontSize: '20px'\n }\n});\n/**\n * Applies style classnames to slots\n */ export const useBadgeStyles_unstable = (state)=>{\n const rootClassName = useRootClassName();\n const rootStyles = useRootStyles();\n const smallToTiny = state.size === 'small' || state.size === 'extra-small' || state.size === 'tiny';\n state.root.className = mergeClasses(badgeClassNames.root, rootClassName, smallToTiny && rootStyles.fontSmallToTiny, rootStyles[state.size], rootStyles[state.shape], state.shape === 'rounded' && smallToTiny && rootStyles.roundedSmallToTiny, state.appearance === 'ghost' && rootStyles.borderGhost, rootStyles[state.appearance], rootStyles[`${state.appearance}-${state.color}`], state.root.className);\n const iconRootClassName = useIconRootClassName();\n const iconStyles = useIconStyles();\n if (state.icon) {\n let iconPositionClass;\n if (state.root.children) {\n if (state.size === 'extra-large') {\n iconPositionClass = state.iconPosition === 'after' ? iconStyles.afterTextXL : iconStyles.beforeTextXL;\n } else {\n iconPositionClass = state.iconPosition === 'after' ? iconStyles.afterText : iconStyles.beforeText;\n }\n }\n state.icon.className = mergeClasses(badgeClassNames.icon, iconRootClassName, iconPositionClass, iconStyles[state.size], state.icon.className);\n }\n return state;\n};\n","import * as React from 'react';\nimport { useBadge_unstable } from './useBadge';\nimport { useBadgeStyles_unstable } from './useBadgeStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { renderBadge_unstable } from './renderBadge';\n/**\n * Define a styled Badge, using the `useBadge_unstable` hook.\n */ export const Badge = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useBadge_unstable(props, ref);\n useBadgeStyles_unstable(state);\n useCustomStyleHook_unstable('useBadgeStyles_unstable')(state);\n return renderBadge_unstable(state);\n});\nBadge.displayName = 'Badge';\n","import { Badge, Button, makeStyles, mergeClasses, shorthands, tokens } from '@fluentui/react-components';\nimport { Checkmark16Regular, Dismiss16Regular, Edit16Regular } from '@fluentui/react-icons';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { Constants } from '../../../Constants';\nimport { IPlanInput } from '../../../libs/models/Plan';\n\nconst useClasses = makeStyles({\n root: {\n ...shorthands.overflow('hidden'),\n display: 'flex',\n },\n buttons: {\n ...shorthands.padding(tokens.spacingVerticalNone),\n paddingLeft: tokens.spacingHorizontalXXS,\n minWidth: '18px',\n },\n input: {\n ...shorthands.margin(tokens.spacingHorizontalXXS),\n maxHeight: '10px',\n minHeight: '10px',\n fontSize: '12px',\n },\n interactable: {\n zIndex: '50',\n },\n});\n\n// Regex to match interpolated variables in the form of $VARIABLE_NAME or $VARIABLE2_NAME.\n// Variables that are not interpolated will fail to match.\n// \\$[A-Za-z]+[_-]*[\\w]+ matches the variable name\n// (?=([^-_\\d\\w])+) is a positive lookahead matching the end of static string (matches any character that is not a letter, number, underscore, or dash)\n// (?:.+\\s*) is a noncapturing group that matches the start of static string (matches any character followed by whitespace)\n// Matches: \"Interpolated $variable_name\", \"$variable_name Interpolated\", \"Interpolated $variable_name Interpolated\"\n// Doesn't match: standalone variables (e.g. \"$variable_name\") or dollar amounts (e.g. \"$1.00\", \"$100\")\nconst INTERPOLATED_VARIABLE_REGEX = /((\\$[A-Za-z]+[_-]*[\\w]+)(?=([^-_\\d\\w])+))|((?:.+\\s*)(\\$[A-Za-z]+[_-]*[\\w]+))/g;\n\ninterface PlanStepInputProps {\n input: IPlanInput;\n onEdit: (newValue: string) => void;\n enableEdits: boolean;\n validationErrors: number;\n setValidationErrors: React.Dispatch>;\n}\n\nexport const PlanStepInput: React.FC = ({\n input,\n onEdit,\n enableEdits,\n validationErrors,\n setValidationErrors,\n}) => {\n const classes = useClasses();\n\n // Prompt user to edit input if it contains an unknown variable or interpolated variable string\n const requiresEdits = useCallback(\n (input = '') => {\n input = input.trim();\n return (\n enableEdits &&\n (input.includes(Constants.sk.UNKNOWN_VARIABLE_FLAG) ||\n input.match(INTERPOLATED_VARIABLE_REGEX) !== null)\n );\n },\n [enableEdits],\n );\n\n const [formValue, setFormValue] = useState(input.Value);\n const [isEditingInput, setIsEditingInput] = useState(requiresEdits(input.Value));\n const [editsRequired, setEditsRequired] = useState(enableEdits && requiresEdits(input.Value));\n\n useEffect(() => {\n if (editsRequired) setValidationErrors(validationErrors + 1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [input.Value]);\n\n const onEditClick = useCallback(() => {\n setIsEditingInput(true);\n }, []);\n\n const keyStrokeTimeout = useRef(-1);\n const updateAndValidateInput = useCallback(\n (event: React.ChangeEvent) => {\n window.clearTimeout(keyStrokeTimeout.current);\n setFormValue(event.target.value);\n\n // Debounce validation to avoid unnecessary re-renders\n keyStrokeTimeout.current = window.setTimeout(() => {\n if (requiresEdits(event.target.value) || event.target.value === '') {\n setEditsRequired(true);\n } else {\n setEditsRequired(false);\n }\n }, Constants.KEYSTROKE_DEBOUNCE_TIME_MS);\n },\n [requiresEdits],\n );\n\n const onSubmitEdit = useCallback(() => {\n // Input was corrected, remove validation error from parent component\n if (input.Value.includes(Constants.sk.UNKNOWN_VARIABLE_FLAG)) {\n setValidationErrors(validationErrors - 1);\n }\n\n setEditsRequired(false);\n setIsEditingInput(false);\n input.Value = formValue;\n onEdit(formValue);\n }, [formValue, validationErrors, input, onEdit, setValidationErrors]);\n\n const onCancel = useCallback(() => {\n setEditsRequired(requiresEdits(input.Value));\n setIsEditingInput(requiresEdits(input.Value));\n setFormValue(input.Value);\n }, [requiresEdits, input.Value]);\n\n return (\n \n {`${input.Key}: `}\n {!enableEdits && input.Value}\n {enableEdits && (\n <>\n {isEditingInput ? (\n {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n onSubmitEdit();\n }\n }}\n autoFocus\n />\n ) : (\n formValue\n )}\n : }\n appearance=\"transparent\"\n className={mergeClasses(classes.buttons, classes.interactable)}\n onClick={isEditingInput ? onSubmitEdit : onEditClick}\n disabled={isEditingInput && editsRequired}\n />\n {isEditingInput && (\n }\n appearance=\"transparent\"\n className={mergeClasses(classes.buttons, classes.interactable)}\n onClick={onCancel}\n />\n )}\n \n )}\n \n );\n};\n","import {\n Badge,\n Body1,\n Button,\n Card,\n CardHeader,\n Dialog,\n DialogActions,\n DialogBody,\n DialogContent,\n DialogSurface,\n DialogTitle,\n DialogTrigger,\n makeStyles,\n shorthands,\n Text,\n tokens,\n} from '@fluentui/react-components';\nimport { Dismiss12Regular } from '@fluentui/react-icons';\nimport { useState } from 'react';\nimport { Constants } from '../../../Constants';\nimport { IPlanInput, Plan } from '../../../libs/models/Plan';\nimport { PlanStepInput } from './PlanStepInput';\n\nconst useClasses = makeStyles({\n card: {\n ...shorthands.margin('auto'),\n width: '700px',\n maxWidth: '100%',\n },\n header: {\n color: tokens.colorBrandForeground1,\n },\n parameters: {\n ...shorthands.gap(tokens.spacingHorizontalS),\n display: 'flex',\n flexWrap: 'wrap',\n },\n bar: {\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n width: '4px',\n backgroundColor: tokens.colorBrandBackground,\n },\n flexRow: {\n display: 'flex',\n flexDirection: 'row',\n },\n flexColumn: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginLeft: tokens.spacingHorizontalS,\n marginTop: tokens.spacingVerticalXS,\n marginBottom: tokens.spacingVerticalXS,\n ...shorthands.gap(tokens.spacingHorizontalS),\n },\n singleLine: {\n ...shorthands.overflow('hidden'),\n lineHeight: tokens.lineHeightBase200,\n display: '-webkit-box',\n WebkitLineClamp: 1,\n WebkitBoxOrient: 'vertical',\n width: '100%',\n fontSize: tokens.fontSizeBase200,\n },\n dialog: {\n width: '398px',\n '& button': {\n marginTop: tokens.spacingVerticalL,\n width: 'max-content',\n },\n },\n errorMessage: {\n fontSize: tokens.fontSizeBase300,\n color: tokens.colorPaletteRedForeground1,\n },\n});\n\ninterface PlanStepCardProps {\n /* eslint-disable \n @typescript-eslint/no-unsafe-assignment,\n @typescript-eslint/no-unsafe-member-access,\n @typescript-eslint/no-unsafe-call \n */\n step: Plan;\n enableEdits: boolean;\n enableStepDelete: boolean;\n onDeleteStep: (index: number) => void;\n}\n\nexport const PlanStepCard: React.FC = ({ step, enableEdits, enableStepDelete, onDeleteStep }) => {\n const classes = useClasses();\n const [openDialog, setOpenDialog] = useState(false);\n const [validationErrors, setValidationErrors] = useState(0);\n\n // Omit reserved context variable names from displayed inputs\n const inputs = step.parameters.filter(\n (parameter: IPlanInput) =>\n !(Constants.sk.reservedWords.includes(parameter.Key.trim()) || parameter.Value.trim() === ''),\n );\n\n return (\n \n
\n
\n
\n \n Step {step.index + 1} • {step.skill_name}.{step.name}\n
\n \n }\n action={\n enableEdits && enableStepDelete ? (\n \n \n }\n aria-label=\"Delete step\"\n onClick={() => {\n setOpenDialog(true);\n }}\n />\n \n \n \n Are you sure you want to delete this step?\n \n {\n \"Deleting this step could disrupt the plan's initial logic and cause errors in subsequent steps. Make sure the next steps don't depend on this step's outputs.\"\n }\n \n \n \n {\n setOpenDialog(false);\n }}\n >\n Cancel\n \n \n {\n setOpenDialog(false);\n onDeleteStep(step.index);\n }}\n >\n Yes, Delete Step\n \n \n \n \n \n ) : undefined\n }\n />\n {step.description && (\n
\n About: {step.description}\n
\n )}\n {inputs.length > 0 && (\n
\n
\n Inputs: \n {enableEdits && validationErrors > 0 && (\n \n This step needs some extra information to execute successfully. Please fix any\n inputs containing interpolated variables or fields marked{' '}\n $???.\n \n )}\n
\n {inputs.map((input: IPlanInput) => {\n const onEditInput = (newValue: string) => {\n const inputIndex = step.parameters.findIndex(\n (element: IPlanInput) => element.Key === input.Key,\n );\n step.parameters[inputIndex] = {\n Key: input.Key,\n Value: newValue,\n };\n };\n return (\n \n );\n })}\n
\n )}\n {step.outputs.length > 0 && (\n
\n Outputs: \n {step.outputs.map((output: string) => {\n return (\n \n {output}\n \n );\n })}\n
\n )}\n
\n
\n \n );\n};\n","import { Text, makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport React from 'react';\nimport { Plan, PlanState } from '../../../libs/models/Plan';\nimport { PlanStepCard } from './PlanStepCard';\n\nconst useClasses = makeStyles({\n root: {\n ...shorthands.gap(tokens.spacingVerticalM),\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n },\n});\n\ninterface IPlanBodyProps {\n plan: Plan;\n setPlan: React.Dispatch;\n planState: PlanState;\n description: string;\n}\n\nexport const PlanBody: React.FC = ({ plan, setPlan, planState, description }) => {\n const classes = useClasses();\n\n const onDeleteStep = (index: number) => {\n setPlan({\n ...plan,\n steps: plan.steps.filter((_step: Plan, i: number) => i !== index),\n });\n };\n\n return (\n
\n {`Goal: ${description}`}\n {plan.steps.map((step: any, index: number) => {\n return (\n 1}\n onDeleteStep={onDeleteStep}\n />\n );\n })}\n
\n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport {\n Body1,\n Button,\n Dialog,\n DialogActions,\n DialogBody,\n DialogContent,\n DialogOpenChangeData,\n DialogSurface,\n DialogTitle,\n DialogTrigger,\n Link,\n SelectTabEventHandler,\n Tab,\n TabList,\n TabValue,\n makeStyles,\n tokens,\n} from '@fluentui/react-components';\nimport React from 'react';\nimport { useChat } from '../../../libs/hooks/useChat';\nimport { PlanState, ProposedPlan } from '../../../libs/models/Plan';\nimport { getPlanGoal } from '../../../libs/utils/PlanUtils';\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { useDialogClasses } from '../../../styles';\nimport { PlanBody } from './PlanBody';\n\nconst useClasses = makeStyles({\n body: {\n height: '700px',\n },\n planView: {\n paddingLeft: tokens.spacingHorizontalXXS,\n paddingTop: tokens.spacingVerticalMNudge,\n },\n footer: {\n paddingRight: tokens.spacingVerticalL,\n },\n confirmationDialog: {\n width: '525px',\n maxHeight: '700px',\n },\n confirmationDialogActions: {\n paddingTop: tokens.spacingVerticalL,\n },\n});\n\ninterface IPlanDialogViewProps {\n goal: string;\n plan: ProposedPlan;\n setChatTab: () => void;\n}\n\nexport const PlanDialogView: React.FC = ({ goal, plan, setChatTab }) => {\n const classes = useClasses();\n const dialogClasses = useDialogClasses();\n\n const chat = useChat();\n const [planView, setPlanView] = React.useState(plan.proposedPlan);\n const { selectedId } = useAppSelector((state: RootState) => state.conversations);\n const description = getPlanGoal(goal);\n\n const [openConfirmationDialog, setOpenConfirmationDialog] = React.useState(false);\n\n const [selectedTab, setSelectedTab] = React.useState('formatted');\n const onTabSelect: SelectTabEventHandler = (_event, data) => {\n setSelectedTab(data.value);\n };\n\n const onPlanAction = async () => {\n setOpenConfirmationDialog(false);\n setChatTab();\n\n const updatedPlan = JSON.stringify({\n ...plan,\n proposedPlan: planView,\n state: PlanState.Derived,\n generatedPlanMessageId: null,\n });\n\n await chat.processPlan(selectedId, PlanState.Derived, updatedPlan, description);\n };\n\n return (\n <>\n {\n if (data.open) setPlanView(plan.proposedPlan);\n }}\n >\n \n {description}\n \n \n \n Plan Details\n \n \n \n Formatted\n \n \n Original JSON\n \n \n
\n {selectedTab === 'formatted' && (\n
\n \n
\n )}\n {selectedTab === 'json' && (\n
\n                                        {JSON.stringify(plan.proposedPlan, null, 2)}\n                                    
\n )}\n
\n
\n \n {selectedTab === 'formatted' && (\n \n {\n setOpenConfirmationDialog(true);\n }}\n >\n Run Plan\n \n \n )}\n \n \n \n \n
\n
\n \n \n \n \n \n Are you sure you want to run this plan?\n
\n Please ensure all required plugins are enabled before proceeding.\n
\n \n
\n \n
\n
\n \n \n {\n setOpenConfirmationDialog(false);\n }}\n >\n No, cancel\n \n \n
\n
\n
\n \n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableCellLayout,\n TableColumnDefinition,\n TableColumnId,\n TableHeader,\n TableHeaderCell,\n TableHeaderCellProps,\n TableRow,\n createTableColumn,\n makeStyles,\n tokens,\n useTableFeatures,\n useTableSort,\n} from '@fluentui/react-components';\nimport { ChatMessageType, IChatMessage } from '../../../libs/models/ChatMessage';\nimport { PlanState, ProposedPlan } from '../../../libs/models/Plan';\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { timestampToDateString } from '../../utils/TextUtils';\nimport { PlanDialogView } from '../plan-viewer/PlanDialogView';\nimport { TabView } from './TabView';\n\nconst useClasses = makeStyles({\n table: {\n backgroundColor: tokens.colorNeutralBackground1,\n },\n tableHeader: {\n fontWeight: tokens.fontSizeBase600,\n },\n});\n\ninterface TableItem {\n index: number;\n parsedPlan: ProposedPlan;\n goal: string;\n createdOn: {\n label: string;\n timestamp: number;\n };\n tokens: number;\n}\n\ninterface IPlansTabProps {\n setChatTab: () => void;\n}\n\nexport const PlansTab: React.FC = ({ setChatTab }) => {\n const classes = useClasses();\n\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\n const chatMessages = conversations[selectedId].messages;\n const planMessages = chatMessages.filter((message) => message.type === ChatMessageType.Plan);\n\n const { columns, rows } = useTable(planMessages, setChatTab);\n return (\n \n \n \n {columns.map((column) => column.renderHeaderCell())}\n \n \n {rows.map((item) => (\n {columns.map((column) => column.renderCell(item))}\n ))}\n \n
\n
\n );\n};\n\nfunction useTable(planMessages: IChatMessage[], setChatTab: () => void) {\n const headerSortProps = (columnId: TableColumnId): TableHeaderCellProps => ({\n onClick: (e: React.MouseEvent) => {\n toggleColumnSort(e, columnId);\n },\n sortDirection: getSortDirection(columnId),\n });\n\n const columns: Array> = [\n createTableColumn({\n columnId: 'goal',\n renderHeaderCell: () => (\n \n Goal\n \n ),\n renderCell: (item) => (\n \n \n \n \n \n ),\n compare: (a, b) => {\n const comparison = a.goal.localeCompare(b.goal);\n return getSortDirection('goal') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n createTableColumn({\n columnId: 'createdOn',\n renderHeaderCell: () => (\n \n Created on\n \n ),\n renderCell: (item) => (\n \n {item.createdOn.label}\n \n ),\n compare: (a, b) => {\n const comparison = a.createdOn.timestamp > b.createdOn.timestamp ? 1 : -1;\n return getSortDirection('createdOn') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n createTableColumn({\n columnId: 'tokenCounts',\n renderHeaderCell: () => (\n \n Token Count\n \n ),\n renderCell: (item) => (\n \n {\n // TODO: [Issue #150, sk#2106] Remove static text once core team finishes work to return token usage.\n // item.tokens\n 'Coming soon'\n }\n \n ),\n compare: (a, b) => {\n const comparison = a.tokens - b.tokens;\n return getSortDirection('tokenCounts') === 'ascending' ? comparison : comparison * -1;\n },\n }),\n ];\n\n const items = planMessages\n .map((message, index) => {\n const parsedPlan = JSON.parse(message.content) as ProposedPlan;\n const plangoal =\n parsedPlan.userIntent ?? parsedPlan.originalUserInput ?? parsedPlan.proposedPlan.description;\n\n return {\n index: index,\n goal: plangoal,\n parsedPlan: parsedPlan,\n createdOn: {\n label: timestampToDateString(message.timestamp),\n timestamp: message.timestamp,\n },\n tokens: 0, // TODO: [Issue #2106] Get token count from plan\n };\n })\n .filter((item) => item.parsedPlan.state !== PlanState.Derived);\n\n const {\n sort: { getSortDirection, toggleColumnSort, sortColumn },\n } = useTableFeatures(\n {\n columns,\n items,\n },\n [\n useTableSort({\n defaultSortState: { sortColumn: 'createdOn', sortDirection: 'descending' },\n }),\n ],\n );\n\n if (sortColumn) {\n items.sort((a, b) => {\n const compare = columns.find((column) => column.columnId === sortColumn)?.compare;\n return compare?.(a, b) ?? 0;\n });\n }\n\n return { columns, rows: items };\n}\n","import { ArrowLeft16Regular, ArrowRight16Regular } from '@fluentui/react-icons';\r\nimport React from 'react';\r\n\r\ninterface Translation {\r\n time: string;\r\n fromLang: string;\r\n toLang: string;\r\n text: string;\r\n right: boolean;\r\n}\r\n\r\ninterface TranslationHistoryProps {\r\n history: Translation[];\r\n}\r\n\r\nconst TranslationHistory: React.FC = ({ history }) => {\r\n const formatDate = (dateString: string) => {\r\n const date = new Date(dateString);\r\n const formatter = new Intl.DateTimeFormat('en-US', {\r\n month: 'short',\r\n day: 'numeric',\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n hour12: true,\r\n });\r\n return formatter.format(date);\r\n };\r\n\r\n return (\r\n
\r\n
Translation History
\r\n
\r\n {history.map((item, index) => {\r\n // Remove the quotes if they exist\r\n const fromLanguage = item.fromLang.replace(/^['\"]+|['\"]+$/g, '');\r\n const toLanguage = item.toLang.replace(/^['\"]+|['\"]+$/g, '');\r\n\r\n return (\r\n
\r\n
{formatDate(item.time)}
\r\n
{fromLanguage}
\r\n
\r\n {item.right ? : }\r\n
\r\n
{toLanguage}
\r\n
\r\n {item.text.length > 128 ? `${item.text.substring(0, 125)}...` : item.text}\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TranslationHistory;\r\n","import { useMsal } from '@azure/msal-react';\r\nimport {\r\n ArrowFlowUpRight24Filled,\r\n ArrowSwap20Regular,\r\n Broom20Regular,\r\n Eraser20Regular,\r\n MicRegular,\r\n Pause16Regular,\r\n Play16Regular,\r\n Stop16Filled,\r\n} from '@fluentui/react-icons';\r\nimport * as speechSdk from 'microsoft-cognitiveservices-speech-sdk';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport AppContext from '../../../AppContext';\r\nimport { AuthHelper } from '../../../libs/auth/AuthHelper';\r\nimport { SpeechService } from '../../../libs/services/SpeechService';\r\nimport TranslationHistory from './TranslationHistory';\r\n\r\ninterface Translation {\r\n time: string;\r\n fromLang: string;\r\n toLang: string;\r\n text: string;\r\n right: boolean;\r\n}\r\n\r\ninterface LanguageOption {\r\n value: string;\r\n label: string;\r\n}\r\n\r\nconst speechService = new SpeechService();\r\n\r\nconst languages = [\r\n { value: 'English', label: 'English (English)' },\r\n { value: 'Français', label: 'Français (French)' },\r\n { value: 'Español', label: 'Español (Spanish)' },\r\n { value: 'Italiano', label: 'Italiano (Italian)' },\r\n { value: 'Deutsch', label: 'Deutsch (German)' },\r\n { value: '日本語', label: '日本語 (Japanese)' },\r\n { value: '한국어', label: '한국어 (Korean)' },\r\n { value: 'Русский', label: 'Русский (Russian)' },\r\n { value: 'Gaeilge', label: 'Gaeilge (Irish)' },\r\n { value: 'Latvian', label: 'Latvian (Latvian)' },\r\n { value: 'עברית', label: 'עברית (Hebrew)' },\r\n { value: 'हिन्दी', label: 'हिन्दी (Hindi)' },\r\n { value: '中文', label: '中文 (Chinese)' },\r\n { value: '台灣話', label: '台灣話 (Taiwanese)' },\r\n { value: 'Українська', label: 'Українська (Ukrainian)' },\r\n { value: 'Filipino', label: 'Filipino (Filipino)' },\r\n { value: 'Português', label: 'Português (Portuguese)' },\r\n { value: 'فارسی', label: 'فارسی (Persian)' },\r\n { value: 'العربية', label: 'العربية (Arabic)' },\r\n { value: 'اُردُو', label: 'اُردُو (Urdu)' },\r\n { value: 'Afrikaans', label: 'Afrikaans (Afrikaans)' },\r\n { value: 'Vietnamese', label: 'Vietnamese (Vietnamese)' },\r\n { value: 'Zulu', label: 'Zulu (Zulu)' },\r\n];\r\n\r\nconst languagesNoVoice: string[] = ['Latvian', '中文', '台灣話', 'Українська', 'فارسی', 'Vietnamese'];\r\n\r\nconst TranslateTab = () => {\r\n const [inputText, setInputText] = useState('');\r\n const [translatedText, setTranslatedText] = useState('');\r\n const [history, setHistory] = useState([]);\r\n const [fromLang, setFromLang] = useState(localStorage.getItem('activeFromLang') ?? 'English');\r\n const [toLang, setToLang] = useState(localStorage.getItem('activeToLang') ?? 'Español');\r\n const initialFromLangs = JSON.parse(localStorage.getItem('usedFromLanguages') ?? '[\"English\"]') as string;\r\n const initialToLangs = JSON.parse(localStorage.getItem('usedToLanguages') ?? '[\"Español\"]') as string;\r\n let cannotbevoicedto = languagesNoVoice.includes(toLang);\r\n let cannotbevoicedfrom = languagesNoVoice.includes(fromLang);\r\n const [usedFromLanguages, setUsedFromLanguages] = useState(new Set(initialFromLangs));\r\n const [usedToLanguages, setUsedToLanguages] = useState(new Set(initialToLangs));\r\n const { instance, inProgress } = useMsal();\r\n const [isPlaying, setIsPlaying] = useState(false);\r\n const [isPaused, setIsPaused] = useState(false);\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const [_isTextToSpeechDisabled, setIsTextToSpeechDisabled] = useState(false);\r\n const [isCharLimitExceeded, setIsCharLimitExceeded] = useState(false);\r\n const [activeMode, setActiveMode] = useState('TO'); // Used for toggling conversation between From and to\r\n const [isTranslating, setIsTranslating] = useState(false);\r\n\r\n // Genders for voice\r\n const [genderVoiceTA, setGenderVoiceTA] = useState(localStorage.getItem('genderVoiceTA') ?? 'Male');\r\n const [genderVoiceTB, setGenderVoiceTB] = useState(localStorage.getItem('genderVoiceTB') ?? 'Male');\r\n\r\n // Is Recording?\r\n const [isRecording, setIsRecording] = useState(false);\r\n\r\n // Conversation Mode\r\n const [conversationalMode, setConversationalMode] = useState(localStorage.getItem('conversationalMode') === 'true');\r\n\r\n // Gender Toggle\r\n const toggleGenderA = () => {\r\n const newGender = genderVoiceTA === 'Male' ? 'Female' : 'Male';\r\n setGenderVoiceTA(newGender);\r\n localStorage.setItem('genderVoiceTA', newGender); // Save to localStorage\r\n };\r\n\r\n const toggleGenderB = () => {\r\n const newGender = genderVoiceTB === 'Male' ? 'Female' : 'Male';\r\n setGenderVoiceTB(newGender);\r\n localStorage.setItem('genderVoiceTB', newGender); // Save to localStorage\r\n };\r\n\r\n // Update state based on text length\r\n useEffect(() => {\r\n setIsCharLimitExceeded(translatedText.length > 10000);\r\n }, [translatedText]);\r\n\r\n // Initialize the autoplayback state\r\n const [autoplayback, setAutoplayback] = useState(localStorage.getItem('autoplayback') === 'true');\r\n\r\n // Update localStorage when autoplayback changes\r\n useEffect(() => {\r\n localStorage.setItem('autoplayback', autoplayback.toString()); // Convert boolean to string\r\n }, [autoplayback]);\r\n\r\n // Handle change in checkbox\r\n const handleAutoplaybackChange = (event: React.ChangeEvent) => {\r\n // Specify type for event\r\n setAutoplayback(event.target.checked);\r\n };\r\n\r\n // Function to handle checkbox change\r\n const handleConversationalModeChange = (event: React.ChangeEvent) => {\r\n const isChecked = event.target.checked;\r\n setConversationalMode(isChecked);\r\n };\r\n\r\n // Function to toggle between 'FROM' and 'TO' modes\r\n const toggleConversationMode = () => {\r\n setActiveMode(activeMode === 'FROM' ? 'TO' : 'FROM');\r\n };\r\n\r\n // Save conversationalMode to localStorage whenever it changes\r\n // Save conversationalMode to localStorage whenever it changes\r\n useEffect(() => {\r\n localStorage.setItem('conversationalMode', String(conversationalMode)); // Convert to string\r\n }, [conversationalMode]);\r\n\r\n // Set current section\r\n const { setCurrentSection } = useContext(AppContext);\r\n\r\n useEffect(() => {\r\n setCurrentSection('translator');\r\n }, [setCurrentSection]);\r\n\r\n // Recording\r\n const startRecording = async (recognizer: speechSdk.SpeechRecognizer, isFromLang: boolean): Promise => {\r\n setIsRecording(true);\r\n\r\n try {\r\n await new Promise((resolve, reject) => {\r\n recognizer.recognizeOnceAsync(\r\n (result) => {\r\n // Check if result.text is defined\r\n if (result.text && result.text.trim() !== '') {\r\n if (isFromLang) {\r\n setInputText(result.text);\r\n if (autoSendEnabled) {\r\n translateTextWithInput(result.text).catch((error) => {\r\n console.error('Error during translation:', error);\r\n });\r\n }\r\n } else {\r\n setTranslatedText(result.text);\r\n if (autoSendEnabled) {\r\n translateTextWithInput(result.text).catch((error) => {\r\n console.error('Error during translation:', error);\r\n });\r\n }\r\n }\r\n }\r\n setIsRecording(false);\r\n resolve();\r\n },\r\n (error) => {\r\n console.error('Recognition error: ', error);\r\n setIsRecording(false);\r\n reject(new Error(error));\r\n },\r\n );\r\n });\r\n } catch (error) {\r\n console.error('Error during start recording:', error);\r\n }\r\n };\r\n\r\n const stopRecording = async (recognizer: speechSdk.SpeechRecognizer): Promise => {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\r\n if (recognizer && isRecording) {\r\n // Convert the callback-based stopContinuousRecognitionAsync to a promise-based approach\r\n try {\r\n await new Promise((resolve, reject) => {\r\n recognizer.stopContinuousRecognitionAsync(\r\n () => {\r\n resolve();\r\n },\r\n (error) => {\r\n console.error('error: ', error);\r\n reject(new Error(error));\r\n },\r\n );\r\n });\r\n\r\n console.log('Recording stopped.');\r\n setIsRecording(false);\r\n } catch (error) {\r\n console.error('Stop recording error: ', error);\r\n }\r\n }\r\n };\r\n\r\n // Function to enable or disable text areas and microphone buttons based on the active mode\r\n const toggleModeElements = () => {\r\n if (activeMode === 'FROM') {\r\n // 'FROM' mode is active\r\n // Enable 'FROM' textarea and microphone button\r\n // Disable 'TO' textarea and microphone button\r\n setIsDisabled(false); // Enable 'FROM' textarea\r\n setIsTextToSpeechDisabled(true); // Disable 'TO' textarea\r\n setIsPlaying(false); // Disable 'FROM' microphone button\r\n setIsPaused(false); // Disable 'FROM' microphone button\r\n // console.log('Active mode set to FROM');\r\n } else {\r\n // 'TO' mode is active\r\n // Enable 'TO' textarea and microphone button\r\n // Disable 'FROM' textarea and microphone button\r\n setIsDisabled(true); // Disable 'FROM' textarea\r\n setIsTextToSpeechDisabled(false); // Enable 'TO' textarea\r\n setIsPlaying(false); // Disable 'TO' microphone button\r\n setIsPaused(false); // Disable 'TO' microphone button\r\n // console.log('Active mode set to TO');\r\n }\r\n };\r\n\r\n // Toggle mode and update elements when the button is clicked\r\n const handleToggleModeClick = () => {\r\n toggleConversationMode();\r\n toggleModeElements();\r\n };\r\n\r\n // Fetch Gender from localStorage, default to \"Female\" if not set\r\n //const selectedVoice = localStorage.getItem('selectedVoice') ?? 'Female';\r\n\r\n // Fetch Speed from localStorage, default to \"medium\" if not set\r\n const selectedVoiceSpeed = localStorage.getItem('selectedVoiceSpeed') ?? 'medium';\r\n\r\n // Fetch Pitch from localStorage, default to \"medium\" if not set\r\n const voicePitch = localStorage.getItem('voicePitch') ?? 'medium';\r\n\r\n useEffect(() => {\r\n const savedHistory = JSON.parse(localStorage.getItem('translationHistory') ?? '[]') as Translation[];\r\n savedHistory.sort((a, b) => b.time.localeCompare(a.time));\r\n setHistory(savedHistory);\r\n }, []);\r\n\r\n const updateLocalStorage = (key: string, value: unknown) => {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(value)); // Convert to JSON string without quotes\r\n } catch (error) {\r\n console.error('Error writing to local storage', error);\r\n }\r\n };\r\n\r\n const manageLanguageTabs = (newLang: string, setLanguages: React.Dispatch>>) => {\r\n // console.log('New language: ' + newLang);\r\n setLanguages((prevLanguages) => {\r\n const updatedLanguages = new Set(prevLanguages);\r\n // Add the new language\r\n updatedLanguages.add(newLang);\r\n // If the limit is exceeded, remove the oldest language\r\n if (updatedLanguages.size > 4) {\r\n const oldestLang = Array.from(updatedLanguages).shift(); // Get the first/oldest language\r\n if (oldestLang) {\r\n updatedLanguages.delete(oldestLang);\r\n }\r\n }\r\n\r\n return updatedLanguages;\r\n });\r\n };\r\n\r\n const swapLanguages = () => {\r\n setInputText(translatedText);\r\n setTranslatedText(inputText);\r\n\r\n // Manage 'from' and 'to' languages tabs\r\n manageLanguageTabs(toLang, setUsedFromLanguages);\r\n manageLanguageTabs(fromLang, setUsedToLanguages);\r\n\r\n setFromLang(toLang);\r\n setToLang(fromLang);\r\n\r\n // Update localStorage\r\n updateLocalStorage('activeFromLang', toLang);\r\n updateLocalStorage('activeToLang', fromLang);\r\n updateLocalStorage('usedFromLanguages', Array.from(usedFromLanguages));\r\n updateLocalStorage('usedToLanguages', Array.from(usedToLanguages));\r\n };\r\n\r\n const updateFromLang = (newLang: string) => {\r\n setFromLang(newLang);\r\n cannotbevoicedfrom = languagesNoVoice.includes(newLang);\r\n manageLanguageTabs(newLang, setUsedFromLanguages);\r\n updateLocalStorage('activeFromLang', newLang);\r\n };\r\n\r\n const updateToLang = (newLang: string) => {\r\n setToLang(newLang);\r\n cannotbevoicedto = languagesNoVoice.includes(newLang);\r\n manageLanguageTabs(newLang, setUsedToLanguages);\r\n updateLocalStorage('activeToLang', newLang);\r\n };\r\n\r\n useEffect(() => {\r\n localStorage.setItem('usedFromLanguages', JSON.stringify(Array.from(usedFromLanguages)));\r\n }, [usedFromLanguages]);\r\n\r\n useEffect(() => {\r\n localStorage.setItem('usedToLanguages', JSON.stringify(Array.from(usedToLanguages)));\r\n }, [usedToLanguages]);\r\n\r\n const translateText = async (text: string) => {\r\n // console.log('translation activated');\r\n if (!text.trim()) return;\r\n\r\n try {\r\n if (activeMode === 'TO') {\r\n const translated = await speechService.translateText(text, toLang);\r\n setTranslatedText(translated);\r\n const newHistoryItem = {\r\n time: new Date().toISOString(),\r\n fromLang,\r\n toLang,\r\n text: translated,\r\n right: false,\r\n };\r\n const newHistory = [newHistoryItem, ...history].slice(0, 10);\r\n setHistory(newHistory);\r\n updateLocalStorage('translationHistory', newHistory);\r\n // console.log('Translated to: ' + translated);\r\n if (autoplayback) {\r\n handlePlayClick(true, translated).catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }\r\n } else {\r\n const translated = await speechService.translateText(text, fromLang);\r\n setInputText(translated);\r\n const newHistoryItem = {\r\n time: new Date().toISOString(),\r\n toLang,\r\n fromLang,\r\n text: translated,\r\n right: true,\r\n };\r\n const newHistory = [newHistoryItem, ...history].slice(0, 10);\r\n setHistory(newHistory);\r\n updateLocalStorage('translationHistory', newHistory);\r\n //console.log('Translated to b: ' + translated);\r\n if (autoplayback) {\r\n handlePlayClick(false, translated).catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }\r\n }\r\n if (conversationalMode) {\r\n handleToggleModeClick();\r\n }\r\n } catch (error) {\r\n console.error('Error translating text:', error);\r\n }\r\n };\r\n\r\n const translateTextWithInput = async (text: string) => {\r\n // console.log('translation activated');\r\n if (!text.trim()) return;\r\n\r\n try {\r\n if (activeMode === 'TO') {\r\n // This is when we go from the FROM textbox and translate/TTS to the TO box. Visual: [ FROM ] [ TO ] >>>\r\n // console.log('+++++++++++ TO');\r\n /// console.log('+++++++++++ TRANSLATING TEXT: ' + text);\r\n const translated = await speechService.translateText(text, toLang);\r\n // console.log('+++++++++++ TRANSLATED TEXT: ' + translated);\r\n setTranslatedText(translated);\r\n const newHistoryItem = {\r\n time: new Date().toISOString(),\r\n fromLang,\r\n toLang,\r\n text: translated,\r\n right: false,\r\n };\r\n const newHistory = [newHistoryItem, ...history].slice(0, 10);\r\n setHistory(newHistory);\r\n updateLocalStorage('translationHistory', newHistory);\r\n // console.log('Translated to: ' + translated);\r\n\r\n if (autoplayback) {\r\n handlePlayClick(true, translated).catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }\r\n } else {\r\n // This is when we go from the TO textbox and translate/TTS to the FROM box. Visual: [ FROM ] [ TO ] <<<\r\n // console.log('+++++++++++ FROM');\r\n // console.log('+++++++++++ TRANSLATING TEXT: ' + text);\r\n const translated = await speechService.translateText(text, fromLang);\r\n // console.log('+++++++++++ TRANSLATED TEXT: ' + translated);\r\n setInputText(translated);\r\n const newHistoryItem = {\r\n time: new Date().toISOString(),\r\n toLang,\r\n fromLang,\r\n text: translated,\r\n right: true,\r\n };\r\n const newHistory = [newHistoryItem, ...history].slice(0, 10);\r\n setHistory(newHistory);\r\n updateLocalStorage('translationHistory', newHistory);\r\n // console.log('Translated to b: ' + translated);\r\n if (autoplayback) {\r\n handlePlayClick(false, translated).catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }\r\n }\r\n\r\n if (conversationalMode) {\r\n handleToggleModeClick();\r\n }\r\n } catch (error) {\r\n console.error('Error translating text:', error);\r\n }\r\n };\r\n\r\n const handleTranslateClick = () => {\r\n setIsTranslating(true); // Start translation\r\n\r\n const textToTranslate = activeMode === 'TO' ? inputText : translatedText;\r\n\r\n translateText(textToTranslate)\r\n .catch((error) => {\r\n console.error('Error during translation:', error);\r\n })\r\n .finally(() => {\r\n setIsTranslating(false); // End translation\r\n });\r\n };\r\n\r\n // Function to handle tab click for 'from' languages\r\n const handleFromLangTabClick = (lang: string) => {\r\n if (lang !== fromLang) {\r\n updateFromLang(lang);\r\n }\r\n };\r\n\r\n // Function to handle tab click for 'to' languages\r\n const handleToLangTabClick = (lang: string) => {\r\n if (lang !== toLang) {\r\n updateToLang(lang);\r\n }\r\n };\r\n\r\n const renderLanguageOptions = (languages: LanguageOption[]) => {\r\n return languages.map((lang) => (\r\n \r\n ));\r\n };\r\n\r\n // Speech Recognition\r\n const [_fromRecognizer, setFromRecognizer] = useState();\r\n const [_toRecognizer, setToRecognizer] = useState();\r\n const [autoSendEnabled, setAutoSendEnabled] = useState(() => {\r\n const savedAutoSendEnabled = localStorage.getItem('autoSendEnabled');\r\n if (savedAutoSendEnabled !== null) {\r\n try {\r\n // Use a type assertion here\r\n const parsedValue = JSON.parse(savedAutoSendEnabled) as boolean;\r\n // No need to check 'typeof parsedValue === \"boolean\"' because of the assertion\r\n return parsedValue;\r\n } catch (error) {\r\n console.error('Parsing error: ', error);\r\n }\r\n }\r\n return false;\r\n });\r\n\r\n // From and to lists auto load\r\n // Update 'fromLang' when the corresponding local storage value changes\r\n useEffect(() => {\r\n const storedFromLang = localStorage.getItem('activeFromLang');\r\n if (storedFromLang) {\r\n setFromLang(String(JSON.parse(storedFromLang))); // Cast the parsed value to string\r\n }\r\n }, []);\r\n\r\n // Update 'toLang' when the corresponding local storage value changes\r\n useEffect(() => {\r\n const storedToLang = localStorage.getItem('activeToLang');\r\n if (storedToLang) {\r\n setToLang(String(JSON.parse(storedToLang))); // Cast the parsed value to string\r\n }\r\n }, []);\r\n\r\n // Load from localStorage when component mounts\r\n useEffect(() => {\r\n const savedAutoSendEnabled = localStorage.getItem('autoSendEnabled');\r\n if (savedAutoSendEnabled !== null) {\r\n try {\r\n const parsedValue = JSON.parse(savedAutoSendEnabled) as boolean;\r\n // console.log(parsedValue);\r\n if (typeof parsedValue === 'boolean') {\r\n setAutoSendEnabled(parsedValue);\r\n }\r\n } catch (error) {\r\n console.error('Parsing error: ', error);\r\n setAutoSendEnabled(false);\r\n }\r\n }\r\n }, []);\r\n\r\n // Save to localStorage when autoSendEnabled changes\r\n useEffect(() => {\r\n localStorage.setItem('autoSendEnabled', JSON.stringify(autoSendEnabled));\r\n }, [autoSendEnabled]);\r\n\r\n // Handle AutoSend (For Audio to text)\r\n const handleCheckboxChange = (event: React.ChangeEvent) => {\r\n const isChecked = event.target.checked;\r\n setAutoSendEnabled(isChecked);\r\n localStorage.setItem('autoSendEnabled', JSON.stringify(isChecked));\r\n };\r\n\r\n async function getFromRecognizer() {\r\n const tokenResponse = await speechService.getSpeechTokenAsync(\r\n await AuthHelper.getSKaaSAccessToken(instance, inProgress),\r\n );\r\n if (tokenResponse.isSuccess) {\r\n return speechService.getSpeechRecognizerAsyncWithValidKey(tokenResponse, [fromLang]);\r\n }\r\n throw new Error('Failed to get speech token or initialize recognizer for \"from\" language');\r\n }\r\n\r\n async function getToRecognizer() {\r\n const tokenResponse = await speechService.getSpeechTokenAsync(\r\n await AuthHelper.getSKaaSAccessToken(instance, inProgress),\r\n );\r\n if (tokenResponse.isSuccess) {\r\n return speechService.getSpeechRecognizerAsyncWithValidKey(tokenResponse, [toLang]);\r\n }\r\n throw new Error('Failed to get speech token or initialize recognizer for \"to\" language');\r\n }\r\n\r\n React.useEffect(() => {\r\n async function initSpeechRecognizer() {\r\n try {\r\n const fromRecognizerInstance = await getFromRecognizer();\r\n const toRecognizerInstance = await getToRecognizer();\r\n setFromRecognizer(fromRecognizerInstance);\r\n setToRecognizer(toRecognizerInstance);\r\n } catch (error) {\r\n console.error('Error initializing speech recognizers:', error);\r\n }\r\n }\r\n\r\n // Handle the promise returned by initSpeechRecognizer\r\n initSpeechRecognizer().catch((error) => {\r\n console.error('Error in initSpeechRecognizer:', error);\r\n });\r\n }, [instance, inProgress, fromLang, toLang]);\r\n\r\n const startFromLanguageRecognition = async () => {\r\n if (!_fromRecognizer) {\r\n console.error('Recognizer is undefined');\r\n return;\r\n }\r\n\r\n // Start recording with the 'from' language recognizer\r\n await startRecording(_fromRecognizer, true).catch(console.error);\r\n };\r\n\r\n const startToLanguageRecognition = async () => {\r\n if (!_toRecognizer) {\r\n console.error('Recognizer is undefined');\r\n return;\r\n }\r\n\r\n // Start recording with the 'to' language recognizer\r\n await startRecording(_toRecognizer, false).catch(console.error);\r\n };\r\n\r\n // Play Text-to-Speech\r\n const handlePlayClick = async (ab: boolean, textPassthru: string) => {\r\n try {\r\n // Assuming you have state setters for these\r\n setIsDisabled(true);\r\n\r\n if (isPaused && speechService.player) {\r\n speechService.player.resume();\r\n setIsPaused(false);\r\n setIsPlaying(true);\r\n } else {\r\n let playbackLanguage = 'English';\r\n\r\n // Remove the quotes if they exist\r\n const fromLanguage = fromLang.replace(/^['\"]+|['\"]+$/g, '');\r\n const toLanguage = toLang.replace(/^['\"]+|['\"]+$/g, '');\r\n\r\n // console.log('Translate from: ' + fromLanguage);\r\n // console.log('Translate to: ' + toLanguage);\r\n let genderToPlay = 'Male';\r\n\r\n // Translated version\r\n if (ab) {\r\n // Use translatedText when in \"TO\" mode\r\n // console.log('========= The translation playback language is going to use: ' + toLanguage);\r\n playbackLanguage = toLanguage;\r\n if (!textPassthru) {\r\n textPassthru = translatedText;\r\n }\r\n genderToPlay = genderVoiceTB;\r\n } else {\r\n // Use translatedTextInput if it's not empty, otherwise use translatedText\r\n // console.log('========= The translation playback language is going to use: ' + fromLanguage);\r\n playbackLanguage = fromLanguage;\r\n if (!textPassthru) {\r\n textPassthru = inputText;\r\n }\r\n genderToPlay = genderVoiceTA;\r\n }\r\n\r\n const response = await speechService.getSpeechTokenAsync(\r\n await AuthHelper.getSKaaSAccessToken(instance, inProgress),\r\n );\r\n\r\n // console.log('TTS the following:');\r\n // console.log(textPassthru);\r\n // console.log('Playback language: ' + playbackLanguage);\r\n // console.log('Gender: ' + genderToPlay);\r\n // console.log('Pitch: ' + voicePitch);\r\n // console.log('Speed: ' + selectedVoiceSpeed);\r\n\r\n if (response.isSuccess) {\r\n await speechService.convertTextToSpeech(\r\n response.token,\r\n response.region,\r\n textPassthru,\r\n genderToPlay,\r\n selectedVoiceSpeed,\r\n voicePitch,\r\n playbackLanguage,\r\n );\r\n\r\n if (speechService.player) {\r\n speechService.player.onAudioEnd = () => {\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n setIsDisabled(false);\r\n };\r\n\r\n setIsPlaying(true);\r\n }\r\n } else {\r\n // console.error('Failed to retrieve speech token and region.');\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n setIsDisabled(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Failed to handle play action:', error);\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n setIsDisabled(false);\r\n }\r\n };\r\n\r\n const handlePauseClick = () => {\r\n if (speechService.player) {\r\n speechService.player.pause();\r\n setIsPaused(true);\r\n }\r\n };\r\n\r\n const handleStopClick = () => {\r\n if (speechService.player) {\r\n speechService.player.pause(); // Assuming pause acts as stop\r\n setIsPlaying(false);\r\n setIsPaused(false);\r\n setIsDisabled(false);\r\n }\r\n };\r\n\r\n // Function to clear the \"From\" textarea\r\n const clearFromTextarea = () => {\r\n setInputText('');\r\n };\r\n\r\n // Function to clear the \"To\" textarea\r\n const clearToTextarea = () => {\r\n setTranslatedText('');\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {\r\n updateFromLang(e.target.value);\r\n }}\r\n title=\"Original Language\"\r\n aria-label=\"Original Language\"\r\n >\r\n {renderLanguageOptions(languages)}\r\n \r\n\r\n \r\n \r\n \r\n {\r\n updateToLang(e.target.value);\r\n }}\r\n title=\"Translated Language\"\r\n aria-label=\"Translated Language\"\r\n >\r\n {renderLanguageOptions(languages)}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Array.from(usedFromLanguages).map((lang) => (\r\n {\r\n handleFromLangTabClick(lang);\r\n }}\r\n className={\r\n lang === fromLang\r\n ? 'utversal_used-language utversal_used-language-active'\r\n : 'utversal_used-language'\r\n }\r\n >\r\n {lang}\r\n \r\n ))}\r\n
\r\n
\r\n {\r\n setUsedFromLanguages(new Set([fromLang]));\r\n }}\r\n className=\"easybuttons\"\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {\r\n setInputText(e.target.value);\r\n }}\r\n maxLength={10000} // Set maximum length\r\n title={`Enter text (${fromLang})`}\r\n aria-label={`Input text (${fromLang})`}\r\n readOnly={activeMode === 'FROM'}\r\n />\r\n
\r\n {(!isPlaying || isPaused) && (\r\n {\r\n handlePlayClick(false, '').catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }}\r\n className={`${isDisabled || isCharLimitExceeded ? 'disabledbutton' : ''} ${\r\n isPaused ? 'easybuttons pausedplay' : 'easybuttons'\r\n }`}\r\n disabled={\r\n isDisabled || isCharLimitExceeded || inputText.length === 0 || isRecording\r\n }\r\n >\r\n \r\n \r\n )}\r\n\r\n {/* Display the Pause button only when playing and not paused */}\r\n {isPlaying && !isPaused && (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Display the Stop button whenever playing, regardless of paused state */}\r\n {isPlaying && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
{`${inputText.length.toLocaleString()} / 10,000 Characters Remaining`}
\r\n
\r\n {' '}\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n if (isRecording) {\r\n if (_fromRecognizer) {\r\n stopRecording(_fromRecognizer).catch(console.error);\r\n }\r\n } else {\r\n startFromLanguageRecognition().catch(console.error);\r\n }\r\n setIsRecording(!isRecording);\r\n }}\r\n disabled={activeMode !== 'TO' || isPlaying}\r\n >\r\n {isRecording ? 'Stop Recording' : } Person A\r\n \r\n\r\n {cannotbevoicedfrom && (\r\n
This language does not support TTS
\r\n )}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Array.from(usedToLanguages).map((lang) => (\r\n {\r\n handleToLangTabClick(lang);\r\n }}\r\n className={\r\n lang === toLang\r\n ? 'utversal_used-language utversal_used-language-active'\r\n : 'utversal_used-language'\r\n }\r\n >\r\n {lang}\r\n \r\n ))}\r\n
\r\n
\r\n {\r\n setUsedToLanguages(new Set([toLang]));\r\n }}\r\n className=\"easybuttons\"\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {genderVoiceTB === 'Male' ? '♂' : '♀'}\r\n \r\n
\r\n
\r\n {\r\n setTranslatedText(event.target.value);\r\n }}\r\n title={`Translation (${toLang})`}\r\n aria-label={`Translated text (${toLang})`}\r\n maxLength={10000} // Set maximum length\r\n />\r\n
\r\n {(!isPlaying || isPaused) && (\r\n {\r\n handlePlayClick(true, '').catch((error) => {\r\n console.error('Failed to handle text-to-speech:', error);\r\n });\r\n }}\r\n className={`${isDisabled ? 'disabledbutton' : ''} ${\r\n isPaused ? 'easybuttons pausedplay' : 'easybuttons'\r\n }`}\r\n disabled={isDisabled || translatedText.length === 0 || isRecording}\r\n >\r\n \r\n \r\n )}\r\n\r\n {/* Display the Pause button only when playing and not paused */}\r\n {isPlaying && !isPaused && (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Display the Stop button whenever playing, regardless of paused state */}\r\n {isPlaying && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
{`${translatedText.length.toLocaleString()} / 10,000 Characters Remaining`}
\r\n
\r\n {\r\n if (isRecording) {\r\n if (_toRecognizer) {\r\n stopRecording(_toRecognizer).catch(console.error);\r\n }\r\n } else {\r\n startToLanguageRecognition().catch(console.error);\r\n }\r\n setIsRecording(!isRecording);\r\n }}\r\n disabled={activeMode !== 'FROM' || isPlaying}\r\n >\r\n {isRecording ? 'Stop Recording' : } Person B\r\n \r\n {cannotbevoicedto &&
This language does not support TTS
}\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 10000)) ||\r\n (activeMode === 'FROM' && (!translatedText.trim() || translatedText.length > 10000))\r\n }\r\n title=\"Translate\"\r\n aria-label=\"Translate\"\r\n >\r\n Translate\r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\nexport default TranslateTab;\r\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport {\n Button,\n Label,\n makeStyles,\n Persona,\n Popover,\n PopoverSurface,\n PopoverTrigger,\n SelectTabEventHandler,\n shorthands,\n Tab,\n TabList,\n TabValue,\n tokens,\n Tooltip,\n} from '@fluentui/react-components';\nimport { Edit24Filled, EditRegular } from '@fluentui/react-icons';\nimport React, { useContext, useEffect, useState } from 'react';\nimport AppContext from '../../AppContext';\nimport { useAppSelector } from '../../redux/app/hooks';\nimport { RootState } from '../../redux/app/store';\nimport { FeatureKeys } from '../../redux/features/app/AppState';\nimport { Alerts } from '../shared/Alerts';\nimport { ChatRoom } from './ChatRoom';\nimport { ParticipantsList } from './controls/ParticipantsList';\nimport { ShareBotMenu } from './controls/ShareBotMenu';\nimport { EditChatName } from './shared/EditChatName';\nimport { DocumentsTab } from './tabs/DocumentsTab';\nimport { GuideTab } from './tabs/GuideTab';\nimport { PlansTab } from './tabs/PlansTab';\nimport TranslatorTab from './tabs/TranslatorTab';\n\nconst useClasses = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n backgroundColor: tokens.colorNeutralBackground3,\n boxShadow: 'rgb(0 0 0 / 25%) 0 0.2rem 0.4rem -0.075rem',\n },\n header: {\n ...shorthands.borderBottom('1px', 'solid', 'rgb(0 0 0 / 10%)'),\n ...shorthands.padding(tokens.spacingVerticalS, tokens.spacingHorizontalM),\n backgroundColor: tokens.colorNeutralBackground4,\n display: 'flex',\n flexDirection: 'row',\n boxSizing: 'border-box',\n width: '100%',\n justifyContent: 'center',\n },\n title: {\n ...shorthands.gap(tokens.spacingHorizontalM),\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n },\n popoverHeader: {\n ...shorthands.margin('0'),\n paddingBottom: tokens.spacingVerticalXXS,\n fontStyle: 'normal',\n fontWeight: '600',\n },\n popover: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'center',\n ...shorthands.padding(tokens.spacingVerticalXXL),\n ...shorthands.gap(tokens.spacingVerticalMNudge),\n width: '398px',\n },\n buttons: {\n display: 'flex',\n alignSelf: 'end',\n ...shorthands.gap(tokens.spacingVerticalS),\n },\n alerts: {\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.margin(0, '72px'),\n },\n});\n\nexport const ChatWindow: React.FC = () => {\n const classes = useClasses();\n const { features } = useAppSelector((state: RootState) => state.app);\n const { conversations, selectedId } = useAppSelector((state: RootState) => state.conversations);\n const showShareBotMenu = features[FeatureKeys.BotAsDocs].enabled || features[FeatureKeys.MultiUserChat].enabled;\n const chatName = conversations[selectedId].title;\n\n const { currentSection, setCurrentSection } = useContext(AppContext);\n\n const [isEditing, setIsEditing] = useState(false);\n const [selectedTab, setSelectedTab] = React.useState('chat');\n const onTabSelect: SelectTabEventHandler = (_event, data) => {\n setSelectedTab(data.value);\n const tvalue = data.value as string;\n setCurrentSection(tvalue);\n };\n\n useEffect(() => {\n // console.log(currentSection);\n }, [currentSection]);\n\n const [selectedFont] = useState('fontMontserrat');\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n return (\n
\n
\n
\n {!features[FeatureKeys.SimplifiedExperience].enabled && (\n <>\n \n \n \n \n \n : }\n appearance=\"transparent\"\n onClick={() => {\n setIsEditing(true);\n }}\n disabled={!chatName}\n aria-label=\"Edit conversation name\"\n />\n \n \n \n

Thread Title

\n {\n setIsEditing(false);\n }}\n textButtons\n />\n
\n
\n \n )}\n \n \n UT Verse Chat\n \n {/* \n Documents\n */}\n \n UTVersal Translator\n \n \n Guide\n \n {features[FeatureKeys.PluginsPlannersAndPersonas].enabled && (\n <>\n {/* }\n aria-label=\"Plans Tab\"\n title=\"Plans Tab\"\n >\n Plans\n */}\n {/* }\n aria-label=\"Persona Tab\"\n title=\"Persona Tab\"\n >\n Personalize\n */}\n \n )}\n \n
\n
\n {showShareBotMenu && (\n
\n \n
\n )}\n
\n \n
\n
\n
\n {selectedTab === 'chat' && }\n {selectedTab === 'documents' && }\n {selectedTab === 'TranslatorTab' && }\n {selectedTab === 'guide' && }\n {selectedTab === 'plans' && (\n {\n setSelectedTab('chat');\n }}\n />\n )}\n {selectedTab !== 'chat' && (\n
\n \n
\n )}\n
\n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n// removed useState due to menu not having submenus anymore, add it back if you need it\nimport { FC } from 'react';\n\nimport {\n Button,\n // Divider,\n // Menu,\n // MenuItem,\n // MenuList,\n // MenuPopover,\n // MenuTrigger,\n Tooltip,\n} from '@fluentui/react-components';\nimport { useChat } from '../../../../libs/hooks';\n//import { useAppSelector } from '../../../../redux/app/hooks';\n//import { RootState } from '../../../../redux/app/store';\n//import { FeatureKeys } from '../../../../redux/features/app/AppState';\n//import { Ne } from '../../../shared/BundledIcons';\n//import { InvitationJoinDialog } from '../../invitation-dialog/InvitationJoinDialog';\n\ninterface SimplifiedNewBotMenuProps {\n onFileUpload: () => void;\n}\n\n// Pass onFileUpload to re-enable it.\n// example: = ({ onFileUpload })\nexport const SimplifiedNewBotMenu: FC = ({}) => {\n const chat = useChat();\n // const { features } = useAppSelector((state: RootState) => state.app);\n\n // It needs to keep the menu open to keep the FileUploader reference\n // when the file uploader is clicked.\n // const [isJoiningBot, setIsJoiningBot] = useState(false);\n\n const onAddChat = () => {\n void chat.createChat();\n };\n /* const onJoinClick = () => {\n setIsJoiningBot(true);\n };\n */\n\n // const onCloseDialog = () => {\n // setIsJoiningBot(false);\n // };\n\n // NOTICE:\n // I removed the other features like upload saved chat etc because it didn't seem necessary to have at the moment\n\n return (\n
\n \n \n \n
\n );\n\n // return (\n //
\n // \n // \n // \n // \n // \n // \n // \n // \n // \n // New Chat Session\n // \n // {/*\n // \n // \n //
Upload Saved Chat
\n // \n // \n // Join Shared Chat\n // \n // */}\n //
\n //
\n //
\n // {isJoiningBot && }\n //
\n // );\n};\n","import { Button } from '@fluentui/react-button';\nimport { Tooltip, makeStyles } from '@fluentui/react-components';\nimport {\n Dialog,\n DialogActions,\n DialogBody,\n DialogContent,\n DialogSurface,\n DialogTitle,\n DialogTrigger,\n} from '@fluentui/react-dialog';\nimport { useEffect, useState } from 'react';\nimport { useChat } from '../../../../libs/hooks';\nimport { getFriendlyChatName } from '../../../../libs/hooks/useChat';\nimport { useAppSelector } from '../../../../redux/app/hooks';\nimport { Delete16 } from '../../../shared/BundledIcons';\n\nconst useClasses = makeStyles({\n root: {\n width: '500px',\n },\n actions: {\n paddingTop: '10%',\n },\n});\n\ninterface IEditChatNameProps {\n chatId: string;\n}\n\nexport const DeleteChatDialog: React.FC = ({ chatId }) => {\n const classes = useClasses();\n const chat = useChat();\n\n const { conversations } = useAppSelector((state) => state.conversations);\n const chatName = getFriendlyChatName(conversations[chatId]);\n\n const onDeleteChat = () => {\n void chat.deleteChat(chatId);\n };\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { Button } from '@fluentui/react-button';\nimport { makeStyles } from '@fluentui/react-components';\nimport { ErrorCircleRegular } from '@fluentui/react-icons';\nimport { Tooltip } from '@fluentui/react-tooltip';\nimport React, { useState } from 'react';\nimport { COPY } from '../../../assets/strings';\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\n//import { FeatureKeys } from '../../../redux/features/app/AppState';\nimport { Edit } from '../../shared/BundledIcons';\nimport { InvitationCreateDialog } from '../invitation-dialog/InvitationCreateDialog';\nimport { DeleteChatDialog } from './dialogs/DeleteChatDialog';\n\nconst useClasses = makeStyles({\n root: {\n display: 'contents',\n },\n});\n\ninterface IListItemActionsProps {\n chatId: string;\n onEditTitleClick: () => void;\n}\n\nexport const ListItemActions: React.FC = ({ chatId, onEditTitleClick }) => {\n const classes = useClasses();\n // const { features } = useAppSelector((state: RootState) => state.app);\n const { conversations } = useAppSelector((state: RootState) => state.conversations);\n\n //const chat = useChat();\n // const { downloadFile } = useFile();\n const [isGettingInvitationId, setIsGettingInvitationId] = useState(false);\n\n /*\n const onDownloadBotClick = useCallback(() => {\n // TODO: [Issue #47] Add a loading indicator\n void chat.downloadBot(chatId).then((content) => {\n downloadFile(\n `chat-history-${chatId}-${new Date().toISOString()}.json`,\n JSON.stringify(content),\n 'text/json',\n );\n });\n }, [chat, chatId, downloadFile]);\n */\n\n return (\n
\n {conversations[chatId].disabled ? (\n \n }\n appearance=\"transparent\"\n aria-label=\"Alert: Chat has been deleted by another user.\"\n />\n \n ) : (\n <>\n \n }\n appearance=\"transparent\"\n aria-label=\"Edit chat name\"\n onClick={onEditTitleClick}\n data-testid=\"editChatTitleButtonSimplified\"\n />\n \n {/* \n }\n appearance=\"transparent\"\n aria-label=\"Download chat session\"\n onClick={onDownloadBotClick}\n />\n */}\n {/* \n }\n appearance=\"transparent\"\n aria-label=\"Share live chat code\"\n onClick={() => {\n setIsGettingInvitationId(true);\n }}\n />\n */}\n\n \n {isGettingInvitationId && (\n {\n setIsGettingInvitationId(false);\n }}\n chatId={chatId}\n />\n )}\n \n )}\n
\n );\n};\n","import { makeStyles, mergeClasses, shorthands, Text, tokens } from '@fluentui/react-components';\nimport { ShieldTask16Regular } from '@fluentui/react-icons';\nimport { FC, useEffect, useState } from 'react';\nimport { useAppDispatch, useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { FeatureKeys } from '../../../redux/features/app/AppState';\nimport { setSelectedConversation } from '../../../redux/features/conversations/conversationsSlice';\nimport { SharedStyles } from '../../../styles';\nimport { timestampToDateString } from '../../utils/TextUtils';\nimport { EditChatName } from '../shared/EditChatName';\nimport { ListItemActions } from './ListItemActions';\n\nconst useClasses = makeStyles({\n root: {\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'row',\n width: 'calc(100% - 10px)',\n justifyContent: 'center',\n ...shorthands.margin('5px'),\n cursor: 'pointer',\n ...shorthands.padding('10px'),\n ...shorthands.borderRadius('8px'),\n borderBottomWidth: '1px',\n borderBottomColor: '#e5e5e5',\n borderBottomStyle: 'inset',\n },\n avatar: {\n flexShrink: 0,\n width: '32px',\n },\n body: {\n minWidth: 0,\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n marginLeft: tokens.spacingHorizontalXS,\n alignSelf: 'center',\n fontFamily: 'inherit',\n },\n header: {\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n fontFamily: 'inherit',\n },\n title: {\n ...SharedStyles.overflowEllipsis,\n fontSize: tokens.fontSizeBase300,\n color: tokens.colorNeutralForeground1,\n },\n timestamp: {\n flexShrink: 0,\n marginLeft: tokens.spacingHorizontalM,\n fontSize: tokens.fontSizeBase200,\n color: tokens.colorNeutralForeground4,\n lineHeight: tokens.lineHeightBase200,\n },\n previewText: {\n ...SharedStyles.overflowEllipsis,\n display: 'block',\n lineHeight: tokens.lineHeightBase100,\n color: tokens.colorNeutralForeground2,\n },\n popoverSurface: {\n display: 'none',\n },\n selected: {\n backgroundColor: tokens.colorNeutralBackground1,\n },\n protectedIcon: {\n color: tokens.colorPaletteLightGreenBorder1,\n verticalAlign: 'text-bottom',\n marginLeft: tokens.spacingHorizontalXS,\n },\n});\n\ninterface IChatListItemProps {\n id: string;\n header: string;\n timestamp: number;\n preview: string;\n itsMe: boolean;\n botProfilePicture: string;\n isSelected: boolean;\n}\n\nexport const ChatListItem: FC = ({\n id,\n header,\n timestamp,\n preview,\n itsMe,\n // botProfilePicture,\n isSelected,\n}) => {\n const classes = useClasses();\n const dispatch = useAppDispatch();\n const { features } = useAppSelector((state: RootState) => state.app);\n\n const showPreview = !features[FeatureKeys.SimplifiedExperience].enabled && preview;\n const showActions = features[FeatureKeys.SimplifiedExperience].enabled && isSelected;\n\n const [editingTitle, setEditingTitle] = useState(false);\n\n const onClick = (_ev: any) => {\n dispatch(setSelectedConversation(id));\n };\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n const time = timestampToDateString(timestamp);\n return (\n {\n // setIsHovered(true);\n }}\n onMouseLeave={() => {\n if (!isSelected) {\n // setIsHovered(false);\n }\n }}\n onClick={onClick}\n title={`Chat: ${header}`}\n aria-label={`Chat list item: ${header}`}\n >\n {/* */}\n {editingTitle ? (\n {\n setEditingTitle(false);\n }}\n />\n ) : (\n <>\n
\n
\n \n {header}\n {features[FeatureKeys.AzureContentSafety].enabled && (\n \n )}\n \n {!features[FeatureKeys.SimplifiedExperience].enabled && (\n \n {time}\n \n )}\n \n {time}\n \n
\n {showPreview && (\n <>\n {\n \n {preview}\n \n }\n \n )}\n
\n {itsMe && showActions && (\n {\n setEditingTitle(true);\n }}\n />\n )}\n \n )}\n
\n );\n};\n","import { makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport { getFriendlyChatName } from '../../../libs/hooks/useChat';\nimport { ChatMessageType } from '../../../libs/models/ChatMessage';\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\nimport { Conversations } from '../../../redux/features/conversations/ConversationsState';\n//import { Breakpoints } from '../../../styles';\nimport { useEffect, useState } from 'react';\nimport { ChatListItem } from './ChatListItem';\n\nconst useClasses = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n ...shorthands.gap(tokens.spacingVerticalXXS),\n paddingBottom: tokens.spacingVerticalXS,\n },\n header: {\n position: 'relative',\n marginTop: 0,\n left: 0,\n right: 0,\n width: '100%',\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '55px',\n paddingRight: tokens.spacingHorizontalXL,\n fontWeight: tokens.fontWeightBold,\n fontSize: tokens.fontSizeBase300,\n color: '#fff',\n backgroundColor: '#313e48',\n borderBottomColor: '#ff8200',\n borderBottomWidth: '4px',\n borderBottomStyle: 'solid',\n },\n});\n\ninterface IChatListSectionProps {\n header?: string;\n conversations: Conversations;\n}\n\nexport const ChatListSection: React.FC = ({ header, conversations }) => {\n const classes = useClasses();\n const { selectedId } = useAppSelector((state: RootState) => state.conversations);\n const keys = Object.keys(conversations);\n const userId = useAppSelector((state) => state.app.activeUserInfo?.id);\n\n //console.log(useAppSelector(state => state.someStatePath?.users?.[currentUserId]?.id) ?? null;)\n // const currentUserData = useAppSelector((state) => state.usersState.users[currentUserId]);\n // const userId = currentUserData ? currentUserData.id : null;\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n return keys.length > 0 ? (\n
\n
{header}
\n {keys.map((id) => {\n const convo = conversations[id];\n const messages = convo.messages;\n const lastMessage = messages[convo.messages.length - 1];\n const isSelected = id === selectedId;\n let itsMe = false;\n if (convo.users[0].id == userId) {\n itsMe = true;\n }\n\n return (\n 1 ? '+' + convo.users.length : ''\n }`}\n timestamp={convo.lastUpdatedTimestamp ?? lastMessage.timestamp}\n preview={\n messages.length > 0\n ? lastMessage.type === ChatMessageType.Document\n ? 'Sent a file'\n : lastMessage.type === ChatMessageType.Plan\n ? 'Click to view proposed plan'\n : lastMessage.content\n : 'Click to start the chat'\n }\n botProfilePicture={convo.botProfilePicture}\n />\n );\n })}\n
\n ) : null;\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport {\n Button,\n Input,\n InputOnChangeData,\n makeStyles,\n mergeClasses,\n shorthands,\n // Subtitle2Stronger,\n tokens,\n Tooltip,\n} from '@fluentui/react-components';\nimport { History28Filled, Search20Regular } from '@fluentui/react-icons';\n// import { FC, useCallback, useEffect, useRef, useState } from 'react'; // Original\nimport { FC, useContext, useEffect, useRef, useState } from 'react';\n// import { useChat, useFile } from '../../../libs/hooks'; // Original\nimport { useChat } from '../../../libs/hooks';\nimport { getFriendlyChatName } from '../../../libs/hooks/useChat';\n// import { AlertType } from '../../../libs/models/AlertType'; // Original\n// import { ChatArchive } from '../../../libs/models/ChatArchive'; // Original\n// import { useAppDispatch, useAppSelector } from '../../../redux/app/hooks'; // Original\nimport { useAppSelector } from '../../../redux/app/hooks';\nimport { RootState } from '../../../redux/app/store';\n// import { addAlert } from '../../../redux/features/app/appSlice';\nimport { FeatureKeys } from '../../../redux/features/app/AppState';\nimport { Conversations } from '../../../redux/features/conversations/ConversationsState';\n//import { Breakpoints } from '../../../styles';\n// import { FileUploader } from '../../FileUploader';\nimport { Dismiss20 } from '../../shared/BundledIcons';\nimport { isToday, isYesterday } from '../../utils/TextUtils';\n// import { NewBotMenu } from './bot-menu/NewBotMenu';\nimport AppContext from '../../../AppContext';\nimport { SimplifiedNewBotMenu } from './bot-menu/SimplifiedNewBotMenu';\nimport { ChatListSection } from './ChatListSection';\n\nconst useClasses = makeStyles({\n root: {\n position: 'fixed',\n zIndex: 1000,\n top: 0,\n left: 0,\n bottom: 0,\n display: 'flex',\n flexShrink: 0,\n width: '320px',\n maxWidth: '100vw',\n color: '#58595B',\n backgroundColor: '#fff',\n flexDirection: 'column',\n ...shorthands.overflow('hidden'),\n },\n list: {\n overflowY: 'auto',\n overflowX: 'hidden',\n '&:hover': {\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: tokens.colorScrollbarOverlay,\n visibility: 'visible',\n },\n },\n '&::-webkit-scrollbar-track': {\n backgroundColor: tokens.colorSubtleBackground,\n },\n alignItems: 'stretch',\n },\n header: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '60px',\n backgroundColor: '#f6f6f6',\n },\n title: {\n flexGrow: 1,\n fontSize: tokens.fontSizeBase500,\n },\n chatHistory: {\n fontSize: '18px',\n fontWeight: 'bold',\n color: '#333333',\n ...shorthands.padding('30px'),\n },\n input: {\n flexGrow: 1,\n ...shorthands.padding(tokens.spacingHorizontalNone),\n ...shorthands.border(tokens.borderRadiusNone),\n backgroundColor: tokens.colorSubtleBackground,\n fontSize: tokens.fontSizeBase500,\n },\n});\n\ninterface ConversationsView {\n latestConversations?: Conversations;\n yesterdayConversations?: Conversations;\n olderConversations?: Conversations;\n}\n\nexport const ChatList: FC = () => {\n const classes = useClasses();\n const { features } = useAppSelector((state: RootState) => state.app);\n const { conversations } = useAppSelector((state: RootState) => state.conversations);\n const { currentSection } = useContext(AppContext);\n\n const [isFiltering, setIsFiltering] = useState(false);\n const [filterText, setFilterText] = useState('');\n const [conversationsView, setConversationsView] = useState({\n latestConversations: conversations,\n yesterdayConversations: {},\n });\n\n const filterButtonRef = useRef(null);\n\n const chat = useChat();\n // const fileHandler = useFile();\n // const dispatch = useAppDispatch();\n\n const sortConversations = (conversations: Conversations): ConversationsView => {\n // sort conversations by last activity in descending order (newest first)\n const sortedIds = Object.keys(conversations).sort((a, b) => {\n const dateA = parseDateFromTitle(conversations[a].title);\n const dateB = parseDateFromTitle(conversations[b].title);\n return dateB.getTime() - dateA.getTime(); // Sort in descending order\n });\n\n function parseDateFromTitle(title: string) {\n const fullDateRegex = /(\\d{1,2}\\/\\d{1,2}\\/\\d{4},\\s\\d{1,2}:\\d{2}:\\d{2}\\s[APM]{2})/;\n const timeOnlyRegex = /(\\d{1,2}:\\d{2}:\\d{2}\\s[APM]{2})/; // Regex for time only\n\n let matches = title.match(fullDateRegex);\n if (matches && matches.length > 1) {\n return new Date(matches[1]);\n }\n\n matches = title.match(timeOnlyRegex);\n if (matches && matches.length > 1) {\n const currentTime = new Date();\n const dateString = `${\n currentTime.getMonth() + 1\n }/${currentTime.getDate()}/${currentTime.getFullYear()}, ${matches[1]}`;\n return new Date(dateString);\n }\n\n return new Date('1900-01-01'); // Default date for items without a valid date\n }\n\n // Add conversations to sortedConversations in the order of sortedIds.\n const latestConversations: Conversations = {};\n const olderConversations: Conversations = {};\n const yesterdayConversations: Conversations = {};\n\n sortedIds.forEach((id) => {\n const convoDate = parseDateFromTitle(conversations[id].title);\n if (isToday(convoDate)) {\n latestConversations[id] = conversations[id];\n } else if (isYesterday(convoDate)) {\n // Check for yesterday\n yesterdayConversations[id] = conversations[id];\n } else {\n olderConversations[id] = conversations[id];\n }\n });\n\n return {\n latestConversations,\n yesterdayConversations,\n olderConversations,\n };\n };\n\n useEffect(() => {\n const sortedView = sortConversations(conversations);\n setConversationsView(sortedView);\n }, [conversations]);\n\n // Menu open state\n const [open, setOpen] = useState(true);\n\n useEffect(() => {\n const handler = (e: MouseEvent) => {\n // Exclude clicks inside the input box or buttons\n\n if (filterButtonRef.current?.contains(e.target as Node)) {\n // Click is inside the filter button, do not close the menu\n return;\n }\n\n if (\n !e.target ||\n !(e.target instanceof Element) ||\n e.target.tagName === 'INPUT' ||\n e.target.tagName === 'BUTTON' ||\n e.target.closest('.filteringContainer') // Exclude clicks inside the filter container\n ) {\n return;\n }\n\n // Check if the clicked element or any of its ancestors contain the _nc340 class\n if (!e.target.closest('._nc340')) {\n setOpen(false);\n }\n\n // If the click is outside the search area, reset the search state\n setIsFiltering(false);\n setFilterText('');\n };\n\n document.addEventListener('mousedown', handler);\n\n return () => {\n document.removeEventListener('mousedown', handler);\n };\n }, []);\n\n useEffect(() => {\n // Ensure local component state is in line with app state.\n const nonHiddenConversations: Conversations = {};\n for (const key in conversations) {\n const conversation = conversations[key];\n if (\n !conversation.hidden &&\n (!filterText ||\n getFriendlyChatName(conversation).toLocaleUpperCase().includes(filterText.toLocaleUpperCase()))\n ) {\n nonHiddenConversations[key] = conversation;\n }\n }\n\n setConversationsView(sortConversations(nonHiddenConversations));\n }, [conversations, filterText]);\n\n const isFilteringEnabled = false;\n\n const onFilterClick = () => {\n if (isFiltering) {\n setIsFiltering(false);\n } else {\n setIsFiltering(true);\n }\n };\n\n const onFilterCancel = () => {\n setFilterText('');\n setIsFiltering(false);\n };\n const onAddChat = () => {\n void chat.createChat();\n };\n\n const onSearch = (ev: React.ChangeEvent, data: InputOnChangeData) => {\n ev.preventDefault();\n setFilterText(data.value);\n };\n\n const fileUploaderRef = useRef(null);\n // const onUpload = useCallback(\n // (file: File) => {\n // fileHandler.loadFile(file, chat.uploadBot).catch((error) =>\n // dispatch(\n // addAlert({\n // message: `Failed to parse uploaded file. ${error instanceof Error ? error.message : ''}`,\n // type: AlertType.Error,\n // }),\n // ),\n // );\n // },\n // [fileHandler, chat, dispatch],\n // );\n\n const [currentFont, setCurrentFont] = useState(localStorage.getItem('selectedFont') ?? 'fontMontserrat');\n\n // Effect to update the font based on localStorage changes\n useEffect(() => {\n const updateFont = (event: CustomEvent) => {\n setCurrentFont(event.detail);\n };\n\n window.addEventListener('fontChange', updateFont as EventListener);\n\n // Initialize the font\n const storedFont = localStorage.getItem('selectedFont') ?? 'fontMontserrat';\n setCurrentFont(storedFont);\n\n return () => {\n window.removeEventListener('fontChange', updateFont as EventListener);\n };\n }, []);\n\n const hiddenSections = ['settings', 'translator', 'guide'];\n const isHidden = hiddenSections.includes(currentSection);\n\n if (isHidden) {\n return null;\n }\n\n return (\n
\n
\n
Chat History
\n {!features[FeatureKeys.SimplifiedExperience].enabled ? (\n fileUploaderRef.current?.click()} />\n ) : (\n <>\n
\n \n \n \n\n
\n \n \n New Chat + \n \n \n
\n
\n {\n //eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n isFiltering && isFilteringEnabled && (\n <>\n \n
\n
\n
\n {isFiltering && (\n <>\n
\n \n
\n \n )}\n
\n
\n {conversationsView.latestConversations && (\n \n )}\n {conversationsView.yesterdayConversations && (\n \n )}\n {conversationsView.olderConversations && (\n \n )}\n
\n
\n );\n};\n","import { makeStyles, shorthands } from '@fluentui/react-components';\nimport { FC } from 'react';\nimport { useAppSelector } from '../../redux/app/hooks';\nimport { RootState } from '../../redux/app/store';\nimport { ChatWindow } from '../chat/ChatWindow';\nimport { ChatList } from '../chat/chat-list/ChatList';\n\nconst useClasses = makeStyles({\n container: {\n ...shorthands.overflow('hidden'),\n display: 'flex',\n flexDirection: 'row',\n alignContent: 'start',\n height: '100%',\n },\n});\n\nexport const ChatView: FC = () => {\n const classes = useClasses();\n const { selectedId } = useAppSelector((state: RootState) => state.conversations);\n\n return (\n
\n \n {selectedId !== '' && }\n
\n );\n};\n","import { createPreset } from '../createPreset';\nimport { subtitle2ClassNames, useSubtitle2Styles } from './useSubtitle2Styles.styles';\n/**\n * Text preset component for the Subtitle2 typography variant\n */ export const Subtitle2 = createPreset({\n useStyles: useSubtitle2Styles,\n className: subtitle2ClassNames.root,\n displayName: 'Subtitle2'\n});\n","import { makeStyles } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nexport const subtitle2ClassNames = {\n root: 'fui-Subtitle2'\n};\n/**\n * Styles for the root slot\n */ export const useSubtitle2Styles = makeStyles({\n root: typographyStyles.subtitle2\n});\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { Subtitle2 } from '@fluentui/react-components';\nimport { ErrorCircleRegular } from '@fluentui/react-icons';\nimport { FC } from 'react';\nimport { useSharedClasses } from '../../styles';\n\ninterface IErrorProps {\n text: string;\n}\n\nexport const Error: FC = ({ text }) => {\n const classes = useSharedClasses();\n return (\n
\n \n {text}\n
\n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { Spinner } from '@fluentui/react-components';\nimport { FC } from 'react';\nimport { useSharedClasses } from '../../styles';\n\ninterface ILoadingProps {\n text: string;\n}\n\nexport const Loading: FC = ({ text }) => {\n const classes = useSharedClasses();\n return (\n
\n
\n
\n UT Verse\n
\n \n
\n );\n};\n","// Copyright (c) Microsoft. All rights reserved.\n\nimport { useMsal } from '@azure/msal-react';\nimport { Button } from '@fluentui/react-components';\nimport { SignOutRegular } from '@fluentui/react-icons';\nimport React from 'react';\nimport { useSharedClasses } from '../../styles';\n\nexport const Login: React.FC = () => {\n const { instance } = useMsal();\n const classes = useSharedClasses();\n\n return (\n
\n
\n \n
\n {\n instance.loginRedirect().catch(() => {});\n }}\n data-testid=\"signinButton\"\n >\n
\n Log in with your UT email address and password\n
\n \n
\n
\n \n
\n
\n By using this service you agree to the{' '}\n \n Acceptable Use Policy\n \n
\n \n The University of Tennessee Knoxville\n \n , Tennessee 37996 | 865-974-1000 |{' '}\n \n ADA\n \n ,\n \n {' '}\n Privacy Safety\n \n ,\n \n {' '}\n Title IX\n \n
\n
\n );\n};\n","import { AccountInfo } from '@azure/msal-common';\nimport { AuthenticatedTemplate, UnauthenticatedTemplate, useIsAuthenticated, useMsal } from '@azure/msal-react';\nimport { FluentProvider, Subtitle1, makeStyles, shorthands, tokens } from '@fluentui/react-components';\n\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { AppContextProvider } from './AppContext';\nimport { UserSettingsMenu } from './components/header/UserSettingsMenu';\n// import { PluginGallery } from './components/open-api-plugins/PluginGallery';\nimport { BackendProbe, ChatView, Error, Loading, Login } from './components/views';\nimport { AuthHelper } from './libs/auth/AuthHelper';\nimport { useChat, useFile } from './libs/hooks';\nimport { AlertType } from './libs/models/AlertType';\nimport { useAppDispatch, useAppSelector } from './redux/app/hooks';\nimport { RootState } from './redux/app/store';\nimport { FeatureKeys } from './redux/features/app/AppState';\nimport { addAlert, setActiveUserInfo, setServiceInfo } from './redux/features/app/appSlice';\nimport { semanticKernelDarkTheme, semanticKernelLightTheme } from './styles';\n\nexport const useClasses = makeStyles({\n container: {\n display: 'flex',\n flexDirection: 'column',\n height: '100vh',\n width: '100%',\n ...shorthands.overflow('hidden'),\n },\n header: {\n alignItems: 'center',\n backgroundColor: '#313e48',\n color: tokens.colorNeutralForegroundOnBrand,\n display: 'flex',\n '& h1': {\n paddingLeft: tokens.spacingHorizontalXL,\n display: 'flex',\n },\n height: '48px',\n justifyContent: 'space-between',\n width: '100%',\n fontSize: '1rem',\n },\n headerTop: {\n position: 'relative',\n backgroundColor: '#ff8200',\n left: 0,\n right: 0,\n top: 0,\n height: '0.45rem',\n },\n persona: {\n marginRight: tokens.spacingHorizontalXXL,\n },\n cornerItems: {\n display: 'flex',\n ...shorthands.gap(tokens.spacingHorizontalS),\n },\n});\n\nenum AppState {\n ProbeForBackend,\n SettingUserInfo,\n ErrorLoadingChats,\n ErrorLoadingUserInfo,\n LoadingChats,\n Chat,\n SigningOut,\n}\n\nconst App = () => {\n const classes = useClasses();\n\n const [appState, setAppState] = React.useState(AppState.ProbeForBackend);\n const dispatch = useAppDispatch();\n\n const { instance, inProgress } = useMsal();\n const { features, isMaintenance } = useAppSelector((state: RootState) => state.app);\n const isAuthenticated = useIsAuthenticated();\n\n const chat = useChat();\n const file = useFile();\n\n type ExtendedAccountInfo = AccountInfo & {\n department: string;\n email: string;\n mail: string;\n manager: string;\n photo: string;\n activity: string;\n availability: string;\n };\n\n useEffect(() => {\n if (isMaintenance && appState !== AppState.ProbeForBackend) {\n setAppState(AppState.ProbeForBackend);\n return;\n }\n\n if (isAuthenticated && appState === AppState.SettingUserInfo) {\n const accountOrNull: AccountInfo | null = instance.getActiveAccount();\n const account: ExtendedAccountInfo | undefined = accountOrNull\n ? {\n ...accountOrNull, // Spread the properties from AccountInfo\n department: '', // Initialize the department, manager, and photo properties\n email: '',\n mail: '',\n manager: '',\n photo: '',\n activity: '',\n availability: '',\n }\n : undefined;\n if (!account) {\n setAppState(AppState.ErrorLoadingUserInfo);\n } else {\n dispatch(\n setActiveUserInfo({\n id: `${account.localAccountId}.${account.tenantId}`,\n emailAddress: account.username, // username is the email address\n email: account.email,\n username: account.name ?? account.username,\n manager: account.manager,\n department: account.department,\n activity: account.activity,\n availability: account.availability,\n photo: account.photo,\n }),\n );\n\n // Privacy disclaimer for internal Microsoft users\n if (account.username.split('@')[1] === 'microsoft.com') {\n dispatch(\n addAlert({\n message:\n 'By using this application, you agree to protect sensitive data, not store it in chat, and allow chat history collection for service improvements. This tool is for internal use only.',\n type: AlertType.Info,\n }),\n );\n }\n\n setAppState(AppState.LoadingChats);\n }\n }\n\n if ((isAuthenticated || !AuthHelper.isAuthAAD()) && appState === AppState.LoadingChats) {\n void Promise.all([\n // Load all chats from memory\n chat\n .loadChats()\n .then(() => {\n setAppState(AppState.Chat);\n })\n .catch(() => {\n setAppState(AppState.ErrorLoadingChats);\n }),\n\n // Check if content safety is enabled\n file.getContentSafetyStatus(),\n\n // Load service information\n chat.getServiceInfo().then((serviceInfo) => {\n if (serviceInfo) {\n dispatch(setServiceInfo(serviceInfo));\n }\n }),\n ]);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [instance, inProgress, isAuthenticated, appState, isMaintenance]);\n\n const content = ;\n return (\n \n \n {AuthHelper.isAuthAAD() ? (\n <>\n \n
\n
\n UT Verse Chat\n
\n {appState === AppState.SigningOut && }\n {appState !== AppState.SigningOut && }\n
\n
\n {content}\n \n ) : (\n content\n )}\n \n
\n );\n};\n\nconst Chat = ({\n classes,\n appState,\n setAppState,\n}: {\n classes: ReturnType;\n appState: AppState;\n setAppState: (state: AppState) => void;\n}) => {\n const onBackendFound = React.useCallback(() => {\n setAppState(\n AuthHelper.isAuthAAD()\n ? // if AAD is enabled, we need to set the active account before loading chats\n AppState.SettingUserInfo\n : // otherwise, we can load chats immediately\n AppState.LoadingChats,\n );\n }, [setAppState]);\n return (\n \n
\n
\n UT Verse Chat\n {appState > AppState.SettingUserInfo && (\n
\n
\n {\n setAppState(AppState.SigningOut);\n }}\n />\n
\n
\n )}\n
\n {appState === AppState.ProbeForBackend && }\n {appState === AppState.SettingUserInfo && (\n \n )}\n {appState === AppState.ErrorLoadingUserInfo && (\n \n )}\n {appState === AppState.ErrorLoadingChats && (\n \n )}\n {appState === AppState.LoadingChats && }\n {appState === AppState.Chat && }\n
\n
\n );\n};\n\nexport default App;\n","import { PublicClientApplication } from '@azure/msal-browser';\nimport { MsalProvider } from '@azure/msal-react';\nimport ReactDOM from 'react-dom/client';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport App from './App';\nimport { Constants } from './Constants';\nimport './index.css';\nimport { AuthConfig, AuthHelper } from './libs/auth/AuthHelper';\nimport { store } from './redux/app/store';\n\nimport React from 'react';\nimport { BackendServiceUrl } from './libs/services/BaseService';\nimport { setAuthConfig } from './redux/features/app/appSlice';\n\nif (!localStorage.getItem('debug')) {\n localStorage.setItem('debug', `${Constants.debug.root}:*`);\n}\n\nlet container: HTMLElement | null = null;\nlet root: ReactDOM.Root | undefined = undefined;\nlet msalInstance: PublicClientApplication | undefined;\n\ndocument.addEventListener('DOMContentLoaded', () => {\n if (!container) {\n container = document.getElementById('root');\n if (!container) {\n throw new Error('Could not find root element');\n }\n root = ReactDOM.createRoot(container);\n\n renderApp();\n }\n});\n\nexport function renderApp() {\n fetch(new URL('authConfig', BackendServiceUrl))\n .then((response) =>\n response.ok ? (response.json() as Promise) : Promise.reject(new Error('Response not OK')),\n )\n .then((authConfig) => {\n store.dispatch(setAuthConfig(authConfig));\n\n if (AuthHelper.isAuthAAD()) {\n if (!msalInstance) {\n msalInstance = new PublicClientApplication(AuthHelper.getMsalConfig(authConfig));\n void msalInstance.handleRedirectPromise().then((response) => {\n if (response) {\n msalInstance?.setActiveAccount(response.account);\n }\n });\n }\n\n // render with the MsalProvider if AAD is enabled\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n root!.render(\n \n \n \n \n \n \n ,\n );\n }\n })\n .catch(() => {\n store.dispatch(setAuthConfig(undefined));\n });\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n root!.render(\n \n \n \n \n ,\n );\n}\n"],"names":["core","require","StatusError","Error","constructor","res","_len","arguments","length","params","Array","_key","buffer","super","captureStackTrace","this","name","message","statusMessage","statusCode","status","json","bind","text","arrayBuffer","Object","defineProperty","get","headers","key","value","entries","toLowerCase","module","exports","mkrequest","statusCodes","method","encoding","baseurl","async","_url","body","_headers","undefined","parsed","URL","username","Authorization","btoa","password","protocol","host","pathname","search","concat","ArrayBuffer","isView","JSON","stringify","Headers","resp","fetch","has","encodings","Set","args","forEach","arg","toUpperCase","msg","startsWith","add","isArray","code","size","val","values","input","String","empty","index","indexOf","comma","lastIndex","end","slice","trim","push","space","s","m","h","d","w","y","plural","ms","msAbs","n","isPlural","Math","round","options","type","str","match","exec","parseFloat","parse","isFinite","long","abs","fmtLong","fmtShort","formatArgs","useColors","namespace","humanize","diff","c","color","splice","lastC","replace","save","namespaces","storage","setItem","removeItem","error","load","r","getItem","process","DEBUG","window","__nwjs","navigator","userAgent","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","localStorage","localstorage","destroy","warned","warn","colors","log","debug","formatters","j","v","env","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","enabled","self","curr","Number","Date","prev","coerce","unshift","format","formatter","call","apply","selectColor","extend","enumerable","configurable","set","init","delimiter","newDebug","toNamespace","regexp","toString","substring","default","stack","disable","names","map","skips","join","enable","i","split","len","test","keys","hash","charCodeAt","hasOwn","prototype","hasOwnProperty","toStr","gOPD","getOwnPropertyDescriptor","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","target","newValue","writable","getProperty","src","copy","copyIsArray","clone","deep","selector","defaultTagName","subvalue","previous","props","start","id","className","tagName","properties","children","find","normalize","parseSelector","spaces","commas","schema","caseSensitive","adjust","result","createAdjustMap","property","node","own","isNode","isChildren","addProperty","addChild","content","info","spaceSeparated","commaSeparated","commaOrSpaceSeparated","parsePrimitive","parsePrimitives","nodes","number","positiveNumber","isNaN","boolean","overloadedBoolean","html","factory","displayName","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","e","b","Symbol","for","f","g","k","l","p","q","t","x","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","TypeError","lineno","column","updatePosition","lines","lastIndexOf","position","line","Position","whitespace","source","errorsList","err","reason","filename","silent","re","comments","rules","comment","pos","charAt","declaration","prop","ret","decl","decls","declarations","character","alphabetical","decimal","__webpack_require__","definition","o","__webpack_exports__","katex_webpack","ParseError","token","rawMessage","loc","lexer","underlined","__proto__","src_ParseError","uppercase","ESCAPE_LOOKUP","ESCAPE_REGEX","getBaseElem","group","utils","contains","list","elem","deflt","setting","defaultIfUndefined","escape","hyphenate","isCharacterBox","baseElem","protocolFromUrl","url","SETTINGS_SCHEMA","displayMode","description","cli","output","enum","leqno","fleqn","throwOnError","cliDescription","errorColor","cliProcessor","macros","cliDefault","def","defs","minRuleThickness","processor","max","colorIsTextColor","strict","trust","maxSize","Infinity","maxExpand","globalGroup","getDefaultValue","defaultType","Settings","_proto","reportNonstrict","errorCode","errorMsg","useStrictBehavior","isTrusted","context","Boolean","Style","cramped","sup","styles","_sup","sub","_sub","fracNum","_fracNum","fracDen","_fracDen","cramp","_cramp","_text","isTight","src_Style","DISPLAY","TEXT","SCRIPT","SCRIPTSCRIPT","scriptData","blocks","allBlocks","supportedCodepoint","codepoint","hLinePad","path","doubleleftarrow","doublerightarrow","leftarrow","leftbrace","leftbraceunder","leftgroup","leftgroupunder","leftharpoon","leftharpoonplus","leftharpoondown","leftharpoondownplus","lefthook","leftlinesegment","leftmapsto","leftToFrom","longequal","midbrace","midbraceunder","oiintSize1","oiintSize2","oiiintSize1","oiiintSize2","rightarrow","rightbrace","rightbraceunder","rightgroup","rightgroupunder","rightharpoon","rightharpoonplus","rightharpoondown","rightharpoondownplus","righthook","rightlinesegment","rightToFrom","twoheadleftarrow","twoheadrightarrow","tilde1","tilde2","tilde3","tilde4","vec","widehat1","widehat2","widehat3","widehat4","widecheck1","widecheck2","widecheck3","widecheck4","baraboveleftarrow","rightarrowabovebar","baraboveshortleftharpoon","rightharpoonaboveshortbar","shortbaraboveleftharpoon","shortrightharpoonabovebar","DocumentFragment","classes","height","depth","maxFontSize","hasClass","toNode","frag","createDocumentFragment","appendChild","toMarkup","markup","toText","child","fontMetricsData","sigmasAndXis","slant","stretch","shrink","xHeight","quad","extraSpace","num1","num2","num3","denom1","denom2","sup1","sup2","sup3","sub1","sub2","supDrop","subDrop","delim1","delim2","axisHeight","defaultRuleThickness","bigOpSpacing1","bigOpSpacing2","bigOpSpacing3","bigOpSpacing4","bigOpSpacing5","sqrtRuleThickness","ptPerEm","doubleRuleSep","arrayRuleWidth","fboxsep","fboxrule","extraCharacterMap","getCharacterMetrics","font","mode","ch","metrics","italic","skew","width","fontMetricsBySizeIndex","sizeStyleMap","sizeMultipliers","sizeAtStyle","Options","data","textSize","phantom","fontFamily","fontWeight","fontShape","sizeMultiplier","_fontMetrics","BASESIZE","extension","havingStyle","havingCrampedStyle","havingSize","havingBaseStyle","wantSize","havingBaseSizing","withColor","withPhantom","withFont","withTextFontFamily","withTextFontWeight","withTextFontShape","sizingClasses","oldOptions","baseSizingClasses","fontMetrics","sizeIndex","cssEmPerMu","getGlobalMetrics","getColor","src_Options","ptPerUnit","relativeUnit","validUnit","unit","calculateSize","sizeValue","scale","unitOptions","min","makeEm","toFixed","createClass","filter","cls","initNode","attributes","_toNode","createElement","attr","setAttribute","_toMarkup","Span","attribute","Anchor","href","_proto2","Img","alt","_proto3","iCombinations","SymbolNode","script","_i","block","scriptFromCodepoint","_proto4","createTextNode","span","marginRight","needsSpan","escaped","SvgNode","_proto5","createElementNS","PathNode","pathName","alternate","_proto6","LineNode","_proto7","assertSymbolDomNode","ATOMS","NON_ATOMS","symbols","src_symbols","defineSymbol","acceptUnicodeChar","math","symbols_text","main","ams","accent","bin","symbols_close","inner","mathord","op","symbols_open","punct","rel","spacing","textord","ligatures","mathTextSymbols","textSymbols","_ch","letters","_i2","_ch2","wideChar","_i3","_ch3","fromCharCode","_i4","_ch4","extraLatin","_i5","_ch5","wideLatinLetterData","wideNumeralData","lookupSymbol","fontName","makeSymbol","symbolNode","lookup","canCombine","next","_style","sizeElementFromChildren","makeSpan","makeSvgSpan","makeFragment","fragment","retrieveTextFontName","baseFontName","fontMap","variant","svgData","buildCommon","mathsym","makeLineSpan","thickness","borderBottomWidth","makeAnchor","anchor","wrapFragment","makeVList","_getVListChildrenAndD","positionType","oldChildren","_depth","shift","currPos","bottom","positionData","firstChild","getVListChildrenAndDepth","pstrutSize","pstrut","realChildren","minPos","maxPos","_child","_elem","wrapperClasses","wrapperStyle","childWrap","top","marginLeft","rows","vlist","emptySpan","depthStrut","topStrut","vtable","makeOrd","isFont","fontOrFamily","wideFontName","wideFontClass","_wideCharacterFont","codePoint","floor","wideCharacterFont","fontClasses","fontData","fontClass","boldsymbol","parts","_fontName","_fontName3","_fontName2","makeGlue","measurement","rule","staticSvg","_svgData$value","svgNode","tryCombineChars","chars","thinspace","mediumspace","thickspace","spacings","mord","mop","mbin","mrel","minner","mopen","mclose","mpunct","tightSpacings","_functions","_htmlGroupBuilders","_mathmlGroupBuilders","defineFunction","_ref","handler","htmlBuilder","mathmlBuilder","numArgs","argTypes","allowedInArgument","allowedInText","allowedInMath","numOptionalArgs","infix","primitive","defineFunctionBuilders","_ref2","normalizeArgument","ordargument","buildHTML_makeSpan","binLeftCanceller","binRightCanceller","styleMap","DomEnum","buildExpression","expression","isRealGroup","surrounding","groups","buildGroup","glueOptions","dummyPrev","dummyNext","isRoot","traverseNonSpaceNodes","prevType","getTypeOfDomTree","callback","partialGroup","checkPartialGroup","nonspace","insertAfter","pop","getOutermostNode","side","makeNullDelimiter","moreClasses","baseOptions","groupNode","multiplier","buildHTMLUnbreakable","strut","verticalAlign","buildHTML","tree","tag","eqnNum","tagChild","nobreak","htmlNode","newDocumentFragment","MathNode","getAttribute","TextNode","mathMLTree","SpaceNode","makeText","makeRow","getVariant","buildMathML_buildExpression","isOrdgroup","buildMathML_buildGroup","lastGroup","_group","_lastGroup$children","_lastGroup$children2","_lastGroup$children3","lastChild","buildExpressionRow","buildMathML","texExpression","isDisplayMode","forMathmlOnly","wrapper","annotation","semantics","wrapperClass","optionsFromSettings","settings","displayWrap","stretchyCodePoint","widehat","widecheck","widetilde","utilde","overleftarrow","underleftarrow","xleftarrow","overrightarrow","underrightarrow","xrightarrow","underbrace","overbrace","overgroup","undergroup","overleftrightarrow","underleftrightarrow","xleftrightarrow","Overrightarrow","xRightarrow","overleftharpoon","xleftharpoonup","overrightharpoon","xrightharpoonup","xLeftarrow","xLeftrightarrow","xhookleftarrow","xhookrightarrow","xmapsto","xrightharpoondown","xleftharpoondown","xrightleftharpoons","xleftrightharpoons","xtwoheadleftarrow","xtwoheadrightarrow","xlongequal","xtofrom","xrightleftarrows","xrightequilibrium","xleftequilibrium","katexImagesData","overlinesegment","underlinesegment","stretchy","label","topPad","bottomPad","img","totalHeight","borderColor","_buildSvgSpan_","viewBoxWidth","viewBoxHeight","_height","numChars","base","imgIndex","minWidth","widthClasses","aligns","spans","paths","_minWidth","_viewBoxHeight","_height2","numSvgChildren","_path","_svgNode","_span","buildSvgSpan_","assertNodeType","assertSymbolNodeType","typedNode","checkSymbolNodeType","grp","supSubGroup","assertSpan","isShifty","baseChar","accentBody","accentBelow","clearance","isStretchy","accentFull","left","accentWrap","accentNode","NON_STRETCHY_ACCENT_REGEX","funcName","parser","innerGroup","kern","paddedNode","optArgs","below","lowerGroup","newOptions","upperGroup","arrowPrefix","arrowBody","arrowShift","upperShift","lowerShift","arrowNode","upperNode","lowerNode","_lowerNode","mclass_makeSpan","mclass_htmlBuilder","elements","mclass","mclass_mathmlBuilder","lspace","rspace","binrelClass","atom","family","_ref3","baseArg","shiftedArg","baseOp","limits","alwaysHandleSupSub","parentIsSupSub","symbol","suppressBaseShift","supsub","textShadow","cdArrowFunctionName","isStartOfArrow","cdArrow","arrowChar","labels","callFunction","bareArrow","arrowGroup","parent","color_htmlBuilder","color_mathmlBuilder","breakOnTokenText","gullet","parseExpression","future","parseSizeGroup","newLine","marginTop","globalMap","checkControlSequence","tok","letCommand","global","macro","noexpand","tokens","unexpandable","isExpandable","consumeSpaces","parseFunction","popToken","insert","delimiters","consumeArg","expandTokens","reverse","getRHS","_ref4","middle","pushToken","getMetrics","styleWrap","delim","toStyle","delimSizeMultiplier","centerSpan","makeLargeDelim","center","mathrmSize","makeGlyphSpan","sizeClass","makeInner","innerPath","lap","verts","doubleVerts","makeStackedDelim","heightTotal","repeat","svgLabel","topMetrics","topHeightTotal","repeatMetrics","repeatHeightTotal","bottomMetrics","bottomHeightTotal","middleHeightTotal","middleFactor","middleMetrics","minHeight","realHeightTotal","ceil","midHeight","pathStr","tallDelim","svg","innerHeight","_innerHeight","emPad","sqrtSvg","sqrtName","extraVinculum","sqrtMain","sqrtSize1","sqrtSize2","sqrtSize3","sqrtSize4","sqrtTall","sqrtPath","pathNode","stackLargeDelimiters","stackAlwaysDelimiters","stackNeverDelimiters","sizeToMaxHeight","stackNeverDelimiterSequence","stackAlwaysDelimiterSequence","stackLargeDelimiterSequence","delimTypeToFont","traverseSequence","sequence","heightDepth","makeCustomSizedDelim","delimType","makeSmallDelim","sqrtImage","advanceWidth","spanHeight","texHeight","ruleWidth","sizedDelim","customSizedDelim","leftRightDelim","delimiterExtend","maxDistFromAxis","delimiterSizes","checkDelimiter","symDelim","assertParsed","leftrightDepth","expect","right","rightColor","leftDelim","rightDelim","innerDepth","hadMiddle","isMiddle","colorOptions","leftNode","rightNode","middleDelim","textNode","middleNode","enclose_htmlBuilder","imgShift","isSingleChar","lineWeight","angleHeight","paddingLeft","ruleThickness","borderStyle","borderWidth","borderTopWidth","borderRightWidth","backgroundColor","enclose_mathmlBuilder","thk","_ref5","_environments","defineEnvironment","_macros","defineMacro","SourceLocation","range","first","second","Token","treatAsRelax","endToken","getHLines","hlineInfo","nxt","consume","validateAmsEnvironmentContext","envName","getAutoTag","parseArray","hskipBeforeAndAfter","addJot","cols","arraystretch","colSeparationType","autoTag","singleRow","emptySingleRow","maxNumCols","beginGroup","expandMacroAsText","row","rowGaps","hLinesBeforeRow","tags","beginRow","endRow","subparse","cell","endGroup","nextToken","dCellStyle","array_htmlBuilder","nr","nc","hlines","pt","arraycolsep","baselineskip","jot","arrayskip","arstrutHeight","arstrutDepth","setHLinePos","hlinesInGap","isDashed","inrow","outrow","elt","rowGap","gap","colSep","colDescrNum","offset","colDescriptions","tagSpans","some","rw","tagSpan","colDescr","firstSeparator","separator","lineType","borderRightStyle","margin","_shift","sepwidth","pregap","col","_shift2","align","postgap","dashes","vListElems","hline","lineShift","eqnNumCol","alignMap","array_mathmlBuilder","tbl","glue","menclose","columnLines","prevTypeWasAlign","iStart","iEnd","_cols","rowLines","alignedHandler","numMaths","separationType","isSplit","numCols","emptyGroup","arg0","isAligned","styling","curMaths","nde","ca","colAlign","payload","fill","parsedRows","endChar","rowNodes","labelNum","inLabel","wrappedArrow","parseCD","src_environments","nameGroup","_parser$parseArgument","parseArguments","_args","endNameToken","font_htmlBuilder","font_mathmlBuilder","fontAliases","func","adjustStyle","originalStyle","genfrac_htmlBuilder","nstyle","dstyle","numerm","numer","continued","hStrut","dStrut","ruleSpacing","numShift","denomShift","frac","delimSize","denomm","denom","hasBarLine","barSize","midShift","candidateClearance","genfrac_mathmlBuilder","isDisplay","withDelims","leftOp","rightOp","replaceWith","stylArray","delimFromValue","delimString","barNode","isBlank","styl","textOrd","_ref6","assert","horizBrace_htmlBuilder","braceBody","isOver","vSpan","command","formatUnsupportedCmd","trustContext","string","class","keyVal","mathml","sizeData","totalheight","mathFunction","muUnit","dimension","alignment","fix","outerMode","switchMode","close","chooseMathStyle","display","scriptscript","assembleSupSub","supGroup","subGroup","baseShift","finalGroup","subIsSingleCharacter","_bottom","spacer","noSuccessor","op_htmlBuilder","hasLimits","large","stash","oval","op_mathmlBuilder","operator","singleCharBigOps","fName","singleCharIntegrals","operatorname_htmlBuilder","childText","sizingGroup","isAllString","word","identifier","semisimple","amount","dy","sizeFuncs","smashHeight","smashDepth","tbArg","letter","smashedNode","theta","phi","lineClearance","minDelimiterHeight","_delimiter$sqrtImage","delimDepth","rootm","toShift","rootVList","rootVListWrap","styling_styleMap","newStyle","htmlBuilderDelegate","builderDelegate","supm","subm","minSupShift","valueBase","valueSup","valueSub","supShift","subShift","_newOptions","isOiint","maxWidth","psi","vlistElem","_vlistElem","isBrace","nodeType","_base2","_base","defaultVariant","cssSpace","regularSpace","ord","pad","padNode","textFontFamilies","textFontWeights","textFontShapes","optionsWithFont","makeVerb","star","src_functions","spaceRegexString","controlWordWhitespaceRegexString","combiningDiacriticalMarkString","combiningDiacriticalMarksEndRegex","tokenRegexString","Lexer","tokenRegex","catcodes","setCatcode","char","lex","nlIndex","Namespace","builtins","globalMacros","current","undefStack","undefs","undef","endGroups","src_macros","expandOnce","consumeArgs","digitToNumber","digit","newcommand","existsOK","nonexistsOK","exists","isDefined","argText","expandNextToken","dotsByToken","thedots","expandAfterFuture","spaceAfterDots","latexRaiseA","braketHelper","one","middleDouble","oldMiddle","oldMiddleDouble","midMacro","double","doubled","expanded","implicitCommands","MacroExpander","expansionCount","feed","newMode","pushTokens","_this$stack","scanArgument","isOptional","_this$consumeArg","_this$consumeArg2","delims","isDelimited","expandableOnly","topToken","expansion","_getExpansion","_tokens","expandMacro","oldStackLength","catcode","stripped","bodyLexer","unicodeSubRegEx","uSubsAndSups","freeze","unicodeAccents","unicodeSymbols","Parser","oldToken","breakOnInfix","endOfExpression","parseAtom","formLigatures","handleInfixNodes","overIndex","numerNode","denomNode","numerBody","denomBody","handleSupSubscript","symbolToken","parseGroup","textordArray","superscript","subscript","prime","primes","isSub","funcData","_this$parseArguments","totalArgs","argType","parseGroupOfType","optional","parseColorGroup","parseUrlGroup","parseArgumentGroup","parseStringGroup","modeName","argToken","parseRegexGroup","regex","firstToken","lastToken","groupEnd","parseSymbol","nucleus","src_parseTree","toParse","baseNode","textContent","renderToDomTree","compatMode","renderError","katexNode","mathMLNode","_htmlNode","buildTree","version","renderToString","__parse","__renderToDomTree","__renderToHTMLTree","buildHTMLTree","__setFontMetrics","__defineSymbol","__defineFunction","__defineMacro","__domTree","DataView","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","clear","entry","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","Map","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","Promise","setCacheAdd","setCacheHas","SetCache","__data__","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","Uint8Array","WeakMap","thisArg","array","iteratee","predicate","resIndex","baseIndexOf","comparator","baseTimes","isArguments","isBuffer","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","object","objValue","isObject","objectCreate","create","baseCreate","proto","arrayIncludes","arrayIncludesWith","arrayMap","baseUnary","cacheHas","includes","isCommon","valuesLength","outer","computed","valuesIndex","baseForOwn","baseEach","createBaseEach","isSymbol","collection","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","isStrict","baseFor","createBaseFor","castPath","toKey","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","toStringTag","baseFindIndex","baseIsNaN","strictIndexOf","last","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","other","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","isFunction","isMasked","toSource","reIsHostCtor","funcProto","Function","objectProto","funcToString","reIsNative","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","isPrototype","nativeKeys","nativeKeysIn","isProto","isArrayLike","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","assignMergeValue","baseMergeDeep","keysIn","safeGet","baseMerge","srcIndex","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","stacked","isTyped","baseGet","baseIteratee","baseMap","baseSortBy","compareMultiple","iteratees","orders","basePickBy","baseSet","overRest","setToString","assignValue","nested","constant","baseSetToString","comparer","sort","symbolProto","symbolToString","baseToString","trimmedEndIndex","reTrimStart","createSet","setToArray","seen","seenIndex","cache","stringToPath","baseSlice","strSymbols","chrSymbols","byteLength","root","freeExports","freeModule","Buffer","allocUnsafe","isDeep","cloneArrayBuffer","typedArray","byteOffset","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","isNew","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","eachFunc","iterable","noop","arraySome","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","mapToArray","symbolValueOf","valueOf","convert","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","flatten","freeGlobal","baseGetAllKeys","getSymbols","isKeyable","baseIsNative","getValue","getPrototype","overArg","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","propertyIsEnumerable","nativeGetSymbols","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","resolve","Ctor","ctorString","hasFunc","reHasUnicode","nativeCreate","spreadableSymbol","isConcatSpreadable","reIsUint","reIsDeepProp","reIsPlainProp","maskSrcKey","uid","IE_PROTO","assocIndexOf","getMapData","memoize","freeProcess","nodeUtil","types","binding","transform","nativeMax","otherArgs","freeSelf","shortOut","nativeNow","now","count","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","asciiToArray","hasUnicode","unicodeToArray","memoizeCapped","rePropName","reEscapeChar","quote","subString","reWhitespace","rsAstralRange","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","baseDifference","difference","baseFilter","arrayEach","castFunction","defaultValue","baseHasIn","hasPath","baseInvoke","invoke","baseIsArguments","stubFalse","baseKeys","objectCtorString","baseIsTypedArray","nodeIsTypedArray","arrayLikeKeys","baseKeysIn","resolver","memoized","Cache","merge","createAssigner","baseExtremum","baseLt","basePick","pick","flatRest","baseProperty","basePropertyDeep","baseOrderBy","sortBy","baseSum","toInteger","toNumber","INFINITY","toFinite","remainder","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","copyObject","castSlice","charsEndIndex","charsStartIndex","stringToArray","baseUniq","union","arrays","AgentConfig","__exportStar","fs","__importStar","LogLevel_js_1","Contracts_js_1","logLevelFilter","LogLevel","None","privLogPath","privEnableConsoleOutput","privLogLevelFilter","logPath","Contracts","throwIfNullOrUndefined","openSync","enableConsoleOutput","enableOutput","onEvent","event","eventType","writeFileSync","flag","Debug","Info","Warning","logFragments","eventTime","valueToLog","Exports_js_1","Exports_js_2","AudioStreamFormat_js_1","file","audioSourceId","privStreams","privHeaderEnd","privId","createNoDashGuid","privEvents","EventSource","privSource","Blob","privFilename","privAudioFormatPromise","readHeader","turnOn","AudioSourceErrorEvent","reject","AudioSourceInitializingEvent","AudioSourceReadyEvent","attach","audioNodeId","AudioStreamNodeAttachingEvent","stream","upload","AudioStreamNodeAttachedEvent","detach","readEnded","AudioStreamNodeDetachedEvent","turnOff","read","streamId","isClosed","AudioSourceOffEvent","events","deviceInfo","then","bitspersample","bitsPerSample","channelcount","channels","connectivity","Unknown","manufacturer","model","samplerate","samplesPerSec","File","header","headerResult","Deferred","processHeader","view","getWord","getUint8","formatSize","getInt32","channelCount","getUint16","sampleRate","getUint32","maxHeaderSize","AudioStreamFormat","getWaveFormatPCM","reader","FileReader","onload","readAsArrayBuffer","promise","onerror","AudioStreamNodeErrorEvent","ChunkedArrayBufferStream","avgBytesPerSec","chunk","processFile","buff","writeStreamChunk","isEnd","timeReceived","ev","fileBuffer","Events","instance","MicAudioSource","privRecorder","deviceId","mediaStream","privOutputChunkSize","AUDIOFORMAT","privMediaStream","privIsClosing","privInitializeDeferral","createAudioContext","typedError","nav","getUserMedia","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","mediaDevices","constraints","successCallback","errorCallback","catch","active","audio","video","privContext","state","resume","listen","destroyAudioContext","getMicrophoneLabel","Microphones","AudioWorkletSourceURLPropertyName","setWorkletUrl","defaultMicrophoneName","privMicrophoneLabel","microphoneDeviceId","getTracks","getSettings","deferred","enumerateDevices","devices","device","record","AudioStreamFormatImpl","getAudioContext","releaseMediaResources","hasClose","suspend","getDefaultInputFormat","Exports_1","stopInputOnRelease","privStopInputOnRelease","outputStream","waveStreamEncoder","RiffPcmEncoder","micInput","createMediaStreamSource","attachScriptProcessor","scriptNode","bufferSize","createScriptProcessor","audioSampleRate","onaudioprocess","inputFrame","inputBuffer","getChannelData","waveFrame","encode","connect","destination","privMediaResources","scriptProcessorNode","skipAudioWorklet","privSpeechProcessorScript","audioWorklet","blob","createObjectURL","addModule","workletNode","AudioWorkletNode","port","onmessage","disconnect","track","stop","ProxyInfo","proxyHostName","proxyPort","proxyUserName","proxyPassword","privProxyHostName","privProxyPort","privProxyUserName","privProxyPassword","fromParameters","parameters","PropertyId","SpeechServiceConnection_ProxyHostName","SpeechServiceConnection_ProxyPort","SpeechServiceConnection_ProxyUserName","SpeechServiceConnection_ProxyPassword","fromRecognizerConfig","config","HostName","Port","UserName","Password","audioSource","bytesPerSecond","privBuffers","privReplayOffset","privLastShrinkOffset","privBufferStartOffset","privBufferSerial","privBufferedBytes","privReplay","privLastChunkAcquiredTime","privAudioNode","privBytesPerSecond","offsetToSeek","bytesToSeek","retVal","BufferEntry","replay","shrinkBuffers","findTimeAtOffset","startOffset","endOffset","serial","RestConfigBase","requestOptions","privDefaultRequestOptions","configParams","privDefaultParams","restErrors","privRestErrors","Accept","ignoreCache","timeout","authInvalidSubscriptionKey","authInvalidSubscriptionRegion","invalidArgs","invalidCreateJoinConversationResponse","invalidParticipantRequest","permissionDeniedConnect","permissionDeniedConversation","permissionDeniedParticipant","permissionDeniedSend","permissionDeniedStart","apiVersion","authorization","clientAppId","contentTypeKey","correlationId","languageCode","nickname","profanity","requestId","roomId","sessionToken","subscriptionKey","subscriptionRegion","bent_1","__importDefault","RestRequestType","ArgumentNullError","privHeaders","privIgnoreCache","extractHeaderValue","headerKey","headerValue","headerMap","setHeaders","request","uri","queryParams","responseReceivedDeferral","requestCommand","handleRestResponse","ok","statusText","Post","postData","sendRequest","Delete","send","encodeURIComponent","WebsocketMessageAdapter_js_1","queryParameters","messageFormatter","proxyInfo","enableCompression","connectionId","privIsDisposed","privMessageFormatter","paramName","headerName","privUri","privConnectionMessageAdapter","WebsocketMessageAdapter","dispose","isDisposed","open","net","tls","agent_base_1","https_proxy_agent_1","ws_1","HeaderNames_js_1","privConnectionEvents","privConnectionId","privConnectionState","ConnectionState","privEnableCompression","HeaderNames","ConnectionId","privLastErrorReceived","Disconnected","privConnectionEstablishDeferral","privCertificateValidatedDeferral","Connecting","WebSocket","forceNpmWebSocket","_protocol","_protocol2","perMessageDeflate","agent","getAgent","toLocaleLowerCase","privWebsocketClient","binaryType","privReceivingMessageQueue","Queue","privDisconnectDeferral","privSendMessageQueue","processSendQueue","BackgroundEvent","ConnectionOpenResponse","ConnectionStartEvent","onopen","Connected","ConnectionEstablishedEvent","ConnectionErrorEvent","onclose","ConnectionClosedEvent","onClose","networkReceivedTime","toISOString","enqueueFromPromise","RawWebsocketMessage","MessageType","Binary","toConnectionMessage","connectionMessage","ConnectionMessageReceivedEvent","Text","messageSendStatusDeferral","messageSendDeferral","fromConnectionMessage","Message","sendStatusDeferral","dequeue","sendRawMessage","sendItem","ConnectionMessageSentEvent","isWebsocketOpen","closeReason","drainAndDispose","pendingSendItem","itemToSend","sendError","Agent","createConnection","GetProxyAgent","httpProxyOptions","requestOCSP","socketPromise","servername","baseAgent","socket","secureEndpoint","readyState","OPEN","modelImpl","intentName","toJsonString","iPrivConfig","AvatarSynthesisAdapter","SynthesisAdapterBase","authentication","connectionFactory","synthesizerConfig","avatarSynthesizer","avatarConfig","privAvatarSynthesizer","privSynthesizer","privAvatarConfig","setSynthesisContextSynthesisSection","privSynthesisContext","setSynthesisSection","setSpeechConfigSynthesisSection","_this$privAvatarConfi","_this$privAvatarConfi2","_this$privAvatarConfi3","_this$privAvatarConfi4","_this$privAvatarConfi5","_this$privAvatarConfi6","_this$privAvatarConfi7","_this$privAvatarConfi8","privSynthesizerConfig","synthesisVideoSection","bitrate","videoFormat","codec","crop","bottomRight","cropRange","topLeft","resolution","webrtcConfig","clientDescription","TalkingAvatarService_WebRTC_SDP","iceServers","talkingAvatar","background","customized","onAvatarEvent","metadata","avatarEventReceived","avatarEventArgs","AvatarEventArgs","Data","Offset","Name","IAuthentication_js_1","privAuthInfo","AuthInfo","AuthKey","authFetchEventId","fetchOnExpiry","CognitiveTokenAuthentication","fetchCallback","fetchOnExpiryCallback","privFetchCallback","privFetchOnExpiryCallback","privTokenPrefix","QueryParameterNames_js_1","getHostSuffix","region","setCommonUrlParams","endpoint","Speech_SegmentationSilenceTimeoutMs","QueryParameterNames","SegmentationSilenceTimeoutMs","SpeechServiceConnection_EnableAudioLogging","EnableAudioLogging","SpeechServiceConnection_EndSilenceTimeoutMs","EndSilenceTimeoutMs","SpeechServiceConnection_InitialSilenceTimeoutMs","InitialSilenceTimeoutMs","SpeechServiceResponse_PostProcessingOption","Postprocessing","SpeechServiceResponse_ProfanityOption","Profanity","SpeechServiceResponse_RequestWordLevelTimestamps","EnableWordLevelTimestamps","SpeechServiceResponse_StablePartialResultThreshold","StableIntermediateThreshold","parameterName","propertyId","setUrlParameter","serviceProperties","ServicePropertiesPropertyName","propId","ConversationServiceRecognizer","ServiceRecognizerBase","recognizerConfig","recognizer","handleSpeechPhraseMessage","handleSpeechPhrase","textBody","handleSpeechHypothesisMessage","handleSpeechHypothesis","processTypeSpecificMessages","handleRecognizedCallback","sessionId","handleRecognizingCallback","duration","processSpeechMessages","processed","cancelRecognition","cancellationReason","simple","SimpleSpeechPhrase","fromJSON","resultReason","EnumTranslation","implTranslateRecognitionResult","RecognitionStatus","resultProps","PropertyCollection","SpeechServiceResponse_JsonResult","simpleOffset","privRequestSession","currentTurnAudioOffset","onPhraseRecognized","Duration","ResultReason","Canceled","cancelReason","implTranslateCancelResult","cancellationErrorCode","implTranslateCancelErrorCode","cancelRecognitionLocal","implTranslateErrorDetails","isSpeechEnded","NoMatch","InitialSilenceTimeout","privRecognizerConfig","OutputFormatPropertyName","OutputFormat","Simple","SpeechRecognitionResult","DisplayText","Language","LanguageDetectionConfidence","SpeakerId","detailed","DetailedSpeechPhrase","totalOffset","offsetCorrectedJson","getJsonWithCorrectedOffsets","hypothesis","SpeechHypothesis","RecognizingSpeech","onHypothesis","Exports_js_3","ConnectionFactoryBase_js_1","Exports_js_4","ConversationTranscriberConnectionFactory","ConnectionFactoryBase","universalUri","authInfo","SpeechServiceConnection_Endpoint","SpeechServiceConnection_Region","hostSuffix","SpeechServiceConnection_Host","endpointId","SpeechServiceConnection_EndpointId","language","SpeechServiceConnection_RecoLanguage","CustomSpeechDeploymentId","autoDetectSourceLanguages","EnableLanguageId","setV2UrlParams","webSocketConnection","WebsocketConnection","WebsocketMessageFormatter","SpeechServiceConnection_Url","ConversationTranscriptionServiceRecognizer","conversationTranscriber","privConversationTranscriber","setSpeakerDiarizationJson","privEnableSpeakerId","phraseDetection","privSpeechContext","getSection","speakerDiarization","audioSessionId","privDiarizationSessionId","audioOffsetMs","setSection","ConversationTranscriptionResult","ConversationTranscriptionEventArgs","transcribing","Success","NBest","Display","transcribed","CancellationErrorCodePropertyName","CancellationErrorCode","canceled","cancelEvent","ConversationTranscriptionCanceledEventArgs","DialogConnectionFactory","applicationId","Conversation_ApplicationId","dialogType","Conversation_DialogType","requestTurnStatus","Conversation_Request_Bot_Status_Messages","Format","RequestBotStatusMessages","BotId","DialogServiceConfig","DialogTypes","CustomCommands","CustomCommandsAppId","resourceInfix","BotFramework","BaseUrl","standardizedHost","endsWith","ApiKey","DialogEvents_js_1","AudioOutputFormat_js_1","DialogServiceTurnStateManager_js_1","ActivityResponsePayload_js_1","SpeechConnectionMessage_Internal_js_1","DialogServiceAdapter","dialogServiceConnector","privDialogServiceConnector","receiveMessageOverride","receiveDialogMessageOverride","privTurnStateManager","DialogServiceTurnStateManager","recognizeOverride","recoMode","listenOnce","postConnectImplOverride","connection","dialogConnectImpl","configConnectionOverride","configConnection","disconnectOverride","privDisconnect","privDialogAudioSource","agentConfigSent","privLastResult","connectionEvents","connectionEvent","terminateMessageLoop","sendMessage","interactionGuid","createGuid","agentMessage","interactionId","messagePayload","agentMessageJson","fetchConnection","SpeechConnectionMessage","CancellationReason","NoError","messageType","speechPhrase","TooManyRequests","fireEventForResult","recognized","SpeechRecognitionEventArgs","recognizing","keyword","SpeechKeyword","Status","RecognizedKeyword","resultId","audioRequestId","turn","GetTurn","binaryBody","audioStream","write","endAudioStream","handleResponseMessage","defferal","isRecognizing","onStopRecognizing","SpeechRecognitionCanceledEventArgs","privSuccessCallback","recognitionMode","privErrorCallback","startNewRecognition","listenForServiceTelemetry","Speech_SessionId","conPromise","connectImpl","preAudioPromise","sendPreAudioMessages","audioNode","ReplayableAudioNode","onAudioSourceAttachCompleted","SpeechServiceConfig","Context","ConnectionFailure","sessionStartEventArgs","SessionEventArgs","privRecognizer","sessionStarted","sendAudio","RuntimeError","privConnectionLoop","startMessageLoop","communicationCustodian","loop","turnRequestId","StartTurn","onServiceTurnStartResponse","speechStartDetected","SpeechDetected","speechStartEventArgs","RecognitionEventArgs","speechStopDetected","onServiceRecognized","speechStopEventArgs","speechEndDetected","turnEndRequestId","CompleteTurn","sessionStopEventArgs","onServiceTurnEndResponse","isContinuousRecognition","sessionStopped","serviceEvents","ServiceEvent","sendSpeechServiceConfig","serialize","sendAgentConfig","addKeywordContextData","sendSpeechContext","sendAgentContext","sendWaveHeader","agentConfig","botInfo","commandsCulture","SendingAgentContextMessageEvent","agentConfigJson","guid","speechActivityTemplate","Conversation_Speech_Activity_Template","agentContext","channelData","agentContextJson","serviceResult","responseMessage","responsePayload","responseRequestId","activityPayload","ActivityPayloadResponse","conversationId","updateAgentConfig","pullAudioOutputStream","processActivityPayload","AudioOutputFormatImpl","fromSpeechSynthesisOutputFormatString","SpeechServiceConnection_SynthOutputFormat","activity","ActivityReceivedEventArgs","activityReceived","turnStatusReceived","TurnStatusReceivedEventArgs","keywordPropertyValue","keywordOffsetPropertyValue","keywordDurationPropertyValue","keywords","keywordOffsets","keywordDurations","keywordDefinitionArray","speechContext","clientDetectedKeywords","onReject","action","AudioOutputStream_js_1","manager","privRequestId","privIsCompleted","privAudioStream","privTurnManager","resetTurnEndTimeout","audioFormat","messageDataStreamType","MessageDataStreamType","TextToSpeechAudio","AudioOutputStream","createPullStream","getDefaultOutputFormat","complete","privTimeoutToken","clearTimeout","setTimeout","Error_js_1","DialogServiceTurnState_js_1","privTurnMap","InvalidOperationError","turnState","DialogServiceTurnState","delete","addPhrase","phrase","privPhrases","clearPhrases","addReferenceGrammar","grammar","privGrammars","clearGrammars","generateGrammarObject","retObj","ReferenceGrammars","retPhrases","Groups","Type","Items","recognitionStatus","expectEndOfDictation","RecognizedSpeech","EndOfDictation","BabbleTimeout","BadRequest","Forbidden","EndOfStream","ServiceError","BadRequestParameters","errorDetails","AvatarSynthesisAdapter_js_1","SpeechSynthesisAdapter_js_1","SpeechSynthesisAdapter","SpIDAuthKey","ContentType","Path","RequestId","RequestStreamId","RequestTimestamp","privHeaderName","privToken","IntentConnectionFactory","SpeechServiceConnection_IntentRegion","getSpeechRegionFromIntentRegion","intentRegion","IntentServiceRecognizer","privIntentRecognizer","privIntentDataSent","setIntents","addedIntents","umbrellaIntent","privAddedLmIntents","privUmbrellaIntent","speechHypothesis","IntentRecognitionResult","RecognizingIntent","IntentRecognitionEventArgs","sendEvent","privPendingIntentArgs","intentResponse","IntentResponse","topScoringIntent","intent","addedIntent","intentId","RecognizedIntent","LanguageUnderstandingServiceResponse_JsonResult","IntentRecognitionCanceledEventArgs","CustomVoiceDeploymentId","StableTranslation","TestHooks","CtsMeetingId","CtsDeviceId","CtsIsParticipant","EnableAvatar","SpeechRecognitionEvent","PlatformEvent","eventName","EventType","privSessionId","privAudioSourceId","privAudioNodeId","authFetchEventid","privAuthFetchEventid","RecognitionCompletionStatus","privAuthFetchEventId","serviceTag","privStatus","privError","privServiceTag","RecognitionMode","SpeechResultFormat","speechServiceConfig","privSpeechServiceConfig","privParameters","privMaxRetryCount","privLanguageIdMode","SpeechServiceConnection_LanguageIdMode","privRecognitionMode","privRecognitionActivityTimeout","Interactive","Recognition","recognitionActivityTimeout","languageIdMode","SpeechServiceConnection_AutoDetectSourceLanguages","recognitionEndpointVersion","SpeechServiceConnection_RecognitionEndpointVersion","sourceLanguageModels","models","modelsExist","customProperty","modelId","maxRetryCount","isSpeakerDiarizationEnabled","RecognitionEvents_js_1","ServiceTelemetryListener_Internal_js_1","privDetachables","privIsAudioNodeDetached","privIsRecognizing","privIsSpeechEnded","privTurnStartAudioOffset","privLastRecoOffset","privHypothesisReceived","privBytesSent","privRecognitionBytesSent","privRecogNumber","privInTurn","privConnectionAttempts","privTurnDeferral","turnCompletionPromise","recogNumber","numConnectionAttempts","bytesSent","recognitionBytesSent","eventSource","privServiceTelemetryListener","attachListener","ServiceTelemetryListener","RecognitionTriggeredEvent","isError","onComplete","ListeningStartedEvent","onPreConnectionStart","ConnectingToServiceEvent","onAuthCompleted","onConnectionEstablishCompleted","RecognitionStartedEvent","continuousRecognition","onSpeechContext","hypothesisReceived","phraseReceived","onAudioSent","onRetryConnection","detachable","getTelemetry","hasTelemetry","onSpeechEnded","detachAudioNode","privActivityResponse","privDetailedSpeechPhrase","baseOffset","firstWordOffset","Words","details","DisplayWords","PrimaryLanguage","Confidence","SynthesisStatus","privIntentResponse","query","entities","privSimpleSpeechPhrase","privSpeechStartDetected","privSpeechHypothesis","privSpeechKeyword","MetadataType","SynthesisAudioMetadata","privSynthesisAudioMetadata","Metadata","TranslationStatus_js_1","TranslationHypothesis","privTranslationHypothesis","Translation","TranslationStatus","fromTranslationResponse","translationHypothesis","_this$privTranslation","TranslationPhrase","privTranslationPhrase","translationResponse","SpeechPhrase","_this$privTranslation2","TranslationSynthesisEnd","privSynthesisEnd","FailureReason","TurnStatusResponsePayload","privMessageStatusResponse","privConnectionConfigurationPromise","privConnectionPromise","privSetTimeout","privIsLiveAudio","privAverageBytesPerMs","privExpectContentAssessmentResponse","recognizeSpeaker","sendPrePayloadJSONOverride","privMustReportEndOfStream","privAuthentication","privConnectionFactory","privAudioSource","RequestSession","privServiceEvents","privDynamicGrammar","DynamicGrammarBuilder","SpeechContext","privAgentConfig","WebWorkerLoadType","Worker","Timeout","connectionClosedEvent","setLanguageIdJson","setOutputDetailLevelJson","setTranslationJson","targetLanguages","SpeechServiceConnection_TranslationToLanguages","languages","translationVoice","SpeechServiceConnection_TranslationVoice","onSuccess","interimResults","languageToVoiceMap","lang","defaultVoices","setSpeechSegmentationTimeoutJson","speechSegmentationTimeout","Conversation","Dictation","segmentationSilenceTimeoutMs","segmentation","sourceLanguages","speechContextLidMode","Priority","onUnknown","resultType","phraseResults","customModels","onInterim","setWordLevelTimings","Detailed","setDetailedOutputFormat","dynamicGrammar","conversationTranslatorToken","ConversationTranslator_Token","voiceProfileType","SpeechServiceConnection_SpeakerIdMode","auth","recognize","errorCallBack","audioStreamNode","receiveMessage","stopRecognizing","sendFinalAudio","connectAsync","cb","sendNetworkMessage","contentType","activityTemplate","privActivityTemplate","expectContentAssessmentResponse","sendTelemetryData","telemetryData","telemetryDataEnabled","privServiceHasSentMessage","sendPrePayloadJSON","updateSpeakerDiarizationAudioOffset","setSpeakerDiarizationAudioOffsetMs","generateNewRequestId","speechContextJson","toJSON","noOp","retryableConnect","requestSession","SpeechServiceConfigJson","replacement","system","DisableReferenceChannel","MicSpec","configureConnection","nextSendTime","fastLaneSizeMs","maxSendUnthrottledBytes","startRecogNumber","readAndUploadCycle","audioStreamChunk","sendDelay","delay","isUnAuthorized","lastStatusCode","lastReason","authPromise","response","delayMs","writeBufferToConsole","out","readView","padStart","privListeningTriggerMetric","privMicMetric","privConnectionEstablishMetric","privReceivedMessages","privPhraseLatencies","privHypothesisLatencies","audioReceivedTime","End","Start","privMicStartTime","privConnectionStartTime","Id","ConnectionEstablishErrorEvent","getConnectionError","maxMessagesToSend","PhraseLatencyMs","FirstHypothesisLatencyMs","telemetry","Metrics","ReceivedMessages","SpeakerRecognitionConnectionFactoryBase","endpointPath","scenario","scenarioToPath","SpeechServiceConnection_Key","SpeakerServiceRecognizer","privSpeakerRecognizer","privSpeakerAudioSource","recognizeSpeakerOnce","SpeakerRecognitionResult","RecognizedSpeaker","privResultDeferral","privSpeakerModel","extractSpeakerContext","sendSpeakerRecognition","speakerContextJson","features","interimResult","progressiveDetection","profileIds","SpeechConnectionFactory","interactiveRelativeUri","conversationRelativeUri","dictationRelativeUri","ForceDictationPropertyName","ConnectionMessage","additionalHeaders","privPath","privContentType","privStreamId","privAdditionalHeaders","sectionName","setPronunciationAssessmentParams","contentAssessmentTopic","enrichment","pronunciationAssessment","phraseOutput","contentAssessment","topic","dgi","recognition","os","System","build","platform","SpeechServiceRecognizer","speechRecognizer","privSpeechRecognizer","speechSynthesizer","audioDestination","privSpeechSynthesizer","onSynthesisStarted","synthesisStartEventArgs","SpeechSynthesisEventArgs","SpeechSynthesisResult","SynthesizingAudioStarted","synthesisStarted","onSynthesizing","synthesizing","audioWithHeader","privSynthesisTurn","audioOutputFormat","addHeader","SynthesizingAudio","onSynthesisCancelled","SynthesisCanceled","onSynthesisCompleted","synthesisCompleted","onWordBoundary","wordBoundaryEventArgs","wordBoundary","onVisemeReceived","visemeEventArgs","visemeReceived","onBookmarkReached","bookmarkEventArgs","bookmarkReached","synthesisUri","hostPrefix","avatarEnabled","speakOverride","connectImplOverride","privSessionAudioDestination","SynthesisTurn","SynthesisContext","cancelSynthesisLocal","synthesisContext","privAudioOutputFormat","Speak","isSSML","ssml","buildSsml","startNewSynthesis","sendSynthesisContext","sendSsmlMessage","stopSpeaking","cancelSynthesis","_cancellationReason","isSynthesizing","onStopSynthesizing","_connectionMessage","onServiceResponseMessage","onAudioChunkReceived","metadataList","WordBoundary","SentenceBoundary","onTextBoundaryEvent","SpeechSynthesisWordBoundaryEventArgs","Length","currentTextOffset","currentSentenceOffset","BoundaryType","Bookmark","SpeechSynthesisBookmarkEventArgs","Viseme","onVisemeMetadataReceived","IsLastAnimation","SpeechSynthesisVisemeEventArgs","VisemeId","getAndClearVisemeAnimation","AvatarSignal","SessionEnd","onSessionEnd","constructSynthesisResult","synthesisContextJson","_metadata","_requestId","_audio","_result","_wordBoundaryEventArgs","_visemeEventArgs","_bookmarkEventArgs","synthesisSection","buildSynthesisContext","metadataOptions","bookmarkEnabled","punctuationBoundaryEnabled","SpeechServiceResponse_RequestPunctuationBoundary","sentenceBoundaryEnabled","SpeechServiceResponse_RequestSentenceBoundary","sessionEndEnabled","visemeEnabled","wordBoundaryEnabled","SpeechServiceResponse_RequestWordBoundary","outputFormat","requestAudioFormatString","autoDetection","autoDetectSourceLanguage","SpeechSynthesisEvent","sessionAudioDestinationId","turnAudioDestinationId","privSessionAudioDestinationId","privTurnAudioDestinationId","audioSessionDestinationId","audioTurnDestinationId","privRestAdapter","RestMessageAdapter","getVoicesList","Get","SynthesisAudioMetadata_js_1","SynthesisEvents_js_1","privIsSynthesizing","privIsSynthesisEnded","privBytesReceived","privTextOffset","privNextSearchTextIndex","privSentenceOffset","privNextSearchSentenceIndex","isSynthesisEnded","bytesReceived","audioDuration","privAudioDuration","extraProperties","privWebRTCSDP","getAllReceivedAudio","privReceivedAudio","readAllAudioFromStream","getAllReceivedAudioWithHeader","privReceivedAudioWithHeader","hasHeader","rawText","privRawText","privIsSSML","privAudioOutputStream","PullAudioOutputStreamImpl","privPartialVisemeAnimation","privTurnAudioDestination","SynthesisTriggeredEvent","ConnectingToSynthesisServiceEvent","SynthesisStartedEvent","responseJson","webrtc","connectionString","updateTextOffset","AnimationChunk","audioBuffer","SynthesizingAudioCompleted","animation","isXmlTag","withinXmlTag","idx","SynthesisServiceType","privSynthesisServiceType","Standard","synthesisServiceType","synthesis","TranscriberConnectionFactory","multiaudioRelativeUri","hostDefault","setQueryParams","endpointUrl","wordLevelTimings","TranscriptionServiceRecognizer","transcriber","privTranscriberRecognizer","sendTranscriptionStartJSON","sendSpeechEventAsync","sendSpeechEvent","createSpeechEventPayload","sendMeetingSpeechEventAsync","createMeetingSpeechEventPayload","IsMeetingRecognizer","MeetingTranscriptionCanceledEventArgs","getMeetingInfo","getConversationInfo","speechEventJson","eventDict","meeting","conversationProperties","attendees","participants","meetingProperties","RestConfigBase_js_1","ConversationConnectionConfig","privHost","privApiVersion","privClientAppId","defaultLanguageCode","privDefaultLanguageCode","restPath","privRestPath","webSocketPath","privWebSocketPath","transcriptionEventKeys","privTranscriptionEventKeys","ConversationConnectionConfig_js_1","ConversationWebsocketMessageFormatter_js_1","ConversationConnectionFactory","endpointHost","ConversationTranslator_Host","ConversationTranslator_CorrelationId","ConversationWebsocketMessageFormatter","ConversationConnectionMessage","privConversationMessageType","conversationMessageType","privRequestParams","privErrors","createOrJoin","conversationCode","ConversationTranslator_Name","authToken","SpeechServiceAuthorization_Token","throwIfNullOrWhitespace","errMessageRaw","errorMessage","conversation","leave","privRequestCompletionDeferral","completionPromise","ConversationConnectionMessage_js_1","ConversationRequestSession_js_1","ConversationTranslatorEventArgs_js_1","ConversationTranslatorInterfaces_js_1","ConversationServiceAdapter","conversationServiceConnector","privConnectionConfigPromise","privLastPartialUtteranceId","privConversationServiceConnector","privConversationAuthentication","receiveConversationMessageOverride","conversationConnectImpl","privConversationRequestSession","ConversationRequestSession","privConversationConnectionFactory","privConversationIsDisposed","sendMessageAsync","ConversationTranslationCanceledEventArgs","sendFinal","commandPayload","CommandResponsePayload","participantsPayload","ParticipantsListPayloadResponse","participantsResult","avatar","participantId","isHost","ishost","isMuted","ismuted","isUsingTts","usetts","preferredLanguage","locale","participantsListReceived","ParticipantsListEventArgs","roomid","translateTo","profanityFilter","roomProfanityFilter","roomLocked","muteAll","participantUpdateCommandReceived","ParticipantAttributeEventArgs","ConversationTranslatorCommandTypes","setTranslateToLanguages","setProfanityFiltering","setMute","muteAllCommandReceived","MuteAllEventArgs","conversationExpiration","ConversationExpirationEventArgs","setUseTTS","lockRoomCommandReceived","LockRoomEventArgs","changeNickname","joinParticipantPayload","ParticipantPayloadResponse","joiningParticipant","participantJoinCommandReceived","ParticipantEventArgs","leavingParticipant","participantLeaveCommandReceived","authorizationToken","onToken","speechPayload","SpeechResponsePayload","conversationResultReason","TranslatedParticipantSpeech","TranslatingParticipantSpeech","speechResult","ConversationTranslationResult","getTranslations","translations","isFinal","translationReceived","ConversationReceivedTranslationEventArgs","ConversationTranslatorMessageTypes","final","partial","textPayload","TextResponsePayload","textResult","originalText","instantMessage","messageRetrievalPromise","serviceResultTranslations","Translations","translation","StringUtils_js_1","ConversationTranslatorConnectionFactory","convGetter","privConvGetter","isVirtMicArrayEndpoint","convInfo","room","cognitiveSpeechRegion","replacementValues","CTS_VIRT_MIC_PATH","StringUtils","formatString","parsedUrl","searchParams","connFactory","TranslationConnectionFactory","getEndpointUrl","privIsMuted","isLocked","privIsLocked","participant","privParticipant","privKey","privValue","privParticipantId","isRoomLocked","isMuteAll","privRoomId","privSessionToken","privTranslateTo","privProfanityFilter","privRoomProfanityFilter","privIsRoomLocked","privParticipants","privIsMuteAll","privPayload","privCommand","meId","addOrUpdateParticipant","getParticipantIndex","getParticipant","findIndex","deleteParticipant","me","keepAlive","participantCommand","translatedMessage","disconnectSession","ejectParticipant","instant_message","joinSession","leaveSession","participantList","roomExpirationWarning","setLockState","setMuteAll","ConversationConnectionFactory_js_1","ConversationServiceAdapter_js_1","fromConfig","speechConfig","audioConfig","ConversationTranslatorRecognizer","Recognizer","serviceConfigImpl","throwIfNull","conversationImpl","privConversation","privProperties","privConnection","Connection","fromRecognizer","privClearTimeout","connected","disconnected","speechRecognitionLanguage","privSpeechRecognitionLanguage","throwIfDisposed","privReco","resetConversationTimeout","closeConnection","disposing","createRecognizerConfig","RecognizerConfig","createServiceRecognizer","PromiseToEmptyCallback","getKeepAlive","deferral","incomingMessage","binaryContent","ConversationManager_js_1","ConversationManager","ConversationTranslatorRecognizer_js_1","ConversationRecognizerFactory","TranscriberRecognizer_js_1","TranscriberRecognizer","InternalParticipants","privCommandResponse","parseCommandResponse","CommandResponsePayload_js_1","ParticipantResponsePayload_js_1","TranslationResponsePayload_js_1","privParticipantsPayloadResponse","parseListResponse","privParticipantPayloadResponse","parseParticipantResponse","privSpeechResponse","parseSpeechResponse","timestamp","privTextResponse","parseTextResponse","speechTranslationConfig","speechTranslationConfigImpl","audioConfigImpl","privDisposedRecognizer","isMeetingRecognizer","conversationInfo","privMeeting","meetingInfo","startContinuousRecognitionAsync","marshalPromiseToCallbacks","startContinuousRecognitionAsyncImpl","stopContinuousRecognitionAsync","stopContinuousRecognitionAsyncImpl","pushConversationEvent","reco","pushMeetingEvent","enforceAudioGating","connectMeetingCallbacks","disconnectCallbacks","implRecognizerStop","configImpl","returnRegionPlaceholder","from","to","SpeechServiceResponse_TranslationRequestStablePartialResult","voice","TranslationServiceRecognizer","translationRecognizer","privTranslationRecognizer","onConnection","handleTranslationPhrase","translatedPhrase","TranslationRecognitionResult","TranslationRecognitionEventArgs","handleTranslationHypothesis","resultProperties","sendSynthesisAudio","synthEnd","TranslationSynthesisResult","retEvent","TranslationSynthesisEventArgs","canceledResult","TranslationRecognitionCanceledEventArgs","fromSpeechRecognitionResult","confidence","TranslatedSpeech","TranslatingSpeech","VoiceServiceRecognizer","privDeferralMap","DeferralMap","SpeakerAudioSource","operation","handleCreateResponse","handleResultResponse","enrollmentResponse","handleFetchResponse","phraseResponse","handlePhrasesResponse","VoiceProfileEnrollmentResult","enrollmentReasonFrom","enrollment","enrollmentStatus","getId","createProfile","profileType","createProfileDeferral","sendCreateProfile","resetProfile","profile","sendCommonRequest","deleteProfile","retrieveEnrollmentResult","privExpectedProfileId","profileId","getAllProfiles","getActivationPhrases","getPhrasesDeferral","sendPhrasesRequest","enrollProfile","enrollmentDeferral","sendBaseRequest","scenarioFrom","profileCreateRequest","VoiceProfileType","TextIndependentIdentification","TextIndependentVerification","profileRequest","maxPageSize","VoiceProfilePhraseResult","passPhraseType","phrases","EnrollingVoiceProfile","profiles","successReason","DeletedVoiceProfile","ResetVoiceProfile","VoiceProfileResult","profileInfo","iProfiles","profileResults","EnrolledVoiceProfile","textMessage","headerBodySplit","parseHeaders","binaryMessage","dataView","headerLength","getInt16","headersString","getInt8","makeHeaders","headerBuffer","stringToArrayBuffer","headerInt8Array","Int8Array","payloadInt8Array","bodyInt8Array","headerMatches","separatorIndex","substr","setUint8","PlatformEvent_js_1","AudioSourceEvent","AudioStreamNodeEvent","Stream","targetChunkSize","privTargetChunkSize","privNextBufferReadyBytes","bytesCopiedFromBuffer","privNextBufferToWrite","privNextBufferStartTime","bytesToCopy","targetView","sourceView","jsonstring","privJsonResult","jsonString","ConnectionEvent","privReason","privStatusCode","privMessage","privType","statuscode","networkReceivedTimeISO","privNetworkReceivedTime","networkSentTimeISO","privNetworkSentTime","networkSentTime","Guid_js_1","privBody","privMessageType","privSize","privMap","DialogEvent","argumentName","ObjectDisposedError","objectName","privEventListeners","privConsoleListener","privMetadata","eventId","onEventCallback","listener","attachConsoleListener","EventSource_js_1","setEventSource","privInstance","uuid_1","v4","List","privSubscriptionIdCounter","privAddSubscriptions","privRemoveSubscriptions","privDisposedSubscriptions","privDisposeReason","privList","item","itemIndex","insertAt","triggerSubscriptions","removeFirst","removeAt","removeLast","remove","removedElements","onAdded","addedCallback","subscriptionId","onRemoved","removedCallback","onDisposed","disposedCallback","seperator","toArray","cloneCopy","any","where","all","select","selectList","filteredList","orderBy","compareFn","orderedArray","orderByDesc","concatArray","subscriptions","OCSPEvent","signature","privSignature","serialNumber","expireTime","privExpireTime","startTime","privStartTime","privExpireTimeString","toLocaleDateString","privStartTimeString","toLocaleTimeString","privName","privEventId","privEventTime","privEventType","PromiseState","PromiseResult","promiseResultEventSource","throwIfError","on","privIsError","privResult","isCompleted","PromiseResultEventSource","setResult","privOnSetResult","setError","privOnSetError","onSetResult","onSetError","privResolve","privReject","privPromise","privState","privPromiseResult","privPromiseResultEvents","privSuccessHandlers","privErrorHandlers","Resolved","executeSuccessCallback","detachHandlers","Rejected","errorHandler","executeErrorCallback","List_js_1","Promise_js_1","SubscriberType","privPromiseStore","privIsDrainInProgress","privIsDisposing","privSubscribers","drain","enqueue","throwIfDispose","deferredSubscriber","Dequeue","peek","Peek","pendingItemProcessor","subs","promiseArray","finally","lists","subscriber","dequeuedItem","ConnectionMessage_js_1","actualSampleRate","desiredSampleRate","privActualSampleRate","privDesiredSampleRate","actualAudioFrame","audioFrame","downSampleAudioFrame","audioLength","floatTo16BitPCM","setString","setInt16","srcFrame","srcRate","dstRate","ratio","dstLength","dstFrame","Float32Array","srcOffset","dstOffset","nextSrcOffset","accum","Queue_js_1","privIsWriteEnded","privIsReadEnded","privReaderQueue","isReadEnded","streamChunk","throwIfClosed","replacements","formatted","appendToFormatted","appendToKey","appendFunc","scheduledTimeoutFunctions","unhandledRequests","workerUrl","worker","addEventListener","isCallNotification","timerId","idOrFunc","unhandledTimerId","isClearResponse","random","postMessage","performance","loadWorkerTimers","workerTimers","timers","privActivity","AudioFileWriter_js_1","AudioInputStream_js_1","AudioConfig","fromDefaultMicrophoneInput","pcmRecorder","PcmRecorder","AudioConfigImpl","fromMicrophoneInput","fromWavFileInput","FileAudioSource","fromStreamInput","PullAudioInputStreamCallback","PullAudioInputStreamImpl","AudioInputStream","MediaStream","fromDefaultSpeakerOutput","AudioOutputConfigImpl","SpeakerAudioDestination","fromSpeakerOutput","player","fromAudioFileOutput","AudioFileWriter","fromStreamOutput","PushAudioOutputStreamCallback","PushAudioOutputStreamImpl","PushAudioOutputStream","PullAudioOutputStream","privDestination","privFd","throwIfNotUndefined","privAudioFormat","headerOffset","privWriteStream","createWriteStream","fd","autoClose","updateHeader","bytesWritten","writeSync","closeSync","createPushStream","PushAudioInputStream","PullAudioInputStream","PushAudioInputStreamImpl","privFormat","privStream","dataBuffer","toBuffer","buf","alloc","privCallback","privIsClosed","privBufferSize","transmitBuff","totalBytes","readBuff","pulledBytes","SpeechSynthesisOutputFormat_js_1","formatTag","blockAlign","audioFormatString","priAudioFormatString","priRequestAudioFormatString","priHasHeader","fromSpeechSynthesisOutputFormat","speechSynthesisOutputFormat","SpeechSynthesisOutputFormatToString","speechSynthesisOutputFormatString","AudioFormatTag","MuLaw","Siren","MP3","SILKSkype","PCM","OGG_OPUS","WEBM_OPUS","OPUS","FLAC","ALaw","privHeader","setUint32","tmp","SpeechSynthesisOutputFormat","Raw8Khz8BitMonoMULaw","Riff16Khz16KbpsMonoSiren","Audio16Khz16KbpsMonoSiren","Audio16Khz32KBitRateMonoMp3","Audio16Khz128KBitRateMonoMp3","Audio16Khz64KBitRateMonoMp3","Audio24Khz48KBitRateMonoMp3","Audio24Khz96KBitRateMonoMp3","Audio24Khz160KBitRateMonoMp3","Raw16Khz16BitMonoTrueSilk","Riff16Khz16BitMonoPcm","Riff8Khz16BitMonoPcm","Riff24Khz16BitMonoPcm","Riff8Khz8BitMonoMULaw","Raw16Khz16BitMonoPcm","Raw24Khz16BitMonoPcm","Raw8Khz16BitMonoPcm","Ogg16Khz16BitMonoOpus","Ogg24Khz16BitMonoOpus","Raw48Khz16BitMonoPcm","Riff48Khz16BitMonoPcm","Audio48Khz96KBitRateMonoMp3","Audio48Khz192KBitRateMonoMp3","Ogg48Khz16BitMonoOpus","Webm16Khz16BitMonoOpus","Webm24Khz16BitMonoOpus","Webm24Khz16Bit24KbpsMonoOpus","Raw24Khz16BitMonoTrueSilk","Raw8Khz8BitMonoALaw","Riff8Khz8BitMonoALaw","Audio16Khz16Bit32KbpsMonoOpus","Audio24Khz16Bit48KbpsMonoOpus","Audio24Khz16Bit24KbpsMonoOpus","Raw22050Hz16BitMonoPcm","Riff22050Hz16BitMonoPcm","Raw44100Hz16BitMonoPcm","Riff44100Hz16BitMonoPcm","intView","privLastChunkView","tmpBuffer","getWaveFormat","samplesPerSecond","isWavFormat","setUint16","AudioContext","webkitAudioContext","getSupportedConstraints","audioContext","gainNode","autoUpdateBufferTimer","playAudioSample","newAudioData","ensureInitializedContext","audioData","formatAudioData","newSamplesData","samples","stopAudio","clearInterval","timerPeriod","setInterval","updateAudioBuffer","createGain","gain","currentTime","formatArrayBuffer","Int16Array","Int32Array","maxValue","float32Data","bufferSource","createBufferSource","frameCount","createBuffer","channel","channelOffset","playAudio","decodeAudioData","newBuffer","AudioFormatToMimeType","audioDestinationId","privPlaybackStarted","privAppendingToBuffer","privMediaSourceOpened","privIsPaused","privAudioBuffer","updateSourceBuffer","privSourceBuffer","handleSourceBufferUpdateEnd","receivedAudio","audioBlob","privAudio","notifyPlayback","onAudioEnd","mimeType","MediaSource","isTypeSupported","Audio","privMediaSource","onsourceopen","addSourceBuffer","onupdate","onupdateend","onupdatestart","volume","_this$privAudio$volum","_this$privAudio","mute","muted","unmute","pause","play","internalAudio","sourceBufferAvailable","binary","appendBuffer","canEndStream","endOfStream","onAudioStart","onended","updating","LanguageIdMode_js_1","AutoDetectSourceLanguageConfig","LanguageIdMode","AtStart","fromOpenRange","AutoDetectSourceLanguagesOpenRangeOptionName","fromLanguages","throwIfArrayEmptyOrWhitespace","fromSourceLanguageConfigs","configs","autoConfig","langs","Continuous","AutoDetectSourceLanguageResult","languageDetectionConfidence","privLanguage","privLanguageDetectionConfidence","fromResult","fromConversationTranscriptionResult","privCustomized","AvatarVideoFormat","privBackgroundColor","AvatarEventTypes","audioOffset","privOffset","privDescription","SpeechSynthesisConnectionFactory_js_1","Synthesizer_js_1","AvatarSynthesizer","Synthesizer","SpeechSynthesisConnectionFactory","implCommonSynthesizeSetup","privAdapter","startAvatarAsync","peerConnection","privIceServers","getConfiguration","iceGatheringDone","onicegatheringstatechange","iceGatheringState","onicecandidate","candidate","sdp","createOffer","setLocalDescription","localDescription","speak","SynthesisResult","sdpAnswerString","atob","sdpAnswer","RTCSessionDescription","setRemoteDescription","speakTextAsync","speakSsmlAsync","stopSpeakingAsync","synthesisRequestQueue","stopAvatarAsync","privDisposed","createSynthesisAdapter","createRestSynthesisAdapter","_authentication","_synthesizerConfig","createSynthesizerConfig","deferredResult","SynthesisRequest","privSynthesizing","adapterSpeak","setCropRange","AvatarWebRTCConnectionResult","SDPAnswer","privSDPAnswer","DialogServiceConfig_js_1","BotFrameworkConfig","DialogServiceConfigImpl","fromSubscription","subscription","botId","botFrameworkConfig","fromAuthorizationToken","fromHost","resolvedHost","fromEndpoint","CancellationDetailsBase_js_1","CancellationDetails","CancellationDetailsBase","RecognitionResult","simpleSpeech","privErrorDetails","privErrorCode","ErrorCode","CancellationEventArgsBase","recoBase","internalData","privInternalData","setupEvents","fromSynthesizer","synthesizer","synthBase","openConnection","setMessageProperty","propertyName","propertyValue","success","privEventListener","ConnectionEventArgs","messageSent","ConnectionMessageEventArgs","ConnectionMessageImpl","messageReceived","privServiceEventListener","receivedServiceMessage","ServiceEventArgs","PropertyCollection_js_1","PropertyId_js_1","privConnectionMessage","isTextMessage","isBinaryMessage","TextMessage","param","throwIfNullOrTooLong","maxLength","throwIfNullOrTooShort","minLength","throwIfFileDoesNotExist","CancellationEventArgsBase_js_1","CustomCommandsConfig","customCommandsConfig","Diagnostics","SetLoggingLevel","logLevel","privListener","ConsoleLoggingListener","StartConsoleOutput","StopConsoleOutput","SetLogOutputPath","privSpeechConfig","SpeechConfigImpl","setProxy","setServiceProperty","DialogConnectorFactory_js_1","DialogServiceConnector","dialogConfig","dialogServiceConfigImpl","isTurnComplete","buildAgentConfig","listenOnceAsync","retPromise","callbackHolder","sendActivityAsync","errCb","commType","Conversation_Agent_Connection_Id","Conversation_Conversation_Id","fromId","Conversation_From_Id","ttsAudioFormat","AudioConfig_js_1","CancellationReason_js_1","PullAudioInputStreamCallback_js_1","PushAudioOutputStreamCallback_js_1","KeywordRecognitionModel_js_1","KeywordRecognitionModel","SessionEventArgs_js_1","RecognitionEventArgs_js_1","OutputFormat_js_1","IntentRecognitionEventArgs_js_1","RecognitionResult_js_1","SpeechRecognitionResult_js_1","IntentRecognitionResult_js_1","LanguageUnderstandingModel_js_1","LanguageUnderstandingModel","SpeechRecognitionEventArgs_js_1","MeetingTranscriptionEventArgs","SpeechRecognitionCanceledEventArgs_js_1","TranslationRecognitionEventArgs_js_1","TranslationSynthesisEventArgs_js_1","TranslationRecognitionResult_js_1","TranslationSynthesisResult_js_1","ResultReason_js_1","SpeechConfig_js_1","SpeechConfig","SpeechTranslationConfig_js_1","SpeechTranslationConfig","SpeechTranslationConfigImpl","Recognizer_js_1","SpeechRecognizer_js_1","SpeechRecognizer","IntentRecognizer_js_1","IntentRecognizer","VoiceProfileType_js_1","TranslationRecognizer_js_1","TranslationRecognizer","Translations_js_1","NoMatchReason_js_1","NoMatchReason","NoMatchDetails_js_1","NoMatchDetails","TranslationRecognitionCanceledEventArgs_js_1","IntentRecognitionCanceledEventArgs_js_1","CancellationDetails_js_1","CancellationErrorCodes_js_1","ConnectionEventArgs_js_1","ServiceEventArgs_js_1","Connection_js_1","PhraseListGrammar_js_1","PhraseListGrammar","BotFrameworkConfig_js_1","CustomCommandsConfig_js_1","DialogServiceConnector_js_1","ActivityReceivedEventArgs_js_1","TurnStatusReceivedEventArgs_js_1","ServicePropertyChannel_js_1","ServicePropertyChannel","ProfanityOption_js_1","ProfanityOption","BaseAudioPlayer_js_1","BaseAudioPlayer","ConnectionMessageEventArgs_js_1","VoiceProfile_js_1","VoiceProfile","VoiceProfileEnrollmentResult_js_1","VoiceProfileEnrollmentCancellationDetails","VoiceProfileResult_js_1","VoiceProfileCancellationDetails","VoiceProfilePhraseResult_js_1","VoiceProfileClient_js_1","VoiceProfileClient","SpeakerRecognizer_js_1","SpeakerRecognizer","SpeakerIdentificationModel_js_1","SpeakerIdentificationModel","SpeakerVerificationModel_js_1","SpeakerVerificationModel","AutoDetectSourceLanguageConfig_js_1","AutoDetectSourceLanguageResult_js_1","SourceLanguageConfig_js_1","SourceLanguageConfig","SpeakerRecognitionResult_js_1","SpeakerRecognitionResultType","SpeakerRecognitionCancellationDetails","ConversationParticipantsChangedEventArgs","ConversationTranslationEventArgs","ConversationTranslator","ConversationTranscriber","Meeting","MeetingTranscriber","Participant","ParticipantChangedReason","User","SpeechSynthesizer_js_1","SpeechSynthesizer","SynthesisResult_js_1","SpeechSynthesisResult_js_1","SpeechSynthesisEventArgs_js_1","SpeechSynthesisWordBoundaryEventArgs_js_1","SpeechSynthesisBookmarkEventArgs_js_1","SpeechSynthesisVisemeEventArgs_js_1","SpeechSynthesisBoundaryType_js_1","SpeechSynthesisBoundaryType","SynthesisVoicesResult_js_1","SynthesisVoicesResult","VoiceInfo_js_1","VoiceInfo","SpeakerAudioDestination_js_1","ConversationTranscriptionCanceledEventArgs_js_1","MeetingTranscriptionCanceledEventArgs_js_1","PronunciationAssessmentGradingSystem_js_1","PronunciationAssessmentGradingSystem","PronunciationAssessmentGranularity_js_1","PronunciationAssessmentGranularity","PronunciationAssessmentConfig_js_1","PronunciationAssessmentConfig","PronunciationAssessmentResult_js_1","PronunciationAssessmentResult","AvatarConfig_js_1","AvatarConfig","AvatarEventArgs_js_1","AvatarSynthesizer_js_1","AvatarVideoFormat_js_1","Coordinate","AvatarWebRTCConnectionResult_js_1","Diagnostics_js_1","privIntentId","privAddedIntents","privDisposedIntentRecognizer","recognizeOnceAsync","buildSpeechContext","Intent","recognizeOnceAsyncImpl","startKeywordRecognitionAsync","stopKeywordRecognitionAsync","addIntent","simplePhrase","addIntentWithLanguageModel","appId","AddedLmIntent","addAllIntents","errorCb","audioImpl","refGrammers","addedLmIntent","grammer","provider","fromFile","fileName","fromStream","hostname","langModelImp","LanguageUnderstandingModelImpl","firstDot","lastSegment","fromAppId","NotRecognized","InitialBabbleTimeout","recogBase","privGrammerBuilder","addPhrases","referenceText","gradingSystem","FivePoint","granularity","Phoneme","enableMiscue","PronunciationAssessment_ReferenceText","PronunciationAssessment_GradingSystem","PronunciationAssessment_Granularity","PronunciationAssessment_EnableMiscue","PronunciationAssessment_Json","updateJson","PronunciationAssessment_Params","applyTo","privContentAssessmentTopic","phonemeAlphabet","privPhonemeAlphabet","enableMiscueString","nbestPhonemeCount","privNBestPhonemeCount","enableProsodyAssessment","privEnableProsodyAssessment","enableContentAssessmentWithTopic","paramsJson","ContentAssessmentResult","detailResult","privPronJson","grammarScore","ContentAssessment","GrammarScore","vocabularyScore","VocabularyScore","topicScore","TopicScore","accuracyScore","_this$detailResult$Pr","PronunciationAssessment","AccuracyScore","pronunciationScore","_this$detailResult$Pr2","PronScore","completenessScore","_this$detailResult$Pr3","CompletenessScore","fluencyScore","_this$detailResult$Pr4","FluencyScore","prosodyScore","_this$detailResult$Pr5","ProsodyScore","contentAssessmentResult","privKeys","privValues","keyToUse","clonedMap","mergeTo","destinationCollection","privResultId","privText","privDuration","privJson","implCommonRecognizerSetup","telemetryEnabled","enableTelemetry","osPlatform","osName","osVersion","appVersion","OS","getAuthFromProperties","CognitiveSubscriptionKeyAuthentication","privEventName","privEndpointId","fromLanguage","privVoiceProfiles","privProfileIds","fromProfiles","voiceProfileIds","Identify","Verify","privProfileId","identificationResult","identifiedProfile","privScore","score","RecognizedSpeakers","verificationResult","recognitionResult","SpeakerRecognitionConnectionFactory","privAudioConfigImpl","privDisposedSpeakerRecognizer","recognizeSpeakerOnceAsyncImpl","privVoiceProfile","fromProfile","voiceProfile","TextDependentVerification","speechImpl","hostName","endPoint","currentProperties","setProfanity","enableAudioLogging","requestWordLevelTimestamps","enableDictation","speechSynthesisLanguage","SpeechServiceConnection_SynthLanguage","speechSynthesisVoiceName","SpeechServiceConnection_SynthVoice","speakerId","privSpeakerId","speechConfigImpl","FromConfig","autoDetectSourceLanguageConfig","privAudioOffset","privAudioData","visemeId","privVisemeId","privAnimation","wordLength","textOffset","boundaryType","privWordLength","privBoundaryType","speakImpl","getVoicesAsync","getVoices","SynthesisRestAdapter","IsSsml","dataStream","Locale","privSpeechProperties","addTargetLanguage","voiceName","VoicesListRetrieved","privVoices","voices","languageToDefaultVoice","XMLEncode","SynthesizerConfig","createConversationAsync","arg2","arg3","arg4","ConversationImpl","onConnected","privIsConnected","_this$privConversatio","privConversationTranslator","onDisconnected","_this$privConversatio2","onCanceled","_this$privConversatio3","onParticipantUpdateCommandReceived","updatedParticipant","translateToLanguages","participantsChanged","Updated","toParticipant","onLockRoomCommandReceived","onMuteAllCommandReceived","toParticipants","onParticipantJoinCommandReceived","newParticipant","JoinedConversation","onParticipantLeaveCommandReceived","ejectedParticipant","LeftConversation","onTranslationReceived","textMessageReceived","onParticipantsListReceived","privRoom","privIsReady","_this$privConversatio4","changeNicknameAsync","onConversationExpiration","privConversationId","privManager","Masked","hostNickname","privConfig","privTextMessageMaxLength","privConversationRecognizer","isMutedByHost","_this$privParticipant","_this$privParticipant2","isConnected","transcriberRecognizer","convId","part","canSend","_this$privParticipant3","canSendAsHost","_this$privParticipant4","conversationTranslator","handleError","handleCallback","startConversationAsync","addParticipantAsync","addParticipantImplAsync","joinConversationAsync","cognitiveSpeechAuthToken","deleteConversationAsync","deleteConversationImplAsync","endConversationAsync","endConversationImplAsync","lockConversationAsync","getLockCommand","muteAllParticipantsAsync","getMuteAllCommand","muteParticipantAsync","userId","getMuteCommand","removeParticipantAsync","removeParticipantImplAsync","getEjectCommand","unlockConversationAsync","unmuteAllParticipantsAsync","unmuteParticipantAsync","sendTextMessageAsync","getMessageCommand","setTranslatedLanguagesAsync","getSetTranslateToLanguagesCommand","getChangeNicknameCommand","connectTranscriberRecognizer","_this$privConversatio5","includeHost","privAudioConfig","expirationTime","privExpirationTime","startTranscribingAsync","stopTranscribingAsync","originalLanguage","privOrigLang","originalLang","ConversationTranslatorConnectionFactory_js_1","Conversation_js_1","SpeechState","ConversationTranslationRecognizer","translator","privSpeechState","Inactive","privTranslator","tr","_e$result","cancelSpeech","fireCancelEvent","newState","onCancelSpeech","_this$privReco","ConversationCommon","privIsSpeaking","privPlaceholderKey","privPlaceholderRegion","canSpeak","privCTRecognizer","param1","param2","param3","privSpeechTranslationConfig","propertyIdsToCopy","UriQueryParameter","leaveConversationAsync","connectTranslatorRecognizer","startContinuousRecognition","_this$privCTRecognize","ConversationCommon_js_1","ConversationExpirationEventArgs_js_1","ConversationParticipantsChangedEventArgs_js_1","ConversationTranslationCanceledEventArgs_js_1","ConversationTranslationEventArgs_js_1","ConversationTranslationResult_js_1","ConversationTranslator_js_1","ConversationTranscriber_js_1","IParticipant_js_1","ParticipantChangedReason_js_1","Meeting_js_1","MeetingImpl","MeetingTranscriber_js_1","ConversationTranscriptionResult_js_1","privUserId","privAvatar","privDisplayName","privIsHost","privIsUsingTts","privPreferredLanguage","privVoice","From","createMeetingAsync","meetingId","meetingImpl","startMeetingAsync","joinMeetingAsync","deleteMeetingAsync","deleteMeetingImplAsync","endMeetingAsync","endMeetingImplAsync","lockMeetingAsync","unlockMeetingAsync","leaveMeetingAsync","sessionid","privCancelReason","privTranslations","privDisposedTranslationRecognizer","removeTargetLanguage","updateLanguages","conn","TurnStatusPayload_js_1","turnStatus","privTurnStatus","SynthesisVoiceGender","SynthesisVoiceType","GENDER_LOOKUP","Neutral","Male","Female","privStyleList","privLocale","privShortName","ShortName","privLocaleName","LocaleName","DisplayName","privLocalName","LocalName","privVoiceType","VoiceType","OnlineStandard","OnlineNeural","privGender","Gender","StyleList","privSampleRateHertz","SampleRateHertz","ExtendedPropertyMap","privExtendedPropertyMap","privWordsPerMinute","WordsPerMinute","SecondaryLocaleList","privSecondaryLocaleList","RolePlayList","privRolePlayList","shortName","localName","localeName","gender","voiceType","styleList","sampleRateHertz","extendedPropertyMap","wordsPerMinute","secondaryLocaleList","rolePlayList","privProfileType","VoiceProfileConnectionFactory","privVoiceAdapter","privDisposedVoiceAdapter","createProfileAsync","retrieveEnrollmentResultAsync","getAllProfilesAsync","getActivationPhrasesAsync","enrollProfileAsync","deleteProfileAsync","resetProfileAsync","getResult","privDetails","enrollmentsCount","enrollmentsLength","enrollmentResultDetails","FromIdentificationProfileList","results","getIdentificationDetails","FromVerificationProfileList","getVerificationDetails","audioSpeechLength","enrollmentsSpeechLength","identificationProfileId","remainingEnrollmentsSpeechLength","verificationProfileId","remainingEnrollmentsCount","remainingEnrollments","phraseArray","el","characters","entity","innerHTML","legacy","invalid","hexadecimal","alphanumerical","decodeEntity","option","defaults","indent","entityCharacters","namedEntity","terminated","reference","following","warning","begin","additional","nonTerminated","handleText","handleReference","handleWarning","textContext","referenceContext","warningContext","queue","parseError","lineFeed","ampersand","tab","formFeed","lessThan","numberSign","uppercaseX","lowercaseX","hexa","deci","tests","semicolon","namedUnknown","namedNotTerminated","namedEmpty","equalsTo","numericNotTerminated","prohibited","bases","numericProhibited","replacementCharacter","numericDisallowed","disallowed","numericEmpty","flush","messages","installedModules","moduleId","modules","getter","__esModule","ns","printJS","Browser","isFirefox","InstallTrigger","isIE","documentMode","isEdge","StyleMedia","isChrome","chrome","isSafari","HTMLElement","isIOSChrome","addWrapper","htmlData","font_size","capitalizePrint","collectStyles","element","elementStyle","defaultView","getComputedStyle","targetStyles","targetStyle","targetStylesMatch","getPropertyValue","_typeof","printElement","headerContainer","isRawHTML","headerElement","headerNode","headerStyle","insertBefore","childNodes","cleanUp","showModal","_modal__WEBPACK_IMPORTED_MODULE_0__","onLoadingEnd","onLoadingStart","revokeObjectURL","printable","_browser__WEBPACK_IMPORTED_MODULE_1__","removeEventListener","onPrintDialogClose","iframe","getElementById","frameId","raw","cloneElement","cloneNode","childNodesArray","ignoreElements","clonedChild","scanStyles","_functions__WEBPACK_IMPORTED_MODULE_0__","getContext","drawImage","print","printFrame","printableElement","_print__WEBPACK_IMPORTED_MODULE_1__","_browser__WEBPACK_IMPORTED_MODULE_2__","imageStyle","fullyQualifiedSrc","imageWrapper","_browser__WEBPACK_IMPORTED_MODULE_0__","_modal__WEBPACK_IMPORTED_MODULE_1__","_pdf__WEBPACK_IMPORTED_MODULE_2__","_html__WEBPACK_IMPORTED_MODULE_3__","_raw_html__WEBPACK_IMPORTED_MODULE_4__","_image__WEBPACK_IMPORTED_MODULE_5__","_json__WEBPACK_IMPORTED_MODULE_6__","printTypes","fallbackPrintable","gridHeaderStyle","gridStyle","onError","onIncompatibleBrowser","modalMessage","documentTitle","repeatTableHeader","css","base64","onPdfOpen","honorMarginPadding","honorColor","encodeURI","show","usedFrame","parentNode","removeChild","srcdoc","focus","field","columnSize","stringData","jsonToHTML","Modal","printModal","contentDiv","closeButton","spinner","messageNode","getElementsByTagName","_print__WEBPACK_IMPORTED_MODULE_0__","_functions__WEBPACK_IMPORTED_MODULE_1__","createBlobAndPrint","localPdf","bytesArray","location","origin","req","XMLHttpRequest","responseType","Print","iframeElement","printDocument","contentWindow","contentDocument","head","images","promises","image","pollImage","naturalWidth","loadIframeImage","loadIframeImages","performPrint","execCommand","visibility","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","DefinedInfo","normal","valid","dash","camelcase","datasetToProperty","cap","kebab","datasetToAttribute","$0","xlink","xml","xmlns","aria","booleanish","_","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","caseInsensitiveTransform","acceptcharset","classname","htmlfor","httpequiv","mustUseProperty","abbr","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","as","autoCapitalize","autoComplete","autoFocus","autoPlay","capture","charSet","checked","cite","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","loading","low","manifest","media","multiple","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onContextMenu","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","pattern","ping","placeholder","playsInline","poster","preload","readOnly","referrerPolicy","required","reversed","rowSpan","sandbox","scope","scoped","seamless","selected","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","wrap","aLink","archive","axis","bgColor","border","bottomMargin","cellPadding","cellSpacing","charOff","classId","codeBase","codeType","compact","declare","face","frame","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","caseSensitiveTransform","Schema","defined","checks","checksLength","mask","check","mark","xtend","definitions","powers","increment","pow","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xmlLang","xmlBase","xmlSpace","xmlnsxlink","xmlnsXLink","aa","fa","ha","ia","ja","acceptsBooleans","attributeName","attributeNamespace","sanitizeURL","removeEmptyString","ka","la","xlinkHref","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","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","ma","na","oa","pa","qa","insertionMode","selectedValue","sa","ta","__html","va","wa","xa","ya","Children","ua","C","D","za","Ca","Da","Fa","generateStaticMarkup","B","assign","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","iterator","Xa","_context","_payload","_init","Ya","Za","E","F","_currentValue2","parentValue","$a","ab","bb","G","db","isMounted","enqueueSetState","_reactInternals","enqueueReplaceState","enqueueForceUpdate","eb","updater","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","fb","overflow","gb","H","clz32","ib","jb","LN2","lb","I","ob","J","K","L","M","N","O","P","Q","pb","memoizedState","qb","rb","sb","tb","dispatch","ub","vb","wb","R","xb","readContext","useContext","useMemo","useReducer","useRef","useState","useInsertionEffect","useLayoutEffect","useCallback","useImperativeHandle","useEffect","useDebugValue","useDeferredValue","useTransition","useId","treeContext","S","idPrefix","useMutableSource","_source","useSyncExternalStore","yb","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","zb","T","Bb","allPendingTasks","pendingRootTasks","pendingTasks","pingedTasks","Cb","blockedBoundary","blockedSegment","abortSet","legacyContext","U","parentFlushed","chunks","formatContext","boundary","lastPushedText","textEmbedded","V","W","onShellError","onFatalError","fatalError","Db","Eb","getChildContext","X","Fb","Gb","isReactComponent","fallback","rootSegmentID","forceClientRender","completedSegments","byteSize","fallbackAbortableTasks","errorDigest","Hb","responseState","Y","_defaultValue","ra","ref","Ib","done","Jb","Kb","Lb","clientRenderedBoundaries","onAllReady","completedRootSegment","onShellReady","completedBoundaries","partialBoundaries","Mb","Z","nextSegmentId","placeholderPrefix","Nb","nextSuspenseID","boundaryPrefix","progressiveChunkSize","Ob","segmentPrefix","Aa","Ba","Pb","Qb","startInlineScript","sentCompleteBoundaryFunction","sentCompleteSegmentFunction","bootstrapChunks","errorComponentStack","sentClientRenderFunction","ba","mb","da","nb","ea","Rb","abortableTasks","Sb","Tb","Ab","Ea","identifierPrefix","renderToNodeStream","renderToStaticMarkup","renderToStaticNodeStream","subarray","TextEncoder","hb","kb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","_currentValue","mc","oc","pc","qc","rc","sc","tc","uc","wc","xc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Oc","Nc","Pc","Qc","Tc","Uc","Sc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","gd","hd","jd","kd","ld","renderToReadableStream","Rc","bootstrapScriptContent","bootstrapScripts","bootstrapModules","namespaceURI","ReadableStream","pull","cancel","highWaterMark","allReady","signal","removeAttribute","setAttributeNS","prepareStackTrace","Reflect","construct","nodeName","_valueTracker","setValue","stopTracking","activeElement","defaultChecked","_wrapperState","initialChecked","initialValue","controlled","ownerDocument","defaultSelected","dangerouslySetInnerHTML","MSApp","execUnsafeLocalFunction","nodeValue","menuitem","area","br","embed","hr","keygen","meta","wbr","srcElement","correspondingUseElement","stateNode","return","flags","dehydrated","sibling","unstable_scheduleCallback","unstable_cancelCallback","unstable_shouldYield","unstable_requestPaint","unstable_now","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","unstable_UserBlockingPriority","unstable_NormalPriority","unstable_LowPriority","unstable_IdlePriority","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","yc","eventTimes","pointerId","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","priority","isDehydrated","containerInfo","dispatchEvent","ReactCurrentBatchConfig","transition","stopPropagation","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","td","ud","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","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","tel","time","week","ne","oe","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","of","pf","qf","rf","sf","passive","tf","uf","parentWindow","vf","wf","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","lane","dh","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","lh","mh","oh","shouldComponentUpdate","isPureReactComponent","ph","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","componentDidMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","gi","hi","ii","ji","ki","getSnapshot","li","mi","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","unstable_isNewReconciler","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","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","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Pj","onCommitFiberRoot","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","tl","usingClientEntryPoint","ul","findFiberByHostInstance","bundleType","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","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","jsxs","setState","forceUpdate","_status","only","PureComponent","createContext","_threadCount","Provider","Consumer","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","ctx","globalThis","restore","Prism","manual","disableWorkerMessageHandler","decode","clike","js","Refractor","refract","register","highlight","util","alias","registered","listLanguages","stringifyAll","hooks","run","attrs","refractor","abap","lookbehind","punctuation","aliases","abnf","coreRules","greedy","inside","terminal","repetition","actionscript","ada","variable","agda","function","antlr4","g4","apacheconf","refractorSql","apex","insertClassName","classNameInside","sql","trigger","apl","statement","assignment","dfn","applescript","aql","refractorCpp","arduino","builtin","ino","arff","asciidoc","quoted","interpreted","specifiers","admonition","callout","inline","bold","copyFromAsciiDoc","rest","adoc","asm6502","directive","asmatmel","refractorCsharp","aspnet","csharp","javascript","autohotkey","important","autoit","avisynth","allinternals","argument","avs","avroIdl","avdl","bash","envVars","commandAfterHeredoc","insideString","environment","shebang","toBeCopied","shell","basic","batch","parameter","bbcode","shortcode","bicep","interpolation","datatype","decorator","birb","refractorC","bison","bnf","rbnf","brainfuck","pointer","decrement","branching","brightscript","bro","bsl","oscript","cfscript","cfc","chaiscript","cpp","cil","clojure","cmake","inserted","cobol","level","coffeescript","coffee","concurnas","langext","conc","coq","commentSource","modName","generic","refractorRuby","crystal","ruby","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","nestedRound","genericName","typeExpressionWithoutTuple","tupleElement","tuple","typeExpression","typeInside","regularString","verbatimString","preprocessor","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolationRound","dotnet","cs","cshtml","commentLike","stringLike","square","curly","angle","tagAttrs","tagContent","tagRegion","razor","csp","none","cssExtras","selectorInside","combinator","hexcode","atrule","addInlined","addAttribute","csv","cypher","relationship","dart","packagePrefix","generics","dataweave","dax","measure","dhall","coord","PREFIXES","unchanged","refractorMarkupTemplating","django","markupTemplating","buildPlaceholders","tokenizePlaceholders","jinja2","dnsZoneFile","docker","spaceAfterBackSlash","stringRule","commentRule","instruction","dockerfile","dot","ID","IDInside","withID","gv","ebnf","special","editorconfig","section","eiffel","ejs","eta","elixir","doc","elm","hvariable","erb","erlang","refractorLua","etlua","lua","excelFormula","sheet","factor","comment_inside","string_inside","combinators","arrToWordsRegExp","$false","firestoreSecurityRules","flow","fortran","fsharp","ftl","FTL_EXPR","continuation","gcode","checksum","gdscript","gedcom","gherkin","tableRow","pystring","feature","outline","git","deleted","glsl","gml","gamemakerlanguage","gn","gni","goModule","go","graphql","markdown","scalar","validTokens","currentIndex","startToken","inputVariables","isTokenType","getToken","definitionEnd","findClosingBracket","addAlias","mutationEnd","varToken","stackHeight","groovy","haml","doctype","filters","all_filters","handlebars","brackets","hbs","haskell","hs","haxe","reification","hcl","heredoc","hlsl","hoon","hpkp","hsts","http","headerValueOf","httpLanguages","plain","suffixTypes","getSuffixPattern","suffix","ichigojam","icon","icuMessageFormat","stringPattern","argumentSource","nestedMessage","refractorHaskell","idris","idr","iecst","address","ignore","gitignore","hgignore","npmignore","inform7","substitution","verb","ini","io","adverb","conjunction","java","classNamePrefix","refractorJava","refractorJavadoclike","javadoc","codeLinePattern","memberReference","javadoclike","addSupport","javaDocLike","docLanguage","tokenName","docCommentSupport","hashbang","javastacktrace","exceptions","more","jexl","jolie","aggregates","redirects","jq","stringInterpolation","jsExtras","withId","imports","spread","arrow","dom","maybeClassNameTokens","jsTemplates","templateString","templateLiteralPattern","interpolationObject","interpolationPunctuationObject","interpolationPattern","createTemplate","getPlaceholder","counter","tokenizeWithHooks","tokenize","tokenizeInterpolationExpression","tempGrammar","tokenizeEmbedded","placeholderCounter","placeholderMap","embeddedTokens","interpolationExpression","placeholders","walkTokens","before","after","afterTokens","supportedLanguages","typescript","ts","tsx","stringContent","findTemplateStrings","embedded","refractorTypescript","jsdoc","parameterPrefix","example","null","webmanifest","refractorJson","json5","jsonp","jsstacktrace","braces","stringifyToken","openedTags","notTagNorBrace","openedBraces","plainText","julia","keepalived","ip","keyman","kotlin","interpolationInside","kt","kts","kumir","nonId","wrapId","prolog","kum","kusto","latex","funcPattern","insideEqu","cdata","equation","headline","tex","refractorPhp","latte","php","markupLatte","less","refractorScheme","lilypond","schemeExpression","ly","liquid","insideRaw","tagMatch","lisp","simple_form","marker","par","nestedPar","heading","interactive","defvar","defun","lambda","car","varform","forms","arglist","sublist","elisp","emacs","livescript","llvm","domain","uuid","lolcode","magma","generator","makefile","createInline","tableCell","tableLine","yaml","blockquote","strike","codeLang","codeBlock","tagPattern","fromCodePoint","known","KNOWN_ENTITY_NAMES","plugins","autoloader","loadLanguages","ele","amp","lt","gt","quot","defineProperties","placeholderPattern","replaceFilter","tokenStack","includedCdataInside","attrName","rss","matlab","maxscript","mel","mermaid","mizar","mongodb","operators","operatorsSource","monkey","moonscript","moon","n1ql","n4js","n4jsd","nand2tetrisHdl","naniscript","expressionDef","getTextContent","define","nani","bracket","bracketsIndex","isBracketsBalanced","nasm","neon","literal","nevod","fields","quantifier","colon","nginx","nim","nix","antiquotation","nsis","objectivec","objc","ocaml","opencl","openqasm","qasm","oz","parigp","pascal","asm","objectpascal","pascaligo","reduce","pcaxis","tlist","px","peoplecode","pcode","perl","filehandle","phpExtras","package","string_interpolation","phpdoc","plsql","powerquery","pq","mscript","powershell","processing","promql","vectorMatching","protobuf","builtinTypes","psl","pug","each","branch","mixin","filter_pattern","puppet","pure","inlineLanguageRe","purebasic","pbfasm","purescript","purs","python","py","qml","jsString","jsComment","jsExpr","qore","qsharp","qualifiedName","interpolationExpr","qs","ellipsis","racket","rkt","specialEscape","rangeChar","groupName","backreference","alternation","rego","renpy","rpy","rip","roboconf","wildcard","robotframework","createSection","extendecInside","docTag","testNameLike","testPropertyLike","documentation","variables","tasks","robot","percentExpression","symbolName","rust","multilineComment","sas","numericConstant","macroVariable","macroKeyword","equals","altformat","globalStatements","submitStatement","actionSets","casActions","datalines","sass","scala","SortedBNF","scss","refractorBash","shellSession","strings","user","smali","smalltalk","smarty","smartyPattern","smartyLiteralMode","sml","smlnj","solidity","sol","solutionFile","soy","numberPattern","soyLitteralMode","refractorTurtle","sparql","rq","splunkSpl","sqf","squirrel","stan","higherOrderFunctions","constraint","stylus","swift","nil","omit","systemd","quotesSource","refractorT4Templating","t4Cs","t4","createT4","t4Templating","createBlock","contentAlias","insideLang","standard","refractorVbnet","t4Vb","refractorYaml","tap","fail","pass","pragma","bailout","plan","subtest","yamlish","tcl","textile","modifierRegex","parenthesesRegex","withModifier","modifierTokens","modifier","footnote","acronym","phraseInside","nestedPatterns","phraseInlineInside","phraseTableInside","toml","insertKey","tremor","extractor","troy","trickle","refractorJsx","tt2","turtle","trig","twig","at","typoscript","tsconfig","unrealscript","category","uscript","uorazor","pair","authority","vala","refractorBasic","vbnet","velocity","unparsed","verilog","vhdl","vim","visualBasic","vba","warpscript","wasm","webIdl","wiki","emphasis","nowiki","wolfram","blank","mathematica","wren","xeora","xeoracube","xmlDoc","insertDocComment","docComment","slashDocComment","tickDocComment","xojo","xquery","anchorOrAlias","plainKey","createValuePattern","yml","yang","zig","IDENTIFIER","ALIGN","TYPE","_self","uniqueId","plainTextGrammar","objId","deepClone","visited","getLanguage","parentElement","setLanguage","classList","currentScript","scripts","isActive","defaultActivation","no","plaintext","txt","redef","newToken","old","DFS","propertyType","highlightAll","highlightAllUnder","container","highlightElement","insertHighlightedCode","highlightedCode","hasAttribute","evt","immediateClose","tokenList","LinkedList","addAfter","matchGrammar","callbacks","matchedStr","matchPattern","lookbehindLength","startNode","startPos","rematch","patterns","cause","patternObj","currentNode","reach","removeCount","matchStr","removeFrom","removeRange","nestedRematch","newNode","highlightAutomaticallyCallback","requestAnimationFrame","WorkerGlobalScope","sortIndex","setImmediate","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","whiteSpace","inline_style_parser_1","styleObject","hasIterator","inst","useSyncExternalStoreWithSelector","hasValue","_nil","_parse","_stringify","_v","_v2","_v3","_v4","_validate","_version","_interopRequireDefault","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","num","cnt","md5ff","md5gg","md5hh","md5ii","_default","bytes","unescape","length32","hexTab","hex","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","randomUUID","crypto","getRandomValues","rnds8","ROTL","unsafeStringify","byteToHex","_rng","_nodeId","_clockseq","_lastMSecs","_lastNSecs","clockseq","seedBytes","rng","msecs","nsecs","dt","tmh","_md","DNS","hashfunc","generateUUID","_namespace","stringToBytes","_native","rnds","_sha","_regex","classNames","appendClass","parseValue","newClass","__webpack_module_cache__","cachedModule","loaded","__webpack_modules__","leafPrototypes","getProto","nmd","PerformanceEvents","PerformanceEventStatus","IntFields","PersistentCacheKeys","AADAuthorityConstants","AADServerParamKeys","ClaimsRequestKeys","Constants","LIBRARY_NAME","SKU","CACHE_PREFIX","DEFAULT_AUTHORITY","DEFAULT_AUTHORITY_HOST","DEFAULT_COMMON_TENANT","ADFS","DSTS","AAD_INSTANCE_DISCOVERY_ENDPT","CIAM_AUTH_URL","AAD_TENANT_DOMAIN_SUFFIX","RESOURCE_DELIM","NO_ACCOUNT","CLAIMS","CONSUMER_UTID","OPENID_SCOPE","PROFILE_SCOPE","OFFLINE_ACCESS_SCOPE","EMAIL_SCOPE","CODE_RESPONSE_TYPE","CODE_GRANT_TYPE","RT_GRANT_TYPE","FRAGMENT_RESPONSE_MODE","S256_CODE_CHALLENGE_METHOD","URL_FORM_CONTENT_TYPE","AUTHORIZATION_PENDING","NOT_DEFINED","NOT_APPLICABLE","FORWARD_SLASH","IMDS_ENDPOINT","IMDS_VERSION","IMDS_TIMEOUT","AZURE_REGION_AUTO_DISCOVER_FLAG","REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX","REGIONAL_AUTH_NON_MSI_QUERY_STRING","KNOWN_PUBLIC_CLOUDS","TOKEN_RESPONSE_TYPE","ID_TOKEN_RESPONSE_TYPE","SHR_NONCE_VALIDITY","INVALID_INSTANCE","OIDC_DEFAULT_SCOPES","OIDC_SCOPES","__spreadArrays","SSOTypes","PromptValue","LOGIN","SELECT_ACCOUNT","CONSENT","NONE","CREATE","NO_SESSION","ResponseMode","GrantType","CacheAccountType","Separators","CredentialType","CacheType","CodeChallengeMethodValues","PLAIN","S256","AuthorityMetadataSource","APP_METADATA","THE_FAMILY_ID","AUTHORITY_METADATA_CONSTANTS","AuthenticationScheme","SERVER_TELEM_CONSTANTS","SCHEMA_VERSION","MAX_CUR_HEADER_BYTES","MAX_LAST_HEADER_BYTES","MAX_CACHED_ERRORS","CACHE_KEY","CATEGORY_SEPARATOR","VALUE_SEPARATOR","OVERFLOW_TRUE","OVERFLOW_FALSE","UNKNOWN_ERROR","PasswordGrantConstants","ResponseCodes","RegionDiscoverySources","RegionDiscoveryOutcomes","CacheOutcome","JsonTypes","ThrottlingConstants","Errors","NativeExtensionMethod","BrowserCacheLocation","HTTP_REQUEST_TYPE","TemporaryCacheKeys","StaticCacheKeys","InMemoryCacheKeys","ApiId","InteractionType","InteractionStatus","AuthErrorMessage","desc","AuthError","_super","suberror","_this","errorString","setPrototypeOf","subError","__extends","setCorrelationId","createUnexpectedError","errDesc","createPostRequestFailed","ServerError","InteractionRequiredServerErrorMessage","InteractionRequiredAuthSubErrorMessage","InteractionRequiredAuthErrorMessage","InteractionRequiredAuthError","traceId","claims","isInteractionRequiredError","isInteractionRequiredErrorCode","isInteractionRequiredSubError","isInteractionRequiredErrorDesc","irErrorCode","createNoTokensFoundError","createNativeAccountUnavailableError","BrowserConstants","NativeConstants","WrapperSKU","DEFAULT_REQUEST","scopes","KEY_FORMAT_JWK","CacheLookupPolicy","DB_NAME","DB_TABLE_NAME","CryptoKeyStoreNames","JoseHeaderErrorMessage","JoseHeaderError","createMissingKidError","createMissingAlgError","JoseHeader","typ","alg","kid","getShrHeaderString","shrHeaderOptions","shrHeader","Pop","MathUtils","decimalToHex","GuidGenerator","cryptoObj","generateGuid","guidHolder","guidResponse","isGuid","BrowserStringUtils","stringToUtf8Arr","sDOMStr","nChr","nArrLen","nStrLen","nMapIdx","aBytes","nIdx","nChrIdx","dataString","utf8ArrToString","sView","nPart","nLen","getSortedObjectString","Base64Encode","urlEncode","urlEncodeArr","inputArr","base64EncArr","inputUtf8Arr","eqLen","sB64Enc","nMod3","nUint24","uint6ToB64","nUint6","Base64Decode","encodedString","base64DecToArr","base64String","nBlockSize","nInLen","nOutLen","nMod4","nOutIdx","nInIdx","b64ToUint6","charNum","ClientAuthErrorMessage","ClientAuthError","createClientInfoDecodingError","caughtError","createClientInfoEmptyError","createTokenParsingError","caughtExtractionError","createTokenNullOrEmptyError","invalidRawTokenString","createEndpointDiscoveryIncompleteError","errDetail","createNetworkError","createUnableToGetOpenidConfigError","createHashNotDeserializedError","hashParamObj","createInvalidStateError","invalidState","createStateMismatchError","createStateNotFoundError","missingState","createNonceMismatchError","createAuthTimeNotFoundError","createMaxAgeTranspiredError","createNonceNotFoundError","missingNonce","createMultipleMatchingTokensInCacheError","createMultipleMatchingAccountsInCacheError","createMultipleMatchingAppMetadataInCacheError","createTokenRequestCannotBeMadeError","createAppendEmptyScopeToSetError","givenScope","createRemoveEmptyScopeFromSetError","createAppendScopeSetError","appendError","createEmptyInputScopeSetError","createDeviceCodeCancelledError","createDeviceCodeExpiredError","createDeviceCodeUnknownError","createNoAccountInSilentRequestError","createNullOrUndefinedCacheRecord","createInvalidCacheEnvironmentError","createNoAccountFoundError","createCachePluginError","createNoCryptoObjectError","operationName","createInvalidCacheTypeError","createUnexpectedAccountTypeError","createUnexpectedCredentialTypeError","createInvalidAssertionError","createInvalidCredentialError","createRefreshRequiredError","createUserTimeoutReachedError","createTokenClaimsRequiredError","createNoAuthCodeInServerResponseError","createBindingKeyNotRemovedError","createLogoutNotSupportedError","createKeyIdMissingError","createNoNetworkConnectivityError","createUserCanceledError","decodeAuthToken","isEmpty","matches","JWSPayload","JWSSig","isEmptyObj","strObj","queryStringToObject","decodeURIComponent","_a","trimArrayEntries","removeEmptyStringsFromArray","jsonParseHelper","BrowserAuthErrorMessage","BrowserAuthError","createPkceNotGeneratedError","createCryptoNotAvailableError","createHttpMethodNotImplementedError","createEmptyNavigationUriError","createEmptyHashError","hashValue","createHashDoesNotContainStateError","createHashDoesNotContainKnownPropertiesError","createUnableToParseStateError","createStateInteractionTypeMismatchError","createInteractionInProgressError","createPopupWindowError","createEmptyWindowCreatedError","createUserCancelledError","createMonitorPopupTimeoutError","createMonitorIframeTimeoutError","createRedirectInIframeError","windowParentCheck","createBlockReloadInHiddenIframeError","createBlockAcquireTokenInPopupsError","createIframeClosedPrematurelyError","createSilentLogoutUnsupportedError","createNoAccountError","createSilentPromptValueError","givenPrompt","createUnableToParseTokenRequestCacheError","createNoTokenRequestCacheError","createAuthRequestNotSetError","createNoCachedAuthorityError","createNonBrowserEnvironmentError","createDatabaseNotOpenError","createPostRequestFailedError","errorDesc","createGetRequestFailedError","createFailedToParseNetworkResponseError","createUnableToLoadTokenError","errorDetail","createSigningKeyNotFoundInStorageError","keyId","createAuthCodeRequiredError","createAuthCodeOrNativeAccountIdRequiredError","createSpaCodeAndNativeAccountIdPresentError","createDatabaseUnavailableError","createUnableToAcquireTokenFromNativePlatformError","createNativeHandshakeTimeoutError","createNativeExtensionNotInstalledError","createNativeConnectionNotEstablishedError","createNativeBrokerCalledBeforeInitialize","createNativePromptParameterNotSupportedError","PkceGenerator","base64Encode","generateCodes","codeVerifier","generateCodeVerifier","generateCodeChallengeFromVerifier","codeChallenge","sent","verifier","challenge","pkceCodeVerifier","sha256Digest","pkceHashedCodeVerifier","e_1","ModernBrowserCrypto","generateKey","algorithm","extractable","keyUsages","subtle","exportKey","importKey","keyData","sign","MsrBrowserCrypto","initPrng","entropy","msrCrypto","__spread","MsBrowserCrypto","msGenerateKey","msExportKey","resultBuffer","resultString","keyString","keyBuffer","msImportKey","msSign","digestOperation","BrowserConfigurationAuthErrorMessage","BrowserConfigurationAuthError","createRedirectUriEmptyError","createPostLogoutRedirectUriEmptyError","createStorageNotSupportedError","givenStorageLocation","createRedirectCallbacksNotSetError","createStubPcaInstanceCalledError","createInMemoryRedirectUnavailableError","createEntropyNotProvided","S256_HASH_ALG","PUBLIC_EXPONENT","BrowserCrypto","logger","cryptoOptions","hasBrowserCrypto","verbose","subtleCrypto","hasIECrypto","hasMsrCrypto","useMsrCrypto","_b","keygenAlgorithmOptions","modulusLength","publicExponent","generateKeyPair","usages","exportJwk","importJwk","DatabaseStorage","dbName","tableName","dbOpen","openDB","indexedDB","createObjectStore","validateDbIsOpen","dbGet","transaction","objectStore","dbPut","put","dbDelete","getKeys","dbGetKeys","containsKey","dbContainsKey","deleteDatabase","deleteDbRequest","MemoryStorage","cacheKeys","AsyncMemoryStorage","storeName","inMemoryCache","indexedDBCache","handleDatabaseAccessError","e_2","e_3","e_4","e_5","clearInMemory","clearPersistent","dbDeleted","e_6","CryptoKeyStore","asymmetricKeys","symmetricKeys","CryptoOps","performanceClient","cryptoConfig","browserCrypto","b64Encode","b64Decode","guidGenerator","pkceGenerator","createNewGuid","base64Decode","generatePkceCodes","getPublicKeyThumbprint","publicKeyThumbMeasurement","startMeasurement","CryptoOptsGetPublicKeyThumbprint","EXTRACTABLE","POP_KEY_USAGES","keyPair","publicKey","publicKeyJwk","pubKeyThumprintObj","kty","publicJwkString","hashString","publicJwkHash","privateKey","privateKeyJwk","unextractablePrivateKey","requestMethod","resourceRequestMethod","requestUri","resourceRequestUri","endMeasurement","removeTokenBindingKey","clearKeystore","signJwt","signJwtMeasurement","CryptoOptsSignJwt","cachedKeyPair","publicKeyJwkString","encodedKeyIdThumbprint","encodedShrHeader","cnf","jwk","encodedPayload","tokenString","tokenBuffer","signatureBuffer","encodedSignature","signedJwt","hashBuffer","hashBytes","AuthorityType","Logger","loggerOptions","packageName","packageVersion","setLoggerOptions","createDefaultLoggerOptions","localCallback","loggerCallback","piiLoggingEnabled","logMessage","containsPii","toUTCString","executeCallback","errorPii","warningPii","infoPii","Verbose","verbosePii","trace","Trace","tracePii","isPiiLoggingEnabled","PerformanceClient","clientId","libraryName","libraryVersion","applicationTelemetry","eventsByCorrelationId","queueMeasurements","preQueueTimeByCorrelationId","startPerformanceMeasurement","measureName","startPerformanceMeasuremeant","getIntFields","getPreQueueTime","preQueueEvent","calculateQueuedTime","preQueueTime","addQueueMeasurement","queueTime","manuallyCompleted","queueMeasurement","existingMeasurements","measurementArray","eventCorrelationId","generateId","performanceMeasurement","inProgressEvent","InProgress","startTimeMs","appName","cacheEventByCorrelationId","__assign","discardMeasurement","discardMeasurements","addStaticFields","counters","rootEvent","queueInfo","totalQueueTime","totalQueueCount","manuallyCompletedCount","getQueueInfo","discardCache","incompleteSubMeasurements","durationMs","flushMeasurement","finalEvent","incompleteSubsCount","subMeasurement","queuedTimeMs","queuedCount","queuedManuallyCompletedCount","Completed","truncateIntegralFields","emitEvents","queueMeasurementForCorrelationId","addPerformanceCallback","callbackId","removePerformanceCallback","intFields","StubPerformanceMeasurement","StubPerformanceClient","setPreQueueTime","DEFAULT_CRYPTO_IMPLEMENTATION","CredentialEntity","generateAccountId","generateAccountIdForCacheKey","homeAccountId","generateCredentialId","generateCredentialIdForCacheKey","credentialType","realm","familyId","generateTarget","generateTargetForCacheKey","generateCredentialKey","generateCredentialCacheKey","tokenType","requestedClaimsHash","generateType","ID_TOKEN","ACCESS_TOKEN","ACCESS_TOKEN_WITH_AUTH_SCHEME","REFRESH_TOKEN","generateClaimsHashForCacheKey","generateSchemeForCacheKey","CACHE_KEY_SEPARATOR","BEARER","IdTokenEntity","createIdTokenEntity","idToken","tenantId","idTokenEntity","isIdTokenEntity","ClientConfigurationErrorMessage","ClientConfigurationError","createClaimsRequestParsingError","claimsRequestParseError","createInsecureAuthorityUriError","urlString","createUrlParseError","urlParseError","createUrlEmptyError","createEmptyScopesArrayError","createClientIdSingleScopeError","inputScopes","createInvalidPromptError","promptValue","createInvalidClaimsRequestError","createEmptyLogoutRequestError","createEmptyTokenRequestError","createInvalidCodeChallengeMethodError","createInvalidCodeChallengeParamsError","createInvalidCloudDiscoveryMetadataError","createInvalidAuthorityMetadataError","createUntrustedAuthorityError","createInvalidAzureCloudInstanceError","createMissingSshJwkError","createMissingSshKidError","createMissingNonceAuthenticationHeadersError","createInvalidAuthenticationHeaderError","invalidHeaderName","createAuthorityMismatchError","ScopeSet","scopeArr","filteredInput","validateInputScopes","fromString","inputScopeString","createSearchScopes","scopeSet","containsOnlyOIDCScopes","removeScope","removeOIDCScopes","containsScope","lowerCaseScopesSet","printScopesLowerCase","containsScopeSet","asArray","every","defaultScopeCount","defaultScope","appendScope","newScope","appendScopes","newScopes","unionScopeSets","otherScopes","unionScopes","intersectingScopeSets","sizeOtherScopes","getScopeCount","sizeThisScopes","printScopes","buildClientInfo","rawClientInfo","decodedClientInfo","buildClientInfoFromHomeAccountId","clientInfoParts","CLIENT_INFO_SEPARATOR","utid","CcsCredentialType","AccountEntity","generateAccountKey","generateAccountCacheKey","localAccountId","authorityType","ADFS_ACCOUNT_TYPE","MSAV1_ACCOUNT_TYPE","MSA","MSSTS_ACCOUNT_TYPE","MSSTS","GENERIC_ACCOUNT_TYPE","GENERIC","getAccountInfo","idTokenClaims","nativeAccountId","accountInterface","createAccount","clientInfo","cloudGraphHostName","msGraphHost","account","getPreferredCache","tid","oid","_c","preferredUsername","_d","preferred_username","_e","emails","_f","createGenericAccount","Adfs","upn","generateHomeAccountId","serverClientInfo","authType","accountId","Dsts","isAccountEntity","accountInfoIsEqual","accountA","accountB","compareClaims","claimsMatch","accountAClaims","accountBClaims","iat","AuthToken","rawToken","extractTokenClaims","encodedToken","decodedToken","base64TokenPayload","base64Decoded","checkMaxAge","authTime","maxAge","CacheManager","cryptoImpl","commonLogger","getAllAccounts","allAccountKeys","getAccountKeys","accountEntities","accounts","getAccount","accountEntity","getAccountInfoFromEntity","getAccountInfoFilteredBy","accountFilter","allAccounts","getAccountsFilteredBy","accountInfo","getIdToken","saveCacheRecord","cacheRecord","setAccount","setIdTokenCredential","accessToken","saveAccessToken","refreshToken","setRefreshTokenCredential","appMetadata","setAppMetadata","credential","accessTokenFilter","tokenKeys","getTokenKeys","currentScopes","removedAccessTokens","accessTokenKeyMatchesFilter","tokenEntity","getAccessTokenCredential","credentialMatchesFilter","removeAccessToken","setAccessTokenCredential","matchingAccounts","cacheKey","isAccountKey","matchHomeAccountId","matchLocalAccountId","matchUsername","matchEnvironment","matchRealm","matchNativeAccountId","isCredentialKey","lowerCaseKey","clientIdValidation","familyIdValidation","matchClientId","userAssertionHash","matchUserAssertionHash","matchCredentialType","matchFamilyId","matchTarget","matchTokenType","SSH","matchKeyId","getAppMetadataFilteredBy","getAppMetadataFilteredByInternal","allCacheKeys","matchingAppMetadata","isAppMetadata","getAppMetadata","getAuthorityMetadataByAlias","getAuthorityMetadataKeys","matchedEntity","isAuthorityMetadata","getAuthorityMetadata","removeAllAccounts","removedAccounts","removeAccount","accountKey","removeAccountContext","allTokenKeys","removedCredentials","removeIdToken","removeRefreshToken","POP","removeAppMetadata","readCacheRecord","cachedAccount","readAccountFromCache","cachedIdToken","cachedAccessToken","getAccessToken","cachedRefreshToken","getRefreshToken","cachedAppMetadata","readAppMetadataFromCache","idTokenFilter","idTokens","getIdTokensByFilter","numIdTokens","idTokenKeys","idTokenKeyMatchesFilter","getIdTokenCredential","inputKey","authScheme","authenticationScheme","sshKid","accessTokenKeys","accessTokens","numAccessTokens","keyMustContainAllScopes","getAccessTokensByFilter","familyRT","refreshTokenFilter","refreshTokenKeys","refreshTokens","refreshTokenKeyMatchesFilter","getRefreshTokenCredential","appMetadataFilter","appMetadataEntries","numAppMetadata","isAppMetadataFOCI","cloudMetadata","generateAuthorityMetadataCacheKey","toObject","DefaultStorageClass","setServerTelemetry","getServerTelemetry","setAuthorityMetadata","setThrottlingCache","getThrottlingCache","updateCredentialCacheKey","TimeUtils","nowSeconds","getTime","isTokenExpired","expiresOn","expirationSec","wasClockTurnedBack","cachedAt","AccessTokenEntity","createAccessTokenEntity","extExpiresOn","cryptoUtils","refreshOn","requestedClaims","atEntity","extendedExpiresOn","tokenClaims","isAccessTokenEntity","RefreshTokenEntity","createRefreshTokenEntity","rtEntity","isRefreshTokenEntity","AppMetadataEntity","generateAppMetadataKey","generateAppMetadataCacheKey","createAppMetadataEntity","isAppMetadataEntity","ServerTelemetryEntity","failedRequests","errors","cacheHits","isServerTelemetryEntity","validateKey","validateEntity","AuthorityMetadataEntity","expiresAt","updateCloudDiscoveryMetadata","fromNetwork","preferred_cache","preferred_network","aliasesFromNetwork","updateEndpointMetadata","authorization_endpoint","token_endpoint","end_session_endpoint","issuer","endpointsFromNetwork","jwks_uri","updateCanonicalAuthority","canonical_authority","resetExpiresAt","isExpired","isAuthorityMetadataEntity","ThrottlingEntity","isThrottlingEntity","ProtocolUtils","setRequestState","userState","libraryState","generateLibraryState","stateObj","stateString","parseRequestState","splitState","libraryStateString","libraryStateObj","userRequestState","ProtocolMode","AzureCloudInstance","BrowserStorage","cacheLocation","validateWindowStorage","windowStorage","LocalStorage","SessionStorage","UrlString","_urlString","getHash","canonicalizeUri","lowerCaseUrl","validateAsUri","components","getUrlComponents","HostNameAndPort","PathSegments","Protocol","appendQueryString","queryString","removeHashFromUrl","replaceTenantPath","urlObject","pathArray","COMMON","ORGANIZATIONS","constructAuthorityUriFromObject","parseHash","regEx","urlComponents","AbsolutePath","QueryString","pathSegments","getDomainFromUrl","getAbsoluteUrl","relativeUrl","baseUrl","baseComponents","hashIndex1","hashIndex2","parseQueryString","queryIndex1","queryIndex2","getDeserializedHash","parsedHash","deserializedHash","getDeserializedQueryString","parsedQueryString","deserializedQueryString","hashContainsKnownProperties","error_description","BrowserProtocolUtils","extractBrowserRequestState","parseServerResponseFromHash","locationHash","hashUrlString","BrowserCacheManager","cacheConfig","COOKIE_LIFE_MULTIPLIER","internalStorage","browserStorage","setupBrowserStorage","temporaryCacheStorage","setupTemporaryCacheStorage","temporaryCacheLocation","cacheMigrationEnabled","migrateCacheEntries","createKeyMaps","idTokenKey","clientInfoKey","CLIENT_INFO","errorKey","ERROR","errorDescKey","ERROR_DESC","migrateCacheEntry","newKey","setTemporaryCache","accountKeys","ACCOUNT_KEYS","TOKEN_KEYS","credObj","validateAndParseJson","addTokenKey","accessTokenEntity","refreshTokenEntity","accountObj","addAccountKeyToMap","jsonValue","parsedJson","removeAccountKeyFromMap","parsedAccount","removalIndex","removeTokenKey","idRemoval","accessRemoval","refreshRemoval","parsedIdToken","accessTokenKey","parsedAccessToken","refreshTokenKey","parsedRefreshToken","appMetadataKey","parsedMetadata","serverTelemetryKey","serverTelemetry","setWrapperMetadata","wrapperSKU","wrapperVersion","WRAPPER_SKU","WRAPPER_VER","getWrapperMetadata","getActiveAccount","activeAccountKeyFilters","generateCacheKey","ACTIVE_ACCOUNT_FILTERS","activeAccountValueFilters","activeAccountKeyLocal","ACTIVE_ACCOUNT","activeAccountValueLocal","activeAccount","getAccountInfoByFilter","setActiveAccount","activeAccountValueObj","activeAccountKey","activeAccountValue","getAccountInfoByHints","loginHint","sid","accountSid","throttlingCacheKey","parsedThrottlingCache","throttlingCache","getTemporaryCache","storeAuthStateInCookie","itemCookie","getItemCookie","setItemCookie","clearItemCookie","clearTokensAndKeysWithClaims","cookieName","cookieValue","expires","cookieStr","getCookieExpirationTime","secureCookies","cookie","cookieList","clearMsalCookies","cookiePrefix","cookieKey","cookieLifeDays","today","getCache","setCache","ADAL_ID_TOKEN","generateAuthorityKey","stateId","AUTHORITY","generateNonceKey","NONCE_IDTOKEN","generateStateKey","REQUEST_STATE","getCachedAuthority","cachedState","stateCacheKey","authorityCacheKey","updateCacheEntries","authorityInstance","nonceCacheKey","ccsCredential","HOME_ACCOUNT_ID","CCS_CREDENTIAL","UPN","resetRequestCache","REQUEST_PARAMS","ORIGIN_URI","URL_HASH","CORRELATION_ID","NATIVE_REQUEST","setInteractionInProgress","cleanRequestByState","stateKey","cleanRequestByInteractionType","interactionType","stateValue","parsedState","cacheCodeRequest","authCodeRequest","encodedValue","getCachedRequest","encodedTokenRequest","parsedRequest","cachedAuthority","getCachedNativeRequest","cachedRequest","isInteractionInProgress","getInteractionInProgress","INTERACTION_STATUS_KEY","inProgress","getLegacyLoginHint","adalIdTokenString","msalIdTokenString","cachedIdTokenString","IdToken","currentCacheKey","updatedCacheKey","cacheItem","getRedirectRequestContext","REDIRECT_CONTEXT","setRedirectRequestContext","DEFAULT_SYSTEM_OPTIONS","tokenRenewalOffsetSeconds","preventCorsPreflight","DEFAULT_LOGGER_IMPLEMENTATION","DEFAULT_CACHE_OPTIONS","claimsBasedCachingEnabled","DEFAULT_NETWORK_IMPLEMENTATION","sendGetRequestAsync","sendPostRequestAsync","DEFAULT_LIBRARY_INFO","sku","cpu","DEFAULT_CLIENT_CREDENTIALS","clientSecret","clientAssertion","DEFAULT_AZURE_CLOUD_OPTIONS","azureCloudInstance","tenant","DEFAULT_TELEMETRY_OPTIONS","application","StubbedNetworkModule","FetchClient","GET","getFetchHeaders","onLine","getHeaderDict","reqBody","POST","optionsHeaders","append","headerDict","XhrClient","sendRequestAsync","xhr","setXhrHeaders","jsonResponse","responseText","networkResponse","headers_1","setRequestHeader","headerArr","getAllResponseHeaders","headerVal","BrowserUtils","clearHash","history","replaceState","replaceHash","urlParts","isInIframe","isInPopup","opener","getCurrentUri","getHomepage","getBrowserNetworkClient","blockReloadInHiddenIframes","blockRedirectInIframe","allowRedirectInIframe","isIframedApp","Redirect","blockAcquireTokenInPopups","blockNonBrowserEnvironment","isBrowserEnvironment","blockNativeBrokerCalledBeforeInitialized","allowNativeBroker","initialized","detectIEOrEdge","msie","msie11","msedge","NavigationClient","navigateInternal","defaultNavigateWindow","navigateExternal","noHistory","DEFAULT_IFRAME_TIMEOUT_MS","KeyLocation","EventHandler","eventCallbacks","listeningToStorageEvents","handleAccountCacheChange","addEventCallback","removeEventCallback","enableAccountStorageEvents","disableAccountStorageEvents","emitEvent","message_1","cacheValue","oldValue","parsedValue","ACCOUNT_ADDED","ACCOUNT_REMOVED","ThrottlingUtils","generateThrottlingStorageKey","thumbprint","preProcess","cacheManager","throttleTime","errorCodes","postProcess","checkResponseStatus","checkResponseForRetryAfter","thumbprintValue","calculateThrottleTime","RETRY_AFTER","error_codes","currentSeconds","removeThrottle","homeAccountIdentifier","shrClaims","NetworkManager","networkClient","sendPostRequest","tokenEndpoint","RequestValidator","validateRedirectUri","redirectUri","validatePrompt","promptValues","validateClaims","validateCodeChallengeParams","codeChallengeMethod","validateCodeChallengeMethod","sanitizeEQParams","eQParams","fromEntries","RequestParameterBuilder","addResponseTypeCode","RESPONSE_TYPE","addResponseTypeForTokenAndIdToken","addResponseMode","responseMode","RESPONSE_MODE","QUERY","addNativeBroker","NATIVE_BROKER","addScopes","addOidcScopes","requestScopes","SCOPE","addClientId","CLIENT_ID","addRedirectUri","REDIRECT_URI","addPostLogoutRedirectUri","POST_LOGOUT_URI","addIdTokenHint","idTokenHint","ID_TOKEN_HINT","addDomainHint","domainHint","DOMAIN_HINT","addLoginHint","LOGIN_HINT","addCcsUpn","CCS_HEADER","addCcsOid","addSid","SID","addClaims","clientCapabilities","mergedClaims","addClientCapabilitiesToClaims","addCorrelationId","CLIENT_REQUEST_ID","addLibraryInfo","libraryInfo","X_CLIENT_SKU","X_CLIENT_VER","X_CLIENT_OS","X_CLIENT_CPU","addApplicationTelemetry","appTelemetry","X_APP_NAME","X_APP_VER","addPrompt","PROMPT","addState","STATE","addNonce","NONCE","addCodeChallengeParams","CODE_CHALLENGE","CODE_CHALLENGE_METHOD","addAuthorizationCode","CODE","addDeviceCode","DEVICE_CODE","addRefreshToken","addCodeVerifier","CODE_VERIFIER","addClientSecret","CLIENT_SECRET","addClientAssertion","CLIENT_ASSERTION","addClientAssertionType","clientAssertionType","CLIENT_ASSERTION_TYPE","addOboAssertion","oboAssertion","OBO_ASSERTION","addRequestTokenUse","tokenUse","REQUESTED_TOKEN_USE","addGrantType","grantType","GRANT_TYPE","addClientInfo","addExtraQueryParameters","sanitizedEQParams","XMS_CC","addUsername","addPassword","addPopToken","cnfString","TOKEN_TYPE","REQ_CNF","addSshJwk","sshJwkString","addServerTelemetry","serverTelemetryManager","X_CLIENT_CURR_TELEM","generateCurrentRequestHeaderValue","X_CLIENT_LAST_TELEM","generateLastRequestHeaderValue","addThrottling","X_MS_LIB_CAPABILITY","addLogoutHint","logoutHint","LOGOUT_HINT","createQueryString","queryParameterArray","BaseClient","configuration","authOptions","userAuthOptions","userSystemOptions","systemOptions","userLoggerOption","userCacheOptions","cacheOptions","storageImplementation","storageInterface","networkImplementation","networkInterface","cryptoImplementation","cryptoInterface","clientCredentials","persistencePlugin","serializableCache","azureCloudOptions","skipAuthorityMetadataCache","buildClientConfiguration","networkManager","createTokenRequestHeaders","ccsCred","CONTENT_TYPE","executePostToTokenEndpoint","clearTelemetryCache","updateAuthority","updatedAuthority","discoveryComplete","createTokenQueryParameters","parameterBuilder","tokenQueryParameters","CacheRecord","appMetadataEntity","PopTokenGenerator","generateCnf","PopTokenGenerateCnf","PopTokenGenerateKid","generateKid","reqCnf","reqCnfString","reqCnfHash","xms_ksl","SW","signPopToken","signPayload","shrNonce","resourceUrlString","resourceUrlComponents","client_claims","TokenCacheContext","tokenCache","hasChanged","ResponseHandler","cacheStorage","validateServerAuthorizationCodeResponse","serverResponseHash","trace_id","correlation_id","client_info","validateTokenResponse","serverResponse","errString","handleServerTokenResponse","serverTokenResponse","reqTimestamp","authCodePayload","handlingRefreshTokenResponse","forceCacheRefreshTokenResponse","serverRequestId","HandleServerTokenResponse","id_token","idTokenObj","auth_time","requestStateObj","key_id","generateCacheRecord","cacheContext","beforeCacheAccess","generateAuthenticationResult","afterCacheAccess","generateAccountEntity","access_token","responseScopes","expiresIn","expires_in","extExpiresIn","ext_expires_in","refreshIn","refresh_in","tokenExpirationSeconds","extendedTokenExpirationSeconds","refreshOnSeconds","token_type","refresh_token","foci","cloud_graph_host_name","msGraphhost","msgraph_host","protocolMode","fromTokenCache","requestState","popTokenGenerator","spa_accountid","canonicalAuthority","fromCache","spa_code","fromNativeBroker","AuthorizationCodeClient","includeRedirectUri","getAuthCodeUrl","GetAuthCodeUrl","AuthClientCreateQueryString","createAuthCodeUrlQueryString","authorizationEndpoint","acquireToken","AuthClientAcquireToken","atsMeasurement","AuthClientExecuteTokenRequest","executeTokenRequest","_g","X_MS_REQUEST_ID","httpVerAuthority","X_MS_HTTP_VERSION","responseHandler","subErrorCode","handleFragmentResponse","hashFragment","serverParams","getLogoutUri","logoutRequest","createLogoutUrlQueryString","endSessionEndpoint","AuthClientCreateTokenRequestBody","queryParametersString","createTokenRequestBody","requestBody","assertion","assertionType","AUTHORIZATION_CODE_GRANT","reqCnfData","sshJwk","tokenBodyParameters","enableSpaAuthorizationCode","RETURN_SPA_CODE","extraScopesToConsent","extractAccountSid","accountLoginHintClaim","extractLoginHint","extraQueryParameters","nativeBroker","postLogoutRedirectUri","login_hint","isOpenIdConfigResponse","EndpointMetadata","InstanceDiscoveryMetadata","NativeStatusCode","RegionDiscovery","detectRegion","environmentRegion","regionDiscoveryMetadata","RegionDiscoveryDetectRegion","autodetectedRegionName","IMDS_OPTIONS","RegionDiscoveryGetRegionFromIMDS","getRegionFromIMDS","localIMDSVersionResponse","httpSuccess","region_source","IMDS","httpBadRequest","RegionDiscoveryGetCurrentVersion","getCurrentVersion","currentIMDSVersion","FAILED_AUTO_DETECTION","currentIMDSVersionResponse","ENVIRONMENT_VARIABLE","Authority","authorityOptions","_canonicalAuthority","region_used","region_outcome","regionDiscovery","getAuthorityType","authorityUri","Ciam","Default","canonicalAuthorityUrlComponents","_canonicalAuthorityUrlComponents","replacePath","canReplaceTenant","reservedTenantDomains","AAD","replaceTenant","cachedAuthorityUrlComponents","cachedAuthorityParts","currentPart","cachedPart","OIDC","resolveEndpointsAsync","AuthorityResolveEndpointsAsync","metadataEntity","hostnameAndPort","AuthorityUpdateCloudDiscoveryMetadata","cloudDiscoverySource","AuthorityUpdateEndpointMetadata","endpointSource","CACHE","getEndpointMetadataFromConfig","CONFIG","isAuthoritySameType","AuthorityGetEndpointMetadataFromNetwork","getEndpointMetadataFromNetwork","azureRegionConfiguration","azureRegion","AuthorityUpdateMetadataWithRegionalInformation","updateMetadataWithRegionalInformation","NETWORK","harcodedMetadata","getEndpointMetadataFromHardcodedValues","HARDCODED_VALUES","defaultOpenIdConfigurationEndpoint","authorityMetadata","userConfiguredAzureRegion","CONFIGURED_NO_AUTO_DETECTION","replaceWithRegionalInformation","AUTO_DETECTION_REQUESTED_SUCCESSFUL","AUTO_DETECTION_REQUESTED_FAILED","knownAuthorities","getCloudDiscoveryMetadataFromConfig","metadataEntityExpired","AuthorityGetCloudDiscoveryMetadataFromNetwork","getCloudDiscoveryMetadataFromNetwork","getCloudDiscoveryMetadataFromHarcodedValues","createCloudDiscoveryMetadataFromHost","cloudDiscoveryMetadata","parsedResponse","getCloudDiscoveryMetadataFromNetworkResponse","isInKnownAuthorities","instanceDiscoveryEndpoint","typedResponseBody","isCloudInstanceDiscoveryResponse","tenant_discovery_endpoint","isCloudInstanceDiscoveryErrorResponse","error_1","generateAuthority","authorityString","authorityAzureCloudInstance","isAlias","isPublicCloudAuthority","buildRegionalAuthorityString","authorityUrlInstance","authorityUrlParts","hostNameAndPort","transformCIAMAuthority","ciamAuthority","authorityUrlComponents","CONSUMERS","AuthorityFactory","createDiscoveredInstance","AuthorityFactoryCreateDiscoveredInstance","authorityUriFinal","acquireTokenAuthority","createInstance","authorityUrl","ServerTelemetryManager","telemetryRequest","cacheOutcome","NO_CACHE_HIT","apiId","wrapperVer","telemetryCacheKey","platformFields","requestWithRegionDiscoveryFields","getRegionDiscoveryFields","lastRequests","getLastRequests","maxErrors","maxErrorsToSend","errorCount","cacheFailedRequest","incrementCacheHits","numErrorsFlushed","serverTelemEntity","serverTelemetryEntity","dataSize","regionDiscoveryFields","regionUsed","regionSource","regionOutcome","updateRegionDiscoveryMetadata","setCacheOutcome","BaseInteractionClient","storageImpl","eventHandler","navigationClient","nativeMessageHandler","clearCacheOnLogout","initializeBaseRequest","InitializeBaseRequest","validateRequestAuthority","validatedRequest","getRedirectUri","requestRedirectUri","getDiscoveredAuthority","initializeServerTelemetryManager","forceRefresh","telemetryPayload","requestAuthority","StandardInteractionClient","initializeAuthorizationCodeRequest","StandardInteractionClientInitializeAuthorizationCodeRequest","generatedPkceParams","initializeLogoutRequest","validLogoutRequest","getLogoutHintFromIdTokenClaims","createAuthCodeClient","requestAzureCloudOptions","StandardInteractionClientCreateAuthCodeClient","StandardInteractionClientGetClientConfiguration","getClientConfiguration","clientConfig","StandardInteractionClientGetDiscoveredAuthority","discoveredAuthority","validateAndExtractStateFromHash","requestCorrelationId","platformStateObj","getAuthorityMeasurement","userAuthority","builtAuthority","initializeAuthorizationRequest","StandardInteractionClientInitializeAuthorizationRequest","browserState","FRAGMENT","legacyLoginHint","NativeAuthErrorMessage","NativeAuthError","ext","isFatal","PERSISTENT_ERROR","DISABLED","createError","ACCOUNT_UNAVAILABLE","USER_INTERACTION_REQUIRED","USER_CANCEL","NO_NETWORK","createUserSwitchError","createTokensNotFoundInCacheError","RefreshTokenClient","RefreshTokenClientAcquireToken","RefreshTokenClientExecuteTokenRequest","_h","httpVerToken","refreshTokenSize","forceCache","acquireTokenByRefreshToken","RefreshTokenClientAcquireTokenByRefreshToken","RefreshTokenClientAcquireTokenWithCachedRefreshToken","acquireTokenWithCachedRefreshToken","noFamilyRTInCache","clientMismatchErrorWithFamilyRT","refreshTokenRequest","acquireTokenMeasurement","RefreshTokenClientCreateTokenRequestBody","BaseClientCreateTokenRequestHeaders","REFRESH_TOKEN_GRANT","SilentFlowClient","acquireCachedToken","FORCE_REFRESH","CLAIMS_REQUESTED_CACHE_SKIPPED","NO_CACHED_ACCESS_TOKEN","CACHED_ACCESS_TOKEN_EXPIRED","REFRESH_CACHED_ACCESS_TOKEN","generateResultFromCacheRecord","SilentCacheClient","silentRequest","SilentCacheClientAcquireToken","acquireTokenSilent_silentFlow","createSilentFlowClient","silentAuthClient","cachedToken","logout","initializeSilentRequest","InitializeSilentRequest","NativeInteractionClient","nativeStorageImpl","nativeStorageManager","silentCacheClient","nativeATMeasurement","NativeInteractionClientAcquireToken","initializeNativeRequest","nativeRequest","acquireTokensFromCache","isNativeBroker","messageBody","GetToken","validatedResponse","validateNativeResponse","handleNativeResponse","createSilentCacheRequest","acquireTokenRedirect","navigationOptions","redirectNavigationTimeout","navigateToLoginRequestUrl","handleRedirectPromise","__rest","authorityPreferredCache","createIdTokenObj","createHomeAccountIdentifier","createAccountEntity","cacheAccount","cacheNativeTokens","generateScopes","generatePopAccessToken","shr","shrParameters","mats","addTelemetryFromNativeResponse","accountProperties","responseAccessToken","isResponseFromCache","nativeCacheRecord","getMATSFromResponse","extensionId","getExtensionId","extensionVersion","getExtensionVersion","matsBrokerVersion","broker_version","matsAccountJoinOnStart","account_join_on_start","matsAccountJoinOnEnd","account_join_on_end","matsDeviceJoin","device_join","matsPromptBehavior","prompt_behavior","matsApiErrorCode","api_error_code","matsUiVisible","ui_visible","matsSilentCode","silent_code","matsSilentBiSubCode","silent_bi_sub_code","matsSilentMessage","silent_message","matsSilentStatus","silent_status","matsHttpStatus","http_status","matsHttpEventCount","http_event_count","MATS","is_cached","remainingProperties","getPrompt","ssoSilent","windowTitleSubstring","extraParameters","extendedExpiryToken","NativeMessageHandler","handshakeTimeoutMs","resolvers","handshakeResolvers","responseId","messageChannel","windowListener","onWindowMessage","handshakeEvent","NativeMessageHandlerHandshake","createProvider","preferredProvider","sendHandshakeRequest","backupProvider","HandshakeRequest","extensionHandshakeTimeoutMs","onChannelMessage","timeoutId","extensionHandshakeTimedOut","handshakeResolver","extensionInstalled","Response","HandshakeResponse","isNativeAvailable","nativeExtensionProvider","InteractionHandler","authCodeModule","authModule","handleCodeResponseFromHash","networkModule","HandleCodeResponseFromHash","authCodeResponse","HandleCodeResponseFromServer","handleCodeResponseFromServer","validateNonce","nonceKey","cachedNonce","cloud_instance_host_name","UpdateTokenEndpointAuthority","updateTokenEndpointAuthority","cachedCcsCred","checkCcsCredentials","tokenResponse","cloudInstanceHostname","cloudInstanceAuthorityUri","cloudInstanceAuthority","PopupClient","unloadWindow","nativeStorage","popupName","generatePopupName","popupWindowAttributes","asyncPopups","acquireTokenPopupAsync","popup","openSizedPopup","generateLogoutPopupName","mainWindowRedirectUri","logoutPopupAsync","acquireTokenPopup","Popup","validRequest","authClient","fetchNativeAccountIdMeasurement","FetchAccountIdWithNativeBroker","navigateUrl","interactionHandler","popupParameters","popupWindow","initiateAuthRequest","POPUP_OPENED","monitorPopupForHash","state_1","nativeInteractionClient","LOGOUT_START","logoutPopup","logoutUri","LOGOUT_SUCCESS","openPopup","waitForLogoutPopup","absoluteUrl","LOGOUT_FAILURE","LOGOUT_END","requestUrl","maxTicks","windowHashTimeout","pollIntervalMilliseconds","ticks","intervalId","closed","cleanPopup","urlNavigate","popupParams","currentWindow","winLeft","screenLeft","winTop","screenTop","winWidth","innerWidth","clientWidth","winHeight","clientHeight","popupSize","popupPosition","RedirectHandler","redirectStartPage","redirectTimeout","onRedirectNavigate","RedirectClient","handleBackButton","persisted","RESTORE_FROM_BFCACHE","getRedirectStartPage","responseHash","getRedirectResponseHash","loginRequestUrl","loginRequestUrlNormalized","currentUrlNormalized","handleHash","handleHashResult","processHashOnRedirect","homepage","cachedHash","currentAuthority","requestStartPage","SilentHandler","navigateFrameWait","SilentHandlerInitiateAuthRequest","SilentHandlerLoadFrame","loadFrame","loadFrameSync","monitorIframeForHash","SilentHandlerMonitorIframeForHash","timeoutMark","removeHiddenIframe","contentHash","frameHandle","createHiddenIframe","authFrame","SilentIframeClient","SilentIframeClientAcquireToken","Silent","SilentIframeClientTokenHelper","silentTokenHelper","silentHandler","msalFrame","iframeHashTimeout","SilentRefreshClient","SilentRefreshClientAcquireToken","createRefreshTokenClient","refreshTokenClient","TokenCache","loadExternalTokens","cacheRecordAccount","loadAccount","loadIdToken","loadAccessToken","loadRefreshToken","requestHomeAccountId","HybridSpaAuthorizationCodeClient","SilentAuthCodeClient","cloudInstanceHostName","BrowserPerformanceMeasurement","makeMeasureName","startMark","makeStartMark","endMark","makeEndMark","supportsBrowserPerformance","clearMarks","clearMeasures","getEntriesByName","flushMeasurements","measurements","entriesForMeasurement","BrowserPerformanceClient","getPageVisibility","visibilityState","deleteIncompleteSubMeasurements","isRootEvent","incompleteMeasurements","supportsBrowserPerformanceNow","startPageVisibility","endPageVisibility","resQueueTime","ClientApplication","userInputAuth","userInputCache","userInputSystem","userInputTelemetry","DEFAULT_AUTH_OPTIONS","DEFAULT_LOGGER_OPTIONS","DEFAULT_BROWSER_SYSTEM_OPTIONS","loadFrameTimeout","nativeBrokerHandshakeTimeout","providedSystemOptions","buildConfiguration","redirectResponse","hybridAuthCodeResponses","DEFAULT_BROWSER_CACHE_MANAGER","nativeCacheOptions","nativeInternalStorage","trackPageVisibilityWithMeasurement","initialize","initMeasurement","InitializeClientApplication","INITIALIZE_START","claimsTokensRemovalMeasurement","ClearTokensAndKeysWithClaims","INITIALIZE_END","loggedInAccounts","redirectResponseKey","HANDLE_REDIRECT_START","nativeClient","redirectClient","createRedirectClient","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","HANDLE_REDIRECT_END","ACQUIRE_TOKEN_FAILURE","LOGIN_FAILURE","getRequestCorrelationId","preflightBrowserEnvironmentCheck","isLoggedIn","ACQUIRE_TOKEN_START","LOGIN_START","canUseNative","getNativeAccountId","atPopupMeasurement","AcquireTokenPopup","acquireTokenNative","createPopupClient","accessTokenSize","idTokenSize","ssoSilentMeasurement","acquireTokenByCodeAsyncMeasurement","visibilityChangeCount","SsoSilent","SSO_SILENT_START","createSilentIframeClient","silentIframeClient","SSO_SILENT_SUCCESS","SSO_SILENT_FAILURE","acquireTokenByCode","ACQUIRE_TOKEN_BY_CODE_START","atbcMeasurement","AcquireTokenByCode","hybridAuthCode_1","acquireTokenByCodeAsync","ACQUIRE_TOKEN_BY_CODE_SUCCESS","ACQUIRE_TOKEN_BY_CODE_FAILURE","AcquireTokenByCodeAsync","createSilentAuthCodeClient","tokenRenewalError","acquireTokenFromCache","commonRequest","AcquireTokenFromCache","cacheLookupPolicy","AccessToken","AccessTokenAndRefreshToken","AcquireTokenByRefreshToken","RefreshToken","RefreshTokenAndNetwork","silentRefreshClient","createSilentRefreshClient","acquireTokenBySilentIframe","AcquireTokenBySilentIframe","logoutRedirect","getAccountByUsername","getAccountByHomeId","getAccountByLocalId","preflightInteractiveRequest","createSilentCacheClient","getTokenCache","getLogger","setLogger","initializeWrapperLibrary","setNavigationClient","PublicClientApplication","astsAsyncMeasurement","activeSilentTokenRequests","trackPageVisibility","loginRedirect","loginPopup","acquireTokenSilent","AcquireTokenSilent","silentRequestKey","cachedResponse","AcquireTokenSilentAsync","acquireTokenSilentAsync","__awaiter","silentRequest_1","requestWithCLP_1","cacheError","ACQUIRE_TOKEN_NETWORK_START","refreshTokenError","isServerError","rtNotFound","isInvalidGrantError","Skip","stubbedPublicClientApplication","EventMessageUtils","getInteractionStatusFromEvent","currentStatus","Login","AcquireToken","HandleRedirect","Logout","defaultMsalContext","MsalContext","getChildrenOrFunction","accountArraysAreEqual","arrayA","arrayB","comparisonArray","elementA","elementB","getAccountByIdentifiers","accountIdentifiers","MsalProviderActionType","reducer","previousState","newInProgress","UNBLOCK_INPROGRESS","Startup","EVENT","currentAccounts","MsalProvider","React","updateState","contextValue","React__default","useMsal","isAuthenticated","matchAccount","useIsAuthenticated","hasAuthenticated","setHasAuthenticated","AuthenticatedTemplate","UnauthenticatedTemplate","getBatch","ContextKey","gT","_gT$ContextKey","contextMap","realContext","ReactReduxContext","createReduxContextHook","useReduxContext","notInitialized","refEquality","createSelectorHook","useDefaultReduxContext","equalityFnOrOptions","equalityFn","stabilityCheck","noopCheck","store","getServerState","globalStabilityCheck","globalNoopCheck","wrappedSelector","selectedState","addNestedSub","getState","useSelector","nullListeners","notify","createSubscription","parentSub","unsubscribe","subscriptionsAmount","selfSubscribed","handleChangeWrapper","onStateChange","trySubscribe","subscribe","isSubscribed","createListenerCollection","tryUnsubscribe","cleanupListener","removed","notifyNestedSubs","getListeners","useIsomorphicLayoutEffect","serverState","createStoreHook","useStore","createDispatchHook","useDefaultStore","useDispatch","fn","newBatch","initializeConnect","insertionFactory","insertionCache","renderer","cssRules","insertCSSRules","murmur2","arrayToObject","prop1","prop2","isNumber","inclusive","inclusee","flipTransformSign","getValuesAsList","openParansCount","closedParansCount","parensDepth","handleQuartetValues","splitValues","propertyValueConverters","padding","flippedShadows","shadows","rgba","splitShadow","shadow","negative","borderRadius","_value$split","radius1","radius2","topRight","valuesToConvert","isRtl","bgImgDirectionRegex","bgPosDirectionRegex","backgroundPositionValue","backgroundPosition","backgroundImage","g1","group2","_ref7","calculateNewBackgroundPosition","backgroundPositionX","_ref8","_ref9","propertiesToConvert","transitionProperty","_ref10","_ref11","nonAsciiPattern","escapePattern","signedQuantPattern","translateXRegExp","translateRegExp","translate3dRegExp","rotateRegExp","objectPosition","boxShadow","webkitBoxShadow","mozBoxShadow","WebkitBoxShadow","MozBoxShadow","webkitTransform","mozTransform","WebkitTransform","MozTransform","transformOrigin","webkitTransformOrigin","mozTransformOrigin","WebkitTransformOrigin","MozTransformOrigin","webkitTransition","mozTransition","WebkitTransition","MozTransition","webkitTransitionProperty","mozTransitionProperty","WebkitTransitionProperty","MozTransitionProperty","propsToIgnore","newObj","originalKey","originalValue","_convertProperty","convertProperty","isNoFlip","canConvertValue","isNum","isFunc","importantlessValue","isImportant","valueConverter","getValueDoppelganger","__GLOBAL__","__NAMESPACE_PREFIX__","getGlobalVar","DEFINITION_LOOKUP_TABLE","DATA_BUCKET_ATTR","HASH_PREFIX","SEQUENCE_HASH_LENGTH","SEQUENCE_PREFIX","SEQUENCE_SIZE","LOOKUP_DEFINITIONS_INDEX","LOOKUP_DIR_INDEX","UNSUPPORTED_CSS_PROPERTIES","animationRange","borderBlock","borderBlockEnd","borderBlockStart","borderBottom","borderImage","borderInline","borderInlineEnd","borderInlineStart","borderLeft","borderRight","borderTop","caret","columnRule","containIntrinsicSize","flexFlow","grid","gridTemplate","inset","insetBlock","insetInline","listStyle","marginBlock","marginInline","maskBorder","motion","overscrollBehavior","paddingBlock","paddingInline","placeItems","placeContent","placeSelf","scrollMargin","scrollMarginBlock","scrollMarginInline","scrollPadding","scrollPaddingBlock","scrollPaddingInline","scrollSnapMargin","scrollTimeline","textDecoration","textEmphasis","viewTimeline","uppercasePattern","msPattern","toHyphenLower","hyphenateProperty","hName","normalizeNestedProperty","nestedProperty","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","indexof","charat","strlen","sizeof","siblings","dealloc","delimit","tokenizer","escaping","commenter","compile","rulesets","pseudo","points","scanning","ruleset","post","middleware","rulesheet","globalPlugin","acc","prefixerPlugin","combine","sortClassesInAtRulesPlugin","isAtRuleElement","PSEUDO_SELECTOR_REGEX","createCSSRule","classNameSelector","cssDeclaration","pseudos","cssRule","reduceRight","pseudoSelector","compileAtomicCSSRule","layer","selectors","support","rtlClassName","rtlProperty","rtlValue","sortClassesInAtRules","compileCSSRules","cssifyObject","compileKeyframeRule","keyframeObject","percentage","compileKeyframesCSS","keyframeName","keyframeCSS","generateCombinedQuery","currentMediaQuery","nestedMediaQuery","isMediaQuerySelector","isLayerSelector","isNestedSelector","isSupportQuerySelector","isContainerQuerySelector","pseudosMap","cu","getStyleBucketName","normalizedPseudo","hashClassName","classNameHash","hashPropertyKey","hashedKey","firstCharCode","trimSelector","logError","warnAboutUnresolvedRule","ruleText","warnAboutUnsupportedProperties","pushToClassesMap","classesMap","propertyKey","ltrClassname","rtlClassname","createBucketEntry","pushToCSSRules","cssRulesByBucket","styleBucketName","ltrCSS","rtlCSS","resolveStyleRules","cssClassesMap","rtlDefinition","flippedInRtl","rtlCompileOptions","animationNameValue","animationNames","rtlAnimationNames","rtlKeyframeCSS","rtlAnimationName","keyframeRules","rtlKeyframeRules","rtlDefinitions","combinedMediaQuery","combinedLayerQuery","combinedSupportQuery","containerQuery","padEndHash","hashLength","hashSequence","reduceToClassName","classMap","propertyHash","classNameMapping","hasRTLClassName","reduceToClassNameForSlots","classesMapBySlot","classNamesForSlots","slotName","slotClasses","sequenceHash","resultSlotClasses","makeStyles","stylesBySlots","insertStyles","ltrClassNamesForSlots","rtlClassNamesForSlots","slotStyles","cssClassMap","resolveStyleRulesForSlots","isLTR","createIsomorphicStyleSheet","styleElement","bucketName","elementAttributes","__cssRulesForSSR","insertRule","cssText","styleBucketOrderingMap","cur","getStyleSheetForBucket","targetDocument","insertionPoint","isMediaBucket","stylesheetKey","stylesheets","stylesheet","styleElementAttributes","targetBucket","targetOrder","styleElements","mediaElements","compareMediaQueries","findInsertionPoint","safeInsertRule","ruleCSS","defaultCompareMediaQueries","createDOMRenderer","unstable_filterCSSRule","cssRulesForBucket","RendererContext","useRenderer","TextDirectionContext","TextDirectionProvider","useTextDirection","getStyles","makeStyles$1","positionMap","generateStyles","firstValue","secondValue","thirdValue","fourthValue","valuesWithDefaults","LINE_STYLES","isBorderStyle","isUnitless","isAuto","widthReservedKeys","isWidth","isUnit","cssVarRegEx","customIdentRegEx","nonCustomIdentRegEx","isCustomIdent","transitionGlobalInputs","textDecorationStyleInputs","shorthands","borderLeftStyle","borderLeftWidth","borderLeftColor","borderBottomStyle","borderBottomColor","borderRightColor","borderTopStyle","borderTopColor","value1","value2","borderBottomRightRadius","borderBottomLeftRadius","borderTopRightRadius","borderTopLeftRadius","isOneValueSyntax","isTwoValueSyntax","isThreeValueSyntax","flexBasis","isNone","columnGap","isValidGridAreaInput","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","overflowX","overflowY","outlineWidth","outlineStyle","outlineColor","isTransitionGlobalInputs","transitionDelay","transitionDuration","transitionTimingFunction","transitionInputs","normalizeTransitionInputs","timingFunction","isTextDecorationStyleInput","textDecorationStyle","textDecorationLine","textDecorationColor","textDecorationThickness","SLOT_RENDER_FUNCTION_SYMBOL","SLOT_ELEMENT_TYPE_SYMBOL","isSlot","createJSX","runtime","slotRuntime","createCompatSlotComponent","getMetadataFromSlotComponent","baseElementType","renderFunction","propsWithoutMetadata","Runtime","jsxSlot","slotProps","jsxsSlot","assertSlots","canUseDOM","ProviderContext","providerContextDefaultValue","useFluent","_React_useContext","ThemeContext","ThemeProvider","ThemeClassNameContext","ThemeClassNameProvider","CustomStyleHooksContext","CustomStyleHooksProvider","useCustomStyleHook","hook","_React_useContext_hook","TooltipVisibilityContext","tooltipVisibilityContextDefaultValue","TooltipVisibilityProvider","OverridesContext","OverridesProvider","useOverrides","IconDirectionContext","IconDirectionContextDefaultValue","IconDirectionContextProvider","isHTMLElement","_typedElement_ownerDocument","typedElement","_options_constructorName","constructorName","_canUseWeakRef","WeakRef","WeakRefInstance","_weakRef","_instance","deref","KEYBORG_FOCUSIN","KEYBORG_FOCUSOUT","_canOverrideNativeFocus","nativeFocus","__keyborgNativeFocus","_lastId","KeyborgCore","win","_isNavigatingWithKeyboard_DO_NOT_USE","_onFocusIn","_isMouseUsedTimer","isNavigatingWithKeyboard","isFocusedProgrammatically","_onMouseDown","_win","_onKeyDown","_shouldDismissKeyboardNavigation","_scheduleDismiss","_shouldTriggerKeyboardNavigation","triggerKeys","dismissKeys","_triggerKeys","_dismissKeys","kwin","origFocus","isCustomFocusCalled","canOverrideNativeFocus","shadowTargets","focusOutHandler","CustomEvent","composed","originalEvent","focusInHandler","composedPath","currentShadows","Node","DOCUMENT_FRAGMENT_NODE","shadowRootWeakRef","shadowRoot","onFocusIn","lastFocusedProgrammatically","__keyborgData","keyborgNativeFocusEvent","setupFocusEvent","update","_dismissTimer","disposeFocusEvent","keyborgs","__keyborg","Keyborg","isTriggerKey","isEditable","isContentEditable","was","_Keyborg","_cb","_id","_core","setVal","createKeyborg","disposeKeyborg","FOCUS_VISIBLE_ATTR","FOCUS_WITHIN_ATTR","applyFocusVisiblePolyfill","targetWindow","alreadyInScope","keyborg","registerElementIfNavigating","disposeCurrentElement","keyborgListener","blurListener","focusVisible","useFocusVisible","scopeRef","_options_targetDocument","always","resolveShorthand","propsWithMetadata","renderByDefault","toObjectMap","items","baseElementEvents","baseElementProperties","microdataProperties","htmlElementProperties","labelProperties","audioProperties","videoProperties","olProperties","liProperties","anchorProperties","timeProperties","buttonProperties","nativeElementMap","textarea","colGroup","fieldset","dialog","getNativeElementProps","excludedPropNames","allowedPropNames","getNativeProps","getPartitionedNativeProps","primarySlotTagName","primary","getIntrinsicElementProps","_props_as","useMergedRefs","mergedCallback","defaultSSRContextValue","SSRContext","useSSRContext","IdPrefixContext","providedId","_useId","generatedId","escapedId","__styles","mergeClassesCachedResults","mergeClasses","resultClassName","sequenceMatch","sequencesIds","sequenceIndex","sequenceId","mergeClassesResult","sequenceMappings","sequenceMapping","resultDefinitions","atomicClassNames","newSequenceHash","fluentProviderClassNames","useStyles","sj55zd","De3pzq","fsow6f","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","useFluentProviderThemeStyleTag","theme","rendererAttributes","styleTag","styleTagId","cssVarsAsString","cssVarRule","cssVar","createCSSRuleFromTheme","themeStyleElement","useHandleSSRStyleElements","ssrStyleElement","createStyleTag","insertSheet","deleteRule","_styleTag_current","EMPTY_OBJECT","useFluentProvider_unstable","parentContext","parentTheme","parentOverrides","parentCustomStyleHooks","applyStylesToPortals","customStyleHooks_unstable","overrides_unstable","overrides","mergedTheme","shallowMerge","mergedOverrides","mergedCustomStyleHooks","useRenderer_unstable","_renderer_styleElementAttributes","themeClassName","serverStyleProps","FluentProvider","useFluentProviderStyles_unstable","contextValues","tooltip","iconDirection","textDirection","useFluentProviderContextValues_unstable","renderFluentProvider_unstable","_jsx","_jsxs","useText_unstable","truncate","underline","strikethrough","weight","__styles$1","textClassNames","mc9l5x","Huce71","B68tc82","Bmxbyg5","ygn44y","nowrap","B80ckks","w71qe1","strikethroughUnderline","base100","base200","base400","base500","base600","hero700","hero800","hero900","hero1000","monospace","numeric","weightMedium","weightSemibold","weightBold","alignCenter","alignEnd","alignJustify","useTextStyles_unstable","renderText_unstable","createPreset","Wrapper","Subtitle1","AppContext","currentSection","setCurrentSection","AppContextProvider","usePositioningMouseTarget","initialState","virtualElement","setVirtualElement","mouseevent","MouseEvent","contextTarget","getBoundingClientRect","createVirtualElementFromClick","shorthandLookup","above","resolvePositioningShorthand","shorthand","sides","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","placement","getAlignment","getOppositeAxis","getAxisLength","getSideAxis","getAlignmentAxis","getOppositeAlignmentPlacement","getOppositePlacement","getPaddingObject","expandPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","rtl","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","detectOverflow","_await$platform$isEle","rects","strategy","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","getSideOffsets","isAnySideFullyClipped","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","isRTL","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","alignmentOffset","getNodeName","getWindow","_node$ownerDocument","isShadowRoot","ShadowRoot","isOverflowElement","isTableElement","isContainingBlock","webkit","isWebKit","perspective","containerType","backdropFilter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","pageXOffset","pageYOffset","getParentNode","assignedSlot","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","visualViewport","frameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","clientTop","paddingTop","topLayerSelectors","isTopLayer","getWindowScrollBarX","getClientRectFromClippingAncestor","clippingAncestor","visualViewportBased","getViewportRect","scroll","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","getTrueOffsetParent","polyfill","getContainingBlock","topLayer","elementClippingAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getElementRects","getOffsetParentFn","getDimensionsFn","getDimensions","getClientRects","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","isBasePlacement","oppositePlacement","getExpandedPlacements","isStart","lr","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","mainAlignmentSide","getAlignmentSides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","reset","resetPlacement","_overflowsData$map$so","isYAxis","heightSide","widthSide","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","maximumClippingWidth","maximumClippingHeight","xMin","xMax","yMin","yMax","nextDimensions","hide","referenceHiddenOffsets","referenceHidden","escapedOffsets","arrowDimensions","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","centerOffset","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","computePosition","mergedOptions","platformWithCache","validMiddleware","statefulPlacement","resetCount","nextX","nextY","computePosition$1","useEventCallback","callbackRef","useCallbackRef","skipInitialResolve","isFirst","facade","normalizeAutoSize","autoSize","applyMaxWidth","applyMaxHeight","getScrollParent","_node_ownerDocument","getStyleComputedProperty","hasScrollParent","_scrollParentElement_ownerDocument","scrollParentElement","toFloatingUIPlacement","shouldAlignToCenter","positionedVertically","alignedVertically","computedPosition","getPositionMap","computedAlignment","getBoundary","boundariesNode","resetMaxSize","_middlewareData_resetMaxSize","maxSizeAlreadyReset","removeProperty","overflowBoundary","applyMaxSizeStyles","availableSize","matchTargetSizeCssVar","matchTargetSize","referenceRect","floatingRect","floatingElement","matchTargetSizeAttempt","middlewareArguments","parseFloatingUIPlacement","fromFloatingUIPlacement","floatingUIAlignment","getAlignmentMap","offsetValue","floatingUIOffset","positionedRect","targetRect","coverTarget","newCoords","hasScrollableElement","flipBoundary","fallbackPositions","baseFlip","toFloatingUIPadding","verticalPadding","disableTether","overflowBoundaryPadding","intersecting","altOverflow","isIntersectingTop","isIntersectingBottom","DATA_POSITIONING_INTERSECTING","DATA_POSITIONING_ESCAPED","DATA_POSITIONING_HIDDEN","DATA_POSITIONING_PLACEMENT","POSITIONING_END_EVENT","listScrollParents","scrollParents","scrollParent","createPositionManager","isDestroyed","useTransform","disableUpdateOnResize","resizeObserver","ResizeObserver","createResizeObserver","contentRect","isFirstUpdate","observe","computedPlacement","arrowX","arrowY","writeArrowUpdates","_middlewareData_hide","_middlewareData_hide1","_container_ownerDocument_defaultView","lowPPI","coordinates","intersectionObserver","devicePixelRatio","writeContainerUpdates","debounce","usePositioning","managerRef","targetRef","overrideTargetRef","containerRef","arrowRef","resolvePositioningOptions","arrowPadding","rawAutoSize","pinned","unstable_disableTether","positionFixed","positionStrategy","resetMaxSizeMiddleware","matchTargetSizeMiddleware","offsetMiddleware","coverTargetMiddleware","flipMiddleware","shiftMiddleware","maxSizeMiddleware","intersectingMiddleware","arrowMiddleware","hideMiddleware","usePositioningOptions","updatePositionManager","_overrideTargetRef_current","setOverrideTarget","positioningRef","_managerRef_current","setTarget","_options_target","onPositioningEnd","_options_onPositioningEnd","setContainer","_containerRef_current","setArrow","useControllableState","internalState","setInternalState","defaultState","stateValueRef","setControlledState","isFactoryDispatch","useIsControlled","controlledValue","isControlled","DEFAULT_CONTAINS","useOnClickOutside","disabledFocusOnIframe","useIFrameFocus","isMouseDownInsideRef","isOutside","handleMouseDown","currentEvent","getWindowEvent","conditionalHandler","_target_ownerDocument_defaultView","_target_ownerDocument","_target_ownerDocument_defaultView_event","FUI_FRAME_EVENT","pollDuration","timeoutRef","_targetDocument_defaultView","getParent","skipVirtual","virtualParent","_virtual","getVirtualParent","elementContains","nextParent","useOnScrollOutside","containsProp","TabsterAttributeName","TabsterDummyInputAttributeName","DeloserEventName","ModalizerActiveEventName","ModalizerInactiveEventName","MoverEventName","FocusInEventName","FocusOutEventName","MoveFocusEventName","MoverMoveFocusEventName","GroupperMoveFocusEventName","MoverMemorizedElementEventName","FocusableSelector","GroupperMoveFocusActions","Enter","Escape","ObservedElementAccesibilities","Any","Accessible","Focusable","RestoreFocusOrders","History","DeloserDefault","RootDefault","DeloserFirst","RootFirst","Visibilities","Invisible","PartiallyVisible","Visible","RestorerTypes","Source","Target","MoverDirections","Both","Vertical","Horizontal","Grid","GridLinear","MoverKeys","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","GroupperTabbabilities","Unlimited","Limited","LimitedTrapFocus","SysDummyInputsPositions","Auto","Inside","Outside","getTabsterOnElement","tabster","storageEntry","updateTabsterByAttribute","newAttrValue","_noop","newAttr","tabsterOnElement","oldTabsterProps","newTabsterProps","onRoot","observedElement","onObservedElementUpdate","sys","deloser","setProps","createDeloser","modalizer","createModalizer","restorer","createRestorer","focusable","groupper","createGroupper","mover","createMover","observed","uncontrolled","createMutationObserver","MutationObserver","createTreeWalker","_createTreeWalker","whatToShow","getParentElement","nodeContains","_nodeContains","getActiveElement","querySelector","_querySelector","_querySelectorAll","_getElementById","getFirstChild","getLastChild","getNextSibling","getPreviousSibling","getFirstElementChild","firstElementChild","getLastElementChild","lastElementChild","getNextElementSibling","nextElementSibling","getPreviousElementSibling","previousElementSibling","_appendChild","_insertBefore","referenceChild","_isBrokenIE11","_DOMRect","DOMRect","_uidCounter","NodeFilter","SHOW_ELEMENT","getInstanceContext","__tabsterInstanceContext","elementByUId","basics","containerBoundingRectCache","lastContainerBoundingRectCacheId","fakeWeakRefs","fakeWeakRefsStarted","FakeWeakRef","_target","cleanup","fwr","forceRemove","documentContains","WeakHTMLElement","_data","getData","cleanupFakeWeakRefs","startFakeWeakRefsCleanup","getWeakRef","fakeWeakRefsTimer","createElementTreeWalker","acceptNode","ELEMENT_NODE","getBoundingRect","cacheId","__tabsterCacheId","cached","scrollingElement","containerBoundingRectCacheTimer","cId","isElementVerticallyVisibleInContainer","tolerance","getScrollableContainer","containerRect","elementRect","intersectionTolerance","totalIntersection","shouldIgnoreFocus","__shouldIgnoreFocus","getUId","wnd","rnd","msCrypto","srnd","getElementUId","__tabsterElementUID","clearElementCache","wel","matchesSelector","msMatchesSelector","webkitMatchesSelector","getPromise","_lastTabsterPartId","TabsterPart","_tabster","_element","_props","getElement","getProps","DummyInput","fixedTarget","_focusIn","_fixedTarget","_isBackward","_focusOut","useDefaultAction","onFocusOut","makeFocusIgnored","_isPhantom","isPhantom","__tabsterDummyContainer","_disposeTimer","_clearDisposeTimeout","setTopLeft","isIn","DOCUMENT_POSITION_FOLLOWING","DummyInputManagerPriorities","DummyInputManager","outsideByDefault","callForDefaultAction","DummyInputManagerCore","_setHandlers","_onFocusOut","moveOut","backwards","moveOutWithDefaultAction","relatedEvent","getHandler","setTabbable","tabbable","moveWithPhantomDummy","moveOutOfElement","isBackward","potentialDummy","dummyFor","isFocusable","dispatchMoveFocusEvent","by","owner","addPhantomDummyWithTarget","sourceElement","targetElement","dummyParent","DummyInputObserver","_updateQueue","_lastUpdateQueueTime","_changedParents","_dummyElements","_dummyCallbacks","_domChanged","_updateDummyInputsTimer","dummyElement","dummy","domChanged","_updateTimer","updatePositions","compute","_scheduledUpdatePositions","scrollTopLeftCache","setTopLeftCallbacks","_wrappers","_isOutside","_transformElements","dummyInput","_onFocus","_firstDummy","_lastDummy","_ensurePosition","firstInput","lastInput","toFocus","_getCurrent","_addDummyInputs","_addTimer","_getWindow","_addTransformOffsets","_dummyObserver","_computeTransformOffsets","transformElements","newTransformElements","scrollTopLeft","_callForDefaultAction","__tabsterDummy","forcedDummyPosition","dummyInputsPosition","force","firstDummyInput","lastDummyInput","elementParent","getLastChild$2","triggerEvent","augmentAttribute","aug","origVal","origValue","getTabsterAttribute","setTabsterAttribute","newProps","mergeTabsterProps","RootDummyManager","setFocused","_onDummyInputFocus","_setFocused","keyboardNavigation","setNavigatingWithKeyboard","focusedElement","getFirstOrLastTabbable","ignoreAccessibility","blur","Root","onDispose","_isFocused","hasFocused","_setFocusedTimer","_dummyManager","eventTarget","rootElement","curElement","_onDispose","_sys","controlTab","rootDummyInputs","addDummyInputs","_add","_remove","dummyManager","RootAPI","autoRoot","_autoRootWaiting","_roots","_forceDummy","rootById","_autoRootCreate","_autoRootUnwait","_autoRoot","_onRootDispose","EventTarget","createEventTarget","queueInit","rootId","newRoot","roots","getRootByUId","__tabsterInstance","getTabsterContext","checkRtl","referenceElement","drainInitQueue","groupperBeforeMover","modalizerInGroupper","dirRightToLeft","excludedFromMover","ignoreKeydown","excludeFromMover","curModalizer","curGroupper","curMover","tabbability","activeId","rootAPI","getRoot","Subscribable","_callbacks","_val","subscribeFirst","_callCallbacks","getVal","FocusableAPI","includeProgrammaticallyFocusable","noVisibleCheck","noAccessibleCheck","isVisible","isAccessible","_isHidden","ignoreAriaDisabled","_isDisabled","attrVal","isAugmented","findFirst","findElement","findLast","findNext","findPrev","findDefault","acceptCondition","isDefault","findAll","_findElements","found","currentElement","useActiveModalizer","modalizerId","onElement","hasCustomCondition","acceptElementState","modalizerUserId","cachedGrouppers","walker","_acceptElement","prepareForNextElement","shouldContinueIfNotFound","foundElement","foundBackward","fromCtx","outOfDOMOrder","FILTER_ACCEPT","skippedFocusable","previousNode","nextNode","FILTER_SKIP","FILTER_REJECT","rejectElementsFrom","currentCtx","fromMover","acceptElement","groupperElement","fromMoverElement","moverElement","Keys","FocusedElementState","_setFocusedElement","_onChanged","_validateFocusedElement","findNextTabbable","nextElement","uncontrolledCompletelyContainer","uncontrolledOnElement","isUncontrolledCompletely","completely","getUncontrolledCompletelyContainer","nextUncontrolled","stopImmediatePropagation","_lastVal","lastCtx","_lastResetElement","_nextVal","forgetMemorized","getFocusedElement","getLastFocusedElement","noFocusedProgrammaticallyFlag","focusDefault","_focusFirstOrLast","focusFirst","focusLast","resetFocus","prevTabIndex","prevAriaHidden","_setOrRemoveAttribute","lastResetElement","nextVal","actualContainer","isTabbingTimer","_isTabbingTimer","isTabbing","callFindNext","what","parentCtx","currentScopeElement","newCurrent","findProps","findPropsOut","GroupperDummyManager","adjacent","getAdjacentElement","Groupper","_shouldTabInside","makeTabbable","_first","currentIsDummy","groupperFirstFocusable","getFirst","isTabbable","noIfFirstIsFocused","isParentActive","focused","orContainer","setFirst","parentCtxGroupper","parentGroupper","parentGroupperElement","getIsActive","GroupperAPI","_current","_grouppers","_onMoveFocus","_onGroupperDispose","_updateCurrent","handleKeyPress","_enterGroupper","_escapeGroupper","_handleKeyPressTimer","groupperId","newGroupper","forgetCurrentGrouppers","includeTarget","checkTarget","newIds","isTarget","delegated","fromModalizer","setActive","moveFocus","KeyboardNavigationState","_onChange","_keyborg","_wasFocusedCounter","_ariaHidden","ModalizerDummyManager","dummyContainer","Modalizer","activeElements","_wasFocused","_activeElements","makeActive","_isActive","triggerFocusEvent","noIncrement","isTrapped","allElements","ModalizerAPI","alwaysAccessibleSelector","accessibleCheck","_onModalizerDispose","_parts","_modalizers","focusedSince","augmentedMap","_augMap","currentIsOthersAccessible","isAlwaysAccessible","_restoreModalizerFocusTimer","_restoreModalizerFocus","isOthersAccessible","_aug","_alwaysAccessibleSelector","_accessibleCheck","_hiddenUpdateTimer","hiddenUpdate","_hiddenUpdate","elementFromModalizer","noFocusFirst","noFocusDefault","modalizerRoot","isNoFocusFirst","isNoFocusDefault","currentModalizer","visibleElements","hiddenElements","alwaysAccessibleElements","activeModalizerElements","modalizerParts","allVisibleElements","newAugmented","newAugmentedMap","toggle","walk","skip","containsModalizer","containedByModalizer","elParent","outsideElement","DOCUMENT_POSITION_PRECEDING","_inputSelector","MoverDummyManager","getMemorized","_onFocusDummyInput","memorized","_getMemorized","Mover","_visible","_onIntersection","newVisibility","fullyVisible","_fullyVisible","intersectionRatio","visibilityTolerance","trackState","visibilityAware","_intersectionObserver","IntersectionObserver","threshold","_observeState","memorizeCurrent","_allElements","_unobserve","_setCurrentTimer","setCurrent","changed","_prevCurrent","weak","getCurrent","hasDefault","tabsterFocusable","observer","mutations","mutation","removedNodes","added","addedNodes","requestUpdate","setElement","unobserve","updateElement","addNewElements","getMoverGroupper","removeWalk","toe","childList","subtree","attributeFilter","isCurrent","MoverAPI","_onMemorizedElement","_onMoverDispose","_movers","currentFocusableElement","deepestFocusableElement","_ignoredInputTimer","_ignoredInputResolve","moverKey","_isIgnoredInput","_moveFocus","memorizedElement","moverId","newMover","moverProps","isBoth","isHorizontal","isGridLinear","isGrid","isCyclic","cyclic","scrollIntoViewArg","focusedElementRect","focusedElementX1","focusedElementX2","nextElementX1","nextElementX2","firstColumnX1","lastColumnX1","ax1","ay1","ax2","ay2","lastDistance","lastIntersection","bx1","by1","bx2","by2","xIntersectionWidth","intersection","distance","xDistance","yDistance","sqrt","getDistance","alignToTop","scrollIntoView","asyncRet","textLength","selection","initialLength","modify","selStart","prevAnchorNode","prevFocusNode","prevAnchorOffset","prevFocusOffset","anchorFound","addOffsets","nodeText","UncontrolledAPI","_isUncontrolledCompletely","EVENT_NAME","Restorer","_hasFocus","RestorerAPI","_history","_restoreFocusTimeout","_onRestoreFocus","_restoreFocus","tabsterAttribute","_addToHistory","_keyboardNavState","weakElement","_focusedElementState","otherNode","assignedElements","ShadowMutationObserver","_overrideAttachShadow","origAttachShadow","attachShadow","__origAttachShadow","shadowObserver","_shadowObservers","_addSubObserver","_isObserving","_callbackWrapper","_walkShadows","_callback","_observer","_subObservers","_options","_root","subObserver","DOCUMENT_NODE","takeRecords","records","Tabster","TabsterCore","_forgetMemorizedElements","_initQueue","_storage","createWeakMap","DOMAPI","domapi","setDOMAPI","checkUncontrolledCompletely","checkUncontrolledTrappingFocus","internal","stopObserver","resumeObserver","syncState","updateTabsterElements","processNode","observeMutations","_mergeProps","createTabster","noRefCount","disposeTabster","allInstances","_initTimer","_forgetMemorizedTimer","stopFakeWeakRefsCleanupAndClearStorage","disposeInstanceContext","addremove","forceCleanup","getGroupper","tabsterCore","getMover","getModalizer","getRestorer","getCurrentTabster","useTabster","shadowDOMAPI","__tabsterShadowDOMAPI","_element_firstElementChild","useFocusFinders","findAllFocusable","findFirstFocusable","findLastFocusable","findNextFocusable","findPrevFocusable","Original","valueRef","versionRef","runWithPriority","NormalPriority","useContextSelector","prevState","objectIs","nextSelected","MenuContext","menuContextDefaultValue","setOpen","checkedValues","onCheckedValueChange","isSubmenu","triggerRef","menuPopoverRef","mountNode","triggerId","openOnContext","openOnHover","hasIcons","hasCheckmarks","persistOnItemClick","MenuProvider","useMenuContext_unstable","MENU_ENTER_EVENT","useHasParentContext","MenuListContext","menuListContextDefaultValue","setFocusByFirstCharacter","toggleCheckbox","selectRadio","MenuListProvider","useMenuListContext_unstable","useIsSubmenu","menuContextValue","hasMenuListContext","submenuFallbackPositions","useMenuSelectableState","setCheckedValues","defaultCheckedValues","checkedItems","_props_onCheckedValueChange","currentValue","useMenuOpenState","parentSetOpen","onOpenChange","_state_onOpenChange","setOpenTimeout","enteringTriggerRef","setOpenState","defaultOpen","trySetOpen","setContextTarget","bubble","_state_triggerRef_current","Event","hoverDelay","closeOnScroll","popoverRef","someMenuPopover","_popoverRef_current","useOnMenuMouseEnter","firstFocusable","positioningState","positioning","menuTrigger","menuPopover","useMenu_unstable","menu","useMenuContextValues_unstable","renderMenu_unstable","Space","isFluentTrigger","isFluentTriggerComponent","getTriggerChild","mergeCallbacks","callback1","callback2","applyTriggerPropsToChildren","triggerChildProps","cloneTriggerTree","triggerProps","grandchild","useARIAButtonProps","disabledFocusable","normalizedARIADisabled","handleClick","handleKeyDown","click","handleKeyUp","useMenuTrigger_unstable","disableButtonEnhancement","restoreFocusTargetAttribute","TabsterTypes","useRestoreFocusTarget","openedWithKeyboardRef","hasMouseMoved","OpenArrowKey","contextMenuProps","isTargetDisabled","keyboard","ariaButtonTriggerChildProps","MenuTriggerContext","MenuTriggerContextProvider","MenuTrigger","renderMenuTrigger_unstable","UNWANTED_ENCLOSURES_REGEX","UNWANTED_CHARS_REGEX","PHONENUMBER_REGEX","MULTIPLE_WHITESPACES_REGEX","UNSUPPORTED_TEXT_REGEX","getInitials","cleanupDisplayName","allowPhoneInitials","firstInitialOnly","initials","splits","getInitialsLatin","useRootStyles","useIconState","primaryFill","iconContext","flipInRtl","createFluentIcon","Icon","viewBox","PeopleRegular","PeopleTeamAddRegular","PersonRegular","SendRegular","SignOutRegular","Person20Regular","PersonAvailable20Regular","Play16Regular","PresenceAvailable10Filled","PresenceAvailable10Regular","PresenceAvailable12Filled","PresenceAvailable12Regular","PresenceAvailable16Filled","PresenceAvailable16Regular","PresenceAvailable20Filled","PresenceAvailable20Regular","PresenceAway10Filled","PresenceAway12Filled","PresenceAway16Filled","PresenceAway20Filled","PresenceBlocked10Regular","PresenceBlocked12Regular","PresenceBlocked16Regular","PresenceBlocked20Regular","PresenceBusy10Filled","PresenceBusy12Filled","PresenceBusy16Filled","PresenceBusy20Filled","PresenceDnd10Filled","PresenceDnd10Regular","PresenceDnd12Filled","PresenceDnd12Regular","PresenceDnd16Filled","PresenceDnd16Regular","PresenceDnd20Filled","PresenceDnd20Regular","PresenceOffline10Regular","PresenceOffline12Regular","PresenceOffline16Regular","PresenceOffline20Regular","PresenceOof10Regular","PresenceOof12Regular","PresenceOof16Regular","PresenceOof20Regular","PresenceUnknown10Regular","PresenceUnknown12Regular","PresenceUnknown16Regular","PresenceUnknown20Regular","Print16Regular","presenceAwayFilled","tiny","small","medium","presenceAvailableRegular","presenceAvailableFilled","presenceBlockedRegular","presenceBusyFilled","presenceDndFilled","presenceDndRegular","presenceOofRegular","presenceOfflineRegular","presenceUnknownRegular","useBadge_unstable","iconPosition","appearance","DEFAULT_STRINGS","busy","away","available","offline","unknown","blocked","usePresenceBadge_unstable","outOfOffice","oofText","IconElement","iconMap","__resetStyles","ltrClassName","__resetStyles$1","presenceBadgeClassNames","useRootClassName","useIconClassName","statusBusy","statusAway","statusAvailable","statusOffline","statusOutOfOffice","statusUnknown","outOfOfficeAvailable","outOfOfficeBusy","outOfOfficeUnknown","Bubjx69","a9b677","B2eet1l","B5pe6w7","p4uzdd","extraLarge","renderBadge_unstable","PresenceBadge","rootClassName","iconClassName","isBusy","usePresenceBadgeStyles_unstable","useCustomStyleHook_unstable","avatarContext","avatarContextDefaultValue","AvatarContextProvider","inactive","useAvatar_unstable","contextShape","contextSize","useAvatarContext","activeAppearance","idForColor","avatarColors","getHashCode","baseId","imageHidden","setImageHidden","badge","getBadgeSize","activeAriaLabelElement","activeText","hashCode","avatarClassNames","useImageClassName","useIconInitialsClassName","textCaption2Strong","textCaption1Strong","textSubtitle2","textSubtitle1","textTitle3","squareSmall","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","squareMedium","squareLarge","squareXLarge","activeOrInactive","Bz10aip","Bmy1vo4","B3o57yi","Bkqvd7p","Hwfdqs","ring","Ftih45","ringBadgeCutout","f4a502","ringThick","of393c","ringThicker","ringThickest","Bsft5z2","shadow4","Be6vj1x","shadow8","shadow16","shadow28","abs64n","Bucmhp4","b2tv09","Bfgortx","Bnvr3x9","b6ubon","Bqinb2h","qhf8xq","B5kzvoi","j35jbq","badgeCutout","btxmck","badgeAlign","Dnlfbu","Bdjeniz","niu6jh","icon12","icon16","icon20","icon24","icon28","icon32","icon48","useSizeStyles","Bqenvij","useColorStyles","neutral","brand","cranberry","red","pumpkin","peach","marigold","gold","brass","brown","forest","seafoam","teal","steel","blue","cornflower","navy","lavender","purple","grape","lilac","pink","magenta","plum","beige","mink","platinum","useRingColorStyles","Bic5iru","Avatar","imageClassName","iconInitialsClassName","sizeStyles","colorStyles","ringColorStyles","rootClasses","iconSizeClass","useAvatarStyles_unstable","renderAvatar_unstable","useMenuPopover_unstable","canDispatchCustomEventRef","throttleDispatchTimerRef","restoreFocusSourceAttributes","useRestoreFocusSource","CloseArrowKey","mouseOverListenerCallbackRef","dispatchMenuEnterEvent","_useMenuContext_unstable","rootProps","onMouseEnterOriginal","onKeyDownOriginal","_triggerRef_current","menuPopoverClassNames","B7ck84d","Bf4jedk","B2u0y6b","E5pizo","z8tnut","z189sj","Byoj8tv","uwmqm3","B4j52fo","Bekrc4i","Bn0qgzm","ibv6hh","icvyot","vrafjx","oivjwe","wvpqe5","g2u3we","h3c5rm","B9xav0g","zhjwy3","B93otf3","vin17d","Ezkn3b","nyiy2g","swvrvq","Bkovbt3","hgjdhn","fsy9dk","B3ogreh","jv49x5","Bk7o48c","Bv12yb3","z0t1cu","Bks05zx","Bvtglag","setVirtualParent","virtualChild","PortalMountNodeContext","usePortalMountNodeStylesStyles","Bhzewxz","oyh7mz","Bj3rh1h","usePortalMountNode","focusVisibleRef","useThemeClassName","targetNode","useMemo4","React4","useEffect3","disposable","useDisposable","newElement","classesToApply","usePortal_unstable","toMountNodeProps","virtualParentRootRef","fallbackElement","isVirtualParentInsideChild","ReactDOM","renderPortal_unstable","MenuPopover","useMenuPopoverStyles_unstable","renderMenuPopover_unstable","useTabsterAttributes","strAttr","useArrowNavigationGroup","circular","ignoreDefaultKeydown","unstable_hasDefault","axisToMoverDirection","Types","useMenuContextSelectors","usingPropsAndMenuContext","hasMenuContext","isUsingPropsAndContext","menuListClassNames","Beiy3e4","i8kkvl","Belr9w4","MenuList","useMenuList_unstable","menuContext","focusAttributes","Tab","innerRef","itemEl","acceptedRoles","menuItems","startIndex","firstChars","menuItem","_menuItem_textContent","getIndexFirstChars","firstChar","_props_checkedValues","handleCheckedValueChange","newCheckedItems","menuList","useMenuListContextValues_unstable","useMenuListStyles_unstable","renderMenuList_unstable","presenceSizes","huge","avatarSizes","personaClassNames","beforeAfterCenter","wkccdc","B7hvi0a","Budl1dq","Bxotwcr","Ijaq50","mediaBeforeAfterCenter","qb2dma","afterAlignToPrimary","Bw0ie65","beforeAlignToPrimary","Br312pm","secondLineSpacing","B6of3ja","secondary","tertiary","quaternary","useAvatarSpacingStyles","Bs1gm4r","t21cq0","jrapky","Frg6f3","usePresenceSpacingStyles","usePrimaryTextBaseClassName","useOptionalTextBaseClassName","useTextStyles","body1","caption1","subtitle2","useTextClassNames","alignToPrimary","presenceOnly","textPosition","primaryTextBaseClassName","optionalTextBaseClassName","textStyles","primaryTextSize","alignToPrimaryClassName","numTextLines","primaryTextClassName","optionalTextClassName","Persona","usePersona_unstable","textAlignment","primaryText","secondaryText","tertiaryText","quaternaryText","presence","alignBeforeAfterCenter","avatarSpacingStyles","presenceSpacingStyles","usePersonaStyles_unstable","coin","renderPersona_unstable","menuDividerClassNames","MenuDivider","useMenuDivider_unstable","useMenuDividerStyles_unstable","renderMenuDivider_unstable","useBundledIconStyles","bundleIcon","FilledIcon","RegularIcon","filled","visible","ChevronLeftFilled","ChevronLeftRegular","ChevronRightFilled","ChevronRightRegular","ClipboardRegular","DismissCircleFilled","DocumentPdfRegular","DocumentTextRegular","EditFilled","EditRegular","ErrorCircleRegular","ChevronRightIcon","ChevronLeftIcon","useMenuItem_unstable","isSubmenuTrigger","useMenuTriggerContext_unstable","persistOnClickContext","hasSubmenu","persistOnClick","dismissedWithKeyboardRef","checkmark","submenuIndicator","secondaryContent","_props_onKeyDown","_innerRef_current","_props_onMouseEnter","_props_onClick","useCharacterSearch","originalOnKeyDown","_e_key","Bcdw1i0","rootChecked","menuItemClassNames","useRootBaseStyles","useContentBaseStyles","useSecondaryContentBaseStyles","useIconBaseStyles","useSubmenuIndicatorBaseStyles","splitItemMain","Bh6795r","splitItemTrigger","Ccq8qp","Baz25je","cmx5o7","Bi91k9c","Jwef8y","eoavqd","Bk3fhr4","Bmfj8id","Bg7n49j","B2d53fq","iro3zm","t0hwav","Bbusuzp","ze5xyy","Bctn1xl","Bh6z0a4","useMenuItemStyles_unstable","rootBaseStyles","contentBaseStyles","secondaryContentBaseStyles","iconBaseStyles","submenuIndicatorBaseStyles","useCheckmarkStyles_unstable","MenuItem","renderMenuItem_unstable","buttonContext","buttonContextDefaultValue","useButton_unstable","useButtonContext","iconShorthand","iconOnly","buttonClassNames","useRootBaseClassName","useIconBaseClassName","Bgoe8wy","Bwzppfd","oetu4i","gg5e9n","b661bw","Bk6r4ia","B9zn80p","Bpld233","Bsw6fvg","Bjwas2f","Bn1d65q","Bxeuatn","n51gp8","ycbfsm","Bqrx1nm","pgvf35","Bh7lczh","dpv3f4","Bpnjhaq","g2kj27","Bf756sw","Bow2dr7","Bvhedfk","Gye4lf","pc6evw","Bbdnnc7","em6i61","vm6p8p","x3br3k","Bx3q9su","xd2cci","transparent","rounded","smallWithIcon","largeWithIcon","useRootDisabledStyles","Bceei9c","Bfinmwp","c3iz72","highContrast","G867l3","gdbnj","mxns5l","o3nasb","useRootFocusStyles","kdpuga","Bw81rd7","B6xbmo0","dm238s","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","j6ew2k","he4mth","Byr4aka","lks7q5","Bnan3qt","k1dn9","Boium3a","tm8e47","useRootIconOnlyStyles","useIconStyles","Bqrlyyl","Button","rootBaseClassName","iconBaseClassName","rootStyles","rootDisabledStyles","rootFocusStyles","rootIconOnlyStyles","iconStyles","useButtonStyles_unstable","renderButton_unstable","Save16Regular","Search20Regular","Settings16Filled","Settings24Regular","Share20Filled","Share20Regular","ShieldTask16Regular","app","updateCheckIntervalSeconds","CONNECTION_ALERT_ID","importTypes","msal","semanticKernelScopes","msGraphAppScopes","bot","fullName","emailAddress","department","photo","botIcon1","fileExtension","typingIndicatorTimeoutMs","service","defaultDefinition","reservedWords","UNKNOWN_VARIABLE_FLAG","adoScopes","BATCH_REQUEST_LIMIT","msGraphScopes","KEYSTROKE_DEBOUNCE_TIME_MS","toPropertyKey","toPrimitive","NOTHING","DRAFTABLE","DRAFT_STATE","die","isDraft","isDraftable","_value$constructor","isSet","iter","getArchtype","thing","type_","propOrOldValue","latest","copy_","base_","shallowCopy","descriptors","getOwnPropertyDescriptors","ownKeys","isFrozen","dontMutateFrozenCollections","currentScope","getPlugin","pluginKey","plugin","getCurrentScope","usePatchesInScope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","drafts_","revokeDraft","parent_","enterScope","immer2","immer_","canAutoFreeze_","unfinalizedDrafts_","draft","revoke_","revoked_","processResult","baseDraft","modified_","finalize","maybeFreeze","generateReplacementPatches_","rootScope","childValue","finalizeProperty","scope_","finalized_","resultEach","isSet2","generatePatches_","parentState","targetObject","rootPath","targetIsSet","assigned_","autoFreeze_","objectTraps","_desc$get","getDescriptorFromProto","draft_","readPropFromProto","prepareCopy","createProxy","current2","currentState","markChanged","deleteProperty","arrayTraps","useStrictShallowCopy_","proxyMap_","proxySet_","isManual_","traps","revoke","proxy","Proxy","revocable","createProxyProxy","currentImpl","immer","produce","recipe","defaultBase","base2","_len2","_key3","hasError","produceWithPatches","_len3","_key4","patches","inversePatches","autoFreeze","setAutoFreeze","useStrictShallowCopy","setUseStrictShallowCopy","createDraft","finishDraft","applyPatches","patch","applyPatchesImpl","applyPatches_","assertIsFunction","ensureIsArray","getDependencies","createSelectorArgs","itemTypes","assertIsArrayOfFunctions","Ref","UNTERMINATED","TERMINATED","createCacheNode","weakMapMemoize","fnNode","resultEqualityCheck","lastResult","resultsCount","cacheNode","objectCache","objectNode","primitiveCache","primitiveNode","terminatedNode","_lastResult$deref","_lastResult","_lastResult$deref2","lastResultValue","clearCache","resetResultsCount","createSelectorCreator","memoizeOrOptions","memoizeOptionsFromArgs","_key2","createSelectorCreatorOptions","memoizeOptions","createSelector2","recomputations","dependencyRecomputations","directlyPassedOptions","resultFunc","combinedOptions","argsMemoize","argsMemoizeOptions","devModeChecks","finalMemoizeOptions","finalArgsMemoizeOptions","memoizedResultFunc","inputSelectorResults","inputSelectorArgs","collectInputSelectorResults","resetDependencyRecomputations","resetRecomputations","withTypes","createSelector","createStructuredSelector","inputSelectorsObject","selectorCreator","assertIsObject","inputSelectorKeys","structuredSelector","composition","formatProdErrorMessage","symbol_observable_default","observable","randomString","actionTypes_default","INIT","REPLACE","PROBE_UNKNOWN_ACTION","createStore","preloadedState","enhancer","currentReducer","currentListeners","nextListeners","listenerIdCounter","isDispatching","ensureCanMutateNextListeners","listenerId","replaceReducer","nextReducer","outerSubscribe","observeState","observerAsObserver","combineReducers","reducers","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","assertReducerShape","nextState","previousStateForKey","nextStateForKey","compose","funcs","createThunkMiddleware","extraArgument","thunk","withExtraArgument","composeWithDevTools","createDraftSafeSelector2","createDraftSafeSelectorCreator","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","createAction","prepareAction","actionCreator","prepared","isAction","Tuple","_Tuple","species","prepend","freezeDraftable","createNextState","emplace","SHOULD_AUTOBATCH","createQueueWithTimer","rAF","buildGetDefaultEnhancers","middlewareEnhancer","autoBatch","enhancerArray","notifying","shouldNotifyAtEndOfTick","notificationQueued","queueCallback","queueNotification","notifyListeners","listener2","wrappedListener","_action$meta","autoBatchEnhancer","executeReducerBuilderCallback","builderCallback","actionsMap","actionMatchers","defaultCaseReducer","builder","addCase","typeOrActionCreator","addMatcher","matcher","addDefaultCase","nanoid","asyncThunkSymbol","getType","actionKey","buildCreateSlice","_creators$asyncThunk","creators","cAT","asyncThunk","reducerPath","payloadCreator","_reducerDefinitionType","caseReducer","preparedReducer","prepare","buildReducerCreators","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","sliceMatchers","contextMethods","reducer2","exposeAction","name2","exposeCaseReducer","buildReducer","extraReducers","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","frozenInitialState","caseReducers","cr","isDraft2","isDraftable2","createNextState2","createReducer","sM","reducerName","reducerDefinition","reducerDetails","createNotation","isAsyncThunkSliceReducerDefinition","maybeReducerWithPrepare","prepareCallback","isCaseReducerWithPrepareDefinition","handleNormalReducerDefinition","fulfilled","rejected","settled","handleThunkCaseReducerDefinition","selectSelf","injectedSelectorCache","_reducer","makeSelectorProps","reducerPath2","injected","selectSlice","sliceState","getSelectors","selectState","selectorCache","_options$selectors","wrapSelector","actions","injectInto","injectable","pathOpt","newReducerPath","rootState","_len11","_key11","unwrapped","createSlice","completed","cancelled","assertFunction","expected","alm","getListenerEntryPropsFrom","effect","createListenerEntry","addListener","removeListener","AlertType","TokenUsageFunctionNameMap","audienceExtraction","userIntentExtraction","metaPromptTemplate","responseCompletion","workingMemoryExtraction","longTermMemoryExtraction","DefaultChatUser","availability","online","isTyping","DefaultActiveUserInfo","FeatureKeys","Features","DarkMode","SimplifiedExperience","PluginsPlannersAndPersonas","AzureContentSafety","AzureAISearch","BotAsDocs","MultiUserChat","RLHF","stackVertically","appSlice","alerts","activeUserInfo","authConfig","tokenUsage","serviceInfo","memoryStore","selectedType","availablePlugins","isContentSafetyEnabled","isMaintenance","setMaintenance","setAlerts","addAlert","isServerConnectionError","updateConnectionStatus","addNewAlert","removeAlert","setActiveUserInfo","updateTokenUsage","getTotalTokenUsage","toggleFeatureFlag","toggleFeatureState","deactivate","setServiceInfo","setAuthConfig","previousSum","newAlert","statusUpdate","_statusUpdate$id","connectionAlertIndex","alert","HttpTransportType","TransferFormat","DEFAULT_RETRY_DELAYS_IN_MILLISECONDS","DefaultReconnectPolicy","retryDelays","_retryDelays","nextRetryDelayInMilliseconds","retryContext","previousRetryCount","Cookie","HttpResponse","HttpClient","getCookieString","AccessTokenHttpClient","innerClient","accessTokenFactory","_innerClient","_accessTokenFactory","allowRetry","_accessToken","_setAuthorizationHeader","HttpError","trueProto","TimeoutError","AbortError","UnsupportedTransportError","transport","errorType","DisabledTransportError","FailedToStartTransportError","FailedToNegotiateWithServerError","AggregateErrors","innerErrors","NullLogger","_logLevel","_message","VERSION","Arg","isNotEmpty","Platform","isBrowser","isWebWorker","isReactNative","release","getDataDetail","includeContent","isArrayBuffer","transportName","httpClient","getUserAgentHeader","logMessageContent","withCredentials","SubjectSubscription","subject","_subject","observers","cancelCallback","ConsoleLogger","minimumLogLevel","_minLevel","Critical","Information","userAgentHeaderName","constructUserAgent","getOsName","getRuntime","getRuntimeVersion","runtimeVersion","majorAndMinor","versions","getErrorString","FetchHttpClient","_logger","fetchObj","_fetchType","_jar","getGlobalThis","_abortControllerType","AbortController","abortObj","configureAbortController","abortSignal","aborted","abortController","onabort","abort","msTimeout","credentials","redirect","deserializeContent","cookies","getCookies","XhrHttpClient","ontimeout","DefaultHttpClient","_httpClient","_isAborted","LongPollingTransport","pollAborted","_pollAbort","_running","onreceive","transferFormat","pollOptions","pollUrl","_closeError","_receiving","_poll","_raiseOnClose","deleteOptions","ServerSentEventsTransport","opened","_close","_eventSource","WebSocketTransport","webSocketConstructor","_logMessageContent","_webSocketConstructor","webSocket","_event","_webSocket","ErrorEvent","_isCloseEvent","wasClean","HttpConnection","_stopPromiseResolver","_negotiateVersion","_resolveUrl","webSocketModule","eventSourceModule","_connectionState","_connectionStarted","_startInternalPromise","_startInternal","_stopPromise","_sendQueue","TransportSendQueue","_stopInternal","_stopError","_stopConnection","skipNegotiation","WebSockets","_constructTransport","_startTransport","negotiateResponse","_getNegotiationResponse","ProtocolVersion","_createTransport","inherentKeepAlive","negotiateUrl","_resolveNegotiateUrl","negotiateVersion","connectionToken","useStatefulReconnect","_useStatefulReconnect","_createConnectUrl","requestedTransport","requestedTransferFormat","connectUrl","_isITransport","transportExceptions","transports","availableTransports","negotiate","transportOrError","_resolveTransportOrError","ex","ServerSentEvents","LongPolling","reconnect","callStop","resend","actualTransport","transportMatches","transferFormats","aTag","URLSearchParams","_transport","_buffer","_executing","_sendBufferedData","PromiseSource","_transportResult","_sendLoopPromise","_sendLoop","_bufferData","transportResult","_concatBuffers","arrayBuffers","totalLength","_resolver","_rejecter","TextMessageFormat","RecordSeparator","RecordSeparatorCode","HandshakeProtocol","writeHandshakeRequest","handshakeRequest","parseHandshakeResponse","messageData","remainingData","binaryData","responseLength","textData","Subject","MessageBuffer","_bufferSize","_messages","_totalMessageCount","_waitForSequenceMessage","_nextReceivingSequenceId","_latestReceivedSequenceId","_bufferedByteCount","_reconnectInProgress","_connection","_send","serializedMessage","writeMessage","backpressurePromise","_isInvocationMessage","backpressurePromiseResolver","backpressurePromiseRejector","BufferedItem","_disconnected","_ack","ackMessage","newestAckedMessage","_shouldProcessMessage","Sequence","currentId","_ackTimer","_resetSequence","_resend","_dispose","_rejector","Invocation","StreamItem","Completion","StreamInvocation","CancelInvocation","Close","Ping","Ack","_ackTimerHandle","rejector","HubConnectionState","HubConnection","reconnectPolicy","serverTimeoutInMilliseconds","keepAliveIntervalInMilliseconds","statefulReconnectBufferSize","_nextKeepAlive","_freezeEventListener","_statefulReconnectBufferSize","_reconnectPolicy","_handshakeProtocol","_processIncomingData","_connectionClosed","_methods","_closedCallbacks","_reconnectingCallbacks","_reconnectedCallbacks","_invocationId","_receivedHandshakeResponse","_cachedPingMessage","Reconnecting","_startPromise","_startWithStateTransitions","_stopDuringStartError","handshakePromise","_handshakeResolver","_handshakeRejecter","_sendMessage","_cleanupTimeout","_resetTimeoutPeriod","_resetKeepAliveInterval","_messageBuffer","_cleanupPingTimer","startPromise","Disconnecting","_reconnectDelayHandle","_completeClose","_sendCloseMessage","_sendWithProtocol","_createCloseMessage","methodName","streams","streamIds","_replaceStreamingParams","invocationDescriptor","_createStreamInvocation","promiseQueue","cancelInvocation","_createCancelInvocation","invocationId","invocationEvent","_launchStreams","sendPromise","_createInvocation","newMethod","off","handlers","removeIdx","onreconnecting","onreconnected","_processHandshakeResponse","parseMessages","_invokeClientMethod","allowReconnect","_timeoutHandle","serverTimeout","_pingServerHandle","nextPing","invocationMessage","methods","_createCompletionMessage","methodsCopy","expectsResponse","completionMessage","prevRes","_cancelCallbacksWithError","_reconnect","reconnectStartTime","previousReconnectAttempts","retryError","nextRetryDelay","_getNextRetryDelay","elapsedMilliseconds","retryReason","nonblocking","_createStreamItemMessage","_isObservable","JsonHubProtocol","hubMessages","parsedMessage","_isStreamItemMessage","_isCompletionMessage","_isAckMessage","_isSequenceMessage","_assertNotEmptyString","LogLevelNameMapping","information","critical","HubConnectionBuilder","configureLogging","logging","mapping","parseLogLevel","withUrl","transportTypeOrOptions","httpConnectionOptions","withHubProtocol","withAutomaticReconnect","retryDelaysOrReconnectPolicy","withServerTimeout","milliseconds","_serverTimeoutInMilliseconds","withKeepAliveInterval","_keepAliveIntervalInMilliseconds","withStatefulReconnect","COPY","chatName","useAppDispatch","useAppSelector","AuthorRoles","ChatMessageType","UserFeedback","conversationsSlice","conversations","selectedId","setConversations","editConversationTitle","newTitle","frontLoadChat","editConversationInput","newInput","editConversationSystemDescription","newSystemDescription","systemDescription","editConversationMemoryBalance","newMemoryBalance","memoryBalance","setSelectedConversation","toggleMultiUserConversations","users","addConversation","newId","addUserToConversation","chatId","userDataLoaded","setImportingDocumentsToConversation","importingDocuments","setUsersLoaded","addMessageToConversationFromUser","updateConversation","addMessageToConversationFromServer","updateUserIsTyping","updateUserTypingState","updateUserIsTypingFromServer","updateBotResponseStatus","botResponseStatus","updateMessageProperty","messageIdOrIndex","updatedContent","frontLoad","conversationMessage","deleteConversation","disableConversation","updatePluginState","pluginName","isPluginEnabled","enabledHostedPlugins","requestUserFeedback","userFeedback","Requested","noResponseBodyStatusCodes","BackendServiceUrl","NetworkErrorMessage","BaseService","serviceUrl","getResponseAsync","enabledPlugins","commandPath","isFormData","FormData","_plugin$authData","headerTag","authData","responseDetails","isNetworkError","ChatArchiveService","downloadAsync","uploadAsync","chatArchive","ChatService","createChatAsync","getChatAsync","getAllChatsAsync","getChatMessagesAsync","startIdx","editChatAsync","deleteChatAsync","getBotResponseAsync","ask","_ask$variables","_ask$variables$find","processPlan","openApiSkillVariables","customPlugins","manifestDomain","nameForHuman","nameForModel","authHeaderTag","authRequirements","personalAccessToken","apiProperties","propertyDetails","joinChatAsync","getChatMemorySourcesAsync","getAllChatParticipantsAsync","getSemanticMemoriesAsync","memoryName","getServiceInfoAsync","DocumentImportService","importDocumentAsync","documents","useContentSafety","uploadToGlobal","formData","getContentSafetyStatusAsync","timestampToDateString","alwaysShowTime","dateString","day","timeString","hour","minute","toDateString","getErrorDetails","PlanState","useChat","_activeUserInfo$id","_activeUserInfo$usern","_activeUserInfo$email","_activeUserInfo$depar","_activeUserInfo$avail","_activeUserInfo$activ","_activeUserInfo$email2","_activeUserInfo$manag","_activeUserInfo$photo","botService","chatService","documentImportService","botProfilePictures","loggedInUser","createChat","chatTitle","toLocaleString","AuthHelper","getSKaaSAccessToken","newChat","chatSession","initialBotMessage","botProfilePicture","getBotProfilePicture","getResponse","kernelArguments","chatInput","userName","authorRole","_askResult$variables$","responseTokenUsage","getEnabledPlugins","deleteChat","friendlyChatName","getFriendlyChatName","onRetry","getChatUserById","loadChats","chatSessions","loadedConversations","chatUsers","chatMessages","nonHiddenChats","downloadBot","uploadBot","getChatMemorySources","getSemanticMemories","importDocument","files","joinChat","editChat","syetemDescription","getServiceInfo","planState","serializedPlan","planGoal","Approved","convo","_firstUserMessage$con","firstUserMessage","Bot","friendlyTitle","SignalRCallbackMethods","startSignalRConnection","hubConnection","registerCommonSignalConnectionEvents","_error","signalR","getOrCreateHubConnection","setupSignalRConnectionToChatHub","connectionHubUrl","signalRConnectionOptions","registerSignalREvents","ReceiveMessage","senderId","_store$getState$app$a","responseToLoggedInUser","Plan","PlanApprovalRequired","Disabled","ReceiveMessageUpdate","_message$tokenUsage","messageId","UserJoined","ReceiveUserTypingState","ReceiveBotResponseStatus","GlobalDocumentUploaded","fileNames","ChatEdited","chat","ChatDeleted","_store$getState$app$a2","deletedByAnotherUser","GlobalSiteMaintenance","PluginStateChanged","pluginState","signalRMiddleware","signalRAction","getSelectedChatID","BuiltInPlugins","AuthHeaderTags","pluginsState","MsGraph","publisher","Msal","Jira","helpLink","GitHub","repo","connectPlugin","disconnectPlugin","addPlugin","usersSlice","setUsers","resetApp","rootReducer","appReducer","conversationsReducer","pluginsReducer","usersReducer","getDefaultMiddleware","immutableCheck","serializableCheck","actionCreatorCheck","middlewareArray","thunkMiddleware","devTools","enhancers","finalMiddleware","isPlainObject2","finalCompose","compose2","middlewares","createStore2","middlewareAPI","_len4","chain","applyMiddleware","getDefaultEnhancers","storeEnhancers","configureStore","resetAppReducer","TokenErrors","accessTokenRequest","msalInstance","interactionStatus","accessTokenResponse","InteractionInProgress","interactionInProgressHandler","waitFor","hasInteractionCompleted","checkInteraction","TokenHelper","_AuthHelper$getAuthCo","getAuthConfig","aadAuthority","AuthType","getMsalScopes","_getAuthConfig","aadApiScope","isAuthAAD","_getAuthConfig2","getMsalConfig","aadClientId","ssoSilentRequest","_msalInstance$getActi","loginAsync","logoutAsync","useClasses","cursor","persona","overflowWrap","UserSettingsMenu","_localStorage$getItem","setLoadingState","onLogout","currentFont","setCurrentFont","_localStorage$getItem2","updateFont","storedFont","_Fragment","Title3","useTimeout","setTimer","cancelTimer","useBrowserTimer","labelClassNames","semibold","Label","useLabel_unstable","useLabelStyles_unstable","renderLabel_unstable","DefaultSvg","SpinnerContext","SpinnerContextDefaultValue","useSpinner_unstable","useSpinnerContext","labelPosition","nativeRoot","isShownAfterDelay","setIsShownAfterDelay","setDelayTimeout","clearDelayTimeout","labelShorthand","spinnerShortHand","shouldRenderSpinner","spinnerClassNames","Bt984gj","Brf1p80","horizontal","vertical","useLoaderStyles","spinnerSVG","B3aqqti","Brovlpu","Bxa1mx5","Bwaue66","fyp1ls","ag6ruv","osj692","aq5vjd","tlu9e1","J3u96z","d32isg","Bsvqbuc","b3s3i5","Bah9ito","ut6tcf","B7p06xz","B807ibg","useTrackStyles","inverted","gwg7kz","Bvrehnu","Bidp6o","cq3kgi","Btwiser","B8001xd","Bdordwa","Bo2mdfu","E10nrc","Bwl7w15","Bksq7rz","B8k2rxp","y14cdu","useLabelStyles","Spinner","spinnerStyles","labelStyles","trackStyles","useSpinnerStyles_unstable","renderSpinner_unstable","Body1","MaintenanceService","getMaintenanceStatus","grey","whiteAlpha","blackAlpha","grey10Alpha","grey12Alpha","grey14Alpha","white","black","shade50","shade40","shade30","shade20","shade10","tint10","tint20","tint30","tint40","tint50","tint60","green","statusSharedColors","darkOrange","yellow","berry","lightGreen","personaSharedColors","darkRed","darkGreen","lightTeal","royalBlue","mappedStatusColors","orange","statusSharedColorNames","personaSharedColorNames","statusColorMapping","danger","statusColorPaletteTokens","sharedColor","sharedColorTokens","colorPaletteYellowForeground1","colorPaletteRedForegroundInverted","colorPaletteGreenForegroundInverted","colorPaletteYellowForegroundInverted","personaColorPaletteTokens","colorPaletteTokens","colorStatusTokens","statusColor","statusColorTokens","colorStatusWarningForeground1","colorStatusWarningForeground3","colorStatusWarningBorder2","borderRadiusNone","borderRadiusSmall","borderRadiusMedium","borderRadiusLarge","borderRadiusXLarge","borderRadiusCircular","fontSizes","fontSizeBase100","fontSizeBase200","fontSizeBase300","fontSizeBase400","fontSizeBase500","fontSizeBase600","fontSizeHero700","fontSizeHero800","fontSizeHero900","fontSizeHero1000","lineHeights","lineHeightBase100","lineHeightBase200","lineHeightBase300","lineHeightBase400","lineHeightBase500","lineHeightBase600","lineHeightHero700","lineHeightHero800","lineHeightHero900","lineHeightHero1000","fontWeights","fontWeightRegular","fontWeightMedium","fontWeightSemibold","fontWeightBold","fontFamilies","fontFamilyBase","fontFamilyMonospace","fontFamilyNumeric","strokeWidths","strokeWidthThin","strokeWidthThick","strokeWidthThicker","strokeWidthThickest","createShadowTokens","ambientColor","keyColor","tokenSuffix","durations","durationUltraFast","durationFaster","durationFast","durationNormal","durationGentle","durationSlow","durationSlower","durationUltraSlow","curves","curveAccelerateMax","curveAccelerateMid","curveAccelerateMin","curveDecelerateMax","curveDecelerateMid","curveDecelerateMin","curveEasyEaseMax","curveEasyEase","curveLinear","horizontalSpacings","spacingHorizontalNone","spacingHorizontalXXS","spacingHorizontalXS","spacingHorizontalSNudge","spacingHorizontalS","spacingHorizontalMNudge","spacingHorizontalM","spacingHorizontalL","spacingHorizontalXL","spacingHorizontalXXL","spacingHorizontalXXXL","verticalSpacings","spacingVerticalNone","spacingVerticalXXS","spacingVerticalXS","spacingVerticalSNudge","spacingVerticalS","spacingVerticalMNudge","spacingVerticalM","spacingVerticalL","spacingVerticalXL","spacingVerticalXXL","spacingVerticalXXXL","colorPaletteRedForeground3","colorPaletteRedBorder2","colorPaletteGreenForeground3","colorPaletteGreenBorder2","colorPaletteDarkOrangeForeground3","colorPaletteDarkOrangeBorder2","colorPaletteDarkRedBackground2","colorPalettePlumBackground2","colorStatusDangerForeground3","colorStatusDangerBorder2","colorStatusSuccessForeground3","colorStatusSuccessBorder2","colorStatusWarningForegroundInverted","semanticKernelBrandRamp","semanticKernelLightTheme","colorTokens","colorNeutralForeground1","colorNeutralForeground1Hover","colorNeutralForeground1Pressed","colorNeutralForeground1Selected","colorNeutralForeground2","colorNeutralForeground2Hover","colorNeutralForeground2Pressed","colorNeutralForeground2Selected","colorNeutralForeground2BrandHover","colorNeutralForeground2BrandPressed","colorNeutralForeground2BrandSelected","colorNeutralForeground3","colorNeutralForeground3Hover","colorNeutralForeground3Pressed","colorNeutralForeground3Selected","colorNeutralForeground3BrandHover","colorNeutralForeground3BrandPressed","colorNeutralForeground3BrandSelected","colorNeutralForeground4","colorNeutralForegroundDisabled","colorNeutralForegroundInvertedDisabled","colorBrandForegroundLink","colorBrandForegroundLinkHover","colorBrandForegroundLinkPressed","colorBrandForegroundLinkSelected","colorNeutralForeground2Link","colorNeutralForeground2LinkHover","colorNeutralForeground2LinkPressed","colorNeutralForeground2LinkSelected","colorCompoundBrandForeground1","colorCompoundBrandForeground1Hover","colorCompoundBrandForeground1Pressed","colorBrandForeground1","colorBrandForeground2","colorBrandForeground2Hover","colorBrandForeground2Pressed","colorNeutralForeground1Static","colorNeutralForegroundStaticInverted","colorNeutralForegroundInverted","colorNeutralForegroundInvertedHover","colorNeutralForegroundInvertedPressed","colorNeutralForegroundInvertedSelected","colorNeutralForegroundInverted2","colorNeutralForegroundOnBrand","colorNeutralForegroundInvertedLink","colorNeutralForegroundInvertedLinkHover","colorNeutralForegroundInvertedLinkPressed","colorNeutralForegroundInvertedLinkSelected","colorBrandForegroundInverted","colorBrandForegroundInvertedHover","colorBrandForegroundInvertedPressed","colorBrandForegroundOnLight","colorBrandForegroundOnLightHover","colorBrandForegroundOnLightPressed","colorBrandForegroundOnLightSelected","colorNeutralBackground1","colorNeutralBackground1Hover","colorNeutralBackground1Pressed","colorNeutralBackground1Selected","colorNeutralBackground2","colorNeutralBackground2Hover","colorNeutralBackground2Pressed","colorNeutralBackground2Selected","colorNeutralBackground3","colorNeutralBackground3Hover","colorNeutralBackground3Pressed","colorNeutralBackground3Selected","colorNeutralBackground4","colorNeutralBackground4Hover","colorNeutralBackground4Pressed","colorNeutralBackground4Selected","colorNeutralBackground5","colorNeutralBackground5Hover","colorNeutralBackground5Pressed","colorNeutralBackground5Selected","colorNeutralBackground6","colorNeutralBackgroundInverted","colorNeutralBackgroundStatic","colorNeutralBackgroundAlpha","colorNeutralBackgroundAlpha2","colorSubtleBackground","colorSubtleBackgroundHover","colorSubtleBackgroundPressed","colorSubtleBackgroundSelected","colorSubtleBackgroundLightAlphaHover","colorSubtleBackgroundLightAlphaPressed","colorSubtleBackgroundLightAlphaSelected","colorSubtleBackgroundInverted","colorSubtleBackgroundInvertedHover","colorSubtleBackgroundInvertedPressed","colorSubtleBackgroundInvertedSelected","colorTransparentBackground","colorTransparentBackgroundHover","colorTransparentBackgroundPressed","colorTransparentBackgroundSelected","colorNeutralBackgroundDisabled","colorNeutralBackgroundInvertedDisabled","colorNeutralStencil1","colorNeutralStencil2","colorNeutralStencil1Alpha","colorNeutralStencil2Alpha","colorBackgroundOverlay","colorScrollbarOverlay","colorBrandBackground","colorBrandBackgroundHover","colorBrandBackgroundPressed","colorBrandBackgroundSelected","colorCompoundBrandBackground","colorCompoundBrandBackgroundHover","colorCompoundBrandBackgroundPressed","colorBrandBackgroundStatic","colorBrandBackground2","colorBrandBackground2Hover","colorBrandBackground2Pressed","colorBrandBackgroundInverted","colorBrandBackgroundInvertedHover","colorBrandBackgroundInvertedPressed","colorBrandBackgroundInvertedSelected","colorNeutralStrokeAccessible","colorNeutralStrokeAccessibleHover","colorNeutralStrokeAccessiblePressed","colorNeutralStrokeAccessibleSelected","colorNeutralStroke1","colorNeutralStroke1Hover","colorNeutralStroke1Pressed","colorNeutralStroke1Selected","colorNeutralStroke2","colorNeutralStroke3","colorNeutralStrokeSubtle","colorNeutralStrokeOnBrand","colorNeutralStrokeOnBrand2","colorNeutralStrokeOnBrand2Hover","colorNeutralStrokeOnBrand2Pressed","colorNeutralStrokeOnBrand2Selected","colorBrandStroke1","colorBrandStroke2","colorBrandStroke2Hover","colorBrandStroke2Pressed","colorBrandStroke2Contrast","colorCompoundBrandStroke","colorCompoundBrandStrokeHover","colorCompoundBrandStrokePressed","colorNeutralStrokeDisabled","colorNeutralStrokeInvertedDisabled","colorTransparentStroke","colorTransparentStrokeInteractive","colorTransparentStrokeDisabled","colorNeutralStrokeAlpha","colorNeutralStrokeAlpha2","colorStrokeFocus1","colorStrokeFocus2","colorNeutralShadowAmbient","colorNeutralShadowKey","colorNeutralShadowAmbientLighter","colorNeutralShadowKeyLighter","colorNeutralShadowAmbientDarker","colorNeutralShadowKeyDarker","colorBrandShadowAmbient","colorBrandShadowKey","generateColorTokens","createLightTheme","colorMeBackground","semanticKernelDarkTheme","createDarkTheme","customTokens","themeToTokensObject","SharedStyles","textOverflow","useSharedClasses","informativeView","flexDirection","alignItems","useDialogClasses","surface","paddingRight","paragraphs","innerContent","footer","BackendProbe","_model$message","_model$note","onBackendFound","maintenanceService","setModel","timer","renderApp","note","mergeArrowOffset","userOffset","arrowHeight","addArrowOffset","offsetParams","_offset_mainAxis","popoverSurfaceClassNames","arrowHeights","smallPadding","mediumPadding","largePadding","smallArrow","mediumLargeArrow","B1puzpu","Brfgrao","Bcvre1j","B4f6apu","m598lv","Bk5zm6e","y0oebl","qa3bma","Bqjgrrk","Budzafs","Hv9wc6","hl6cv3","c8svkw","yayu3t","nr3p0k","rhl9o9","wiz9v7","B6q6orb","ndpsmx","usePopover_unstable","popoverTrigger","popoverSurface","shouldOpen","useOpenState","setOpenTimeoutRef","_props_mouseLeaveDelay","mouseLeaveDelay","toggleOpen","positioningRefs","positioningOptions","withArrow","contentRef","usePopoverRefs","_props_closeOnIframeFocus","closeOnIframeFocus","_props_inertTrapFocus","_props_inline","unstable_disableAutoFocus","_positioningRefs_contentRef_current_getAttribute","containerTabIndex","inertTrapFocus","legacyTrapFocus","PopoverContext","popoverContextDefaultValue","trapFocus","usePopoverContext_unstable","Popover","renderPopover_unstable","useModalAttributes","alwaysFocusable","modalAttributes","triggerAttributes","PopoverTrigger","usePopoverTrigger_unstable","renderPopoverTrigger_unstable","useTooltip_unstable","_child_props","_child_props1","_child_props2","_child_props3","useTooltipVisibility","isServerSideRender","isInSSRContext","isSSR","setIsSSR","useIsSSR","onVisibleChange","showDelay","hideDelay","setVisibleInternal","setVisible","oldVisible","shouldRenderTooltip","_context_visibleTooltip","thisTooltip","documentKeyboardEvent","visibleTooltip","onDocumentKeyDown","ignoreNextFocusEventRef","onEnterTrigger","keyborgListenerCallbackRef","onKeyborgFocusIn","_ev_detail","onLeaveTrigger","onPointerEnter","onPointerLeave","triggerAriaProps","tooltipClassNames","Btd35i7","Bhu2qc9","Tooltip","arrowClassName","useTooltipStyles_unstable","renderTooltip_unstable","PopoverSurface","usePopoverSurface_unstable","onMouseLeaveOriginal","_contentRef_current","usePopoverSurfaceStyles_unstable","renderPopoverSurface_unstable","tabListContextDefaultValue","reserveSelectedTabSpace","selectTabOnFocus","onRegister","onUnregister","getRegisteredTabs","registeredTabs","TabListContext","TabListProvider","useTabListContext_unstable","tabListClassNames","Bnnss6s","Eh141a","TabList","useTabList_unstable","onTabSelect","setSelectedValue","defaultSelectedValue","currentSelectedValue","previousSelectedValue","selectedKey","tabList","useTabListContextValues_unstable","useTabListStyles_unstable","renderTabList_unstable","tabIndicatorCssVars_unstable","useActiveIndicatorStyles","animated","Ba2ppi3","F2fol1","B1dyfl9","B0vmy72","u9bimw","sjv3b2","b1kco5","getRegisteredTabRect","_registeredTabs_JSON_stringify","_element_parentElement","parentRect","tabRect","calculateTabRect","tabClassNames","reservedSpaceClassNames","oeaueh","B9bfxx9","smallHorizontal","smallVertical","mediumHorizontal","mediumVertical","largeHorizontal","largeVertical","ecr2s2","Bptxc3x","B076xvk","q9r9w5","cl4aha","Bk452zc","a4hkcw","useFocusStyles","Bn4voq9","Bfpq7zp","g9k6zt","Bhxq17a","usePendingIndicatorStyles","az7l2e","Bv4n3vi","vqofr","B0uxbk8","Bgqb9hq","amg5m6","zkfqfm","Bkydozb","vzq8l0","Bka2azo","Br4ovkg","csmgbd","y36c18","B1ctymy","Bgvrrv0","ddr6p5","lawp4y","Fbdkly","mdwyqc","Bciustq","Bjyk6c5","B3778ie","d9w3h3","Bl18szs","B4j8arr","E3zdtr","t2ki1e","Glksuk","Blzl0y7","f7digc","Biqphg1","Bntoloa","By385i5","Dlnsje","Eqx8gd","B1piin3","bn5sak","a2br6o","D0sxk3","t6yez3","useContentStyles","largeSelected","noIconBefore","iconBefore","useTabStyles_unstable","focusStyles","pendingIndicatorStyles","activeIndicatorStyles","contentStyles","contentReservedSpace","contentReservedSpaceClassName","lastAnimatedFrom","setLastAnimatedFrom","animationValues","setAnimationValues","previousSelectedTabRect","selectedTabRect","animating","rootCssVars","useTabAnimatedIndicatorStyles_unstable","useTab_unstable","tabDisabled","listDisabled","onSelectCallback","onTabClick","onTabFocus","iconSlot","contentSlot","renderTab_unstable","DocumentArrowUp20Regular","Edit16Regular","Edit24Filled","ArrowDownRegular","ArrowDownloadRegular","ArrowJoinFilled","ArrowUpRegular","AttachRegular","CheckmarkCircleFilled","ThumbDislikeFilled","ThumbLikeFilled","WarningFilled","FontDecreaseRegular","FontIncreaseRegular","InfoFilled","MicRegular","alertClassNames","sshi5w","useIntentIconStyles","useIntentIconStylesInverted","useActionButtonColorInverted","Alert","useAlert_unstable","defaultIcon","defaultRole","intentIconStylesPrimary","intentIconStylesInverted","actionStylesInverted","useAlertStyles_unstable","renderAlert_unstable","Add20Filled","Add20Regular","AppsAddIn24Filled","AppsAddIn24Regular","ArrowDown24Regular","ArrowDownload16Filled","ArrowDownload16Regular","ArrowFlowUpRight24Filled","ArrowLeft16Regular","ArrowReset20Regular","ArrowRight16Regular","ArrowSwap20Regular","BotAdd20Filled","BotAdd20Regular","Checkmark16Regular","Checkmark20Filled","Checkmark20Regular","CheckmarkCircle24Regular","Copy16Filled","Copy16Regular","Copy20Filled","Copy20Regular","Delete16Filled","Delete16Regular","Dismiss12Regular","Dismiss16Filled","Dismiss16Regular","Dismiss20Filled","Dismiss20Regular","Dismiss24Filled","Dismiss24Regular","DismissCircle24Regular","Eraser20Regular","FastForward16Regular","Filter20Filled","Filter20Regular","FontIncrease24Regular","GlobeAdd20Regular","Highlight24Regular","History28Filled","Info16Filled","Info16Regular","Info24Regular","TextUnderline24Filled","TextWrap20Filled","TextWrap20Regular","ThumbDislike16Filled","ThumbDislike16Regular","ThumbLike16Filled","ThumbLike16Regular","Translate16Filled","Add20","Checkmark20","Delete16","Dismiss16","Dismiss20","Edit","ThumbLike16","ThumbDislike16","actionItems","alignSelf","Alerts","timeouts","FieldContext","useFieldContext_unstable","useFieldControlProps_unstable","generatedControlId","hintId","labelFor","labelId","validationMessageId","validationState","_props1","_arialabelledby","_props2","_ariainvalid","_1","_props5","_size","supportsLabelFor","_props3","_required","_props4","_ariarequired","_2","supportsRequired","supportsSize","getFieldControlProps","sliderClassNames","sliderCSSVars","sliderDirectionVar","sliderProgressVar","sliderStepsPercentVar","lpbzjs","Bi64ftq","Ba19x4e","B7wi8oa","B250r6j","Bpmy4es","Buw9y6v","Bq939m0","gjzr1t","tg7hqu","ypdvl1","Bw5jdd4","Bdjie01","Bvh9j6m","Bvsvvpo","focusIndicatorHorizontal","B486eqv","Bssx7fj","uh7if5","clntm0","Dlk2r6","Bm3wd5j","Bbrhkcr","f1oku","aywvf2","B2j2mmj","wigs8","pbfy6t","B0v4ure","ghq09","B24cy0v","Bwckmig","Bvwlmkc","Bbgo44z","Bil7v7r","skfxo0","jo1ztg","Ba3ybja","az1dzo","vppk2z","B6352mv","nr063g","Blmvk6g","Bsiemmq","B98u21t","B2pnrqr","B29w5g4","Bhhzhcn","Bec0n69","focusIndicatorVertical","useRailStyles","rail","Bkecrkj","nk6f5a","Bvjb7m6","Bcmaq0h","Bpd4iqm","Bw0xxkn","Bbn5juq","Brdvuy1","useThumbStyles","thumb","r59vdv","n07z76","ck0cow","B0qfbqy","uvfttm","Bdkvgpv","Bbv0w2i","Bq4z7u6","Bm6vgfq","useInputStyles","Brp00wb","applyFocusWithinPolyfill","removeFocusWithinClass","useFocusWithin","elementRef","useSlider_unstable","nativeProps","orient","useSliderState_unstable","setCurrentValue","valuePercent","getPercent","inputOnChange","propsOnChange","rootVariables","Slider","railStyles","thumbStyles","inputStyles","useSliderStyles_unstable","renderSlider_unstable","useFile","loadFile","loadCallBack","fileReader","_event$target","parsedData","readAsText","downloadFile","handleImport","documentFileRef","_documentFileRef$curr","_documentFileRef$curr2","dragAndDropFiles","filesArray","getContentSafetyStatus","GraphService","getCommandPath","resourcePath","makeBatchRequest","batchRequests","requests","responses","paddingBottom","popover","MemoryBiasSlider","chatState","balance","setBalance","PromptEditor","modificationHandler","buttonLabel","setButtonLabel","onSaveButtonClick","kindOf","kindOfTest","typeOfTest","isUndefined","isString","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isHTMLForm","isRegExp","reduceDescriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isArrayBufferView","isBoolean","isStream","pipe","caseless","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","searchString","forEachEntry","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","p1","p2","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","lineNumber","columnNumber","customProps","axiosError","isVisitable","removeBrackets","renderKey","dots","predicates","metaTokens","indexes","visitor","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","use","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","importScripts","buildPath","isNumericKey","isLast","parsePropPath","transitional","transitionalDefaults","adapter","transformRequest","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","rawHeaders","tokensRE","parseTokens","deleteHeader","normalized","formatHeader","targets","asStrings","accessor","accessors","defineAccessor","accessorName","arg1","buildAccessors","mapped","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","secure","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","urlParsingNode","originURL","resolveURL","requestURL","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","rate","progress","estimated","requestData","requestHeaders","withXSRFToken","cancelToken","fullPath","onloadend","responseHeaders","ERR_BAD_REQUEST","settle","paramsSerializer","onreadystatechange","responseURL","ECONNABORTED","ERR_NETWORK","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","onDownloadProgress","onUploadProgress","parseProtocol","knownAdapters","xhrAdapter","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","formatMessage","opt","opts","ERR_DEPRECATED","assertOptions","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","_request","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","Unauthorized","PaymentRequired","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","defaultConfig","Cancel","isAxiosError","formToJSON","getAdapter","SpeechService","getSpeechTokenAsync","getTranslationTokenAsync","getSpeechRecognizerAsyncWithValidKey","selectedLanguages","isSuccess","generateSpeechRecognizer","detectLanguage","detectedLanguage","iso6391Name","convertTextToSpeech","voiceGender","voiceSpeed","voicePitch","forceSpeechLang","voiceNameMale","voiceNameFemale","convertLanguage","speechSdk","translateText","languageConverted","getInstance","converted","languageCodes","lcr","noopRenderer","registerUsage","unregisterUsage","renderFont","renderGlobal","renderRule","deepmerge","isValid","emptyTheme","siteVariables","componentVariables","componentStyles","fontFaces","staticStyles","animations","mergeComponentStyles__PROD","stylesA","stylesB","partName","slotA","slotB","styleParam","_merge","mergeComponentStyles","mergeComponentVariables__PROD","variablesA","variablesB","resolvedVariablesA","resolvedVariablesB","mergeComponentVariables","defaultContextValue","disableAnimations","enableSanitizeCssPlugin","enableStylesCaching","enableVariablesCaching","enableBooleanVariablesCaching","FluentContext","useFluentContext","useTelemetry","isFirstRenderRef","instances","renders","msTotal","msMin","MAX_SAFE_INTEGER","msMax","msResolveVariablesTotal","msResolveStylesTotal","msRenderStylesTotal","stylesRootCacheHits","stylesSlotsCacheHits","convertCssTimeToNumber","_isNil","lastTwoCharacters","isMs","stringNumber","useUnhandledProps","handledProps","getUnhandledProps","excluded","sourceKeys","_setPrototypeOf","_inheritsLoose","subClass","superClass","handleRef","_React$Component","prevNode","handleForwardRefOverride","_this$props","handleSelfOverride","_this$props2","ReactIs","prevProps","isNodeChanged","isRefChanged","_this$props3","_objectWithoutPropertiesLoose","_excluded","childWithProps","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","nodeRef","forceReflow","performEnter","performExit","_this2","appearing","maybeNode","maybeAppearing","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","disallow","disallowedProps","disallowedProp","_compact","_map","nodeContent","shorthandAllowingChildren","objectItemShorthand","itemShorthand","accessibility","design","fillMode","iterationCount","playState","marginBottom","maxHeight","commonPropTypes","_config","_config$accessibility","_config$as","_config$children","_config$className","_config$color","_config$content","_config$styled","styled","customPropTypes","callable","possibleFunction","withDebugId","debugId","variablesCache","classesCache","stylesCache","primaryDisplayName","telemetryPartStart","resolvedVariables","displayNames","enabledVariablesCaching","componentThemeVariables","effectiveDisplayNames","variablesThemeCache","handlingDisplayName","resolveVariables","allDisplayNames","inlineStylesProps","_resolveStyles","componentClassName","componentProps","performanceFlags","noInlineStylesOverrides","noVariableOverrides","_isPlainObject","variableName","mergedStyles","cacheEnabled","_styles","rendererParam","sanitizeCss","resolvedStylesDebug","propsCacheKey","variablesCacheKey","componentCacheKey","_resolvedStyles","_classes","lazyEvaluationKey","slotCacheKey","_Object$assign","stylesThemeCache","_Object$assign2","_Object$assign3","classesThemeCache","cx","_Object$assign4","styleObj","resolvedStyles","_mergedStyles$slotNam","_mergedStyles","_Object$assign5","_Object$assign6","resolveStyles","createAnimationStyles","animationCSSProp","_theme$animations","_animations$animation","keyframe","animationThemeKeyframeParams","keyframeParams","animationPropKeyframeParams","mergedKeyframeParams","animationDelay","animationDirection","animationDuration","animationFillMode","animationPlayState","animationTimingFunction","animationCache","animationClassName","Animation","_useTelemetry","handleAnimationEvent","_invoke","_useAnimationStyles","_useFluentContext","cachePerTheme","_getStyles","saveDebug","useAnimationStyles","animationClasses","timeoutResult","unhandledProps","mergedRef","_refs","isChildrenFunction","childrenExist","_extends","childWithClasses","imageClassNames","bordered","st4lth","Ermj5k","cover","Image","useImage_unstable","fit","useImageStyles_unstable","renderImage_unstable","TypingIndicator","typingBalls","ChatStatus","typingUserList","setTypingUserList","checkAreTyping","updatedTypingUsers","chatUser","numberOfUsersTyping","essentials","functional","fieldInput","fontSize","boxSizing","resize","dragAndDrop","textAlign","caretColor","ChatInput","_localStorage$getItem3","_localStorage$getItem4","_localStorage$getItem5","_localStorage$getItem6","_localStorage$getItem7","_localStorage$getItem8","_localStorage$getItem9","_localStorage$getItem10","_localStorage$getItem11","_localStorage$getItem12","userSettings","setUserSettings","fileHandler","setRecognizer","isListening","setIsListening","_currentSection","shortTermMemory","setShortTermMemory","longTermMemory","setLongTermMemory","hueRotation","setHueRotation","ignoreCodeVoice","setIgnoreCodeVoice","selectedVoice","setSelectedVoice","defaultLanguages","setSelectedLanguages","storedLanguages","selectedVoiceSpeed","setSelectedVoiceSpeed","selectedFont","setSelectedFont","colorEffect","setColorEffect","handleColorEffectChange","filterValue","prevSettings","fontSelected","languagesText","unsupportedTTS","selectedLanguage","setSelectedLanguage","handleTranslateTo","newLanguage","handleVoiceChange","newVoice","handleCodeIgnore","newIgnoreCodeVoice","pitchLevels","defaultVoicePitch","setVoicePitch","initialWordSpacing","wordSpacing","setWordSpacing","initialLineHeight","setLineHeight","defaultFontSize","initialFontSize","setFontSize","handleVoiceSpeedChange","newSpeed","setForceSpeechLang","handleLanguageChange","newSelectedLanguages","textAreaRef","_textAreaRef$current","speechService","initSpeechRecognizer","memories","activeTab","setActiveTab","handleSubmit","isChangelogOpen","setIsChangelogOpen","openChangelogModal","isSettingsOpen","setIsSettingsOpen","handleFontChange","newFont","textArea","closeSettingsDialog","newSpacing","resetWordSpacing","newLineHeight","newlineHeight","resetLineHeight","fontSizeValue","fontSizeInEm","applyFontSize","resetFontSize","original","newForceLang","speed","pitch","newPitch","resetVoicePitch","openSettingsDialog","handleSpeech","closeChangelogModal","NumberSymbol20Filled","NumberSymbol20Regular","Pause16Regular","_arrayLikeToArray","arr2","_toConsumableArray","minLen","enumerableOnly","sym","_objectSpread","_defineProperty","classNameCombinations","createStyleObject","powerSetPermutations","getClassNameCombinations","createClassNameString","_ref$style","useInlineStyles","TagName","childrenCreator","childrenCount","createChildren","allStylesheetSelectors","startingClassName","astGenerator","newLineRegex","AllLineNumbers","codeString","codeStyle","_ref2$containerStyle","containerStyle","_ref2$numberStyle","numberStyle","startingLineNumber","getAllLineNumbers","getInlineLineNumber","inlineLineNumberStyle","assembleLineNumberStyles","lineNumberStyle","largestLineNumber","defaultLineNumberStyle","userSelect","customLineNumberStyle","createLineElement","showInlineLineNumbers","_ref3$lineProps","lineProps","_ref3$className","showLineNumbers","wrapLongLines","flattenCodeTree","newTree","processLines","codeTree","wrapLines","lastLineBreakIndex","createLine","createWrappedLine","createUnwrappedLine","_loop","splitValue","newChild","_line","stringChild","lastLineInPreviousSpan","newElem","_line2","_line3","defaultRenderer","isHighlightJs","highlightAuto","defaultAstGenerator","defaultStyle","highlighter","_ref7$style","_ref7$customStyle","customStyle","_ref7$codeTagProps","codeTagProps","_ref7$useInlineStyles","_ref7$showLineNumbers","_ref7$showInlineLineN","_ref7$startingLineNum","lineNumberContainerStyle","_ref7$lineNumberStyle","_ref7$wrapLongLines","_ref7$lineProps","_ref7$PreTag","PreTag","_ref7$CodeTag","CodeTag","_ref7$code","sourceSymbolKeys","_objectWithoutProperties","allLineNumbers","defaultPreStyle","hljs","generatorClassName","preProps","defaultCodeValue","hasLanguage","checkForListedLanguage","getCodeTree","SplitHorizontal20Regular","Stop16Filled","Broom20Regular","CaretDown20Regular","CaretUp20Regular","Chat20Regular","Chat24Regular","nameRe","nameReJsx","emptyOptions","blocking","fetchPriority","inert","onBeforeMatch","onBeforeToggle","onContextLost","onContextRestored","onScrollEnd","popoverTarget","popoverTargetAction","shadowRootDelegatesFocus","shadowRootMode","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillRule","floodColor","fontSizeAdjust","fontStretch","fontStyle","fontVariant","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","textAnchor","textRendering","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","writingMode","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cy","defaultAction","descent","diffuseConstant","dur","divisor","dx","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","seed","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","transformBehavior","u1","u2","unicode","viewTarget","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","htmlBase","svgBase","hastToReact","StyleToObject","pointEnd","point","pointStart","stringifyPosition","VFileMessage","causeOrReason","optionsOrParentOrPlace","legacyCause","place","ancestors","ruleId","fatal","actual","emptyMap","dashSomething","tableElements","tableCellElement","docs","toJsxRuntime","filePath","development","jsxDEV","isStaticChildren","developmentCreate","productionCreate","elementAttributeNameCase","evaluater","createEvaluater","ignoreInvalidStyle","passKeys","passNode","stylePropertyNameCase","tableCellAlignToStyle","parentSchema","findComponentFromName","alignValue","createProperty","createElementProps","addNode","addChildren","estree","evaluateExpression","crashEstree","mdxExpression","objectExpression","createJsxElementProps","mdxJsxElement","evaluateProgram","mdxEsm","countsByName","padRight","padLeft","styleToObject","replacer","toCamel","parseStyle","domCasing","cssCasing","transformStyleToCssCasing","transformStylesToCssCasing","allowExpression","identifiers","isIdentifierName","toDash","urlAttributes","includeImageAlt","includeHtml","chunkStart","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","_tokenizer","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","childEvents","gaps","breaks","sliceStream","defineSkip","_gfmTasklistFirstContentOfListItem","combineExtensions","extensions","syntaxExtension","constructs","existing","asciiAlpha","regexCheck","asciiAlphanumeric","asciiAtext","asciiControl","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEnding","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","factorySpace","limit","POSITIVE_INFINITY","contentStart","attempt","contentInitial","lineStart","childFlow","childToken","lineStartOffset","containerState","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","containerContinue","flowContinue","writeToChild","eof","nok","blankLine","chunkInside","contentEnd","continuationConstruct","contentContinue","prefixed","sliceSerialize","initial","flowInitial","afterConstruct","resolveAll","createResolver","initializeFactory","notText","atBreak","resolveAllLineSuffixes","extraResolver","tabs","bufferIndex","_index","_bufferIndex","called","createTokenizer","columnStart","resolveAllConstructs","consumed","accountForPotentialSkip","constructFactory","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","expectedCode","startBufferIndex","endIndex","endBufferIndex","sliceChunks","chunkIndex","onreturn","returnState","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","handleMapOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","resolveTo","thematicBreak","initialSize","atMarker","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","notBlank","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","contBefore","factoryDestination","literalType","literalMarkerType","rawType","stringType","enclosedBefore","enclosed","enclosedEscape","rawEscape","factoryLabel","markerType","labelInside","labelEscape","factoryTitle","factoryWhitespace","normalizeIdentifier","labelAfter","markerAfter","destinationBefore","destinationAfter","titleBefore","afterWhitespace","beforeMarker","titleAfter","titleAfterOptionalWhitespace","codeIndented","afterPrefix","furtherStart","headingAtx","sequenceOpen","sequenceFurther","setextUnderline","paragraph","htmlBlockNames","htmlRawNames","htmlFlow","closingTag","markerB","declarationOpen","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","slash","basicSelfClosing","completeClosingTagAfter","completeAttributeNameBefore","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCdataInside","continuationStart","blankLineBefore","continuationAfter","nonLazyContinuationStart","continuationStartNonLazy","continuationBefore","continuationRawEndTag","nonLazyContinuation","codeFenced","closeStart","startBefore","beforeSequenceClose","sequenceClose","sizeOpen","sequenceCloseAfter","initialPrefix","beforeSequenceOpen","infoBefore","atNonLazyBreak","metaBefore","contentBefore","beforeContentChunk","contentChunk","decodeNamedCharacterReference","characterReference","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","labelEndNok","resourceConstruct","labelEndOk","referenceFullConstruct","referenceNotFull","referenceCollapsedConstruct","insideSpan","resourceBefore","resourceOpen","resourceEnd","resourceDestinationAfter","resourceDestinationMissing","resourceBetween","resourceTitleAfter","referenceFullAfter","referenceFullMissing","referenceCollapsedOpen","labelStartImage","classifyCharacter","attention","attentionMarkers","_open","openingSequence","closingSequence","nextEvents","movePoint","autolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","htmlText","tagOpen","commentEnd","commentClose","lineEndingBefore","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","lineEndingAfter","lineEndingAfterPrefix","labelStartLink","hardBreakEscape","codeText","between","tailExitIndex","headEnterIndex","resolveText","decodeNumericCharacterReference","characterEscapeOrReference","$2","fromMarkdown","transforms","canContainEols","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","hardBreak","hardBreakTrailing","htmlFlowData","htmlTextData","listItem","listItemValue","onenterlistitemvalue","listOrdered","onenterlistordered","listUnordered","onenterreference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","closer","atxHeadingSequence","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","characterEscapeValue","onexitdata","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","onexitcharacterreferencevalue","onexitcodefenced","codeFencedFence","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","labelText","onexitlabeltext","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","onexitresource","onexitsetextheading","setextHeadingLineSequence","onexitsetextheadinglinesequence","setextHeadingText","onexitsetextheadingtext","configure","mdastExtensions","listStack","prepareList","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","_spread","and","onExitError","expectingFirstListItemValue","flowCodeInside","setextHeadingSlurpLineEnding","codePointAt","atHardBreak","inReference","referenceType","decodeString","characterReferenceType","ordered","compiler","postprocess","defaultConstructs","atCarriageReturn","endPosition","TextDecoder","preprocess","combined","remarkParse","deserialize","serialized","deserializer","unpair","BigInt","EMPTY","asString","shouldSkip","lossy","serializer","structuredClone","normalizeUri","defaultFootnoteBackContent","rereferenceIndex","defaultFootnoteBackLabel","referenceIndex","castFactory","anyFactory","checkAsRecord","nodeAsRecord","propsFactory","typeFactory","testFunction","looksLikeANode","CONTINUE","EXIT","SKIP","visitParents","parents","subresult","grandparents","toResult","nodeAsParent","testOrVisitor","visitorOrReverse","maybeReverse","revert","subtype","contents","listItemLoose","trimLines","trimLine","applyData","break","footnoteReference","clobberPrefix","safeId","footnoteOrder","reuseCounter","footnoteCounts","dataFootnoteRef","allowDangerousHtml","imageReference","definitionById","inlineCode","linkReference","loose","listLoose","firstRow","tableContent","cellIndex","cells","footnoteDefinition","hChildren","hProperties","defaultUnknownHandler","trimMarkdownSpaceStart","toHast","footnoteById","defaultHandlers","handle","passThrough","shallow","unknownHandler","createState","foot","footnoteBackContent","footnoteBackLabel","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","listItems","backReferences","counts","dataFootnoteBackref","tailTail","dataFootnotes","remarkRehype","hastTree","bail","trough","pipeline","middlewareIndex","wrapped","fnExpectsCallback","middelware","basename","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","dirname","unmatchedSlash","extname","startPart","startDot","preDotState","joined","segments","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","normalizeString","sep","proc","cwd","isUrl","fileUrlOrPath","urlToPath","third","getPathFromURLPosix","VFile","isUint8Array","stored","assertNonEmpty","assertPart","stem","CallableInstance","Processor","Compiler","attachers","freezeIndex","frozen","transformers","attacher","assertUnfrozen","transformer","realFile","vfile","assertParser","assertCompiler","parseTree","realDone","compileTree","compileResult","processSync","assertDone","assertNode","outputTree","resultingTree","runSync","addList","addPreset","entryIndex","currentPrimary","isPlainObj","unified","asyncName","looksLikeAVFile","emptyPlugins","emptyRemarkRehypeOptions","safeProtocol","deprecations","Markdown","allowedElements","allowElement","disallowedElements","rehypePlugins","remarkPlugins","remarkRehypeOptions","skipHtml","unwrapDisallowed","urlTransform","defaultUrlTransform","deprecation","mdastTree","questionMark","ccount","findAndReplace","ignored","tupleOrList","toExpression","toFunction","toPairs","pairIndex","grandparent","change","matchObject","inConstruct","notInConstruct","enterLiteralAutolink","enterLiteralAutolinkValue","exitLiteralAutolinkHttp","exitLiteralAutolinkWww","exitLiteralAutolinkEmail","exitLiteralAutolink","transformGfmAutolinkLiterals","findUrl","findEmail","isCorrectDomain","trailExec","trail","closingParenIndex","openingParens","closingParens","splitUrl","atext","enterFootnoteDefinition","enterFootnoteDefinitionLabelString","exitFootnoteDefinitionLabelString","exitFootnoteDefinition","enterFootnoteCall","enterFootnoteCallString","exitFootnoteCallString","exitFootnoteCall","tracker","createTracker","move","subexit","safe","associationId","indentLines","containerFlow","constructsWithoutStrikethrough","enterStrikethrough","exitStrikethrough","handleDelete","containerPhrasing","defaultStringLength","toAlignment","listInScope","unsafe","checkQuote","checkEmphasis","compilePattern","formatLinkAsAutolink","resourceLink","checkBullet","bullet","checkRule","phrasing","checkStrong","fence","checkFence","fences","formatCodeAsIndented","longestStreak","rank","literalWithBreak","setext","formatHeadingAsSetext","closeAtx","bulletCurrent","bulletOrdered","checkBulletOrdered","bulletOther","checkBulletOther","useDifferentMarker","bulletLastUsed","firstListItem","indexStack","listItemIndent","checkListItemIndent","incrementListMarker","ruleSpaces","ruleRepetition","checkRuleRepetition","enterTable","_align","inTable","exitTable","enterRow","enterCell","exitCodeText","gfmTableToMarkdown","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","serializeData","handleTableRowAsData","handleTableAsData","handleTableCell","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","columnIndex","delimiterStart","delimiterEnd","markdownTable","exitCheck","exitParagraphWithTaskListItem","firstParaghraph","listItemWithTaskListItem","checkable","checkbox","wwwPrefix","wwwPrefixInside","wwwPrefixAfter","underscoreInLastSegment","underscoreInLastLastSegment","domainInside","domainAfter","domainAtPunctuation","sizeClose","pathInside","pathAtPunctuation","trailCharRefStart","trailBracketAfter","trailCharRefInside","emailDomainDotTrail","wwwAutolink","previousWww","previousUnbalanced","wwwAfter","protocolAutolink","previousProtocol","protocolPrefixInside","protocolSlashesInside","afterProtocol","protocolAfter","emailAutolink","gfmAtext","previousEmail","emailDomain","emailDomainAfter","emailDomainDot","_gfmAutolinkLiteralWalkedInto","tokenizePotentialGfmFootnoteCall","gfmFootnotes","resolveToPotentialGfmFootnoteCall","tokenizeGfmFootnoteCall","callStart","callData","callEscape","tokenizeDefinitionStart","labelAtMarker","whitespaceAfter","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","gfmStrikethrough","single","singleTilde","EditMap","editMap","addImpl","vecs","gfmTableAlign","inDelimiterRow","alignIndex","tokenizeTable","sizeB","bodyRowStart","headRowBefore","headRowBreak","headRowStart","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","headDelimiterValueBefore","headDelimiterCellBefore","headDelimiterNok","headDelimiterLeftAlignmentAfter","headDelimiterCellAfter","headDelimiterFiller","headDelimiterRightAlignmentAfter","bodyRowBreak","bodyRowData","bodyRowEscape","resolveTable","currentTable","currentBody","currentCell","inFirstCellAwaitingPipe","rowKind","lastCell","afterHeadAwaitingFirstBodyRow","lastTableEnd","flushTableEnd","flushCell","rowEnd","previousCell","getPoint","relatedStart","relatedEnd","valueToken","tableBody","exits","related","tasklistCheck","spaceThenNonSpace","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","gfm","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","tableData","tableHeader","taskListCheckValueChecked","taskListCheckValueUnchecked","gfmToMarkdown","usePlanViewClasses","PlanViewer","_message$planState","messageIndex","parsedContent","originalPlan","proposedPlan","Derived","onPlanAction","updatedPlan","generatedPlanMessageId","NoOp","getTabbability","tabBehavior","cardContext","cardContextDefaultValue","selectableA11yProps","referenceId","setReferenceId","referenceLabel","setReferenceLabel","CardProvider","focusMap","useCardInteractive","focusMode","interactiveFocusAttributes","useFocusableGroup","useCard_unstable","cardBaseRef","selectable","selectableCardProps","selectFocused","checkboxSlot","floatingActionSlot","useCardSelectable","cardRef","onSelectionChange","floatingAction","checkboxRef","setSelected","setSelectFocused","shouldRestrictTriggerAction","focusableElements","isElementInFocusableGroup","isCheckboxSlot","onChangeHandler","newCheckedValue","onKeyDownHandler","selectableCheckboxProps","cardClassNames","B80jsxd","Bm2nyyq","Barhvk9","Bw17bha","vfts7","xrcqlc","Ihftqj","Bcgy8vk","Bhxzhr1","B2jhnfs","Bb7d1vk","zhwhgb","dhy2o1","Gfyso","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bule8hv","Bjwuhne","Ghsupd","selectableFocused","orientationHorizontal","Bnoktp0","Idhjb2","ihgzqh","Bgp6ld0","Bbucpmy","orientationVertical","Bt4kzjz","B1ou843","y1433z","B7egwnw","B49b4xf","sizeSmall","B7balbw","B1h88n7","sizeMedium","sizeLarge","B0n5ga8","s924m2","B1q35kw","Gp14am","filledInteractive","Bvxd0ez","filledInteractiveSelected","filledAlternative","filledAlternativeInteractive","filledAlternativeInteractiveSelected","outlineInteractive","Be0v6ae","B5kxglz","B3pwyw6","Bymgtzf","dmfk","B4ofi8","jgq6uv","Baxewws","outlineInteractiveSelected","subtleInteractive","subtleInteractiveSelected","highContrastSelected","xgfqdd","Bmmdzwq","zkpvhj","B20bydw","Bwwwggl","highContrastInteractive","h1vhog","kslmdy","Baaf6ca","x9zz3d","hiddenCheckbox","Bh84pgu","Bgl5zvf","Card","cardContextValue","useCardContextValue","orientationMap","sizeMap","appearanceMap","selectedMap","interactiveMap","isSelectableOrInteractive","focusedClassName","useCardStyles_unstable","renderCard_unstable","cardHeaderClassNames","Bkc6ea2","t4k1zu","useCardHeader_unstable","useCardContext_unstable","headerRef","hasChildId","headerSlot","_headerRef_current","headerId","childWithId","getChildWithId","getReferenceId","CardHeader","useCardHeaderStyles_unstable","renderCardHeader_unstable","Caption1","progressBarClassNames","Bpep1pd","useBarStyles","nonZeroDeterminate","indeterminate","w3vfg9","Gqtpxc","B3vm3ge","ProgressBar","useProgressBar_unstable","fieldState","_props_max","clampMax","clampValue","bar","barStyles","useProgressBarStyles_unstable","renderProgressBar_unstable","RadioGroupContext","radioGroupContextDefaultValue","useRadioGroupContextValue_unstable","radioGroupClassNames","RadioGroup","useRadioGroup_unstable","generatedName","layout","radioGroup","useRadioGroupContextValues","useRadioGroupStyles_unstable","renderRadioGroup_unstable","radioClassNames","useInputBaseClassName","defaultIndicator","Blbys7f","customIndicator","Bojc29n","useIndicatorBaseClassName","Radio","useRadio_unstable","indicator","inputBaseClassName","indicatorBaseClassName","useRadioStyles_unstable","renderRadio_unstable","tableContext","tableContextDefaultValue","noNativeElements","sortable","TableContextProvider","useTableContext","useTableLayoutStyles","ha4doy","B73mfa3","useFlexLayoutStyles","po53p8","Table","useTable_unstable","rootComponent","_props_size","_props_noNativeElements","_props_sortable","layoutStyles","useTableStyles_unstable","renderTable_unstable","useTableContextValues_unstable","tableHeaderContext","TableHeaderContextProvider","TableHeader","useTableHeader_unstable","useTableHeaderStyles_unstable","renderTableHeader_unstable","useTableRow_unstable","focusWithinRef","isHeaderRow","_props_appearance","tableRowClassNames","Bconypa","B6guboy","rootInteractive","lj723h","B43xm9u","i921ia","Bpt6rm4","ff6mpl","gwxt9v","v3aym","Bc736ss","Bk6ri7n","Bk5ld8o","c4eypz","felo30","Eshu5l","Beo2b4z","h6lo6r","Btyw6ap","w1pwid","Brwvgy3","yadkgm","TableRow","useTableRowStyles_unstable","renderTableRow_unstable","TableBody","useTableBody_unstable","useTableBodyStyles_unstable","renderTableBody_unstable","defaultCompare","defaultRenderCell","defaultRenderHeaderCell","createTableColumn","columnId","renderCell","renderHeaderCell","sortIcons","ascending","descending","tableHeaderCellClassNames","xawz","B3nxjsc","Bmvh20x","robkg1","pehzd3","B8osjzx","u7xebq","Blsv9te","resetButton","B3rzk8w","sortIcon","resizeHandle","TableHeaderCell","useTableHeaderCell_unstable","contextSortable","buttonSlot","_props_sortDirection","aside","sortDirection","useTableHeaderCellStyles_unstable","renderTableHeaderCell_unstable","tableCellClassNames","TableCell","useTableCell_unstable","useTableCellStyles_unstable","renderTableCell_unstable","tableAvatarSizeMap","tableCellLayoutClassNames","rootTruncate","contentTruncate","mediaExtraSmall","mediaSmallAndMedium","mediaPrimary","mainPrimary","mainTruncate","TableCellLayout","useTableCellLayout_unstable","avatarSize","mediaSizedStyles","useTableCellLayoutStyles_unstable","renderTableCellLayout_unstable","useTableCellLayoutContextValues_unstable","defaultTableSelectionState","allRowsSelected","clearRows","deselectRow","isRowSelected","selectRow","selectedRows","someRowsSelected","toggleAllRows","toggleRow","selectionMode","defaultTableSortState","getSortDirection","setColumnSort","sortColumn","toggleColumnSort","useTableSort","tableState","sortState","defaultSortState","onSortChange","onSortChangeProp","sorted","setSorted","nextSortColumn","nextSortDirection","sortColumnDef","mod","useTableSortState","defaultColumnSizingState","getColumnWidths","getOnMouseDown","setColumnWidth","getTableProps","getTableHeaderCellProps","getTableCellProps","enableKeyboardMode","defaultRowEnhancer","useTableFeatures","getRowId","getRows","rowEnhancer","_getRowId","rowId","columnSizing_unstable","tableRef","BackgroundAppearanceContext","useLink_unstable","backgroundAppearance","propsWithAssignedAs","useLinkState_unstable","linkClassNames","focusIndicator","Bttzg6e","B3uz8dt","B6ihwck","Bkioxbp","famaaq","Bde5pd6","i089h6","Link","useLinkStyles_unstable","renderLink_unstable","TabView","learnMoreDescription","learnMoreLink","EmptyGuid","uploadButton","vectorDatabase","DocumentsTab","resources","setResources","localDocumentFileRef","globalDocumentFileRef","importingResources","sourceType","sharedBy","createdOn","headerSortProps","comparison","localeCompare","aAccess","getAccessString","bAccess","getFileIconByFileExtension","hyperlink","_columns$find","_compare","useTable","_localDocumentFileRef","_globalDocumentFileRe","storeType","card","cardCaption","cardHeader","cardHeaderText","cardHeaderTextContainer","float","floatLeft","ChatHistoryDocumentContent","isMe","_message$id","isUploaded","UserFeedbackActions","onUserFeedbackProvided","positive","Positive","Negative","defaultFontStyle","canvas","copiedIndicator","clipboard","playerActive","clipboardTranslate","citationButton","rlhf","CustomParagraph","ChatHistoryItem","_user$fullName","handleHover","onOpenTab","isDefaultUser","isBot","isPlaying","setIsPlaying","isPaused","setIsPaused","setIsDisabled","getPrismLanguage","POWERSHELL","DOS","TERMINAL","translatedText","setTranslatedText","handleTranslateClick","codeBlockRegex","textWithPlaceholders","__","p3","handlePlayClick","cleanText","markdownText","removeMarkdown","modifiedText","handlePauseClick","handleStopClick","AudioControlButtons","isNotTranslateContainer","handleCopyClick","latexRegex","processMessage","messageContent","splitContent","processLatex","remainingTextContent","latexContent","normalText","isBlock","remainingText","showShowRLHFMessage","isCopiedCode","setIsCopiedCode","handleCopyClickCode","writeText","setShowLineNumbers","toggleLineNumbers","textWrapSetting","setTextWrapSetting","toggleTextWrap","showBubble","setShowBubble","bubblePosition","setBubblePosition","selectedText","setSelectedText","updateSelection","closest","isValidHighlight","mouseUpHandler","excludedClasses","allowedTags","getRangeAt","commonAncestorContainer","intersectsNode","applyStyleToRange","styleCallback","tempRange","cloneRange","_range$startContainer","_range$endContainer$t","startNodeText","startContainer","endNodeText","endContainer","expandRangeToFullWords","containsOnlyAllowedElements","extractContents","insertNode","collapse","toggleKatexClass","katexElement","setUnderlined","collapsed","changeFontSize","highlightText","isCopied","setIsCopied","isTranslatedCopied","setIsTranslatedCopied","isOriginalMessage","ReactDOMServer","ReactMarkdown","selectNode","userWordSpacing","setUserWordSpacing","fontSizeSetting","setFontSizeSetting","savedFontSize","handleStorageChange","newFontSize","lineHeightSettings","savedLineHeight","Document","_range$startContainer2","_range$endContainer$t2","selectedTextContent","ttsselect","messageid","_part$language","_part$language2","_part$language3","SyntaxHighlighter","_part$language4","wordBreak","InlineMath","BlockMath","_part$language5","_part$language6","_part$language7","_part$language8","_part$language9","_part$language10","_part$language11","_part$language12","_part$language13","justifySelf","ChatHistory","_activeTab$language2","handleImageClick","imageUrl","MemoizedChatHistoryItem","languageFormats","getFileFormat","langObject","openTabs","setOpenTabs","activeTabKey","setActiveTabKey","_activeTabIndex","setActiveTabIndex","activeTabMessageID","setActiveTabMessageID","highlightColors","handleOpenTab","scrollToTab","toggleSplitScreen","isOpen","chatInputElement","chatInputElementC","chatInputElementB","tabElement","tabsContainer","behavior","handleMouseMove","viewportWidth","codeBlockWidthVw","adjustedCodeBlockWidthVw","codeBlockElement","rootWidthVw","chatInputWidthVw","handleMouseUp","inlineCodeElement","previousElement","mutationsList","activeKeywords","setActiveKeywords","isHovering","_span$textContent","_span$textContent2","prevKeywords","newKeywords","randomColorIndex","_span$textContent3","spanKeyword","colorIndex","escapeHtml","deactivateCodeBlock","handleCloseAllTabs","_tab$language","newOpenTabs","handleCloseTab","handleIncrease","handleDecrease","_activeTab$language","handleCodeSave","fileFormat","linesWithNumbers","codeWithLineNumbers","printWindow","handleCodePrint","handleScroll","justifyContent","scrollToBottomButton","ChatRoom","scrollViewTargetRef","shouldAutoScroll","setShouldAutoScroll","chatEnd","chatContainer","scrollToBottom","showScrollToBottom","setShowScrollToBottom","checkScrollPosition","_scrollViewTargetRef$","scrollTo","Mail20Regular","positionClass","presenceIcon","ParticipantAvatar","UserStatus","ParticipantsList","msGraph","useGraph","graphService","makeBatchGetUsersRequest","userIds","loadedUsers","usersToRetry","createGetUserRequest","photoRequests","createGetUserPhotoRequest","photoResponses","presenceRequests","createGetUserPresenceRequest","presenceResponses","photoData","presenceData","userData","parseGetUserResponse","photoBase64","photoDisplay","userPrincipalName","loadUsers","retries","usersToLoad","ids","objectId","loadedParticipants","setLoadedParticipants","mapParticipantsNames","isParticipantsOpened","setIsParticipantsOpened","openParticipantId","setOpenParticipantId","loadParticipantsData","checkParticipants","closeParticipants","ParticipantComponent","onParticipantClick","usersData","managerName","InvitationCreateDialog","isIdCopied","setIsIdCopied","copyId","copyToClipboard","inputClassNames","Drbcw7","udz0bu","Be8ivqh","ofdepl","underlineInteractive","q7v0qe","kmh5ft","nagaa4","B1yhkcb","tvckwq","gk2u95","hhx65j","Bxowmz0","Bduesf4","useInputClassName","useInputElementStyles","yvdlaj","useContentClassName","kwki1k","Input","useInput_unstable","_overrides_inputDefaultAppearance","inputDefaultAppearance","contentAfter","contentClasses","useInputStyles_unstable","renderInput_unstable","dividerClassNames","useBaseStyles","Br0sdwz","Bn78ew0","li1rpt","ap17g6","B771hl4","childless","susq4k","Bicfajf","jwcpgy","B4rk6o","useHorizontalStyles","pbipgd","i5u598","Bxwl2t9","Iy66sp","useVerticalStyles","zkzzav","Bde111x","withChildren","Bbdr6tz","gn64ia","Divider","useDivider_unstable","alignContent","dividerId","baseStyles","horizontalStyles","verticalStyles","useDividerStyles_unstable","renderDivider_unstable","divider","InvitationJoinDialog","onCloseDialog","errorOccurred","setErrorOccurred","setErrorMessage","namedItem","ShareBotMenu","isGettingInvitationId","setIsGettingInvitationId","isLoading","setIsLoading","isJoiningBot","setIsJoiningBot","onDownloadBotClick","onJoinClick","textButtons","EditChatName","exitEdits","setTitle","handleSave","onSaveTitleChange","onTitleChange","_ev","GuideTab","setLoading","guideData","setGuideData","jsonData","categories","qna","setAllExpanded","fetchGuideData","allExpanded","toggleAllAnswers","newData","catIndex","qaIndex","toggleAnswer","question","answer","disableScrollElementProp","useDisableBodyScroll","useFluent_unstable","_target_ownerDocument_defaultView_innerWidth","_disableScrollElementProp","previousOverflowStyle","previousPaddingRightStyle","assertIsDisableScrollElement","disableScroll","modalType","isNestedDialog","dialogRef","requestOpenChange","DialogContext","DialogProvider","useDialogContext_unstable","useDialog_unstable","childrenArray","childrenToTriggerAndContent","focusRef","_dialogRef_current","useFocusFirstElement","disableBodyScroll","isBodyScrollLocked","backdrop","dialogTitleId","DialogSurfaceContext","DialogSurfaceProvider","DialogTransitionContext","DialogTransitionProvider","Dialog","dialogSurface","useDialogContextValues_unstable","renderDialog_unstable","useDialogTrigger_unstable","isInsideSurfaceDialog","useDialogSurfaceContext_unstable","_useContext","_child_props_onClick","DialogTrigger","renderDialogTrigger_unstable","useDialogSurface_unstable","transitionStatus","useDialogTransitionContext_unstable","dialogTitleID","handledBackdropClick","_props_backdrop_onClick","_props_backdrop","dialogSurfaceClassNames","useRootBaseStyle","unmounted","entering","entered","idle","exiting","exited","useBackdropBaseStyle","useBackdropStyles","nestedDialogBackdrop","DialogSurface","rootBaseStyle","backdropBaseStyle","backdropStyles","static","useDialogSurfaceStyles_unstable","renderDialogSurface_unstable","dialogBodyClassNames","useResetStyles","DialogBody","useDialogBody_unstable","resetStyles","useDialogBodyStyles_unstable","renderDialogBody_unstable","dialogTitleClassNames","useRootResetStyles","rootWithoutAction","useActionResetStyles","useDialogTitleInternalStyles","DialogTitle","useDialogTitle_unstable","internalStyles","rootResetStyles","actionResetStyles","useDialogTitleStyles_unstable","renderDialogTitle_unstable","dialogContentClassNames","DialogContent","useDialogContent_unstable","useDialogContentStyles_unstable","renderDialogContent_unstable","dialogActionsClassNames","gridPositionEnd","Bdqf98w","B6n781s","Bv5d0be","v4ugfu","gridPositionStart","Bojbm9c","fluidStart","fluidEnd","DialogActions","useDialogActions_unstable","fluid","useDialogActionsStyles_unstable","renderDialogActions_unstable","badgeClassNames","fontSmallToTiny","roundedSmallToTiny","borderGhost","ghost","tint","useIconRootClassName","beforeText","afterText","beforeTextXL","afterTextXL","Badge","smallToTiny","iconRootClassName","iconPositionClass","useBadgeStyles_unstable","interactable","INTERPOLATED_VARIABLE_REGEX","PlanStepInput","onEdit","enableEdits","validationErrors","setValidationErrors","requiresEdits","formValue","setFormValue","Value","isEditingInput","setIsEditingInput","editsRequired","setEditsRequired","onEditClick","keyStrokeTimeout","updateAndValidateInput","onSubmitEdit","Key","flexWrap","flexRow","flexColumn","singleLine","WebkitLineClamp","WebkitBoxOrient","PlanStepCard","enableStepDelete","onDeleteStep","openDialog","setOpenDialog","inputs","skill_name","inputIndex","outputs","PlanBody","setPlan","steps","_step","planView","confirmationDialog","confirmationDialogActions","PlanDialogView","goal","setChatTab","dialogClasses","setPlanView","_description$split$fi","_description$split$fi2","userIntentPrefix","userIntentIndex","getPlanGoal","openConfirmationDialog","setOpenConfirmationDialog","selectedTab","setSelectedTab","PlansTab","planMessages","parsedPlan","_parsedPlan$userInten","userIntent","originalUserInput","formatDate","Intl","DateTimeFormat","hour12","fromLang","toLanguage","toLang","languagesNoVoice","TranslateTab","inputText","setInputText","setHistory","setFromLang","setToLang","initialFromLangs","initialToLangs","cannotbevoicedto","cannotbevoicedfrom","usedFromLanguages","setUsedFromLanguages","usedToLanguages","setUsedToLanguages","_isTextToSpeechDisabled","setIsTextToSpeechDisabled","isCharLimitExceeded","setIsCharLimitExceeded","activeMode","setActiveMode","isTranslating","setIsTranslating","genderVoiceTA","setGenderVoiceTA","genderVoiceTB","setGenderVoiceTB","isRecording","setIsRecording","conversationalMode","setConversationalMode","autoplayback","setAutoplayback","startRecording","isFromLang","autoSendEnabled","translateTextWithInput","stopRecording","handleToggleModeClick","savedHistory","updateLocalStorage","manageLanguageTabs","newLang","setLanguages","prevLanguages","updatedLanguages","oldestLang","updateFromLang","updateToLang","translated","newHistory","renderLanguageOptions","_fromRecognizer","setFromRecognizer","_toRecognizer","setToRecognizer","setAutoSendEnabled","savedAutoSendEnabled","storedFromLang","storedToLang","fromRecognizerInstance","getFromRecognizer","toRecognizerInstance","getToRecognizer","textPassthru","playbackLanguage","genderToPlay","swapLanguages","handleFromLangTabClick","clearFromTextarea","toggleGenderA","newGender","startFromLanguageRecognition","isChecked","handleToLangTabClick","clearToTextarea","toggleGenderB","startToLanguageRecognition","TranslationHistory","popoverHeader","ChatWindow","showShareBotMenu","isEditing","setIsEditing","tvalue","TranslatorTab","SimplifiedNewBotMenu","onAddChat","DeleteChatDialog","onDeleteChat","ListItemActions","onEditTitleClick","previewText","protectedIcon","ChatListItem","preview","itsMe","isSelected","showPreview","showActions","editingTitle","setEditingTitle","ChatListSection","_state$app$activeUser","_convo$lastUpdatedTim","lastMessage","lastUpdatedTimestamp","chatHistory","ChatList","isFiltering","setIsFiltering","filterText","setFilterText","conversationsView","setConversationsView","latestConversations","yesterdayConversations","filterButtonRef","sortConversations","sortedIds","dateA","parseDateFromTitle","getMonth","getDate","getFullYear","olderConversations","convoDate","isToday","yesterday","setDate","isYesterday","sortedView","_filterButtonRef$curr","nonHiddenConversations","toLocaleUpperCase","onSearch","fileUploaderRef","onFilterClick","onFileUpload","_fileUploaderRef$curr","ChatView","Subtitle2","Loading","headerTop","cornerItems","AppState","Chat","appState","setAppState","SettingUserInfo","LoadingChats","SigningOut","ProbeForBackend","ErrorLoadingUserInfo","ErrorLoadingChats","App","accountOrNull","mail","_account$name","_msalInstance","ReduxProvider"],"sourceRoot":""}