{"version":3,"file":"static/js/main.9a1c135f.js","mappings":"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CA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,QAAS,CACL,IACA,KACA,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,GAAM,CACF,KACA,IACA,IACA,MAEJ,QAAS,CACL,KACA,IACA,KACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,MEzwCR,SAASC,EAA+B9lN,GACpC,IAAIyjN,EAAYzjN,EAAOyjN,UASvB,QARkBl5N,IAAdk5N,GAEAzjN,EAAO+lN,YAEP/lN,EAAO+lN,WAAWxhQ,SAElBk/P,EAAYzjN,EAAO+lN,WAAW,IAE9BtC,EACA,OAAQA,GACJ,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,QACI,MAAM,IAAI3rN,MAAM,qBAI5B,IACIkuN,EADAC,EAAcjmN,EAAOkmN,SASzB,MAPoB,SAAhBD,IACAD,EAAYhmN,EAAOmmN,WAAW90G,SAEjBw0G,EAASG,GAAa,KACnCH,EAASI,GAAe,KACxBJ,EAAS,GAAG39O,OAAO+9O,EAAa,UAChCJ,EAAS,QACK,EACtB,CD3EA,IAAIO,EAA8B,IAAI98P,OAAO,IAAI4e,OAAOi7O,EAAsBpqP,OAAQ,MAClFstP,EAA4B,IAAI/8P,OAAO,GAAG4e,OAAOi7O,EAAsBpqP,OAAQ,OACnF,SAASutP,EAAe5uP,EAAOC,GAC3B,MAAO,CAAED,MAAOA,EAAOC,IAAKA,EAChC,CAGA,IAAI4uP,KAAwBprO,OAAO9yB,UAAUyhF,WACzC08K,KAA2BrrO,OAAOsrO,cAClCC,KAAyBj+P,OAAOk+P,YAChCC,KAAyBzrO,OAAO9yB,UAAUw+P,YAC1CC,KAAiB3rO,OAAO9yB,UAAU+iF,UAClC27K,KAAe5rO,OAAO9yB,UAAU8iF,QAEhCnD,KAD2BjvD,OAAOivD,cAEhCjvD,OAAOivD,cACP,SAAU5zE,GACR,MAAqB,kBAANA,GACXw6B,SAASx6B,IACTe,KAAK+C,MAAM9D,KAAOA,GAClBe,KAAK4gB,IAAI3hB,IAAM,gBACvB,EAEA4yP,IAAyB,EAC7B,IAQIA,GAA8F,OAA5C,QAAvBz7O,EAPlB07O,GAAG,4CAA6C,MAOtBrzP,KAAK,YAAyB,IAAP2X,OAAgB,EAASA,EAAG,GAI1F,CAFA,MAAOs0B,IACHmnN,IAAyB,CAC7B,CACA,IAyFIE,GAzFAp9K,GAAay8K,GAET,SAAoB9wP,EAAG81E,EAAQ10C,GAC3B,OAAOphC,EAAEq0E,WAAWyB,EAAQ10C,EAChC,EAEA,SAAoBphC,EAAG81E,EAAQ10C,GAC3B,OAAOphC,EAAE2C,MAAMy+B,EAAUA,EAAW00C,EAAOhnF,UAAYgnF,CAC3D,EACJk7K,GAAgBD,GACdrrO,OAAOsrO,cAEL,WAEI,IADA,IAAIU,EAAa,GACRljQ,EAAK,EAAGA,EAAK2Q,UAAUrQ,OAAQN,IACpCkjQ,EAAWljQ,GAAM2Q,UAAU3Q,GAM/B,IAJA,IAGI83G,EAHA9sE,EAAW,GACX1qC,EAAS4iQ,EAAW5iQ,OACpBC,EAAI,EAEDD,EAASC,GAAG,CAEf,IADAu3G,EAAOorJ,EAAW3iQ,MACP,QACP,MAAM++P,WAAWxnJ,EAAO,8BAC5B9sE,GACI8sE,EAAO,MACD5gF,OAAOi/E,aAAa2B,GACpB5gF,OAAOi/E,aAAyC,QAA1B2B,GAAQ,QAAY,IAAeA,EAAO,KAAS,MACvF,CACA,OAAO9sE,CACX,EACJ03N,GAEJD,GACMj+P,OAAOk+P,YAEL,SAAqBzxM,GAEjB,IADA,IAAI/sB,EAAM,CAAC,EACFlkC,EAAK,EAAGmjQ,EAAYlyM,EAASjxD,EAAKmjQ,EAAU7iQ,OAAQN,IAAM,CAC/D,IAAIsnB,EAAK67O,EAAUnjQ,GAAK6S,EAAIyU,EAAG,GAAIzE,EAAIyE,EAAG,GAC1C4c,EAAIrxB,GAAKgQ,CACb,CACA,OAAOqhB,CACX,EACJ0+N,GAAcD,GAEV,SAAqBnxP,EAAG6D,GACpB,OAAO7D,EAAEoxP,YAAYvtP,EACzB,EAEA,SAAqB7D,EAAG6D,GACpB,IAAI65B,EAAO19B,EAAElR,OACb,KAAI+U,EAAQ,GAAKA,GAAS65B,GAA1B,CAGA,IACIi0D,EADAzb,EAAQl2E,EAAEolE,WAAWvhE,GAEzB,OAAOqyE,EAAQ,OACXA,EAAQ,OACRryE,EAAQ,IAAM65B,IACbi0D,EAAS3xF,EAAEolE,WAAWvhE,EAAQ,IAAM,OACrC8tF,EAAS,MACPzb,EAC4Byb,EAAS,OAAnCzb,EAAQ,OAAW,IAA0B,KATrD,CAUJ,EACJP,GAAY07K,GAER,SAAmBrxP,GACf,OAAOA,EAAE21E,WACb,EAEA,SAAmB31E,GACf,OAAOA,EAAE2lB,QAAQgrO,EAA6B,GAClD,EACJj7K,GAAU47K,GAEN,SAAiBtxP,GACb,OAAOA,EAAE01E,SACb,EAEA,SAAiB11E,GACb,OAAOA,EAAE2lB,QAAQirO,EAA2B,GAChD,EAER,SAASY,GAAGxxP,EAAG4xP,GACX,OAAO,IAAI/9P,OAAOmM,EAAG4xP,EACzB,CAGA,GAAIL,GAAwB,CAExB,IAAIM,GAAyBL,GAAG,4CAA6C,MAC7EC,GAAyB,SAAgCzxP,EAAG6D,GACxD,IAAIiS,EAGJ,OAFA+7O,GAAuBluP,UAAYE,EAER,QAAnBiS,EADI+7O,GAAuB1zP,KAAK6B,GACrB,UAAuB,IAAP8V,EAAgBA,EAAK,EAC5D,CACJ,MAGI27O,GAAyB,SAAgCzxP,EAAG6D,GAExD,IADA,IAAIiZ,EAAQ,KACC,CACT,IAAIpa,EAAI0uP,GAAYpxP,EAAG6D,GACvB,QAAUixB,IAANpyB,GAAmBovP,GAAcpvP,IAAMqvP,GAAiBrvP,GACxD,MAEJoa,EAAMxuB,KAAKoU,GACXmB,GAASnB,GAAK,MAAU,EAAI,CAChC,CACA,OAAOsuP,GAAc9hQ,WAAM,EAAQ4tB,EACvC,EAEJ,IAAIk1O,GAAwB,WACxB,SAASA,EAAOvxN,EAASlC,QACL,IAAZA,IAAsBA,EAAU,CAAC,GACrClwC,KAAKoyC,QAAUA,EACfpyC,KAAK+yC,SAAW,CAAEqO,OAAQ,EAAGlb,KAAM,EAAG09N,OAAQ,GAC9C5jQ,KAAK6jQ,YAAc3zN,EAAQ2zN,UAC3B7jQ,KAAKk8C,OAAShM,EAAQgM,OACtBl8C,KAAK8jQ,sBAAwB5zN,EAAQ4zN,oBACrC9jQ,KAAK+jQ,uBAAyB7zN,EAAQ6zN,oBAC1C,CAqyBA,OApyBAJ,EAAOp/P,UAAUi4C,MAAQ,WACrB,GAAsB,IAAlBx8C,KAAKohD,SACL,MAAMpN,MAAM,gCAEhB,OAAOh0C,KAAKgkQ,aAAa,EAAG,IAAI,EACpC,EACAL,EAAOp/P,UAAUy/P,aAAe,SAAUC,EAAcC,EAAeC,GAEnE,IADA,IAAIh5N,EAAW,IACPnrC,KAAKokQ,SAAS,CAClB,IAAIx1B,EAAO5uO,KAAK4uO,OAChB,GAAa,MAATA,EAAwB,CAExB,IADI/qN,EAAS7jB,KAAKqkQ,cAAcJ,EAAcE,IACnClwN,IACP,OAAOpwB,EAEXsnB,EAASlrC,KAAK4jB,EAAOtM,IACzB,KACK,IAAa,MAATq3N,GAA0Bq1B,EAAe,EAC9C,MAEC,GAAa,KAATr1B,GACc,WAAlBs1B,GAAgD,kBAAlBA,EAQ9B,IAAa,KAATt1B,IACJ5uO,KAAK6jQ,WACU,KAAhB7jQ,KAAKuhM,OACP,CACE,GAAI4iE,EACA,MAGA,OAAOnkQ,KAAKk0C,MAAM+pN,EAAUqG,sBAAuB9B,EAAexiQ,KAAKukQ,gBAAiBvkQ,KAAKukQ,iBAErG,CACK,GAAa,KAAT31B,IACJ5uO,KAAK6jQ,WACNW,GAASxkQ,KAAKuhM,QAAU,GAAI,CAE5B,IADI19K,EAAS7jB,KAAKykQ,SAASR,EAAcC,IAC9BjwN,IACP,OAAOpwB,EAEXsnB,EAASlrC,KAAK4jB,EAAOtM,IACzB,KACK,CACD,IAAIsM,EACJ,IADIA,EAAS7jB,KAAK0kQ,aAAaT,EAAcC,IAClCjwN,IACP,OAAOpwB,EAEXsnB,EAASlrC,KAAK4jB,EAAOtM,IACzB,MAlCuE,CACnE,IAAIw7B,EAAW/yC,KAAKukQ,gBACpBvkQ,KAAK2kQ,OACLx5N,EAASlrC,KAAK,CACVyZ,KAAMomL,EAAKk/D,MACX1wI,SAAUk0I,EAAezvN,EAAU/yC,KAAKukQ,kBAEhD,CA2BA,CACJ,CACA,MAAO,CAAEhtP,IAAK4zB,EAAU8I,IAAK,KACjC,EAmBA0vN,EAAOp/P,UAAUkgQ,SAAW,SAAUR,EAAcC,GAChD,IAAIU,EAAgB5kQ,KAAKukQ,gBACzBvkQ,KAAK2kQ,OACL,IAAI9kE,EAAU7/L,KAAK6kQ,eAEnB,GADA7kQ,KAAK8kQ,YACD9kQ,KAAK+kQ,OAAO,MAEZ,MAAO,CACHxtP,IAAK,CACDmC,KAAMomL,EAAKw+D,QACX/8P,MAAO,IAAI6iB,OAAOy7K,EAAS,MAC3BvxE,SAAUk0I,EAAeoC,EAAe5kQ,KAAKukQ,kBAEjDtwN,IAAK,MAGR,GAAIj0C,KAAK+kQ,OAAO,KAAM,CACvB,IAAIC,EAAiBhlQ,KAAKgkQ,aAAaC,EAAe,EAAGC,GAAe,GACxE,GAAIc,EAAe/wN,IACf,OAAO+wN,EAEX,IAAIpkP,EAAWokP,EAAeztP,IAE1B0tP,EAAsBjlQ,KAAKukQ,gBAC/B,GAAIvkQ,KAAK+kQ,OAAO,MAAO,CACnB,GAAI/kQ,KAAKokQ,UAAYI,GAASxkQ,KAAK4uO,QAC/B,OAAO5uO,KAAKk0C,MAAM+pN,EAAUiH,YAAa1C,EAAeyC,EAAqBjlQ,KAAKukQ,kBAEtF,IAAIY,EAA8BnlQ,KAAKukQ,gBAEvC,OAAI1kE,IADiB7/L,KAAK6kQ,eAEf7kQ,KAAKk0C,MAAM+pN,EAAUqG,sBAAuB9B,EAAe2C,EAA6BnlQ,KAAKukQ,mBAExGvkQ,KAAK8kQ,YACA9kQ,KAAK+kQ,OAAO,KAGV,CACHxtP,IAAK,CACDmC,KAAMomL,EAAKpxK,IACXntB,MAAOs+L,EACPj/K,SAAUA,EACV0tG,SAAUk0I,EAAeoC,EAAe5kQ,KAAKukQ,kBAEjDtwN,IAAK,MATEj0C,KAAKk0C,MAAM+pN,EAAUiH,YAAa1C,EAAeyC,EAAqBjlQ,KAAKukQ,kBAW1F,CAEI,OAAOvkQ,KAAKk0C,MAAM+pN,EAAUmH,aAAc5C,EAAeoC,EAAe5kQ,KAAKukQ,iBAErF,CAEI,OAAOvkQ,KAAKk0C,MAAM+pN,EAAUiH,YAAa1C,EAAeoC,EAAe5kQ,KAAKukQ,iBAEpF,EAIAZ,EAAOp/P,UAAUsgQ,aAAe,WAC5B,IAAI/xD,EAAc9yM,KAAKohD,SAEvB,IADAphD,KAAK2kQ,QACG3kQ,KAAKokQ,SAAWiB,GAA4BrlQ,KAAK4uO,SACrD5uO,KAAK2kQ,OAET,OAAO3kQ,KAAKoyC,QAAQ99B,MAAMw+L,EAAa9yM,KAAKohD,SAChD,EACAuiN,EAAOp/P,UAAUmgQ,aAAe,SAAUT,EAAcC,GAGpD,IAFA,IAAItwP,EAAQ5T,KAAKukQ,gBACbhjQ,EAAQ,KACC,CACT,IAAI+jQ,EAAmBtlQ,KAAKulQ,cAAcrB,GAC1C,GAAIoB,EACA/jQ,GAAS+jQ,MADb,CAIA,IAAIE,EAAsBxlQ,KAAKylQ,iBAAiBxB,EAAcC,GAC9D,GAAIsB,EACAjkQ,GAASikQ,MADb,CAIA,IAAIE,EAAuB1lQ,KAAK2lQ,2BAChC,IAAID,EAIJ,MAHInkQ,GAASmkQ,CAHb,CALA,CAYJ,CACA,IAAIp3I,EAAWk0I,EAAe5uP,EAAO5T,KAAKukQ,iBAC1C,MAAO,CACHhtP,IAAK,CAAEmC,KAAMomL,EAAKw+D,QAAS/8P,MAAOA,EAAO+sH,SAAUA,GACnDr6E,IAAK,KAEb,EACA0vN,EAAOp/P,UAAUohQ,yBAA2B,WACxC,OAAK3lQ,KAAKokQ,SACU,KAAhBpkQ,KAAK4uO,SACJ5uO,KAAK6jQ,YAooBPW,GADcoB,EAjoBQ5lQ,KAAKuhM,QAAU,IAkoBA,KAAdqkE,GA9nBnB,MAHH5lQ,KAAK2kQ,OACE,KA+nBnB,IAAyBiB,CA5nBrB,EAMAjC,EAAOp/P,UAAUghQ,cAAgB,SAAUrB,GACvC,GAAIlkQ,KAAKokQ,SAA2B,KAAhBpkQ,KAAK4uO,OACrB,OAAO,KAIX,OAAQ5uO,KAAKuhM,QACT,KAAK,GAID,OAFAvhM,KAAK2kQ,OACL3kQ,KAAK2kQ,OACE,IAEX,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,IACD,MACJ,KAAK,GACD,GAAsB,WAAlBT,GAAgD,kBAAlBA,EAC9B,MAEJ,OAAO,KACX,QACI,OAAO,KAEflkQ,KAAK2kQ,OACL,IAAItB,EAAa,CAACrjQ,KAAK4uO,QAGvB,IAFA5uO,KAAK2kQ,QAEG3kQ,KAAKokQ,SAAS,CAClB,IAAIhvB,EAAKp1O,KAAK4uO,OACd,GAAW,KAAPwG,EAAqB,CACrB,GAAoB,KAAhBp1O,KAAKuhM,OAKJ,CAEDvhM,KAAK2kQ,OACL,KACJ,CARItB,EAAWpjQ,KAAK,IAEhBD,KAAK2kQ,MAOb,MAEItB,EAAWpjQ,KAAKm1O,GAEpBp1O,KAAK2kQ,MACT,CACA,OAAOhC,GAAc9hQ,WAAM,EAAQwiQ,EACvC,EACAM,EAAOp/P,UAAUkhQ,iBAAmB,SAAUxB,EAAcC,GACxD,GAAIlkQ,KAAKokQ,QACL,OAAO,KAEX,IAAIhvB,EAAKp1O,KAAK4uO,OACd,OAAW,KAAPwG,GACO,MAAPA,GACQ,KAAPA,IACsB,WAAlB8uB,GAAgD,kBAAlBA,IAC3B,MAAP9uB,GAAwB6uB,EAAe,EACjC,MAGPjkQ,KAAK2kQ,OACEhC,GAAcvtB,GAE7B,EACAuuB,EAAOp/P,UAAU8/P,cAAgB,SAAUJ,EAAcE,GACrD,IAAI0B,EAAuB7lQ,KAAKukQ,gBAGhC,GAFAvkQ,KAAK2kQ,OACL3kQ,KAAK8kQ,YACD9kQ,KAAKokQ,QACL,OAAOpkQ,KAAKk0C,MAAM+pN,EAAU6H,8BAA+BtD,EAAeqD,EAAsB7lQ,KAAKukQ,kBAEzG,GAAoB,MAAhBvkQ,KAAK4uO,OAEL,OADA5uO,KAAK2kQ,OACE3kQ,KAAKk0C,MAAM+pN,EAAU8H,eAAgBvD,EAAeqD,EAAsB7lQ,KAAKukQ,kBAG1F,IAAIhjQ,EAAQvB,KAAKgmQ,4BAA4BzkQ,MAC7C,IAAKA,EACD,OAAOvB,KAAKk0C,MAAM+pN,EAAUgI,mBAAoBzD,EAAeqD,EAAsB7lQ,KAAKukQ,kBAG9F,GADAvkQ,KAAK8kQ,YACD9kQ,KAAKokQ,QACL,OAAOpkQ,KAAKk0C,MAAM+pN,EAAU6H,8BAA+BtD,EAAeqD,EAAsB7lQ,KAAKukQ,kBAEzG,OAAQvkQ,KAAK4uO,QAET,KAAK,IAED,OADA5uO,KAAK2kQ,OACE,CACHptP,IAAK,CACDmC,KAAMomL,EAAK0+D,SAEXj9P,MAAOA,EACP+sH,SAAUk0I,EAAeqD,EAAsB7lQ,KAAKukQ,kBAExDtwN,IAAK,MAIb,KAAK,GAGD,OAFAj0C,KAAK2kQ,OACL3kQ,KAAK8kQ,YACD9kQ,KAAKokQ,QACEpkQ,KAAKk0C,MAAM+pN,EAAU6H,8BAA+BtD,EAAeqD,EAAsB7lQ,KAAKukQ,kBAElGvkQ,KAAKkmQ,qBAAqBjC,EAAcE,EAAmB5iQ,EAAOskQ,GAE7E,QACI,OAAO7lQ,KAAKk0C,MAAM+pN,EAAUgI,mBAAoBzD,EAAeqD,EAAsB7lQ,KAAKukQ,kBAEtG,EAKAZ,EAAOp/P,UAAUyhQ,0BAA4B,WACzC,IAAIG,EAAmBnmQ,KAAKukQ,gBACxBzxD,EAAc9yM,KAAKohD,SACnB7/C,EAAQ6hQ,GAAuBpjQ,KAAKoyC,QAAS0gK,GAC7CE,EAAYF,EAAcvxM,EAAMd,OAIpC,OAHAT,KAAKomQ,OAAOpzD,GAGL,CAAEzxM,MAAOA,EAAO+sH,SADRk0I,EAAe2D,EADZnmQ,KAAKukQ,iBAG3B,EACAZ,EAAOp/P,UAAU2hQ,qBAAuB,SAAUjC,EAAcE,EAAmB5iQ,EAAOskQ,GACtF,IAAIp+O,EAIA4+O,EAAoBrmQ,KAAKukQ,gBACzB5yN,EAAU3xC,KAAKgmQ,4BAA4BzkQ,MAC3C+kQ,EAAkBtmQ,KAAKukQ,gBAC3B,OAAQ5yN,GACJ,IAAK,GAED,OAAO3xC,KAAKk0C,MAAM+pN,EAAUsI,qBAAsB/D,EAAe6D,EAAmBC,IACxF,IAAK,SACL,IAAK,OACL,IAAK,OAIDtmQ,KAAK8kQ,YACL,IAAI0B,EAAmB,KACvB,GAAIxmQ,KAAK+kQ,OAAO,KAAM,CAClB/kQ,KAAK8kQ,YACL,IAAI2B,EAAqBzmQ,KAAKukQ,gBAE9B,IADI1gP,EAAS7jB,KAAK0mQ,iCACPzyN,IACP,OAAOpwB,EAGX,GAAqB,KADjBjH,EAAQyqE,GAAQxjE,EAAOtM,MACjB9W,OACN,OAAOT,KAAKk0C,MAAM+pN,EAAU0I,sBAAuBnE,EAAexiQ,KAAKukQ,gBAAiBvkQ,KAAKukQ,kBAGjGiC,EAAmB,CAAE5pP,MAAOA,EAAOgqP,cADfpE,EAAeiE,EAAoBzmQ,KAAKukQ,iBAEhE,CAEA,IADIsC,EAAiB7mQ,KAAK8mQ,sBAAsBjB,IAC7B5xN,IACf,OAAO4yN,EAEX,IAAIE,EAAavE,EAAeqD,EAAsB7lQ,KAAKukQ,iBAE3D,GAAIiC,GAAoBxgL,GAAgC,OAArBwgL,QAAkD,IAArBA,OAA8B,EAASA,EAAiB5pP,MAAO,KAAM,GAAI,CAErI,IAAI4iP,EAAWl4K,GAAUk/K,EAAiB5pP,MAAMtI,MAAM,IACtD,GAAgB,WAAZq9B,EAEA,OADI9tB,EAAS7jB,KAAKgnQ,8BAA8BxH,EAAUgH,EAAiBI,gBAChE3yN,IACApwB,EAEJ,CACHtM,IAAK,CAAEmC,KAAMomL,EAAKrqL,OAAQlU,MAAOA,EAAO+sH,SAAUy4I,EAAYnqP,MAAOiH,EAAOtM,KAC5E08B,IAAK,MAIT,GAAwB,IAApBurN,EAAS/+P,OACT,OAAOT,KAAKk0C,MAAM+pN,EAAUgJ,0BAA2BF,GAE3D,IAAIG,EAAkB1H,EAIlBx/P,KAAKk8C,SACLgrN,EC1hBrB,SAAwB1H,EAAUtjN,GAErC,IADA,IAAIirN,EAAe,GACVC,EAAa,EAAGA,EAAa5H,EAAS/+P,OAAQ2mQ,IAAc,CACjE,IAAIC,EAAc7H,EAAS7wO,OAAOy4O,GAClC,GAAoB,MAAhBC,EAAqB,CAErB,IADA,IAAIC,EAAc,EACXF,EAAa,EAAI5H,EAAS/+P,QAC7B++P,EAAS7wO,OAAOy4O,EAAa,KAAOC,GACpCC,IACAF,IAEJ,IAAIG,EAAU,GAAmB,EAAdD,GACfE,EAAeF,EAAc,EAAI,EAAI,GAAKA,GAAe,GAEzDG,EAAWzF,EAA+B9lN,GAI9C,IAHgB,KAAZurN,GAA+B,KAAZA,IACnBD,EAAe,GAEZA,KAAiB,GACpBL,GANgB,IAQpB,KAAOI,KAAY,GACfJ,EAAeM,EAAWN,CAElC,MAEIA,GADqB,MAAhBE,EACW,IAGAA,CAExB,CACA,OAAOF,CACX,CDyf8CO,CAAelI,EAAUx/P,KAAKk8C,SAEpD,IAAIt/B,EAAQ,CACRlD,KAAMwkP,EAAckB,SACpBjiL,QAAS+pL,EACT54I,SAAUk4I,EAAiBI,cAC3Be,cAAe3nQ,KAAK+jQ,qBACdxE,EAAsB2H,GACtB,CAAC,GAGX,MAAO,CACH3vP,IAAK,CAAEmC,KAFY,SAAZi4B,EAAqBmuJ,EAAKhqL,KAAOgqL,EAAK18L,KAE1B7B,MAAOA,EAAO+sH,SAAUy4I,EAAYnqP,MAAOA,GAC9Dq3B,IAAK,KAGjB,CAEA,MAAO,CACH18B,IAAK,CACDmC,KAAkB,WAAZi4B,EACAmuJ,EAAKrqL,OACO,SAAZk8B,EACImuJ,EAAKhqL,KACLgqL,EAAK18L,KACf7B,MAAOA,EACP+sH,SAAUy4I,EACVnqP,MAA6G,QAArG6K,EAA0B,OAArB++O,QAAkD,IAArBA,OAA8B,EAASA,EAAiB5pP,aAA0B,IAAP6K,EAAgBA,EAAK,MAE9IwsB,IAAK,MAGb,IAAK,SACL,IAAK,gBACL,IAAK,SAID,IAAI2zN,EAAoB5nQ,KAAKukQ,gBAE7B,GADAvkQ,KAAK8kQ,aACA9kQ,KAAK+kQ,OAAO,KACb,OAAO/kQ,KAAKk0C,MAAM+pN,EAAU4J,+BAAgCrF,EAAeoF,GAAmB3T,EAAAA,EAAAA,IAAS,CAAC,EAAG2T,KAE/G5nQ,KAAK8kQ,YASL,IAAIgD,EAAwB9nQ,KAAKgmQ,4BAC7B+B,EAAe,EACnB,GAAgB,WAAZp2N,GAAwD,WAAhCm2N,EAAsBvmQ,MAAoB,CAClE,IAAKvB,KAAK+kQ,OAAO,KACb,OAAO/kQ,KAAKk0C,MAAM+pN,EAAU+J,oCAAqCxF,EAAexiQ,KAAKukQ,gBAAiBvkQ,KAAKukQ,kBAG/G,IAAI1gP,EACJ,GAFA7jB,KAAK8kQ,aACDjhP,EAAS7jB,KAAKioQ,uBAAuBhK,EAAU+J,oCAAqC/J,EAAUiK,uCACvFj0N,IACP,OAAOpwB,EAGX7jB,KAAK8kQ,YACLgD,EAAwB9nQ,KAAKgmQ,4BAC7B+B,EAAelkP,EAAOtM,GAC1B,CACA,IAIIsvP,EAJAsB,EAAgBnoQ,KAAKooQ,8BAA8BnE,EAActyN,EAASwyN,EAAmB2D,GACjG,GAAIK,EAAcl0N,IACd,OAAOk0N,EAGX,IADItB,EAAiB7mQ,KAAK8mQ,sBAAsBjB,IAC7B5xN,IACf,OAAO4yN,EAEX,IAAIwB,EAAa7F,EAAeqD,EAAsB7lQ,KAAKukQ,iBAC3D,MAAgB,WAAZ5yN,EACO,CACHp6B,IAAK,CACDmC,KAAMomL,EAAK/5D,OACXxkI,MAAOA,EACP2uC,QAAS2yN,GAAYsF,EAAc5wP,KACnC+2G,SAAU+5I,GAEdp0N,IAAK,MAIF,CACH18B,IAAK,CACDmC,KAAMomL,EAAKg/D,OACXv9P,MAAOA,EACP2uC,QAAS2yN,GAAYsF,EAAc5wP,KACnC6pC,OAAQ2mN,EACRO,WAAwB,WAAZ32N,EAAuB,WAAa,UAChD28E,SAAU+5I,GAEdp0N,IAAK,MAIjB,QACI,OAAOj0C,KAAKk0C,MAAM+pN,EAAUsK,sBAAuB/F,EAAe6D,EAAmBC,IAEjG,EACA3C,EAAOp/P,UAAUuiQ,sBAAwB,SAAUjB,GAG/C,OAAI7lQ,KAAKokQ,SAA2B,MAAhBpkQ,KAAK4uO,OACd5uO,KAAKk0C,MAAM+pN,EAAU6H,8BAA+BtD,EAAeqD,EAAsB7lQ,KAAKukQ,mBAEzGvkQ,KAAK2kQ,OACE,CAAEptP,KAAK,EAAM08B,IAAK,MAC7B,EAIA0vN,EAAOp/P,UAAUmiQ,8BAAgC,WAG7C,IAFA,IAAI8B,EAAe,EACf5D,EAAgB5kQ,KAAKukQ,iBACjBvkQ,KAAKokQ,SAAS,CAElB,OADSpkQ,KAAK4uO,QAEV,KAAK,GAGD5uO,KAAK2kQ,OACL,IAAI8D,EAAqBzoQ,KAAKukQ,gBAC9B,IAAKvkQ,KAAK0oQ,UAAU,KAChB,OAAO1oQ,KAAKk0C,MAAM+pN,EAAU0K,iCAAkCnG,EAAeiG,EAAoBzoQ,KAAKukQ,kBAE1GvkQ,KAAK2kQ,OACL,MAEJ,KAAK,IACD6D,GAAgB,EAChBxoQ,KAAK2kQ,OACL,MAEJ,KAAK,IACD,KAAI6D,EAAe,GAIf,MAAO,CACHjxP,IAAKvX,KAAKoyC,QAAQ99B,MAAMswP,EAAcxjN,OAAQphD,KAAKohD,UACnDnN,IAAK,MALTu0N,GAAgB,EAQpB,MAEJ,QACIxoQ,KAAK2kQ,OAGjB,CACA,MAAO,CACHptP,IAAKvX,KAAKoyC,QAAQ99B,MAAMswP,EAAcxjN,OAAQphD,KAAKohD,UACnDnN,IAAK,KAEb,EACA0vN,EAAOp/P,UAAUyiQ,8BAAgC,SAAUxH,EAAUlxI,GACjE,IAAI/6B,EAAS,GACb,IACIA,EFrsBL,SAAuCisK,GAC1C,GAAwB,IAApBA,EAAS/+P,OACT,MAAM,IAAIuzC,MAAM,mCAOpB,IAJA,IAAI40N,EAAepJ,EACd/kO,MAAMolO,GACNz+O,QAAO,SAAUjO,GAAK,OAAOA,EAAE1S,OAAS,CAAG,IAC5C8yF,EAAS,GACJpzF,EAAK,EAAG0oQ,EAAiBD,EAAczoQ,EAAK0oQ,EAAepoQ,OAAQN,IAAM,CAC9E,IACI2oQ,EADcD,EAAe1oQ,GACAs6B,MAAM,KACvC,GAA8B,IAA1BquO,EAAeroQ,OACf,MAAM,IAAIuzC,MAAM,2BAGpB,IADA,IAAI2sN,EAAOmI,EAAe,GAAI54N,EAAU44N,EAAex0P,MAAM,GACpDmT,EAAK,EAAGshP,EAAY74N,EAASzoB,EAAKshP,EAAUtoQ,OAAQgnB,IAEzD,GAAsB,IADTshP,EAAUthP,GACZhnB,OACP,MAAM,IAAIuzC,MAAM,2BAGxBu/C,EAAOtzF,KAAK,CAAE0gQ,KAAMA,EAAMzwN,QAASA,GACvC,CACA,OAAOqjD,CACX,CE4qBqByzK,CAA8BxH,EAI3C,CAFA,MAAOh8P,KACH,OAAOxD,KAAKk0C,MAAM+pN,EAAU+K,wBAAyB16I,EACzD,CACA,MAAO,CACH/2G,IAAK,CACDmC,KAAMwkP,EAAczoP,OACpB89E,OAAQA,EACR+6B,SAAUA,EACVq5I,cAAe3nQ,KAAK+jQ,qBACd9C,EAAoB1tK,GACpB,CAAC,GAEXt/C,IAAK,KAEb,EAWA0vN,EAAOp/P,UAAU6jQ,8BAAgC,SAAUnE,EAAcC,EAAe+E,EAAgBC,GASpG,IARA,IAAIzhP,EACA0hP,GAAiB,EACjBj5N,EAAU,GACVk5N,EAAkB,IAAI54M,IACtBy8J,EAAWi8C,EAAsB3nQ,MAAO8nQ,EAAmBH,EAAsB56I,WAIxE,CACT,GAAwB,IAApB2+F,EAASxsN,OAAc,CACvB,IAAImkQ,EAAgB5kQ,KAAKukQ,gBACzB,GAAsB,WAAlBL,IAA8BlkQ,KAAK+kQ,OAAO,KAU1C,MARA,IAAIlhP,EAAS7jB,KAAKioQ,uBAAuBhK,EAAUqL,gCAAiCrL,EAAUsL,kCAC9F,GAAI1lP,EAAOowB,IACP,OAAOpwB,EAEXwlP,EAAmB7G,EAAeoC,EAAe5kQ,KAAKukQ,iBACtDt3C,EAAWjtN,KAAKoyC,QAAQ99B,MAAMswP,EAAcxjN,OAAQphD,KAAKohD,SAKjE,CAEA,GAAIgoN,EAAgBx8N,IAAIqgL,GACpB,OAAOjtN,KAAKk0C,MAAwB,WAAlBgwN,EACZjG,EAAUuL,mCACVvL,EAAUwL,mCAAoCJ,GAEvC,UAAbp8C,IACAk8C,GAAiB,GAKrBnpQ,KAAK8kQ,YACL,IAAIe,EAAuB7lQ,KAAKukQ,gBAChC,IAAKvkQ,KAAK+kQ,OAAO,KACb,OAAO/kQ,KAAKk0C,MAAwB,WAAlBgwN,EACZjG,EAAUyL,yCACVzL,EAAU0L,yCAA0CnH,EAAexiQ,KAAKukQ,gBAAiBvkQ,KAAKukQ,kBAExG,IAAIqF,EAAiB5pQ,KAAKgkQ,aAAaC,EAAe,EAAGC,EAAe+E,GACxE,GAAIW,EAAe31N,IACf,OAAO21N,EAEX,IAAI/C,EAAiB7mQ,KAAK8mQ,sBAAsBjB,GAChD,GAAIgB,EAAe5yN,IACf,OAAO4yN,EAEX32N,EAAQjwC,KAAK,CACTgtN,EACA,CACI1rN,MAAOqoQ,EAAeryP,IACtB+2G,SAAUk0I,EAAeqD,EAAsB7lQ,KAAKukQ,oBAI5D6E,EAAgB5mP,IAAIyqM,GAEpBjtN,KAAK8kQ,YACmC73C,GAAvCxlM,EAAKznB,KAAKgmQ,6BAA2CzkQ,MAAO8nQ,EAAmB5hP,EAAG6mG,QACvF,CACA,OAAuB,IAAnBp+E,EAAQzvC,OACDT,KAAKk0C,MAAwB,WAAlBgwN,EACZjG,EAAU4L,gCACV5L,EAAUqL,gCAAiC9G,EAAexiQ,KAAKukQ,gBAAiBvkQ,KAAKukQ,kBAE3FvkQ,KAAK8jQ,sBAAwBqF,EACtBnpQ,KAAKk0C,MAAM+pN,EAAU6L,qBAAsBtH,EAAexiQ,KAAKukQ,gBAAiBvkQ,KAAKukQ,kBAEzF,CAAEhtP,IAAK24B,EAAS+D,IAAK,KAChC,EACA0vN,EAAOp/P,UAAU0jQ,uBAAyB,SAAU8B,EAAmBC,GACnE,IAAIxkK,EAAO,EACP2gK,EAAmBnmQ,KAAKukQ,gBACxBvkQ,KAAK+kQ,OAAO,MAEP/kQ,KAAK+kQ,OAAO,OACjBv/J,GAAQ,GAIZ,IAFA,IAAIykK,GAAY,EACZC,EAAU,GACNlqQ,KAAKokQ,SAAS,CAClB,IAAIhvB,EAAKp1O,KAAK4uO,OACd,KAAIwG,GAAM,IAAgBA,GAAM,IAM5B,MALA60B,GAAY,EACZC,EAAoB,GAAVA,GAAgB90B,EAAK,IAC/Bp1O,KAAK2kQ,MAKb,CACA,IAAIr2I,EAAWk0I,EAAe2D,EAAkBnmQ,KAAKukQ,iBACrD,OAAK0F,EAIA/lL,GADLgmL,GAAW1kK,GAIJ,CAAEjuF,IAAK2yP,EAASj2N,IAAK,MAFjBj0C,KAAKk0C,MAAM81N,EAAoB17I,GAJ/BtuH,KAAKk0C,MAAM61N,EAAmBz7I,EAO7C,EACAq1I,EAAOp/P,UAAU68C,OAAS,WACtB,OAAOphD,KAAK+yC,SAASqO,MACzB,EACAuiN,EAAOp/P,UAAU6/P,MAAQ,WACrB,OAAOpkQ,KAAKohD,WAAaphD,KAAKoyC,QAAQ3xC,MAC1C,EACAkjQ,EAAOp/P,UAAUggQ,cAAgB,WAE7B,MAAO,CACHnjN,OAAQphD,KAAK+yC,SAASqO,OACtBlb,KAAMlmC,KAAK+yC,SAAS7M,KACpB09N,OAAQ5jQ,KAAK+yC,SAAS6wN,OAE9B,EAKAD,EAAOp/P,UAAUqqO,KAAO,WACpB,IAAIxtL,EAASphD,KAAK+yC,SAASqO,OAC3B,GAAIA,GAAUphD,KAAKoyC,QAAQ3xC,OACvB,MAAMuzC,MAAM,gBAEhB,IAAIikE,EAAO8qJ,GAAY/iQ,KAAKoyC,QAASgP,GACrC,QAAa3a,IAATwxE,EACA,MAAMjkE,MAAM,UAAU5vB,OAAOg9B,EAAQ,6CAEzC,OAAO62D,CACX,EACA0rJ,EAAOp/P,UAAU2vC,MAAQ,SAAU4lG,EAAMxrB,GACrC,MAAO,CACH/2G,IAAK,KACL08B,IAAK,CACD6lG,KAAMA,EACN1nG,QAASpyC,KAAKoyC,QACdk8E,SAAUA,GAGtB,EAEAq1I,EAAOp/P,UAAUogQ,KAAO,WACpB,IAAI3kQ,KAAKokQ,QAAT,CAGA,IAAInsJ,EAAOj4G,KAAK4uO,OACH,KAAT32H,GACAj4G,KAAK+yC,SAAS7M,MAAQ,EACtBlmC,KAAK+yC,SAAS6wN,OAAS,EACvB5jQ,KAAK+yC,SAASqO,QAAU,IAGxBphD,KAAK+yC,SAAS6wN,QAAU,EAExB5jQ,KAAK+yC,SAASqO,QAAU62D,EAAO,MAAU,EAAI,EAVjD,CAYJ,EAOA0rJ,EAAOp/P,UAAUwgQ,OAAS,SAAUv0N,GAChC,GAAIw1C,GAAWhmF,KAAKoyC,QAAS5B,EAAQxwC,KAAKohD,UAAW,CACjD,IAAK,IAAI1gD,EAAI,EAAGA,EAAI8vC,EAAO/vC,OAAQC,IAC/BV,KAAK2kQ,OAET,OAAO,CACX,CACA,OAAO,CACX,EAKAhB,EAAOp/P,UAAUmkQ,UAAY,SAAUvrL,GACnC,IAAIgtL,EAAgBnqQ,KAAKohD,SACrB5rC,EAAQxV,KAAKoyC,QAAQruB,QAAQo5D,EAASgtL,GAC1C,OAAI30P,GAAS,GACTxV,KAAKomQ,OAAO5wP,IACL,IAGPxV,KAAKomQ,OAAOpmQ,KAAKoyC,QAAQ3xC,SAClB,EAEf,EAKAkjQ,EAAOp/P,UAAU6hQ,OAAS,SAAUgE,GAChC,GAAIpqQ,KAAKohD,SAAWgpN,EAChB,MAAMp2N,MAAM,gBAAgB5vB,OAAOgmP,EAAc,yDAAyDhmP,OAAOpkB,KAAKohD,WAG1H,IADAgpN,EAAe/4P,KAAKE,IAAI64P,EAAcpqQ,KAAKoyC,QAAQ3xC,UACtC,CACT,IAAI2gD,EAASphD,KAAKohD,SAClB,GAAIA,IAAWgpN,EACX,MAEJ,GAAIhpN,EAASgpN,EACT,MAAMp2N,MAAM,gBAAgB5vB,OAAOgmP,EAAc,6CAGrD,GADApqQ,KAAK2kQ,OACD3kQ,KAAKokQ,QACL,KAER,CACJ,EAEAT,EAAOp/P,UAAUugQ,UAAY,WACzB,MAAQ9kQ,KAAKokQ,SAAWX,GAAczjQ,KAAK4uO,SACvC5uO,KAAK2kQ,MAEb,EAKAhB,EAAOp/P,UAAUg9L,KAAO,WACpB,GAAIvhM,KAAKokQ,QACL,OAAO,KAEX,IAAInsJ,EAAOj4G,KAAK4uO,OACZxtL,EAASphD,KAAKohD,SACdipN,EAAWrqQ,KAAKoyC,QAAQ2kC,WAAW31B,GAAU62D,GAAQ,MAAU,EAAI,IACvE,OAAoB,OAAboyJ,QAAkC,IAAbA,EAAsBA,EAAW,IACjE,EACO1G,CACX,CA/yB4B,GAszB5B,SAASa,GAASoB,GACd,OAASA,GAAa,IAAMA,GAAa,KACpCA,GAAa,IAAMA,GAAa,EACzC,CAKA,SAASP,GAA4BhxP,GACjC,OAAc,KAANA,GACE,KAANA,GACCA,GAAK,IAAMA,GAAK,IACX,KAANA,GACCA,GAAK,IAAMA,GAAK,KAChBA,GAAK,IAAMA,GAAK,IACZ,KAALA,GACCA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAASA,GAAK,MACnBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAWA,GAAK,MAC9B,CAKA,SAASovP,GAAcpvP,GACnB,OAASA,GAAK,GAAUA,GAAK,IACnB,KAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,CACR,CAKA,SAASqvP,GAAiBrvP,GACtB,OAASA,GAAK,IAAUA,GAAK,IACnB,KAANA,GACCA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACCA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QA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GAAAA,EAGnEo5P,EAAiBruU,MAAQ,YAAAA,OACvBmuU,EAAqBC,EAAsB72T,EAAAA,GAAAA,CAAAA,EACtCwhB,EAAAA,CACH/4B,MAAOjD,MAAM3P,UAAU6f,OAAO8rB,EAAQ/4B,MAAOA,GAAOiK,OAAOu1O,WAAAA,EAGxD6uF,CAAAA,CDzBO92T,CAAqCg3T,GAAiBh3T,EAAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIUtV,SAAQ,YAClBisU,GAAOpwK,GAAcowK,GAAOpwK,EAAAA,KELT0wK,WAAAA,SAAAA,EAOP3qE,EAAgB4jE,GAAAA,KACrB5jE,MAAQA,EAAAA,KACR4jE,YAAcA,EAAAA,KACdG,SAAWL,GAAc1jE,GAI9ByiE,GAAWI,WAAW79U,KAAK4+U,YAAc,uBAG3CgH,aAAAA,SACE3hJ,EACAk7I,EACAttM,EACAutM,GAAAA,IAGMrrM,EAAMqrM,EADIlpQ,GAAQl2E,KAAKg7Q,MAAOmkE,EAAkB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EAAoB,MACd,CAAC,YACD,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,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vBG,GAAa,IADbD,EAAgBJ,EAAgB,IACG,EAGnCS,EAAY,YA4EZvoZ,IAAO6nZ,GACTxhgB,GAAQ+C,IAAI,8CAGP+C,CAAAA,CCz1BT,SAASw8f,GAAYzI,GAAAA,IAMf0I,EACAC,EACAC,EACAC,EAeAC,EAvBAC,EAAS9kiB,KAAK+C,MACdgiiB,EAAS,IAAIliiB,MAAM,IACnBmiiB,EAAU,IAAIniiB,MAAM,IACpBoiiB,EAAU,IAAIpiiB,MAAM,IACpBqiiB,EAAW,IAAIriiB,MAAM,IAMrBsiiB,EAAU,IAAItiiB,MAAM,OACpBuiiB,EAAW,IAAIviiB,MAAM,OACrBwiiB,EAAkB,IAAIxiiB,MAAM,IAC5ByiiB,EAAK,IAAIziiB,MAAM,IACf0iiB,EAAU,GACVC,EAAU,EACVC,EAAU,EAEVC,EAAM,IAAI7iiB,MAAM,IAChB8iiB,EAAM,IAAI9iiB,MAAM,IAChB+iiB,EAAM,IAAI/iiB,MAAM,IAChB6yf,EAAM,IAAI7yf,MAAM,KAChBgjiB,EAAgB,IAAIhjiB,MAAM,MAG1BijiB,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOC,EAAkBC,EAASC,GAAAA,IAAAA,IAC9BC,EAAY,EACZC,EAAe,EACfC,EAAK,IAAI/jiB,MACJlB,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIiF,EAAI,EAAGA,GAAK4/hB,EAAQ7kiB,GAAIiF,IAC/BggiB,EAAGH,EAAUE,IAAiB,GAC9BC,EAAGH,EAAUE,IAAe,GAAKD,EACjCE,EAAGH,EAAUE,IAAe,GAAKhliB,EACjCgliB,IACAD,IAEFA,GAAa,SAERE,CAAAA,CAAAA,SA2DAC,EAAU9iiB,GAAAA,IAAAA,IACb7T,EAAQ6T,EAAG,GACX+iiB,EAAS/iiB,EAAG,GAAK,EACd+iiB,GAAU,GACX52iB,EAAS,GAAK42iB,IAChBtB,GAAW,GAAKC,GAElBqB,MACArB,EACc,IACG,KAAXD,GACFuB,EAAU,KACVA,EAAU,IAEVA,EAAUvB,GA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GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOv7iB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB2C,EAAI8yiB,GAAQ8F,EAAIv7iB,GAAKutO,EAAK,IAAM,KACpC5qO,EAAIgO,KAAKE,IAAIF,KAAKC,IAAIjO,EAAG,GAAI,KAC7B+yiB,EAAOe,EAAOz2iB,IAAM2C,CAAAA,CAAAA,IAAAA,IAElB64iB,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOjkiB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBgX,EAAIknhB,GAAQ+F,EAAKjkiB,GAAKg2N,EAAK,IAAM,KACrCh/M,EAAI5d,KAAKE,IAAIF,KAAKC,IAAI2d,EAAG,GAAI,KAC7BonhB,EAAQc,EAAOl/hB,IAAMgX,CAAAA,CAAAA,IAAAA,IAEnBkthB,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEEnpiB,EAAI,EACCk6B,EAAM,EAAGA,EAAM,EAAGA,IAAAA,IACpB,IAAIwuL,EAAM,EAAGA,EAAM,EAAGA,IACzB46U,EAAQtjiB,GAAK,GAAOojiB,EAAOe,EAAOnkiB,IAAMmpiB,EAAKjvgB,GAAOivgB,EAAKzgV,GAAO,GAChE66U,EAASvji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E1BptiB,GADAA,GAAKH,GAAKZ,EAAI,GAAKgC,GAAKhB,EAAE8siB,IACjBxqiB,GAAKrQ,EAAMgN,GAAK+B,EAAMpB,GAAKoB,EACpCjB,GAAK,MAAQC,EAAE6C,EACf9C,GAAK,MAAQC,EAAE/N,EACf8N,GAAK,MAAQC,EAAEqjN,GAAAA,IACTvwN,IAAOiN,GAAKF,GAAK5N,EAAK8N,GAAK8E,GAAK7E,EAAEyxN,GAAM1xN,GAAK,MAAQC,EAAE0uG,EAAAA,MAE5D3uG,EAAI,EACTC,EAAID,EAAI,EAAI,UAGZ,GAAKC,GAAAA,MACD2D,GAAKA,EAAEivN,KAAO5yN,EAAIq1N,GAAG1yN,IADV3C,CAAAA,CAAAA,IAIjBu+I,GAAK,GACPi3E,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFw3U,GAAK,GACL7kV,GAAK,GACLoF,GAAK,EACLqI,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJvrM,EAAE,aAAc,iBAChBitB,EAAKy2f,WAAa,kBACT,YAETz2f,EAAK02f,WAAa,SAAShuiB,GAAAA,OAClBA,CAAAA,EAETs3C,EAAK22f,WAAa,SAASjuiB,EAAGD,EAAG4D,GAAAA,OACxB5D,EAAE4D,EAAI,IAEf2zC,EAAK42f,WAAa,SAASluiB,EAAGD,EAAG4D,GAAAA,OACxB5D,EAAE4D,EAAI,IAEf2zC,EAAK62f,WAAa,SAASnuiB,EAAGD,EAAG4D,GAAAA,OACxB5D,EAAE4D,EAAI,IAEf2zC,EAAK82f,WAAa,SAASpuiB,EAAGD,EAAG4D,GAAAA,OACxBu/M,EAAGA,EAAGljN,EAAGD,EAAE4D,EAAI,IAAK5D,EAAE4D,EAAI,KAEnC2zC,EAAK+2f,WAAa,SAASruiB,EAAGD,EAAG4D,GAAAA,OACxBu/M,EAAGljN,EAAGD,EAAE4D,EAAI,KAErB2zC,EAAKg3f,WAAa,SAAStuiB,E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ACP4jH,GAAK,EACL1F,GAAK4F,GACL1K,GAAKt5K,GACL8gI,GAAI/0C,GACJrsB,GAAIqkH,GACJzN,GAAK,EACL2B,GAAK,EACLgJ,GAAK,EACLnJ,GAAK,EACL5B,GAAK,EACLqH,GAAK,EACLooB,GAAK,EACLzoB,GAAK,EACLC,GAAK,EACLtG,GAAK,EACLuG,GAAK,GACLwN,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZ5I,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1B8I,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpET,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFQ,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFJ,GAAK,EACLtM,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IA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,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC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,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KA8jBEqC,EAAa,IAAI3kD,EAAM6hD,eAAe,CAAEyC,eAAe,IAoC3DtkD,EAAM7nU,IAAIznM,OAAOJ,KAAK,CAAC,kBAlCE,SAASG,GAAAA,IAC5BsyB,EAAOtyB,EAAKsyB,KAGZwd,GAFI9vC,EAAK+S,EACL/S,EAAKmT,EACCnT,EAAK8vC,SAAW,CAAC,GAG3B6rf,GAFQ37hB,EAAKgkhB,MACNl0e,EAAQm6D,KACL,OAEdn6D,EAAQ+jhB,cAC2B,kBAA1B/jhB,EAAQ+jhB,eAA8B/jhB,EAAQ+jhB,cACvDK,EAAWp4K,WAAWhsW,GAEuB,mBAAzCvrC,OAAOJ,UAAUkN,SAAShO,KAAKivB,GAA4B,KACzDhyB,EAAI,MACRq7hB,EAAU,GACLr7hB,EAAI,EAAGA,EAAIgyB,EAAKjyB,OAAQC,GAAK,EACgB,mBAA5CiE,OAAOJ,UAAUkN,SAAShO,KAAKivB,EAAKhyB,IACtCq7hB,EAAQ97hB,KAAK,CACXq0jB,EAAWP,cAAcrhiB,EAAKhyB,GAAG,IACjCgyB,EAAKhyB,GAAG,GACRgyB,EAAKhyB,GAAG,KAGVq7hB,EAAQ97hB,KAAK,CAACq0jB,EAAWP,cAAcrhiB,EAAKhyB,MAGhDN,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","sources":["../node_modules/@antv/event-emitter/src/index.ts","../node_modules/@antv/g-base/src/abstract/base.ts","../node_modules/d3-timer/src/timer.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/value.js","../node_modules/@antv/g-base/src/animate/timeline.ts","../node_modules/@antv/g-base/src/util/color.ts","../node_modules/@antv/g-base/src/event/event-contoller.ts","../node_modules/@antv/g-base/src/abstract/canvas.ts","../node_modules/@antv/g-base/src/abstract/container.ts","../node_modules/@antv/g-base/src/abstract/element.ts","../node_modules/@antv/g-base/src/abstract/group.ts","../node_modules/@antv/g-base/src/abstract/shape.ts","../node_modules/d3-ease/src/linear.js","../node_modules/d3-ease/src/quad.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-ease/src/poly.js","../node_modules/d3-ease/src/sin.js","../node_modules/d3-ease/src/math.js","../node_modules/d3-ease/src/exp.js","../node_modules/d3-ease/src/circle.js","../node_modules/d3-ease/src/bounce.js","../node_modules/d3-ease/src/back.js","../node_modules/d3-ease/src/elastic.js","../node_modules/@antv/g-base/src/animate/register.ts","../node_modules/@antv/g-base/src/bbox/register.ts","../node_modules/@antv/g-base/src/bbox/rect.ts","../node_modules/@antv/g-base/src/bbox/circle.ts","../node_modules/@antv/g-base/src/bbox/util.ts","../node_modules/@antv/g-base/node_modules/@antv/path-util/src/parse-path.ts","../node_modules/@antv/g-base/node_modules/@antv/path-util/src/parse-path-string.ts","../node_modules/@antv/g-base/node_modules/@antv/path-util/src/process/arc-2-cubic.ts","../node_modules/@antv/g-base/node_modules/@antv/path-util/src/get-arc-params.ts","../node_modules/@antv/g-base/node_modules/@antv/path-util/src/path-2-segments.ts","../node_modules/@antv/g-base/src/bbox/path.ts","../node_modules/@antv/g-base/src/bbox/index.ts","../node_modules/@antv/g-base/src/bbox/polyline.ts","../node_modules/@antv/g-base/src/bbox/polygon.ts","../node_modules/@antv/g-base/src/bbox/text.ts","../node_modules/@antv/g-base/src/bbox/line.ts","../node_modules/@antv/g-base/src/bbox/ellipse.ts","../node_modules/@antv/g-base/src/event/graph-event.ts","../node_modules/@antv/g-base/src/index.ts","../node_modules/@antv/g-base/src/util/matrix.ts","../node_modules/@antv/g-base/src/util/offscreen.ts","../node_modules/@antv/g-base/src/util/path.ts","../node_modules/@antv/g-base/src/util/text.ts","../node_modules/@antv/g-base/src/util/util.ts","../node_modules/@antv/g-math/src/util.ts","../node_modules/@antv/g-math/src/line.ts","../node_modules/@antv/g-math/src/bezier.ts","../node_modules/@antv/g-math/src/quadratic.ts","../node_modules/@antv/g-math/src/cubic.ts","../node_modules/@antv/g-math/src/ellipse.ts","../node_modules/@antv/g-math/src/arc.ts","../node_modules/@antv/g-math/src/segments.ts","../node_modules/@antv/g-math/src/polyline.ts","../node_modules/@antv/matrix-util/src/ext.ts","../node_modules/@antv/util/src/is-array-like.ts","../node_modules/@antv/util/src/contains.ts","../node_modules/@antv/util/src/filter.ts","../node_modules/@antv/util/src/difference.ts","../node_modules/@antv/util/src/is-type.ts","../node_modules/@antv/util/src/is-function.ts","../node_modules/@antv/util/src/is-nil.ts","../node_modules/@antv/util/src/is-array.ts","../node_modules/@antv/util/src/is-object.ts","../node_modules/@antv/util/src/each.ts","../node_modules/@antv/util/src/keys.ts","../node_modules/@antv/util/src/is-match.ts","../node_modules/@antv/util/src/is-object-like.ts","../node_modules/@antv/util/src/is-plain-object.ts","../node_modules/@antv/util/src/find.ts","../node_modules/@antv/util/src/find-index.ts","../node_modules/@antv/util/src/first-value.ts","../node_modules/@antv/util/src/flatten.ts","../node_modules/@antv/util/src/max.ts","../node_modules/@antv/util/src/min.ts","../node_modules/@antv/util/src/get-range.ts","../node_modules/@antv/util/src/pull.ts","../node_modules/@antv/util/src/pull-at.ts","../node_modules/@antv/util/src/reduce.ts","../node_modules/@antv/util/src/remove.ts","../node_modules/@antv/util/src/is-string.ts","../node_modules/@antv/util/src/sort-by.ts","../node_modules/@antv/util/src/uniq.ts","../node_modules/@antv/util/src/values-of-key.ts","../node_modules/@antv/util/src/head.ts","../node_modules/@antv/util/src/last.ts","../node_modules/@antv/util/src/ends-with.ts","../node_modules/@antv/util/src/every.ts","../node_modules/@antv/util/src/some.ts","../node_modules/@antv/util/src/group-by.ts","../node_modules/@antv/util/src/group-to-map.ts","../node_modules/@antv/util/src/group.ts","../node_modules/@antv/util/src/parse-radius.ts","../node_modules/@antv/util/src/clamp.ts","../node_modules/@antv/util/src/fixed-base.ts","../node_modules/@antv/util/src/is-number.ts","../node_modules/@antv/util/src/is-integer.ts","../node_modules/@antv/util/src/is-number-equal.ts","../node_modules/@antv/util/src/is-odd.ts","../node_modules/@antv/util/src/max-by.ts","../node_modules/@antv/util/src/min-by.ts","../node_modules/@antv/util/src/mod.ts","../node_modules/@antv/util/src/to-radian.ts","../node_modules/@antv/util/src/to-degree.ts","../node_modules/@antv/util/src/to-integer.ts","../node_modules/@antv/util/src/for-in.ts","../node_modules/@antv/util/src/has-key.ts","../node_modules/@antv/util/src/has.ts","../node_modules/@antv/util/src/values.ts","../node_modules/@antv/util/src/to-string.ts","../node_modules/@antv/util/src/lower-case.ts","../node_modules/@antv/util/src/substitute.ts","../node_modules/@antv/util/src/upper-first.ts","../node_modules/@antv/util/src/get-type.ts","../node_modules/@antv/util/src/is-boolean.ts","../node_modules/@antv/util/src/is-date.ts","../node_modules/@antv/util/src/is-null.ts","../node_modules/@antv/util/src/is-prototype.ts","../node_modules/@antv/util/src/is-undefined.ts","../node_modules/@antv/util/src/is-element.ts","../node_modules/@antv/util/src/request-animation-frame.ts","../node_modules/@antv/util/src/clear-animation-frame.ts","../node_modules/@antv/util/src/augment.ts","../node_modules/@antv/util/src/clone.ts","../node_modules/@antv/util/src/debounce.ts","../node_modules/@antv/util/src/memoize.ts","../node_modules/@antv/util/src/deep-mix.ts","../node_modules/@antv/util/src/index-of.ts","../node_modules/@antv/util/src/is-empty.ts","../node_modules/@antv/util/src/is-equal.ts","../node_modules/@antv/util/src/map.ts","../node_modules/@antv/util/src/map-values.ts","../node_modules/@antv/util/src/mix.ts","../node_modules/@antv/util/src/get.ts","../node_modules/@antv/util/src/set.ts","../node_modules/@antv/util/src/pick.ts","../node_modules/@antv/util/src/omit.ts","../node_modules/@antv/util/src/throttle.ts","../node_modules/@antv/util/src/to-array.ts","../node_modules/@antv/util/src/unique-id.ts","../node_modules/@antv/util/src/noop.ts","../node_modules/@antv/util/src/size.ts","../node_modules/@antv/util/src/measure-text-width.ts","../node_modules/@antv/util/src/get-ellipsis-text.ts","../node_modules/@antv/util/src/cache.ts","../node_modules/classnames/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/d3-regression/dist/d3-regression.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/advancedFormat.js","../node_modules/dayjs/plugin/customParseFormat.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/weekOfYear.js","../node_modules/dayjs/plugin/weekYear.js","../node_modules/dayjs/plugin/weekday.js","../node_modules/detect-browser/es/index.js","../node_modules/fmin/build/fmin.js","../node_modules/form-data/lib/browser.js","../node_modules/gl-matrix/esm/common.js","../node_modules/gl-matrix/esm/mat3.js","../node_modules/gl-matrix/esm/vec2.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/lodash.isequal/index.js","../node_modules/lodash.mergewith/index.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/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.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/_isIndex.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.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/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_root.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.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/_toSource.js","../node_modules/lodash/eq.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isEqual.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/lodash.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/moment/moment.js","../node_modules/pdfast/src/helper.js","../node_modules/pdfast/src/index.js","../pdfjs-dist/build/pdf/webpack/universalModuleDefinition","../pdfjs-dist/build/pdf/src/shared/util.js","../pdfjs-dist/build/pdf/src/display/api.js","../pdfjs-dist/build/pdf/src/display/annotation_storage.js","../pdfjs-dist/build/pdf/src/display/editor/editor.js","../pdfjs-dist/build/pdf/src/display/editor/tools.js","../pdfjs-dist/build/pdf/src/display/display_utils.js","../pdfjs-dist/build/pdf/src/display/base_factory.js","../pdfjs-dist/build/pdf/src/shared/murmurhash3.js","../pdfjs-dist/build/pdf/src/display/font_loader.js","../pdfjs-dist/build/pdf/src/shared/is_node.js","../pdfjs-dist/build/pdf/src/display/canvas.js","../pdfjs-dist/build/pdf/src/display/pattern_helper.js","../pdfjs-dist/build/pdf/src/shared/image_utils.js","../pdfjs-dist/build/pdf/src/display/worker_options.js","../pdfjs-dist/build/pdf/src/shared/message_handler.js","../pdfjs-dist/build/pdf/src/display/metadata.js","../pdfjs-dist/build/pdf/src/display/optional_content_config.js","../pdfjs-dist/build/pdf/src/display/transport_stream.js","../pdfjs-dist/build/pdf/src/display/xfa_text.js","../pdfjs-dist/build/pdf/src/display/node_utils.js","../pdfjs-dist/build/pdf/src/display/node_stream.js","../pdfjs-dist/build/pdf/src/display/network_utils.js","../pdfjs-dist/build/pdf/src/display/content_disposition.js","../pdfjs-dist/build/pdf/src/display/network.js","../pdfjs-dist/build/pdf/src/display/fetch_stream.js","../pdfjs-dist/build/pdf/src/display/text_layer.js","../pdfjs-dist/build/pdf/src/display/editor/annotation_editor_layer.js","../pdfjs-dist/build/pdf/src/display/editor/freetext.js","../pdfjs-dist/build/pdf/src/display/editor/ink.js","../pdfjs-dist/build/pdf/src/display/editor/fit_curve.js","../pdfjs-dist/build/pdf/node_modules/fit-curve/src/fit-curve.js","../pdfjs-dist/build/pdf/src/display/annotation_layer.js","../pdfjs-dist/build/pdf/src/shared/scripting_utils.js","../pdfjs-dist/build/pdf/src/display/xfa_layer.js","../pdfjs-dist/build/pdf/src/display/svg.js","../pdfjs-dist/build/pdf/webpack/bootstrap","../pdfjs-dist/build/pdf/src/pdf.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/quill-delta-to-html/dist/commonjs/DeltaInsertOp.js","../node_modules/quill-delta-to-html/dist/commonjs/InsertData.js","../node_modules/quill-delta-to-html/dist/commonjs/InsertOpDenormalizer.js","../node_modules/quill-delta-to-html/dist/commonjs/InsertOpsConverter.js","../node_modules/quill-delta-to-html/dist/commonjs/OpAttributeSanitizer.js","../node_modules/quill-delta-to-html/dist/commonjs/OpLinkSanitizer.js","../node_modules/quill-delta-to-html/dist/commonjs/OpToHtmlConverter.js","../node_modules/quill-delta-to-html/dist/commonjs/QuillDeltaToHtmlConverter.js","../node_modules/quill-delta-to-html/dist/commonjs/funcs-html.js","../node_modules/quill-delta-to-html/dist/commonjs/grouper/Grouper.js","../node_modules/quill-delta-to-html/dist/commonjs/grouper/ListNester.js","../node_modules/quill-delta-to-html/dist/commonjs/grouper/TableGrouper.js","../node_modules/quill-delta-to-html/dist/commonjs/grouper/group-types.js","../node_modules/quill-delta-to-html/dist/commonjs/helpers/array.js","../node_modules/quill-delta-to-html/dist/commonjs/helpers/object.js","../node_modules/quill-delta-to-html/dist/commonjs/helpers/string.js","../node_modules/quill-delta-to-html/dist/commonjs/helpers/url.js","../node_modules/quill-delta-to-html/dist/commonjs/main.js","../node_modules/quill-delta-to-html/dist/commonjs/mentions/MentionSanitizer.js","../node_modules/quill-delta-to-html/dist/commonjs/value-types.js","../node_modules/quill/dist/quill.js","../node_modules/rc-util/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/rc-util/node_modules/react-is/index.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-fast-compare/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-quill/src/index.tsx","../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/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/size-sensor/lib/constant.js","../node_modules/size-sensor/lib/debounce.js","../node_modules/size-sensor/lib/id.js","../node_modules/size-sensor/lib/index.js","../node_modules/size-sensor/lib/sensorPool.js","../node_modules/size-sensor/lib/sensors/index.js","../node_modules/size-sensor/lib/sensors/object.js","../node_modules/size-sensor/lib/sensors/resizeObserver.js","../node_modules/toggle-selection/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js","../node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js","../node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js","../node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js","../node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js","../node_modules/@babel/runtime/helpers/classPrivateFieldGet.js","../node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js","../node_modules/@babel/runtime/helpers/classPrivateFieldSet.js","../node_modules/@babel/runtime/helpers/classPrivateMethodGet.js","../node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js","../node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js","../node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js","../node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/objectSpread2.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/toPrimitive.js","../node_modules/@babel/runtime/helpers/toPropertyKey.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@formatjs/ecma402-abstract/lib/utils.js","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/@formatjs/intl/lib/src/error.js","../node_modules/@formatjs/intl/lib/src/utils.js","../node_modules/react-intl/lib/src/utils.js","../node_modules/react-intl/lib/src/components/injectIntl.js","../node_modules/@formatjs/intl/lib/src/message.js","../node_modules/@formatjs/intl/lib/src/number.js","../node_modules/@formatjs/intl/lib/src/relativeTime.js","../node_modules/@formatjs/intl/lib/src/dateTime.js","../node_modules/@formatjs/intl/lib/src/plural.js","../node_modules/@formatjs/intl/lib/src/list.js","../node_modules/@formatjs/intl/lib/src/displayName.js","../node_modules/@formatjs/intl/lib/src/create-intl.js","../node_modules/react-intl/lib/src/components/provider.js","../node_modules/react-intl/lib/src/components/useIntl.js","../node_modules/react-intl/lib/src/components/message.js","i18n/locales.tsx","i18n/LanguageContext.tsx","Theme/ThemeContext.tsx","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/rc-util/es/React/render.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rc-util/es/Dom/canUseDom.js","../node_modules/rc-util/es/Dom/contains.js","../node_modules/rc-util/es/Dom/dynamicCSS.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/rc-util/es/hooks/useMemo.js","../node_modules/rc-util/es/warning.js","../node_modules/rc-util/es/isEqual.js","../node_modules/@ant-design/cssinjs/es/Cache.js","../node_modules/@ant-design/cssinjs/es/StyleContext.js","../node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","../node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","../node_modules/@ant-design/cssinjs/es/util.js","../node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","../node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","../node_modules/@ant-design/cssinjs/es/Keyframes.js","../node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","../node_modules/@ant-design/cssinjs/es/theme/Theme.js","../node_modules/@ant-design/cssinjs/es/theme/createTheme.js","../node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","../node_modules/@ant-design/icons/es/components/Context.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/rc-util/es/Children/toArray.js","../node_modules/rc-field-form/es/FieldContext.js","../node_modules/rc-field-form/es/utils/typeUtil.js","../node_modules/src/util.ts","../node_modules/src/rule/required.ts","../node_modules/src/rule/url.ts","../node_modules/src/rule/type.ts","../node_modules/src/rule/enum.ts","../node_modules/src/rule/index.ts","../node_modules/src/rule/whitespace.ts","../node_modules/src/rule/range.ts","../node_modules/src/rule/pattern.ts","../node_modules/src/validator/type.ts","../node_modules/src/validator/index.ts","../node_modules/src/validator/string.ts","../node_modules/src/validator/method.ts","../node_modules/src/validator/number.ts","../node_modules/src/validator/boolean.ts","../node_modules/src/validator/regexp.ts","../node_modules/src/validator/integer.ts","../node_modules/src/validator/float.ts","../node_modules/src/validator/array.ts","../node_modules/src/validator/object.ts","../node_modules/src/validator/enum.ts","../node_modules/src/validator/pattern.ts","../node_modules/src/validator/date.ts","../node_modules/src/validator/required.ts","../node_modules/src/validator/any.ts","../node_modules/src/messages.ts","../node_modules/src/index.ts","../node_modules/rc-field-form/es/utils/messages.js","../node_modules/rc-util/es/utils/get.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/rc-util/es/utils/set.js","../node_modules/rc-field-form/es/utils/cloneDeep.js","../node_modules/rc-field-form/es/utils/valueUtil.js","../node_modules/rc-field-form/es/utils/validateUtil.js","../node_modules/rc-field-form/es/Field.js","../node_modules/rc-field-form/es/ListContext.js","../node_modules/rc-field-form/es/List.js","../node_modules/rc-field-form/es/utils/NameMap.js","../node_modules/rc-field-form/es/useForm.js","../node_modules/rc-field-form/es/utils/asyncUtil.js","../node_modules/rc-field-form/es/FormContext.js","../node_modules/rc-field-form/es/Form.js","../node_modules/rc-field-form/es/useWatch.js","../node_modules/rc-field-form/es/index.js","../node_modules/rc-pagination/es/locale/en_US.js","../node_modules/rc-picker/es/locale/en_US.js","../node_modules/antd/es/time-picker/locale/en_US.js","../node_modules/antd/es/date-picker/locale/en_US.js","../node_modules/antd/es/locale/en_US.js","../node_modules/antd/es/calendar/locale/en_US.js","../node_modules/antd/es/modal/locale.js","../node_modules/antd/es/locale/context.js","../node_modules/antd/es/locale/index.js","../node_modules/antd/es/locale/LocaleReceiver.js","../node_modules/@ctrl/tinycolor/dist/module/util.js","../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../node_modules/@ant-design/colors/dist/index.esm.js","../node_modules/antd/es/theme/themes/shared/genControlHeight.js","../node_modules/antd/es/theme/themes/seed.js","../node_modules/@ctrl/tinycolor/dist/module/index.js","../node_modules/antd/es/theme/themes/shared/genColorMapToken.js","../node_modules/antd/es/theme/themes/shared/genRadius.js","../node_modules/antd/es/theme/themes/default/colorAlgorithm.js","../node_modules/antd/es/theme/themes/default/colors.js","../node_modules/antd/es/theme/themes/shared/genFontMapToken.js","../node_modules/antd/es/theme/themes/shared/genFontSizes.js","../node_modules/antd/es/theme/themes/default/index.js","../node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","../node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","../node_modules/antd/es/theme/util/getAlphaColor.js","../node_modules/antd/es/theme/util/alias.js","../node_modules/antd/es/theme/internal.js","../node_modules/antd/es/version/version.js","../node_modules/antd/es/config-provider/context.js","../node_modules/antd/es/config-provider/cssVariables.js","../node_modules/antd/es/config-provider/DisabledContext.js","../node_modules/antd/es/config-provider/SizeContext.js","../node_modules/antd/es/config-provider/index.js","../node_modules/antd/es/style/index.js","../node_modules/antd/es/config-provider/style/index.js","../node_modules/antd/es/config-provider/hooks/useTheme.js","../node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","../node_modules/@ant-design/icons/es/utils.js","../node_modules/@ant-design/icons/es/components/IconBase.js","../node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../node_modules/@ant-design/icons/es/components/AntdIcon.js","../node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/es/icons/ExclamationCircleFilled.js","../node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","../node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","../node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","../node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js","../node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","../node_modules/@ant-design/icons/es/icons/InfoCircleFilled.js","../node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../node_modules/@ant-design/icons/es/icons/CloseOutlined.js","../node_modules/rc-util/es/Dom/findDOMNode.js","../node_modules/rc-util/es/ref.js","../node_modules/rc-motion/es/util/motion.js","../node_modules/rc-motion/es/interface.js","../node_modules/rc-util/es/hooks/useState.js","../node_modules/rc-util/es/raf.js","../node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../node_modules/rc-motion/es/hooks/useStepQueue.js","../node_modules/rc-motion/es/hooks/useNextFrame.js","../node_modules/rc-motion/es/hooks/useStatus.js","../node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../node_modules/rc-motion/es/DomWrapper.js","../node_modules/rc-motion/es/CSSMotion.js","../node_modules/rc-motion/es/util/diff.js","../node_modules/rc-motion/es/CSSMotionList.js","../node_modules/rc-motion/es/index.js","../node_modules/rc-notification/es/Notice.js","../node_modules/rc-notification/es/Notifications.js","../node_modules/rc-notification/es/useNotification.js","../node_modules/antd/es/theme/util/statistic.js","../node_modules/antd/es/theme/util/genComponentStyleHook.js","../node_modules/antd/es/notification/style/placement.js","../node_modules/antd/es/notification/style/index.js","../node_modules/antd/es/notification/PurePanel.js","../node_modules/antd/es/notification/useNotification.js","../node_modules/antd/es/notification/util.js","../node_modules/antd/es/notification/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/env/classes/FormData.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/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/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","Components/Auth/types.tsx","../node_modules/react-jwt/src/jwt/index.ts","globals.tsx","Components/User/types.tsx","Components/Auth/AuthContext.tsx","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/index.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/styled-components/src/base.js","../node_modules/antd/es/layout/style/light.js","../node_modules/antd/es/layout/style/index.js","../node_modules/antd/es/layout/layout.js","../node_modules/@ant-design/icons-svg/es/asn/BarsOutlined.js","../node_modules/@ant-design/icons/es/icons/BarsOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","../node_modules/@ant-design/icons/es/icons/RightOutlined.js","../node_modules/rc-util/es/omit.js","../node_modules/antd/es/_util/isNumeric.js","../node_modules/antd/es/layout/Sider.js","../node_modules/antd/es/layout/index.js","../node_modules/antd/es/theme/themes/dark/colorAlgorithm.js","../node_modules/antd/es/theme/themes/dark/colors.js","../node_modules/antd/es/theme/themes/dark/index.js","../node_modules/antd/es/theme/themes/compact/index.js","../node_modules/antd/es/theme/themes/compact/genCompactSizeMapToken.js","../node_modules/antd/es/theme/index.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@chakra-ui/css-reset/src/css-reset.tsx","../node_modules/@chakra-ui/react-context/src/index.ts","../node_modules/@chakra-ui/portal/src/portal-manager.tsx","../node_modules/@chakra-ui/color-mode/src/color-mode-context.ts","../node_modules/@chakra-ui/shared-utils/dist/index.mjs","../node_modules/@chakra-ui/styled-system/dist/index.mjs","../node_modules/@chakra-ui/utils/dist/chunk-YTQ3XZ3T.mjs","../node_modules/@chakra-ui/utils/dist/chunk-Y5FGD7DM.mjs","../node_modules/@chakra-ui/utils/dist/chunk-M3TFMUOL.mjs","../node_modules/@chakra-ui/system/src/providers.tsx","../node_modules/@chakra-ui/react-utils/dist/chunk-ITIKTQWJ.mjs","../node_modules/@chakra-ui/color-mode/src/color-mode.utils.ts","../node_modules/@chakra-ui/color-mode/src/storage-manager.ts","../node_modules/@chakra-ui/react-use-safe-layout-effect/src/index.ts","../node_modules/@chakra-ui/color-mode/src/color-mode-provider.tsx","../node_modules/@chakra-ui/react-env/src/env.tsx","../node_modules/@chakra-ui/provider/src/chakra-provider.tsx","../node_modules/@chakra-ui/theme/src/foundations/transition.ts","../node_modules/@chakra-ui/theme/src/foundations/z-index.ts","../node_modules/@chakra-ui/theme/src/foundations/borders.ts","../node_modules/@chakra-ui/theme/src/foundations/breakpoints.ts","../node_modules/@chakra-ui/theme/src/foundations/colors.ts","../node_modules/@chakra-ui/theme/src/foundations/radius.ts","../node_modules/@chakra-ui/theme/src/foundations/shadows.ts","../node_modules/@chakra-ui/theme/src/foundations/blur.ts","../node_modules/@chakra-ui/theme/src/foundations/typography.ts","../node_modules/@chakra-ui/theme/src/foundations/spacing.ts","../node_modules/@chakra-ui/theme/src/foundations/sizes.ts","../node_modules/@chakra-ui/theme/src/foundations/index.ts","../node_modules/@chakra-ui/theme/src/components/stepper.ts","../node_modules/@chakra-ui/anatomy/src/anatomy.ts","../node_modules/@chakra-ui/anatomy/src/components.ts","../node_modules/@chakra-ui/theme-tools/src/css-var.ts","../node_modules/@chakra-ui/theme-tools/src/css-calc.ts","../node_modules/@chakra-ui/theme/src/components/switch.ts","../node_modules/@chakra-ui/theme-tools/src/component.ts","../node_modules/@chakra-ui/theme/src/components/table.ts","../node_modules/color2k/src/guard.ts","../node_modules/color2k/src/ColorError.ts","../node_modules/color2k/src/parseToRgba.ts","../node_modules/color2k/src/rgba.ts","../node_modules/color2k/src/transparentize.ts","../node_modules/@chakra-ui/theme-tools/src/color.ts","../node_modules/.pnpm/dlv@1.1.3/node_modules/dlv/index.js","../node_modules/color2k/src/toHex.ts","../node_modules/@chakra-ui/theme/src/components/tabs.ts","../node_modules/@chakra-ui/theme/src/components/badge.ts","../node_modules/@chakra-ui/theme/src/components/tag.ts","../node_modules/@chakra-ui/theme/src/components/input.ts","../node_modules/@chakra-ui/theme/src/components/textarea.ts","../node_modules/@chakra-ui/theme/src/components/tooltip.ts","../node_modules/@chakra-ui/theme/src/components/progress.ts","../node_modules/@chakra-ui/theme/src/utils/run-if-fn.ts","../node_modules/@chakra-ui/theme/src/components/checkbox.ts","../node_modules/@chakra-ui/theme/src/components/select.ts","../node_modules/@chakra-ui/theme/src/components/radio.ts","../node_modules/@chakra-ui/theme/src/components/skeleton.ts","../node_modules/@chakra-ui/theme/src/components/skip-link.ts","../node_modules/@chakra-ui/theme/src/components/slider.ts","../node_modules/@chakra-ui/theme/src/components/spinner.ts","../node_modules/@chakra-ui/theme/src/components/stat.ts","../node_modules/@chakra-ui/theme/src/components/kbd.ts","../node_modules/@chakra-ui/theme/src/components/link.ts","../node_modules/@chakra-ui/theme/src/components/list.ts","../node_modules/@chakra-ui/theme/src/components/menu.ts","../node_modules/@chakra-ui/theme/src/components/modal.ts","../node_modules/@chakra-ui/theme/src/components/number-input.ts","../node_modules/@chakra-ui/theme/src/components/pin-input.ts","../node_modules/@chakra-ui/theme/src/components/popover.ts","../node_modules/@chakra-ui/theme/src/components/drawer.ts","../node_modules/@chakra-ui/theme/src/components/editable.ts","../node_modules/@chakra-ui/theme/src/components/form-control.ts","../node_modules/@chakra-ui/theme/src/components/form-error.ts","../node_modules/@chakra-ui/theme/src/components/form-label.ts","../node_modules/@chakra-ui/theme/src/components/heading.ts","../node_modules/@chakra-ui/theme/src/components/breadcrumb.ts","../node_modules/@chakra-ui/theme/src/components/button.ts","../node_modules/@chakra-ui/theme/src/components/card.ts","../node_modules/@chakra-ui/theme/src/components/close-button.ts","../node_modules/@chakra-ui/theme/src/components/code.ts","../node_modules/@chakra-ui/theme/src/components/container.ts","../node_modules/@chakra-ui/theme/src/components/divider.ts","../node_modules/@chakra-ui/theme/src/components/accordion.ts","../node_modules/@chakra-ui/theme/src/components/alert.ts","../node_modules/@chakra-ui/theme/src/components/avatar.ts","../node_modules/@chakra-ui/theme/src/components/index.ts","../node_modules/@chakra-ui/theme/src/semantic-tokens.ts","../node_modules/@chakra-ui/theme/src/styles.ts","../node_modules/@chakra-ui/theme/src/index.ts","../node_modules/@chakra-ui/toast/src/toast.utils.ts","../node_modules/@chakra-ui/react-use-callback-ref/src/index.ts","../node_modules/@chakra-ui/react-use-update-effect/src/index.ts","../node_modules/framer-motion/dist/es/context/PresenceContext.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","../node_modules/framer-motion/dist/es/utils/is-browser.mjs","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","../node_modules/framer-motion/dist/es/context/LazyContext.mjs","../node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","../node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","../node_modules/framer-motion/dist/es/render/utils/variant-props.mjs","../node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","../node_modules/framer-motion/dist/es/motion/features/definitions.mjs","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","../node_modules/framer-motion/dist/es/motion/index.mjs","../node_modules/framer-motion/dist/es/motion/features/load-features.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","../node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","../node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","../node_modules/framer-motion/dist/es/utils/clamp.mjs","../node_modules/framer-motion/dist/es/value/types/numbers/index.mjs","../node_modules/framer-motion/dist/es/value/types/utils.mjs","../node_modules/framer-motion/dist/es/value/types/numbers/units.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","../node_modules/framer-motion/dist/es/render/html/use-props.mjs","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","../node_modules/framer-motion/dist/es/render/svg/use-props.mjs","../node_modules/framer-motion/dist/es/render/dom/use-render.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","../node_modules/framer-motion/dist/es/render/html/utils/render.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","../node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","../node_modules/framer-motion/dist/es/utils/use-constant.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","../node_modules/framer-motion/dist/es/utils/resolve-value.mjs","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","../node_modules/framer-motion/dist/es/utils/noop.mjs","../node_modules/framer-motion/dist/es/frameloop/render-step.mjs","../node_modules/framer-motion/dist/es/frameloop/batcher.mjs","../node_modules/framer-motion/dist/es/frameloop/frame.mjs","../node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","../node_modules/framer-motion/dist/es/render/html/config-motion.mjs","../node_modules/framer-motion/dist/es/events/add-dom-event.mjs","../node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs","../node_modules/framer-motion/dist/es/events/event-info.mjs","../node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","../node_modules/framer-motion/dist/es/utils/pipe.mjs","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs","../node_modules/framer-motion/dist/es/motion/features/Feature.mjs","../node_modules/framer-motion/dist/es/gestures/hover.mjs","../node_modules/framer-motion/dist/es/gestures/focus.mjs","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs","../node_modules/framer-motion/dist/es/gestures/press.mjs","../node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","../node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","../node_modules/framer-motion/dist/es/motion/features/gestures.mjs","../node_modules/framer-motion/dist/es/utils/shallow-compare.mjs","../node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs","../node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs","../node_modules/framer-motion/dist/es/utils/errors.mjs","../node_modules/framer-motion/dist/es/utils/time-conversion.mjs","../node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs","../node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs","../node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs","../node_modules/framer-motion/dist/es/easing/ease.mjs","../node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs","../node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs","../node_modules/framer-motion/dist/es/easing/circ.mjs","../node_modules/framer-motion/dist/es/easing/back.mjs","../node_modules/framer-motion/dist/es/easing/utils/map.mjs","../node_modules/framer-motion/dist/es/easing/anticipate.mjs","../node_modules/framer-motion/dist/es/value/types/color/utils.mjs","../node_modules/framer-motion/dist/es/value/types/color/rgba.mjs","../node_modules/framer-motion/dist/es/value/types/color/hex.mjs","../node_modules/framer-motion/dist/es/value/types/color/hsla.mjs","../node_modules/framer-motion/dist/es/value/types/color/index.mjs","../node_modules/framer-motion/dist/es/utils/mix.mjs","../node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs","../node_modules/framer-motion/dist/es/utils/mix-color.mjs","../node_modules/framer-motion/dist/es/value/types/complex/index.mjs","../node_modules/framer-motion/dist/es/utils/mix-complex.mjs","../node_modules/framer-motion/dist/es/utils/progress.mjs","../node_modules/framer-motion/dist/es/utils/interpolate.mjs","../node_modules/framer-motion/dist/es/utils/offsets/default.mjs","../node_modules/framer-motion/dist/es/utils/offsets/fill.mjs","../node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs","../node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs","../node_modules/framer-motion/dist/es/utils/offsets/time.mjs","../node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs","../node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs","../node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs","../node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs","../node_modules/framer-motion/dist/es/animation/generators/inertia.mjs","../node_modules/framer-motion/dist/es/animation/animators/js/driver-frameloop.mjs","../node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs","../node_modules/framer-motion/dist/es/animation/animators/js/index.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/create-accelerated-animation.mjs","../node_modules/framer-motion/dist/es/utils/memo.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs","../node_modules/framer-motion/dist/es/animation/animators/instant.mjs","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs","../node_modules/framer-motion/dist/es/value/types/complex/filter.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs","../node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-none.mjs","../node_modules/framer-motion/dist/es/animation/utils/keyframes.mjs","../node_modules/framer-motion/dist/es/animation/utils/transitions.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs","../node_modules/framer-motion/dist/es/value/use-will-change/is.mjs","../node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs","../node_modules/framer-motion/dist/es/utils/array.mjs","../node_modules/framer-motion/dist/es/utils/subscription-manager.mjs","../node_modules/framer-motion/dist/es/value/index.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs","../node_modules/framer-motion/dist/es/render/utils/setters.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs","../node_modules/framer-motion/dist/es/render/utils/animation-state.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs","../node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","../node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","../node_modules/framer-motion/dist/es/motion/features/animations.mjs","../node_modules/framer-motion/dist/es/utils/distance.mjs","../node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","../node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","../node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs","../node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs","../node_modules/framer-motion/dist/es/projection/utils/measure.mjs","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","../node_modules/framer-motion/dist/es/projection/geometry/models.mjs","../node_modules/framer-motion/dist/es/gestures/drag/index.mjs","../node_modules/framer-motion/dist/es/gestures/pan/index.mjs","../node_modules/framer-motion/dist/es/projection/node/state.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","../node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","../node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","../node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","../node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","../node_modules/framer-motion/dist/es/projection/shared/stack.mjs","../node_modules/framer-motion/dist/es/projection/styles/transform.mjs","../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","../node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","../node_modules/framer-motion/dist/es/utils/delay.mjs","../node_modules/framer-motion/dist/es/debug/record.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs","../node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/single-value.mjs","../node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","../node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","../node_modules/framer-motion/dist/es/motion/features/drag.mjs","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.mjs","../node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs","../node_modules/framer-motion/dist/es/render/store.mjs","../node_modules/framer-motion/dist/es/render/VisualElement.mjs","../node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs","../node_modules/framer-motion/dist/es/render/utils/motion-values.mjs","../node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs","../node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs","../node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs","../node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","../node_modules/framer-motion/dist/es/motion/features/layout.mjs","../node_modules/framer-motion/dist/es/render/dom/motion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","../node_modules/@chakra-ui/system/src/should-forward-prop.ts","../node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@chakra-ui/system/src/system.ts","../node_modules/@chakra-ui/object-utils/dist/chunk-OLTBUDV5.mjs","../node_modules/@chakra-ui/system/src/factory.ts","../node_modules/@chakra-ui/toast/src/toast.component.tsx","../node_modules/@chakra-ui/react-use-timeout/src/index.ts","../node_modules/@chakra-ui/system/src/forward-ref.tsx","../node_modules/@chakra-ui/system/src/use-theme.ts","../node_modules/@chakra-ui/system/src/hooks.ts","../node_modules/@chakra-ui/system/src/use-style-config.ts","../node_modules/@chakra-ui/icon/src/icon.tsx","../node_modules/@chakra-ui/alert/src/icons.tsx","../node_modules/@chakra-ui/spinner/src/spinner.tsx","../node_modules/@chakra-ui/alert/src/alert-context.ts","../node_modules/@chakra-ui/alert/src/alert.tsx","../node_modules/@chakra-ui/alert/src/alert-icon.tsx","../node_modules/@chakra-ui/alert/src/alert-title.tsx","../node_modules/@chakra-ui/alert/src/alert-description.tsx","../node_modules/@chakra-ui/close-button/src/close-button.tsx","../node_modules/@chakra-ui/toast/src/toast.store.ts","../node_modules/@chakra-ui/toast/src/toast.tsx","../node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","../node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs","../node_modules/framer-motion/dist/es/utils/use-force-update.mjs","../node_modules/@chakra-ui/portal/src/portal.tsx","../node_modules/@chakra-ui/toast/src/toast.provider.tsx","../node_modules/@chakra-ui/react/src/chakra-provider.tsx","Components/FlexboxReusables/FlexItems.tsx","assets/Logo.tsx","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-util/es/Portal.js","../node_modules/rc-trigger/es/utils/alignUtil.js","../node_modules/rc-util/es/isMobile.js","../node_modules/src/propertyUtils.js","../node_modules/rc-trigger/es/utils/legacyUtil.js","../node_modules/rc-trigger/es/Popup/Mask.js","../node_modules/src/utils.js","../node_modules/src/getOffsetParent.js","../node_modules/src/isAncestorFixed.js","../node_modules/src/getVisibleRectForElement.js","../node_modules/src/getRegion.js","../node_modules/src/getAlignOffset.js","../node_modules/src/getElFuturePos.js","../node_modules/src/align/align.js","../node_modules/src/adjustForViewport.js","../node_modules/src/align/alignElement.js","../node_modules/rc-util/es/Dom/isVisible.js","../node_modules/rc-util/es/hooks/useLayoutEffect.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/rc-align/es/util.js","../node_modules/rc-align/es/Align.js","../node_modules/rc-align/es/hooks/useBuffer.js","../node_modules/src/align/alignPoint.js","../node_modules/rc-align/es/index.js","../node_modules/rc-trigger/es/Popup/useVisibleStatus.js","../node_modules/rc-trigger/es/Popup/PopupInner.js","../node_modules/rc-trigger/es/Popup/useStretchStyle.js","../node_modules/rc-trigger/es/Popup/MobilePopupInner.js","../node_modules/rc-trigger/es/Popup/index.js","../node_modules/rc-trigger/es/context.js","../node_modules/rc-trigger/es/index.js","../node_modules/rc-dropdown/es/placements.js","../node_modules/rc-util/es/KeyCode.js","../node_modules/rc-util/es/Dom/focus.js","../node_modules/rc-dropdown/es/hooks/useAccessibility.js","../node_modules/rc-dropdown/es/Dropdown.js","../node_modules/rc-dropdown/es/index.js","../node_modules/rc-util/es/hooks/useEvent.js","../node_modules/rc-util/es/hooks/useMergedState.js","../node_modules/rc-resize-observer/es/utils/observerUtil.js","../node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","../node_modules/rc-resize-observer/es/Collection.js","../node_modules/rc-resize-observer/es/SingleObserver/index.js","../node_modules/rc-resize-observer/es/index.js","../node_modules/rc-overflow/es/Item.js","../node_modules/rc-overflow/es/RawItem.js","../node_modules/rc-overflow/es/Overflow.js","../node_modules/rc-overflow/es/hooks/useBatchFrameState.js","../node_modules/rc-overflow/es/index.js","../node_modules/rc-menu/es/context/IdContext.js","../node_modules/rc-menu/es/context/MenuContext.js","../node_modules/rc-menu/es/context/PathContext.js","../node_modules/rc-menu/es/context/PrivateContext.js","../node_modules/rc-menu/es/hooks/useAccessibility.js","../node_modules/rc-menu/es/hooks/useKeyRecords.js","../node_modules/rc-menu/es/utils/timeUtil.js","../node_modules/rc-menu/es/hooks/useMemoCallback.js","../node_modules/rc-menu/es/hooks/useUUID.js","../node_modules/rc-menu/es/hooks/useActive.js","../node_modules/rc-menu/es/utils/warnUtil.js","../node_modules/rc-menu/es/Icon.js","../node_modules/rc-menu/es/hooks/useDirectionStyle.js","../node_modules/rc-menu/es/MenuItem.js","../node_modules/rc-menu/es/SubMenu/SubMenuList.js","../node_modules/rc-menu/es/utils/nodeUtil.js","../node_modules/rc-menu/es/placements.js","../node_modules/rc-menu/es/utils/motionUtil.js","../node_modules/rc-menu/es/SubMenu/PopupTrigger.js","../node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","../node_modules/rc-menu/es/SubMenu/index.js","../node_modules/rc-menu/es/Menu.js","../node_modules/rc-menu/es/MenuItemGroup.js","../node_modules/rc-menu/es/Divider.js","../node_modules/rc-menu/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","../node_modules/antd/es/_util/motion.js","../node_modules/antd/es/_util/reactNode.js","../node_modules/antd/es/style/motion/collapse.js","../node_modules/antd/es/style/motion/motion.js","../node_modules/antd/es/style/motion/slide.js","../node_modules/antd/es/style/motion/zoom.js","../node_modules/antd/es/menu/style/horizontal.js","../node_modules/antd/es/menu/style/rtl.js","../node_modules/antd/es/menu/style/theme.js","../node_modules/antd/es/menu/style/vertical.js","../node_modules/antd/es/menu/style/index.js","../node_modules/antd/es/menu/OverrideContext.js","../node_modules/antd/es/menu/MenuDivider.js","../node_modules/rc-tooltip/es/placements.js","../node_modules/rc-tooltip/es/Popup.js","../node_modules/rc-tooltip/es/Tooltip.js","../node_modules/rc-tooltip/es/index.js","../node_modules/antd/es/_util/placements.js","../node_modules/antd/es/theme/interface/presetColors.js","../node_modules/antd/es/style/roundedArrow.js","../node_modules/antd/es/style/placementArrow.js","../node_modules/antd/es/tooltip/style/index.js","../node_modules/antd/es/tooltip/util.js","../node_modules/antd/es/_util/colors.js","../node_modules/antd/es/tooltip/index.js","../node_modules/antd/es/tooltip/PurePanel.js","../node_modules/antd/es/menu/MenuContext.js","../node_modules/antd/es/menu/MenuItem.js","../node_modules/antd/es/menu/SubMenu.js","../node_modules/antd/es/menu/hooks/useItems.js","../node_modules/antd/es/menu/menu.js","../node_modules/antd/es/menu/index.js","../node_modules/antd/es/_util/PurePanel.js","../node_modules/antd/es/space/style/compact.js","../node_modules/antd/es/space/style/index.js","../node_modules/antd/es/space/Compact.js","../node_modules/antd/es/_util/raf.js","../node_modules/antd/es/_util/wave/style.js","../node_modules/antd/es/_util/wave/index.js","../node_modules/antd/es/button/button-group.js","../node_modules/antd/es/button/LoadingIcon.js","../node_modules/antd/es/button/style/group.js","../node_modules/antd/es/style/compact-item.js","../node_modules/antd/es/style/compact-item-vertical.js","../node_modules/antd/es/button/style/index.js","../node_modules/antd/es/button/button.js","../node_modules/antd/es/_util/styleChecker.js","../node_modules/antd/es/button/index.js","../node_modules/antd/es/_util/hooks/useFlexGapSupport.js","../node_modules/antd/es/space/Item.js","../node_modules/antd/es/space/index.js","../node_modules/antd/es/style/motion/move.js","../node_modules/antd/es/dropdown/style/button.js","../node_modules/antd/es/dropdown/style/status.js","../node_modules/antd/es/dropdown/style/index.js","../node_modules/antd/es/dropdown/dropdown-button.js","../node_modules/antd/es/dropdown/dropdown.js","../node_modules/antd/es/dropdown/index.js","../node_modules/@ant-design/icons-svg/es/asn/CheckOutlined.js","../node_modules/@ant-design/icons/es/icons/CheckOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CopyOutlined.js","../node_modules/@ant-design/icons/es/icons/CopyOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/EditOutlined.js","../node_modules/@ant-design/icons/es/icons/EditOutlined.js","../node_modules/antd/es/_util/transButton.js","../node_modules/rc-util/es/Dom/styleChecker.js","../node_modules/@ant-design/icons-svg/es/asn/EnterOutlined.js","../node_modules/@ant-design/icons/es/icons/EnterOutlined.js","../node_modules/rc-textarea/es/calculateNodeHeight.js","../node_modules/rc-textarea/es/ResizableTextArea.js","../node_modules/rc-textarea/es/index.js","../node_modules/antd/es/form/context.js","../node_modules/antd/es/_util/statusUtils.js","../node_modules/antd/es/input/ClearableLabeledInput.js","../node_modules/rc-input/es/utils/commonUtils.js","../node_modules/rc-input/es/BaseInput.js","../node_modules/rc-input/es/Input.js","../node_modules/rc-input/es/index.js","../node_modules/antd/es/input/hooks/useRemovePasswordTimeout.js","../node_modules/antd/es/input/style/index.js","../node_modules/antd/es/input/Input.js","../node_modules/antd/es/input/utils.js","../node_modules/antd/es/input/TextArea.js","../node_modules/antd/es/style/operationUnit.js","../node_modules/antd/es/typography/style/index.js","../node_modules/antd/es/typography/style/mixins.js","../node_modules/antd/es/typography/Editable.js","../node_modules/antd/es/typography/hooks/useMergedConfig.js","../node_modules/antd/es/typography/hooks/useUpdatedEffect.js","../node_modules/antd/es/typography/Typography.js","../node_modules/antd/es/typography/Base/Ellipsis.js","../node_modules/antd/es/typography/Base/EllipsisTooltip.js","../node_modules/antd/es/typography/Base/index.js","../node_modules/antd/es/typography/Link.js","../node_modules/antd/es/typography/Paragraph.js","../node_modules/antd/es/typography/Text.js","../node_modules/antd/es/typography/Title.js","../node_modules/antd/es/typography/index.js","../node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","../node_modules/@ant-design/icons/es/icons/DownOutlined.js","../node_modules/antd/es/_util/ActionButton.js","../node_modules/rc-util/es/getScrollBarSize.js","../node_modules/@rc-component/portal/es/Context.js","../node_modules/@rc-component/portal/es/useDom.js","../node_modules/@rc-component/portal/es/useScrollLocker.js","../node_modules/@rc-component/portal/es/util.js","../node_modules/@rc-component/portal/es/mock.js","../node_modules/@rc-component/portal/es/Portal.js","../node_modules/@rc-component/portal/es/index.js","../node_modules/rc-util/es/hooks/useId.js","../node_modules/rc-util/es/pickAttrs.js","../node_modules/rc-dialog/es/Dialog/Mask.js","../node_modules/rc-dialog/es/util.js","../node_modules/rc-dialog/es/Dialog/Content/MemoChildren.js","../node_modules/rc-dialog/es/Dialog/Content/Panel.js","../node_modules/rc-dialog/es/Dialog/Content/index.js","../node_modules/rc-dialog/es/Dialog/index.js","../node_modules/rc-dialog/es/DialogWrap.js","../node_modules/rc-dialog/es/index.js","../node_modules/antd/es/style/motion/fade.js","../node_modules/antd/es/modal/style/index.js","../node_modules/antd/es/modal/PurePanel.js","../node_modules/antd/es/modal/Modal.js","../node_modules/antd/es/modal/ConfirmDialog.js","../node_modules/antd/es/modal/destroyFns.js","../node_modules/antd/es/modal/confirm.js","../node_modules/antd/es/modal/useModal/HookModal.js","../node_modules/antd/es/modal/useModal/index.js","../node_modules/antd/es/_util/hooks/usePatchElement.js","../node_modules/antd/es/modal/index.js","../node_modules/rc-checkbox/es/index.js","../node_modules/antd/es/checkbox/style/index.js","../node_modules/antd/es/checkbox/Group.js","../node_modules/antd/es/checkbox/Checkbox.js","../node_modules/antd/es/checkbox/index.js","../node_modules/rc-upload/es/request.js","../node_modules/rc-upload/es/uid.js","../node_modules/rc-upload/es/attr-accept.js","../node_modules/rc-upload/es/traverseFileTree.js","../node_modules/rc-upload/es/AjaxUploader.js","../node_modules/rc-upload/es/Upload.js","../node_modules/rc-upload/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/FileTwoTone.js","../node_modules/@ant-design/icons/es/icons/FileTwoTone.js","../node_modules/@ant-design/icons-svg/es/asn/PaperClipOutlined.js","../node_modules/@ant-design/icons/es/icons/PaperClipOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/PictureTwoTone.js","../node_modules/@ant-design/icons/es/icons/PictureTwoTone.js","../node_modules/antd/es/_util/hooks/useForceUpdate.js","../node_modules/antd/es/upload/utils.js","../node_modules/@ant-design/icons-svg/es/asn/DeleteOutlined.js","../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/DownloadOutlined.js","../node_modules/@ant-design/icons/es/icons/DownloadOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","../node_modules/@ant-design/icons/es/icons/EyeOutlined.js","../node_modules/rc-progress/es/common.js","../node_modules/rc-progress/es/Line.js","../node_modules/rc-progress/es/hooks/useId.js","../node_modules/rc-progress/es/Circle.js","../node_modules/antd/es/progress/utils.js","../node_modules/antd/es/progress/Circle.js","../node_modules/antd/es/progress/Line.js","../node_modules/antd/es/progress/Steps.js","../node_modules/antd/es/progress/style/index.js","../node_modules/antd/es/progress/progress.js","../node_modules/antd/es/progress/index.js","../node_modules/antd/es/upload/UploadList/ListItem.js","../node_modules/antd/es/upload/UploadList/index.js","../node_modules/antd/es/upload/style/dragger.js","../node_modules/antd/es/upload/style/list.js","../node_modules/antd/es/upload/style/motion.js","../node_modules/antd/es/upload/style/picture.js","../node_modules/antd/es/upload/style/rtl.js","../node_modules/antd/es/upload/style/index.js","../node_modules/antd/es/upload/Upload.js","../node_modules/antd/es/upload/Dragger.js","../node_modules/antd/es/upload/index.js","../node_modules/@ant-design/icons-svg/es/asn/UploadOutlined.js","../node_modules/@ant-design/icons/es/icons/UploadOutlined.js","Components/Course/utils.tsx","Components/CoursesOverview/NewCourseSettingsModal.tsx","Components/Course/CourseContext.tsx","Components/Course/FileContext.tsx","Components/Editor/misc.tsx","Components/Navigation/CourseDropdown.tsx","../node_modules/antd/es/_util/responsiveObserver.js","../node_modules/antd/es/grid/hooks/useBreakpoint.js","../node_modules/antd/es/avatar/SizeContext.js","../node_modules/antd/es/avatar/style/index.js","../node_modules/antd/es/avatar/avatar.js","../node_modules/antd/es/_util/getRenderPropValue.js","../node_modules/antd/es/popover/style/index.js","../node_modules/antd/es/popover/PurePanel.js","../node_modules/antd/es/popover/index.js","../node_modules/antd/es/avatar/group.js","../node_modules/antd/es/avatar/index.js","../node_modules/react-feather/dist/icons/globe.js","../node_modules/react-feather/dist/icons/settings.js","../node_modules/react-feather/dist/icons/log-out.js","../node_modules/react-feather/dist/icons/sun.js","../node_modules/react-feather/dist/icons/moon.js","../node_modules/antd/es/divider/style/index.js","../node_modules/antd/es/divider/index.js","../node_modules/rc-switch/es/index.js","../node_modules/antd/es/switch/style/index.js","../node_modules/antd/es/switch/index.js","Components/User/UserContext.tsx","Components/Navigation/UserMenu.tsx","../node_modules/@ant-design/icons-svg/es/asn/UserOutlined.js","../node_modules/@ant-design/icons/es/icons/UserOutlined.js","Components/Navigation/UserDropdown.tsx","Components/Navigation/ResultsDropdown.tsx","Components/Navigation/CourseCatalogDropdown.tsx","Components/Navigation/Navigation.tsx","Components/Editor/toolbarOptions.tsx","../../src/util.ts","../../src/clone-pseudos.ts","../../src/mimes.ts","../../src/dataurl.ts","../../src/clone-node.ts","../../src/embed-resources.ts","../../src/embed-images.ts","../../src/apply-style.ts","../../src/embed-webfonts.ts","../../src/index.ts","Components/Editor/generatePreviewImage.tsx","Components/Editor/Editor.tsx","../node_modules/throttle-debounce/debounce.js","../node_modules/throttle-debounce/throttle.js","../node_modules/antd/es/spin/style/index.js","../node_modules/antd/es/spin/index.js","Components/LoadingSpinner.tsx","Components/Sidebar.tsx","../node_modules/react-feather/dist/icons/file-minus.js","../node_modules/react-feather/dist/icons/file-plus.js","Components/Editor/EditorSettingsContext.tsx","Components/Modal/Modal.tsx","../node_modules/@chakra-ui/menu/src/use-shortcut.ts","../node_modules/@chakra-ui/menu/src/get-next-item-from-search.ts","../node_modules/@chakra-ui/descendant/src/utils.ts","../node_modules/@chakra-ui/descendant/src/descendant.ts","../node_modules/@chakra-ui/react-use-merge-refs/src/index.ts","../node_modules/@chakra-ui/descendant/src/use-descendant.ts","../node_modules/@chakra-ui/dom-utils/dist/chunk-3XANSPY5.mjs","../node_modules/@chakra-ui/dom-utils/dist/chunk-ROURZMX4.mjs","../node_modules/@chakra-ui/react-use-focus-effect/src/index.ts","../node_modules/@chakra-ui/popper/src/utils.ts","../node_modules/@chakra-ui/popper/src/modifiers.ts","../node_modules/@chakra-ui/popper/src/popper.placement.ts","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@chakra-ui/popper/src/use-popper.ts","../node_modules/@chakra-ui/react-use-disclosure/src/index.ts","../node_modules/@chakra-ui/react-use-outside-click/src/index.ts","../node_modules/@chakra-ui/react-use-animation-state/src/index.ts","../node_modules/@chakra-ui/react-use-event-listener/src/index.ts","../node_modules/@chakra-ui/react-children-utils/dist/index.mjs","../node_modules/@chakra-ui/react-use-controllable-state/src/index.ts","../node_modules/@chakra-ui/lazy-utils/dist/index.mjs","../node_modules/@chakra-ui/menu/src/use-menu.ts","../node_modules/@chakra-ui/menu/src/menu.tsx","../node_modules/@chakra-ui/menu/src/menu-button.tsx","../node_modules/@chakra-ui/button/src/button-context.ts","../node_modules/@chakra-ui/button/src/button-icon.tsx","../node_modules/@chakra-ui/button/src/button-spinner.tsx","../node_modules/@chakra-ui/button/src/button.tsx","../node_modules/@chakra-ui/button/src/use-button-type.tsx","../node_modules/@chakra-ui/button/src/icon-button.tsx","../node_modules/@chakra-ui/menu/src/menu-list.tsx","../node_modules/@chakra-ui/menu/src/menu-group.tsx","../node_modules/@chakra-ui/menu/src/menu-option-group.tsx","../node_modules/@chakra-ui/menu/src/menu-divider.tsx","../node_modules/@ant-design/icons-svg/es/asn/SettingOutlined.js","../node_modules/@ant-design/icons/es/icons/SettingOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/DollarCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/DollarCircleOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/OneToOneOutlined.js","../node_modules/@ant-design/icons/es/icons/OneToOneOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ShareAltOutlined.js","../node_modules/@ant-design/icons/es/icons/ShareAltOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/HourglassOutlined.js","../node_modules/@ant-design/icons/es/icons/HourglassOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/UpOutlined.js","../node_modules/@ant-design/icons/es/icons/UpOutlined.js","../node_modules/@rc-component/mini-decimal/es/supportUtil.js","../node_modules/@rc-component/mini-decimal/es/numberUtil.js","../node_modules/@rc-component/mini-decimal/es/MiniDecimal.js","../node_modules/@rc-component/mini-decimal/es/index.js","../node_modules/rc-input-number/es/StepHandler.js","../node_modules/rc-input-number/es/utils/numberUtil.js","../node_modules/rc-input-number/es/hooks/useFrame.js","../node_modules/rc-input-number/es/InputNumber.js","../node_modules/rc-input-number/es/hooks/useCursor.js","../node_modules/rc-input-number/es/index.js","../node_modules/antd/es/input-number/style/index.js","../node_modules/antd/es/input-number/index.js","Components/Editor/SettingsRow/Options/utils.tsx","Components/Editor/SettingsRow/Options/PurchaseOptions.tsx","Components/Editor/SettingsRow/Options/EditorSettingsOption.tsx","../node_modules/@ant-design/icons-svg/es/asn/FilePdfOutlined.js","../node_modules/@ant-design/icons/es/icons/FilePdfOutlined.js","../node_modules/react-feather/dist/icons/upload-cloud.js","Components/Editor/SettingsRow/Options/ShareOption.tsx","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","Components/Editor/pdfExport.tsx","Components/Editor/SettingsRow/Options/CertificateValidityOption.tsx","Components/Editor/SettingsRow/OptionsMenu.tsx","../node_modules/@chakra-ui/select/src/select-field.tsx","../node_modules/@chakra-ui/form-control/src/form-control.tsx","../node_modules/@chakra-ui/form-control/src/use-form-control.ts","../node_modules/@chakra-ui/select/src/select.tsx","../node_modules/utilities/object-utils/src/split.ts","Components/Modal/TestCourseAccessManagement.tsx","Components/Editor/SettingsRow/EditorSettingsRow.tsx","../node_modules/antd/es/_util/getDataOrAriaProps.js","../node_modules/antd/es/radio/context.js","../node_modules/antd/es/radio/style/index.js","../node_modules/antd/es/radio/radio.js","../node_modules/antd/es/radio/group.js","../node_modules/antd/es/radio/radioButton.js","../node_modules/antd/es/radio/index.js","Components/Course/ViewportOptions.tsx","../node_modules/antd/es/input/Group.js","../node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","../node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","../node_modules/antd/es/input/Password.js","../node_modules/@ant-design/icons-svg/es/asn/SearchOutlined.js","../node_modules/@ant-design/icons/es/icons/SearchOutlined.js","../node_modules/antd/es/input/Search.js","../node_modules/antd/es/input/index.js","../node_modules/react-feather/dist/icons/edit.js","Components/Course/CourseName.tsx","Components/Course/CourseDescription.tsx","../node_modules/@ant-design/icons-svg/es/asn/WarningOutlined.js","../node_modules/@ant-design/icons/es/icons/WarningOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CheckCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/CheckCircleOutlined.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/bi/index.esm.js","../node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","../node_modules/@ant-design/icons/es/icons/PlusOutlined.js","../node_modules/rc-util/es/Dom/css.js","../node_modules/rc-image/es/PreviewGroup.js","../node_modules/rc-image/es/Operations.js","../node_modules/rc-image/es/previewConfig.js","../node_modules/rc-image/es/hooks/useImageTransform.js","../node_modules/rc-image/es/getFixScaleEleTransPosition.js","../node_modules/rc-image/es/Preview.js","../node_modules/rc-image/es/Image.js","../node_modules/rc-image/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/RotateLeftOutlined.js","../node_modules/@ant-design/icons/es/icons/RotateLeftOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/RotateRightOutlined.js","../node_modules/@ant-design/icons/es/icons/RotateRightOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ZoomInOutlined.js","../node_modules/@ant-design/icons/es/icons/ZoomInOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ZoomOutOutlined.js","../node_modules/@ant-design/icons/es/icons/ZoomOutOutlined.js","../node_modules/antd/es/image/style/index.js","../node_modules/antd/es/image/PreviewGroup.js","../node_modules/antd/es/image/index.js","Components/Editor/ImageUploadModal.tsx","Components/Editor/Questions.tsx","../node_modules/react-feather/dist/icons/check-circle.js","Routes/Course.tsx","Components/Course/CourseAlreadyPublished.tsx","../node_modules/@ant-design/icons-svg/es/asn/WarningFilled.js","../node_modules/@ant-design/icons/es/icons/WarningFilled.js","../node_modules/antd/es/result/noFound.js","../node_modules/antd/es/result/serverError.js","../node_modules/antd/es/result/unauthorized.js","../node_modules/antd/es/result/style/index.js","../node_modules/antd/es/result/index.js","Routes/PageNotFound.tsx","assets/Background.tsx","Routes/Home.tsx","../node_modules/antd/es/skeleton/Element.js","../node_modules/antd/es/skeleton/style/index.js","../node_modules/antd/es/skeleton/Avatar.js","../node_modules/antd/es/skeleton/Button.js","../node_modules/@ant-design/icons-svg/es/asn/DotChartOutlined.js","../node_modules/@ant-design/icons/es/icons/DotChartOutlined.js","../node_modules/antd/es/skeleton/Node.js","../node_modules/antd/es/skeleton/Image.js","../node_modules/antd/es/skeleton/Input.js","../node_modules/antd/es/skeleton/Paragraph.js","../node_modules/antd/es/skeleton/Title.js","../node_modules/antd/es/skeleton/Skeleton.js","../node_modules/antd/es/skeleton/index.js","../node_modules/rc-tabs/es/TabContext.js","../node_modules/rc-tabs/es/TabPanelList/TabPane.js","../node_modules/rc-tabs/es/TabPanelList/index.js","../node_modules/rc-tabs/es/hooks/useOffsets.js","../node_modules/rc-tabs/es/hooks/useRaf.js","../node_modules/rc-tabs/es/hooks/useSyncState.js","../node_modules/rc-tabs/es/hooks/useTouchMove.js","../node_modules/rc-tabs/es/hooks/useVisibleRange.js","../node_modules/rc-tabs/es/util.js","../node_modules/rc-tabs/es/TabNavList/AddButton.js","../node_modules/rc-tabs/es/TabNavList/ExtraContent.js","../node_modules/rc-tabs/es/TabNavList/OperationNode.js","../node_modules/rc-tabs/es/TabNavList/TabNode.js","../node_modules/rc-tabs/es/TabNavList/index.js","../node_modules/rc-tabs/es/TabNavList/Wrapper.js","../node_modules/rc-tabs/es/Tabs.js","../node_modules/rc-tabs/es/hooks/useAnimateConfig.js","../node_modules/rc-tabs/es/index.js","../node_modules/antd/es/tabs/hooks/useAnimateConfig.js","../node_modules/antd/es/tabs/hooks/useLegacyItems.js","../node_modules/antd/es/tabs/TabPane.js","../node_modules/antd/es/tabs/style/motion.js","../node_modules/antd/es/tabs/style/index.js","../node_modules/antd/es/tabs/index.js","../node_modules/antd/es/card/Grid.js","../node_modules/antd/es/card/style/index.js","../node_modules/antd/es/card/Card.js","../node_modules/antd/es/card/Meta.js","../node_modules/antd/es/card/index.js","Routes/Imprint.tsx","../node_modules/antd/es/empty/empty.js","../node_modules/antd/es/empty/simple.js","../node_modules/antd/es/empty/style/index.js","../node_modules/antd/es/empty/index.js","../node_modules/react-feather/dist/icons/save.js","Components/CoursesOverview/CourseActions.tsx","../node_modules/@ant-design/icons-svg/es/asn/LineChartOutlined.js","../node_modules/@ant-design/icons/es/icons/LineChartOutlined.js","Components/CoursesOverview/PublishedCourseActions.tsx","Components/CoursesOverview/CoursesOverview.tsx","../node_modules/@ant-design/icons-svg/es/asn/MailOutlined.js","../node_modules/@ant-design/icons/es/icons/MailOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/PhoneOutlined.js","../node_modules/@ant-design/icons/es/icons/PhoneOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/EditFilled.js","../node_modules/@ant-design/icons/es/icons/EditFilled.js","../node_modules/react-feather/dist/icons/user-check.js","Components/User/PersonalInfoSegment.tsx","../node_modules/@ant-design/icons-svg/es/asn/NumberOutlined.js","../node_modules/@ant-design/icons/es/icons/NumberOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/HomeOutlined.js","../node_modules/@ant-design/icons/es/icons/HomeOutlined.js","../node_modules/react-feather/dist/icons/flag.js","../node_modules/react-feather/dist/icons/briefcase.js","Components/User/AddressSegment.tsx","../node_modules/antd/es/popconfirm/style/index.js","../node_modules/antd/es/popconfirm/PurePanel.js","../node_modules/antd/es/popconfirm/index.js","Components/User/ChangeProfilePicture.tsx","Components/User/ProfileSummarySegment.tsx","../node_modules/@ant-design/icons-svg/es/asn/SaveOutlined.js","../node_modules/@ant-design/icons/es/icons/SaveOutlined.js","../node_modules/@antv/g2/src/constant.ts","Components/User/CompanySegment.tsx","Routes/UserSettings.tsx","../node_modules/@antv/dom-util/src/create-dom.ts","../node_modules/@antv/g2/src/engine/index.ts","../node_modules/@antv/dom-util/src/modify-css.ts","../node_modules/@antv/g2/src/util/dom.ts","../node_modules/@antv/g2/src/base.ts","../node_modules/@antv/adjust/src/adjusts/adjust.ts","../node_modules/@antv/adjust/src/constant.ts","../node_modules/@antv/adjust/src/factory.ts","../node_modules/@antv/adjust/node_modules/tslib/tslib.es6.js","../node_modules/@antv/adjust/src/adjusts/dodge.ts","../node_modules/@antv/adjust/src/adjusts/jitter.ts","../node_modules/@antv/adjust/src/adjusts/stack.ts","../node_modules/@antv/adjust/src/adjusts/symmetric.ts","../node_modules/@antv/adjust/src/index.ts","../node_modules/@antv/attr/src/attributes/base.ts","../node_modules/@antv/color-util/src/index.ts","../node_modules/@antv/attr/src/attributes/color.ts","../node_modules/@antv/attr/src/attributes/opacity.ts","../node_modules/@antv/attr/src/attributes/position.ts","../node_modules/@antv/attr/src/attributes/shape.ts","../node_modules/@antv/attr/src/attributes/size.ts","../node_modules/@antv/scale/src/tick-method/register.ts","../node_modules/@antv/scale/src/base.ts","../node_modules/@antv/scale/src/category/base.ts","../node_modules/fecha/src/fecha.ts","../node_modules/@antv/scale/src/util/time.ts","../node_modules/@antv/scale/src/util/bisector.ts","../node_modules/@antv/scale/src/category/time.ts","../node_modules/@antv/scale/src/continuous/base.ts","../node_modules/@antv/scale/src/continuous/linear.ts","../node_modules/@antv/scale/src/util/math.ts","../node_modules/@antv/scale/src/continuous/log.ts","../node_modules/@antv/scale/src/continuous/pow.ts","../node_modules/@antv/scale/src/continuous/time.ts","../node_modules/@antv/scale/src/continuous/quantize.ts","../node_modules/@antv/scale/src/continuous/quantile.ts","../node_modules/@antv/scale/src/factory.ts","../node_modules/@antv/scale/src/identity/index.ts","../node_modules/@antv/scale/src/tick-method/cat.ts","../node_modules/@antv/scale/src/util/d3-linear.ts","../node_modules/@antv/scale/src/util/interval.ts","../node_modules/@antv/scale/src/util/strict-limit.ts","../node_modules/@antv/scale/src/util/pretty-number.ts","../node_modules/@antv/scale/src/util/extended.ts","../node_modules/@antv/scale/src/util/pretty.ts","../node_modules/@antv/scale/src/tick-method/quantile.ts","../node_modules/@antv/scale/src/tick-method/time-pretty.ts","../node_modules/@antv/scale/src/tick-method/index.ts","../node_modules/@antv/scale/src/tick-method/time-cat.ts","../node_modules/@antv/scale/src/tick-method/linear.ts","../node_modules/@antv/scale/src/tick-method/r-prettry.ts","../node_modules/@antv/scale/src/tick-method/time.ts","../node_modules/@antv/scale/src/tick-method/log.ts","../node_modules/@antv/scale/src/tick-method/pow.ts","../node_modules/@antv/scale/src/tick-method/d3-linear.ts","../node_modules/@antv/scale/src/index.ts","../node_modules/@antv/attr/src/factory.ts","../node_modules/@antv/attr/src/index.ts","../node_modules/gl-matrix/esm/vec3.js","../node_modules/@antv/coord/src/coord/base.ts","../node_modules/@antv/coord/src/coord/cartesian.ts","../node_modules/@antv/coord/src/coord/helix.ts","../node_modules/@antv/coord/src/coord/polar.ts","../node_modules/@antv/coord/src/factory.ts","../node_modules/@antv/component/src/util/event.ts","../node_modules/@antv/coord/src/index.ts","../node_modules/@antv/component/src/util/matrix.ts","../node_modules/@antv/component/src/util/util.ts","../node_modules/@antv/component/src/abstract/component.ts","../node_modules/@antv/component/src/abstract/group-component.ts","../node_modules/@antv/component/src/util/text.ts","../node_modules/@antv/component/src/util/label.ts","../node_modules/@antv/component/src/util/graphic.ts","../node_modules/@antv/component/src/util/theme.ts","../node_modules/@antv/component/src/annotation/line.ts","../node_modules/@antv/component/src/annotation/text.ts","../node_modules/@antv/component/src/annotation/arc.ts","../node_modules/@antv/component/src/annotation/region.ts","../node_modules/@antv/component/src/annotation/image.ts","../node_modules/@antv/component/src/annotation/data-marker.ts","../node_modules/@antv/component/src/annotation/data-region.ts","../node_modules/@antv/component/src/annotation/region-filter.ts","../node_modules/@antv/component/src/annotation/shape.ts","../node_modules/@antv/dom-util/src/get-style.ts","../node_modules/@antv/dom-util/src/get-outer-width.ts","../node_modules/@antv/dom-util/src/get-width.ts","../node_modules/@antv/dom-util/src/get-outer-height.ts","../node_modules/@antv/dom-util/src/get-height.ts","../node_modules/@antv/component/src/abstract/html-component.ts","../node_modules/@antv/component/src/annotation/html.ts","../node_modules/@antv/component/src/util/state.ts","../node_modules/@antv/component/src/axis/base.ts","../node_modules/@antv/component/src/axis/overlap/auto-ellipsis.ts","../node_modules/@antv/component/src/axis/overlap/auto-hide.ts","../node_modules/@antv/component/src/axis/overlap/auto-rotate.ts","../node_modules/@antv/component/src/axis/line.ts","../node_modules/@antv/component/src/axis/circle.ts","../node_modules/@antv/component/src/crosshair/base.ts","../node_modules/@antv/component/src/crosshair/line.ts","../node_modules/@antv/component/src/crosshair/circle.ts","../node_modules/@antv/component/src/crosshair/css-const.ts","../node_modules/@antv/component/src/crosshair/html-theme.ts","../node_modules/@antv/component/src/crosshair/html.ts","../node_modules/@antv/component/src/grid/base.ts","../node_modules/@antv/component/src/grid/circle.ts","../node_modules/@antv/component/src/grid/line.ts","../node_modules/@antv/component/src/legend/base.ts","../node_modules/@antv/component/src/legend/category.ts","../node_modules/@antv/component/src/legend/continuous.ts","../node_modules/@antv/component/src/tooltip/css-const.ts","../node_modules/@antv/component/src/tooltip/html-theme.ts","../node_modules/@antv/component/src/tooltip/html.ts","../node_modules/@antv/component/src/util/align.ts","../node_modules/@antv/component/src/trend/constant.ts","../node_modules/@antv/component/node_modules/@antv/path-util/src/catmull-rom-2-bezier.ts","../node_modules/@antv/component/node_modules/@antv/path-util/src/parse-path-string.ts","../node_modules/@antv/component/node_modules/@antv/path-util/src/process/arc-2-cubic.ts","../node_modules/@antv/component/src/trend/path.ts","../node_modules/@antv/component/src/trend/trend.ts","../node_modules/@antv/component/src/slider/handler.ts","../node_modules/@antv/component/src/slider/constant.ts","../node_modules/@antv/component/src/slider/slider.ts","../node_modules/@antv/dom-util/src/add-event-listener.ts","../node_modules/@antv/component/src/scrollbar/scrollbar.ts","../node_modules/@antv/g2/src/dependents.ts","../node_modules/@antv/g2/src/util/graphics.ts","../node_modules/@antv/g2/src/util/helper.ts","../node_modules/@antv/g2/src/util/bbox.ts","../node_modules/@antv/g2/src/util/coordinate.ts","../node_modules/@antv/g2/src/util/scale.ts","../node_modules/@antv/g2/src/util/axis.ts","../node_modules/@antv/g2/src/facet/facet.ts","../node_modules/@antv/g2/src/facet/index.ts","../node_modules/@antv/g2/src/interaction/action/base.ts","../node_modules/@antv/g2/src/interaction/action/callback.ts","../node_modules/@antv/g2/src/interaction/action/register.ts","../node_modules/@antv/g2/src/geometry/shape/util/path.ts","../node_modules/@antv/g2/node_modules/@antv/path-util/src/parse-path-string.ts","../node_modules/@antv/g2/node_modules/@antv/path-util/src/process/arc-2-cubic.ts","../node_modules/@antv/g2/node_modules/@antv/path-util/src/point-in-polygon.ts","../node_modules/@antv/g2/node_modules/@antv/path-util/src/get-line-intersect.ts","../node_modules/@antv/g2/node_modules/@antv/path-util/src/is-polygons-intersect.ts","../node_modules/@antv/g2/src/interaction/action/util.ts","../node_modules/@antv/g2/src/interaction/context.ts","../node_modules/@antv/g2/src/interaction/interaction.ts","../node_modules/@antv/g2/src/interaction/grammar-interaction.ts","../node_modules/@antv/g2/src/interaction/index.ts","../node_modules/@antv/g2/src/theme/util/create-by-style-sheet.ts","../node_modules/@antv/g2/src/theme/style-sheet/light.ts","../node_modules/@antv/g2/src/theme/util/create-theme.ts","../node_modules/@antv/g2/src/theme/index.ts","../node_modules/@antv/g2/src/util/tooltip.ts","../node_modules/@antv/g2/src/util/padding.ts","../node_modules/@antv/g2/src/chart/controller/index.ts","../node_modules/@antv/g2/src/chart/controller/coordinate.ts","../node_modules/@antv/g2/src/chart/event.ts","../node_modules/@antv/g2/src/chart/layout/index.ts","../node_modules/@antv/g2/src/chart/util/scale-pool.ts","../node_modules/@antv/g2/src/chart/layout/padding-cal.ts","../node_modules/@antv/g2/src/chart/layout/auto.ts","../node_modules/@antv/g2/src/chart/util/sync-view-padding.ts","../node_modules/@antv/g2/src/chart/view.ts","../node_modules/@antv/g2/src/chart/chart.ts","../node_modules/@antv/g2/src/chart/controller/base.ts","../node_modules/@antv/g2/src/chart/controller/tooltip.ts","../node_modules/@antv/g2/src/animate/animation/index.ts","../node_modules/@antv/g2/src/animate/index.ts","../node_modules/@antv/g2/src/geometry/shape/constant.ts","../node_modules/@antv/g2/src/geometry/element/index.ts","../node_modules/@antv/g2/src/geometry/label/index.ts","../node_modules/@antv/g2/src/geometry/shape/base.ts","../node_modules/@antv/g2/src/geometry/util/is-model-change.ts","../node_modules/@antv/g2/src/geometry/util/parse-fields.ts","../node_modules/@antv/g2/src/geometry/util/diff.ts","../node_modules/@antv/g2/src/geometry/base.ts","../node_modules/@antv/g2/src/geometry/util/group-data.ts","../node_modules/@antv/g2/src/util/transform.ts","../node_modules/@antv/g2/src/geometry/label/util/index.ts","../node_modules/@antv/g2/src/component/update-label.ts","../node_modules/@antv/g2/src/component/labels.ts","../node_modules/@antv/g2/src/geometry/label/base.ts","../node_modules/@antv/g2/src/util/attr.ts","../node_modules/@antv/g2/src/util/marker.ts","../node_modules/@antv/g2/src/util/legend.ts","../node_modules/@antv/g2/src/geometry/shape/util/get-path-points.ts","../node_modules/@antv/g2/src/geometry/shape/util/get-style.ts","../node_modules/@antv/g2/src/geometry/shape/util/split-points.ts","../node_modules/@antv/g2/src/geometry/shape/line/util.ts","../node_modules/@antv/g2/src/geometry/shape/line/index.ts","../node_modules/@antv/g2/src/core.ts","../node_modules/@antv/g2/src/theme/style-sheet/dark.ts","../node_modules/@antv/g-canvas/src/util/util.ts","../node_modules/@antv/g-canvas/src/util/parse.ts","../node_modules/@antv/g-canvas/src/util/arc-params.ts","../node_modules/@antv/g-canvas/src/util/arrow.ts","../node_modules/@antv/g-canvas/src/util/draw.ts","../node_modules/@antv/g-canvas/src/group.ts","../node_modules/@antv/g-canvas/src/shape/base.ts","../node_modules/@antv/g-canvas/src/shape/circle.ts","../node_modules/@antv/g-canvas/src/shape/ellipse.ts","../node_modules/@antv/g-canvas/src/shape/image.ts","../node_modules/@antv/g-canvas/src/util/in-stroke/line.ts","../node_modules/@antv/g-canvas/src/shape/line.ts","../node_modules/@antv/g-canvas/node_modules/@antv/path-util/src/parse-path.ts","../node_modules/@antv/g-canvas/node_modules/@antv/path-util/src/parse-path-string.ts","../node_modules/@antv/g-canvas/node_modules/@antv/path-util/src/path-2-absolute.ts","../node_modules/@antv/g-canvas/node_modules/@antv/path-util/src/process/arc-2-cubic.ts","../node_modules/@antv/g-canvas/node_modules/@antv/path-util/src/get-arc-params.ts","../node_modules/@antv/g-canvas/node_modules/@antv/path-util/src/path-2-segments.ts","../node_modules/@antv/g-canvas/src/shape/marker.ts","../node_modules/@antv/g-canvas/src/util/in-path/point-in-path.ts","../node_modules/@antv/g-canvas/src/util/in-path/polygon.ts","../node_modules/@antv/g-canvas/src/util/in-stroke/arc.ts","../node_modules/@antv/g-canvas/src/util/path.ts","../node_modules/@antv/g-canvas/src/shape/path.ts","../node_modules/@antv/g-canvas/src/util/in-stroke/polyline.ts","../node_modules/@antv/g-canvas/src/shape/polygon.ts","../node_modules/@antv/g-canvas/src/shape/polyline.ts","../node_modules/@antv/g-canvas/src/shape/rect.ts","../node_modules/@antv/g-canvas/src/util/in-stroke/rect-radius.ts","../node_modules/@antv/g-canvas/src/util/in-stroke/rect.ts","../node_modules/@antv/g-canvas/src/shape/text.ts","../node_modules/@antv/g-canvas/src/util/hit.ts","../node_modules/@antv/g-canvas/src/canvas.ts","../node_modules/@antv/g-canvas/src/index.ts","../node_modules/@antv/g-svg/src/constant.ts","../node_modules/@antv/g-svg/src/util/dom.ts","../node_modules/@antv/g-svg/src/util/svg.ts","../node_modules/@antv/g-svg/src/util/draw.ts","../node_modules/@antv/g-svg/src/group.ts","../node_modules/@antv/g-svg/src/shape/base.ts","../node_modules/@antv/g-svg/src/shape/circle.ts","../node_modules/@antv/g-svg/src/shape/dom.ts","../node_modules/@antv/g-svg/src/shape/ellipse.ts","../node_modules/@antv/g-svg/src/shape/image.ts","../node_modules/@antv/g-svg/src/shape/line.ts","../node_modules/@antv/g-svg/src/shape/marker/symbols.ts","../node_modules/@antv/g-svg/src/shape/marker/index.ts","../node_modules/@antv/g-svg/src/shape/path.ts","../node_modules/@antv/g-svg/src/shape/polygon.ts","../node_modules/@antv/g-svg/src/shape/polyline.ts","../node_modules/@antv/g-svg/src/shape/rect.ts","../node_modules/@antv/g-svg/src/util/format.ts","../node_modules/@antv/g-svg/src/shape/text.ts","../node_modules/@antv/g-svg/src/defs/gradient.ts","../node_modules/@antv/g-svg/src/defs/shadow.ts","../node_modules/@antv/g-svg/src/defs/arrow.ts","../node_modules/@antv/g-svg/src/defs/clip.ts","../node_modules/@antv/g-svg/src/defs/pattern.ts","../node_modules/@antv/g-svg/src/defs/index.ts","../node_modules/@antv/g-svg/src/canvas.ts","../node_modules/@antv/g-svg/src/index.ts","../node_modules/@antv/g2/src/geometry/path.ts","../node_modules/@antv/g2/src/geometry/shape/area/util.ts","../node_modules/@antv/g2/src/geometry/shape/area/index.ts","../node_modules/@antv/g2/src/geometry/area.ts","../node_modules/@antv/g2/src/geometry/shape/edge/index.ts","../node_modules/@antv/g2/src/geometry/edge.ts","../node_modules/@antv/g2/src/geometry/heatmap.ts","../node_modules/@antv/g2/src/geometry/shape/interval/util.ts","../node_modules/@antv/g2/src/geometry/shape/interval/index.ts","../node_modules/@antv/g2/src/geometry/util/shape-size.ts","../node_modules/@antv/g2/src/geometry/interval.ts","../node_modules/@antv/g2/src/geometry/line.ts","../node_modules/@antv/g2/src/geometry/shape/point/util.ts","../node_modules/@antv/g2/src/geometry/shape/point/index.ts","../node_modules/@antv/g2/src/geometry/point.ts","../node_modules/@antv/g2/src/geometry/shape/polygon/index.ts","../node_modules/@antv/g2/src/geometry/polygon.ts","../node_modules/@antv/g2/src/geometry/schema.ts","../node_modules/@antv/g2/src/geometry/shape/schema/index.ts","../node_modules/@antv/g2/src/geometry/shape/violin/index.ts","../node_modules/@antv/g2/src/geometry/violin.ts","../node_modules/@antv/g2/src/geometry/shape/edge/util.ts","../node_modules/@antv/g2/src/geometry/shape/area/line.ts","../node_modules/@antv/g2/src/geometry/shape/area/smooth.ts","../node_modules/@antv/g2/src/geometry/shape/area/smooth-line.ts","../node_modules/@antv/g2/src/geometry/shape/edge/arc.ts","../node_modules/@antv/g2/src/geometry/shape/edge/smooth.ts","../node_modules/@antv/g2/src/geometry/shape/edge/vhv.ts","../node_modules/@antv/g2/src/geometry/shape/interval/funnel.ts","../node_modules/@antv/g2/src/geometry/shape/interval/hollow-rect.ts","../node_modules/@antv/g2/src/geometry/shape/interval/line.ts","../node_modules/@antv/g2/src/geometry/shape/interval/pyramid.ts","../node_modules/@antv/g2/src/geometry/shape/interval/tick.ts","../node_modules/@antv/g2/src/geometry/shape/line/step.ts","../node_modules/@antv/g2/src/geometry/shape/schema/box.ts","../node_modules/@antv/g2/src/geometry/shape/schema/candle.ts","../node_modules/@antv/g2/src/geometry/shape/polygon/square.ts","../node_modules/@antv/g2/src/geometry/shape/point/hollow.ts","../node_modules/@antv/g2/src/geometry/shape/point/image.ts","../node_modules/@antv/g2/src/geometry/shape/point/solid.ts","../node_modules/@antv/g2/src/geometry/shape/violin/smooth.ts","../node_modules/@antv/g2/src/geometry/shape/violin/hollow.ts","../node_modules/@antv/g2/src/geometry/label/interval.ts","../node_modules/@antv/g2/src/geometry/label/polar.ts","../node_modules/@antv/g2/src/geometry/label/pie.ts","../node_modules/@antv/g2/src/geometry/label/layout/pie/util.ts","../node_modules/@antv/g2/src/geometry/label/layout/overlap.ts","../node_modules/@antv/g2/src/util/collision-detect.ts","../node_modules/@antv/g2/src/geometry/label/util/createWorker.ts","../node_modules/@antv/g2/src/geometry/label/layout/worker/hide-overlap.ts","../node_modules/@antv/g2/src/geometry/label/layout/hide-overlap.ts","../node_modules/@antv/g2/src/util/color.ts","../node_modules/@antv/g2/src/util/context.ts","../node_modules/@antv/g2/src/geometry/label/layout/interval/adjust-position.ts","../node_modules/@antv/g2/src/geometry/label/layout/point/adjust-position.ts","../node_modules/@antv/g2/src/geometry/label/layout/path/adjust-position.ts","../node_modules/@antv/g2/src/util/text.ts","../node_modules/@antv/g2/src/animate/animation/util.ts","../node_modules/@antv/g2/src/animate/animation/sector-path-update.ts","../node_modules/@antv/g2/src/animate/animation/zoom.ts","../node_modules/@antv/g2/src/util/facet.ts","../node_modules/@antv/g2/src/facet/circle.ts","../node_modules/@antv/g2/src/facet/list.ts","../node_modules/@antv/g2/src/facet/matrix.ts","../node_modules/@antv/g2/src/facet/mirror.ts","../node_modules/@antv/g2/src/facet/rect.ts","../node_modules/@antv/g2/src/facet/tree.ts","../node_modules/@antv/g2/src/util/stat.ts","../node_modules/@antv/g2/src/util/annotation.ts","../node_modules/@antv/g2/src/chart/controller/annotation.ts","../node_modules/@antv/g2/src/util/grid.ts","../node_modules/@antv/g2/src/chart/controller/axis.ts","../node_modules/@antv/g2/src/util/direction.ts","../node_modules/@antv/g2/src/chart/controller/legend.ts","../node_modules/@antv/g2/src/chart/controller/slider.ts","../node_modules/@antv/g2/src/chart/controller/scrollbar.ts","../node_modules/@antv/g2/src/interaction/action/active-region.ts","../node_modules/@antv/g2/src/interaction/action/component/tooltip/geometry.ts","../node_modules/@antv/g2/src/interaction/action/component/tooltip/sibling.ts","../node_modules/@antv/g2/src/interaction/action/component/tooltip/ellipsis-text.ts","../node_modules/@antv/g2/src/interaction/action/element/state-base.ts","../node_modules/@antv/g2/src/interaction/action/element/state.ts","../node_modules/@antv/g2/src/interaction/action/element/active.ts","../node_modules/@antv/g2/src/interaction/action/element/link-by-color.ts","../node_modules/@antv/g2/src/interaction/action/element/range-state.ts","../node_modules/@antv/g2/src/interaction/action/element/range-active.ts","../node_modules/@antv/g2/src/interaction/action/element/single-state.ts","../node_modules/@antv/g2/src/interaction/action/element/single-active.ts","../node_modules/@antv/g2/src/interaction/action/element/highlight-util.ts","../node_modules/@antv/g2/src/interaction/action/element/highlight.ts","../node_modules/@antv/g2/src/interaction/action/element/range-highlight.ts","../node_modules/@antv/g2/src/interaction/action/element/highlight-by-color.ts","../node_modules/@antv/g2/src/interaction/action/element/highlight-by-x.ts","../node_modules/@antv/g2/src/interaction/action/element/single-highlight.ts","../node_modules/@antv/g2/src/interaction/action/element/range-selected.ts","../node_modules/@antv/g2/src/interaction/action/element/selected.ts","../node_modules/@antv/g2/src/interaction/action/element/single-selected.ts","../node_modules/@antv/g2/src/interaction/action/component/list-state.ts","../node_modules/@antv/g2/src/interaction/action/component/list-active.ts","../node_modules/@antv/g2/src/interaction/action/component/list-highlight-util.ts","../node_modules/@antv/g2/src/interaction/action/component/list-highlight.ts","../node_modules/@antv/g2/src/interaction/action/component/list-selected.ts","../node_modules/@antv/g2/src/interaction/action/component/list-unchecked.ts","../node_modules/@antv/g2/src/interaction/action/component/list-checked.ts","../node_modules/@antv/g2/src/interaction/action/component/list-focus.ts","../node_modules/@antv/g2/src/interaction/action/component/list-radio.ts","../node_modules/@antv/g2/src/interaction/action/mask/base.ts","../node_modules/@antv/g2/src/interaction/action/mask/circle.ts","../node_modules/@antv/g2/src/interaction/action/mask/rect.ts","../node_modules/@antv/g2/src/interaction/action/mask/dim-rect.ts","../node_modules/@antv/g2/src/interaction/action/mask/path.ts","../node_modules/@antv/g2/src/interaction/action/mask/smooth-path.ts","../node_modules/@antv/g2/src/interaction/action/data/range-filter.ts","../node_modules/@antv/g2/src/interaction/action/mask/multiple/base.ts","../node_modules/@antv/g2/src/interaction/action/mask/multiple/rect.ts","../node_modules/@antv/g2/src/interaction/action/mask/multiple/dim-rect.ts","../node_modules/@antv/g2/src/interaction/action/mask/multiple/circle.ts","../node_modules/@antv/g2/src/interaction/action/mask/multiple/path.ts","../node_modules/@antv/g2/src/interaction/action/mask/multiple/smooth-path.ts","../node_modules/@antv/g2/src/interaction/action/cursor.ts","../node_modules/@antv/g2/src/interaction/action/data/filter.ts","../node_modules/@antv/g2/src/interaction/action/data/sibling-filter.ts","../node_modules/@antv/g2/src/interaction/action/element/filter.ts","../node_modules/@antv/g2/src/interaction/action/element/sibling-filter.ts","../node_modules/@antv/g2/src/interaction/action/view/button.ts","../node_modules/@antv/g2/src/interaction/action/view/drag.ts","../node_modules/@antv/g2/src/interaction/action/view/move.ts","../node_modules/@antv/g2/src/interaction/action/view/scale-transform.ts","../node_modules/@antv/g2/src/interaction/action/view/scale-translate.ts","../node_modules/@antv/g2/src/interaction/action/view/scale-zoom.ts","../node_modules/@antv/g2/src/interaction/action/view/mousewheel-scroll.ts","../node_modules/@antv/g2/src/interaction/action/component/axis/axis-description.ts","../node_modules/@antv/g2/src/index.ts","../node_modules/@antv/g2/src/geometry/label/layout/pie/distribute.ts","../node_modules/@antv/g2/src/geometry/label/layout/limit-in-shape.ts","../node_modules/@antv/g2/src/geometry/label/layout/limit-in-canvas.ts","../node_modules/@antv/g2/src/geometry/label/layout/limit-in-plot.ts","../node_modules/@antv/g2/src/geometry/label/layout/pie/outer.ts","../node_modules/@antv/g2/src/geometry/label/layout/adjust-color.ts","../node_modules/@antv/g2/src/geometry/label/layout/interval/hide-overlap.ts","../node_modules/@antv/g2/src/geometry/label/layout/pie/spider.ts","../node_modules/@antv/g2/src/animate/animation/fade.ts","../node_modules/@antv/g2/src/animate/animation/grow-in.ts","../node_modules/@antv/g2/src/animate/animation/scale-in.ts","../node_modules/@antv/g2/src/animate/animation/wave-in.ts","../node_modules/@antv/g2/src/animate/animation/position-update.ts","../node_modules/@antv/g2/src/animate/animation/path-in.ts","../node_modules/@antv/g2plot/src/constant.ts","../node_modules/@antv/g2plot/src/utils/invariant.ts","../node_modules/@antv/g2plot/src/utils/pick.ts","../node_modules/@antv/g2plot/src/utils/data.ts","../node_modules/@antv/g2plot/src/utils/deep-assign.ts","../node_modules/@antv/g2plot/src/utils/context.ts","../node_modules/@antv/g2plot/src/utils/dom.ts","../node_modules/@antv/g2plot/src/utils/flow.ts","../node_modules/@antv/g2plot/src/utils/geometry.ts","../node_modules/@antv/g2plot/src/utils/label.ts","../node_modules/@antv/g2plot/src/utils/measure-text.ts","../node_modules/@antv/g2plot/src/utils/number.ts","../node_modules/@antv/g2plot/src/utils/padding.ts","../node_modules/@antv/g2plot/src/utils/path.ts","../node_modules/@antv/g2plot/src/utils/kebab-case.ts","../node_modules/@antv/g2plot/src/utils/statistic.ts","../node_modules/@antv/g2plot/src/utils/template.ts","../node_modules/@antv/g2plot/src/utils/view.ts","../node_modules/@antv/g2plot/src/utils/pattern/util.ts","../node_modules/@antv/g2plot/src/utils/pattern/dot.ts","../node_modules/@antv/g2plot/src/utils/pattern/line.ts","../node_modules/@antv/g2plot/src/utils/pattern/square.ts","../node_modules/@antv/g2plot/src/utils/pattern/index.ts","../node_modules/@antv/g2plot/src/adaptor/pattern.ts","../node_modules/@antv/g2plot/src/adaptor/common.ts","../node_modules/@antv/g2plot/src/core/global.ts","../node_modules/@antv/g2plot/src/core/locale.ts","../node_modules/@antv/g2plot/src/utils/tooltip.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/base.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/area.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/edge.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/interval.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/line.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/point.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/polygon.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/schema.ts","../node_modules/@antv/g2plot/src/core/plot.ts","../node_modules/@antv/g2plot/src/utils/transform/percent.ts","../node_modules/@antv/g2plot/src/plots/line/adaptor.ts","../node_modules/@antv/g2plot/src/plots/area/adaptor.ts","../node_modules/@antv/g2plot/src/plots/area/constants.ts","../node_modules/@antv/g2plot/src/plots/area/index.ts","../node_modules/@antv/g2plot/src/interactions/actions/reset-button.ts","../node_modules/@antv/g2plot/src/interactions/brush.ts","../node_modules/@antv/g2plot/src/adaptor/brush.ts","../node_modules/@antv/g2plot/src/adaptor/connected-area.ts","../node_modules/@antv/g2plot/src/utils/conversion.ts","../node_modules/@antv/g2plot/src/adaptor/conversion-tag.ts","../node_modules/@antv/g2plot/src/plots/column/adaptor.ts","../node_modules/@antv/g2plot/src/plots/bar/adaptor.ts","../node_modules/@antv/g2plot/src/plots/bar/constants.ts","../node_modules/@antv/g2plot/src/plots/bar/index.ts","../node_modules/@antv/g2plot/src/plots/column/constants.ts","../node_modules/@antv/g2plot/src/plots/column/index.ts","../node_modules/@antv/g2plot/src/plots/funnel/constant.ts","../node_modules/@antv/g2plot/src/plots/funnel/geometries/common.ts","../node_modules/@antv/g2plot/src/plots/funnel/geometries/basic.ts","../node_modules/@antv/g2plot/src/plots/funnel/geometries/compare.ts","../node_modules/@antv/g2plot/src/plots/funnel/geometries/dynamic-height.ts","../node_modules/@antv/g2plot/src/plots/funnel/geometries/facet.ts","../node_modules/@antv/g2plot/src/plots/funnel/interactions/funnel-conversion-tag.ts","../node_modules/@antv/g2plot/src/plots/funnel/interactions/index.ts","../node_modules/@antv/g2plot/src/plots/funnel/adaptor.ts","../node_modules/@antv/g2plot/src/plots/funnel/index.ts","../node_modules/@antv/g2plot/src/plots/gauge/constants.ts","../node_modules/@antv/g2plot/src/plots/gauge/utils.ts","../node_modules/@antv/g2plot/src/plots/gauge/adaptor.ts","../node_modules/@antv/g2plot/src/plots/gauge/shapes/indicator.ts","../node_modules/@antv/g2plot/src/plots/gauge/shapes/meter-gauge.ts","../node_modules/@antv/g2plot/src/plots/gauge/index.ts","../node_modules/@antv/g2plot/src/utils/transform/histogram.ts","../node_modules/@antv/g2plot/src/plots/histogram/constant.ts","../node_modules/@antv/g2plot/src/plots/histogram/adaptor.ts","../node_modules/@antv/g2plot/src/plots/histogram/index.ts","../node_modules/@antv/g2plot/src/plots/line/constants.ts","../node_modules/@antv/g2plot/src/plots/line/interactions/marker-active.ts","../node_modules/@antv/g2plot/src/plots/line/interactions/index.ts","../node_modules/@antv/g2plot/src/plots/line/index.ts","../node_modules/@antv/g2plot/src/plots/pie/contants.ts","../node_modules/@antv/g2plot/src/utils/matrix.ts","../node_modules/@antv/g2plot/src/plots/pie/interactions/actions/legend-active.ts","../node_modules/@antv/g2plot/src/plots/pie/interactions/actions/statistic-active.ts","../node_modules/@antv/g2plot/src/plots/pie/interactions/util.ts","../node_modules/@antv/g2plot/src/plots/pie/interactions/index.ts","../node_modules/@antv/g2plot/src/plots/pie/utils.ts","../node_modules/@antv/g2plot/src/plots/pie/adaptor.ts","../node_modules/@antv/g2plot/src/plots/pie/index.ts","../node_modules/@antv/g2plot/src/plots/progress/constants.ts","../node_modules/@antv/g2plot/src/plots/progress/utils.ts","../node_modules/@antv/g2plot/src/plots/progress/adaptor.ts","../node_modules/@antv/g2plot/src/plots/progress/index.ts","../node_modules/@antv/g2plot/src/plots/ring-progress/adaptor.ts","../node_modules/@antv/g2plot/src/plots/ring-progress/constants.ts","../node_modules/@antv/g2plot/src/plots/ring-progress/index.ts","../node_modules/@antv/g2plot/src/plots/scatter/util.ts","../node_modules/@antv/g2plot/src/plots/scatter/adaptor.ts","../node_modules/@antv/g2plot/src/plots/scatter/constant.ts","../node_modules/@antv/g2plot/src/interactions/drag-move.ts","../node_modules/@antv/g2plot/src/plots/scatter/index.ts","../node_modules/@antv/g2plot/src/plots/stock/constant.ts","../node_modules/@antv/g2plot/src/plots/stock/utils.ts","../node_modules/@antv/g2plot/src/plots/stock/adaptor.ts","../node_modules/@antv/g2plot/src/plots/stock/index.ts","../node_modules/@antv/g2plot/src/plots/tiny-line/utils.ts","../node_modules/@antv/g2plot/src/plots/tiny-line/constants.ts","../node_modules/@antv/g2plot/src/plots/tiny-area/adaptor.ts","../node_modules/@antv/g2plot/src/plots/tiny-area/constants.ts","../node_modules/@antv/g2plot/src/plots/tiny-area/index.ts","../node_modules/@antv/g2plot/src/plots/tiny-column/adaptor.ts","../node_modules/@antv/g2plot/src/plots/tiny-column/constants.ts","../node_modules/@antv/g2plot/src/plots/tiny-column/index.ts","../node_modules/@antv/g2plot/src/plots/tiny-line/adaptor.ts","../node_modules/@antv/g2plot/src/plots/tiny-line/index.ts","../node_modules/@antv/g2plot/src/plots/mix/utils.ts","../node_modules/@antv/g2plot/src/plots/mix/adaptor.ts","../node_modules/@antv/g2plot/src/plots/mix/interactions/association.ts","../node_modules/@antv/g2plot/src/plots/mix/interactions/utils.ts","../node_modules/@antv/g2plot/src/plots/mix/index.ts","../node_modules/@antv/g2plot/src/lab.ts","../node_modules/@antv/g2plot/src/plots/bidirectional-bar/constant.ts","../node_modules/@antv/g2plot/src/plots/bidirectional-bar/utils.ts","../node_modules/@antv/g2plot/src/plots/bidirectional-bar/adaptor.ts","../node_modules/@antv/g2plot/src/plots/bidirectional-bar/index.ts","../node_modules/@antv/g2plot/src/plots/box/constant.ts","../node_modules/@antv/g2plot/src/plots/box/utils.ts","../node_modules/@antv/g2plot/src/plots/box/adaptor.ts","../node_modules/@antv/g2plot/src/plots/box/index.ts","../node_modules/@antv/g2plot/src/plots/bullet/utils.ts","../node_modules/@antv/g2plot/src/plots/bullet/adaptor.ts","../node_modules/@antv/g2plot/src/plots/bullet/constant.ts","../node_modules/@antv/g2plot/src/utils/transform/chord.ts","../node_modules/@antv/g2plot/src/plots/bullet/index.ts","../node_modules/@antv/g2plot/src/plots/chord/constant.ts","../node_modules/@antv/g2plot/src/plots/chord/adaptor.ts","../node_modules/@antv/g2plot/src/plots/chord/index.ts","../node_modules/@antv/g2plot/src/plots/circle-packing/constant.ts","../node_modules/@antv/g2plot/src/interactions/actions/drill-down.ts","../node_modules/d3-hierarchy/src/pack/enclose.js","../node_modules/d3-hierarchy/src/array.js","../node_modules/d3-hierarchy/src/pack/siblings.js","../node_modules/d3-hierarchy/src/accessors.js","../node_modules/d3-hierarchy/src/constant.js","../node_modules/d3-hierarchy/src/pack/index.js","../node_modules/d3-hierarchy/src/hierarchy/count.js","../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../node_modules/d3-hierarchy/src/hierarchy/index.js","../node_modules/d3-hierarchy/src/hierarchy/each.js","../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../node_modules/d3-hierarchy/src/hierarchy/find.js","../node_modules/d3-hierarchy/src/hierarchy/sum.js","../node_modules/d3-hierarchy/src/hierarchy/sort.js","../node_modules/d3-hierarchy/src/hierarchy/path.js","../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../node_modules/d3-hierarchy/src/hierarchy/links.js","../node_modules/@antv/g2plot/src/utils/hierarchy/util.ts","../node_modules/@antv/g2plot/src/utils/hierarchy/pack.ts","../node_modules/@antv/g2plot/src/plots/circle-packing/utils.ts","../node_modules/@antv/g2plot/src/plots/circle-packing/adaptor.ts","../node_modules/@antv/g2plot/src/interactions/drill-down.ts","../node_modules/@antv/g2plot/src/plots/circle-packing/index.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/types.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/constant.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/util/option.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/util/legend.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/util/render-sider.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/adaptor.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/util/geometry.ts","../node_modules/@antv/g2plot/src/plots/dual-axes/index.ts","../node_modules/@antv/g2plot/src/plots/facet/adaptor.ts","../node_modules/@antv/g2plot/src/plots/facet/utils.ts","../node_modules/@antv/g2plot/src/plots/facet/constant.ts","../node_modules/@antv/g2plot/src/plots/facet/index.ts","../node_modules/@antv/g2plot/src/plots/heatmap/adaptor.ts","../node_modules/@antv/g2plot/src/plots/heatmap/constant.ts","../node_modules/@antv/g2plot/src/plots/heatmap/shapes/circle.ts","../node_modules/@antv/g2plot/src/plots/heatmap/shapes/square.ts","../node_modules/@antv/g2plot/src/plots/heatmap/index.ts","../node_modules/@antv/g2plot/src/plots/liquid/utils.ts","../node_modules/@antv/g2plot/src/plots/liquid/adaptor.ts","../node_modules/@antv/g2plot/src/plots/liquid/constants.ts","../node_modules/@antv/g2plot/src/plots/liquid/shapes/liquid.ts","../node_modules/@antv/g2plot/src/plots/liquid/index.ts","../node_modules/@antv/g2plot/src/plots/radar/adaptor.ts","../node_modules/@antv/g2plot/src/plots/radar/interactions/radar-tooltip-action.ts","../node_modules/@antv/g2plot/src/plots/radar/interactions/index.ts","../node_modules/@antv/g2plot/src/plots/radar/index.ts","../node_modules/@antv/g2plot/src/plots/radial-bar/utils.ts","../node_modules/@antv/g2plot/src/plots/radial-bar/adaptor.ts","../node_modules/@antv/g2plot/src/plots/radial-bar/constant.ts","../node_modules/@antv/g2plot/src/plots/radial-bar/index.ts","../node_modules/@antv/g2plot/src/plots/rose/adaptor.ts","../node_modules/@antv/g2plot/src/plots/rose/constant.ts","../node_modules/@antv/g2plot/src/plots/sankey/constant.ts","../node_modules/@antv/g2plot/src/plots/rose/index.ts","../node_modules/@antv/g2plot/src/plots/sankey/circle.ts","../node_modules/@antv/g2plot/src/plots/sankey/sankey/align.ts","../node_modules/@antv/g2plot/src/plots/sankey/sankey/helper.ts","../node_modules/@antv/g2plot/src/plots/sankey/sankey/sankey.ts","../node_modules/@antv/g2plot/src/plots/sankey/layout.ts","../node_modules/@antv/g2plot/src/plots/sankey/helper.ts","../node_modules/@antv/g2plot/src/plots/sankey/adaptor.ts","../node_modules/@antv/g2plot/src/plots/sankey/interactions/actions/node-drag.ts","../node_modules/@antv/g2plot/src/plots/sankey/interactions/node-draggable.ts","../node_modules/@antv/g2plot/src/plots/sankey/index.ts","../node_modules/@antv/g2plot/src/plots/sunburst/constant.ts","../node_modules/d3-hierarchy/src/treemap/round.js","../node_modules/d3-hierarchy/src/treemap/dice.js","../node_modules/d3-hierarchy/src/partition.js","../node_modules/@antv/g2plot/src/utils/hierarchy/partition.ts","../node_modules/d3-hierarchy/src/cluster.js","../node_modules/d3-hierarchy/src/stratify.js","../node_modules/d3-hierarchy/src/tree.js","../node_modules/d3-hierarchy/src/treemap/slice.js","../node_modules/d3-hierarchy/src/treemap/squarify.js","../node_modules/d3-hierarchy/src/treemap/index.js","../node_modules/d3-hierarchy/src/treemap/binary.js","../node_modules/d3-hierarchy/src/treemap/sliceDice.js","../node_modules/d3-hierarchy/src/treemap/resquarify.js","../node_modules/@antv/g2plot/src/utils/hierarchy/treemap.ts","../node_modules/@antv/g2plot/src/plots/sunburst/utils.ts","../node_modules/@antv/g2plot/src/plots/sunburst/adaptor.ts","../node_modules/@antv/g2plot/src/plots/sunburst/index.ts","../node_modules/@antv/g2plot/src/plots/treemap/utils.ts","../node_modules/@antv/g2plot/src/plots/treemap/adaptor.ts","../node_modules/@antv/g2plot/src/plots/treemap/constant.ts","../node_modules/@antv/g2plot/src/plots/venn/constant.ts","../node_modules/@antv/g2plot/src/plots/treemap/index.ts","../node_modules/@antv/g2plot/src/plots/venn/interactions/util.ts","../node_modules/@antv/g2plot/src/plots/venn/interactions/actions/active.ts","../node_modules/@antv/g2plot/src/plots/venn/interactions/actions/highlight.ts","../node_modules/@antv/g2plot/src/plots/venn/interactions/actions/selected.ts","../node_modules/@antv/g2plot/src/plots/venn/interactions/index.ts","../node_modules/@antv/g2plot/src/plots/venn/label.ts","../node_modules/lodash-es/isArray.js","../node_modules/@antv/path-util/src/parse-path-string.ts","../node_modules/@antv/path-util/src/process/arc-2-cubic.ts","../node_modules/@antv/g2plot/src/plots/venn/shape.ts","../node_modules/@antv/g2plot/src/utils/color/blend.ts","../node_modules/@antv/g2plot/src/plots/venn/layout/circleintersection.ts","../node_modules/@antv/g2plot/src/plots/venn/layout/diagram.ts","../node_modules/@antv/g2plot/src/plots/venn/layout/layout.ts","../node_modules/@antv/g2plot/src/plots/venn/utils.ts","../node_modules/@antv/g2plot/src/plots/venn/adaptor.ts","../node_modules/@antv/g2plot/src/plots/venn/index.ts","../node_modules/@antv/g2plot/src/plots/violin/constant.ts","../node_modules/@antv/g2plot/src/utils/transform/quantile.ts","../node_modules/@antv/g2plot/src/plots/violin/utils.ts","../node_modules/@antv/g2plot/src/plots/violin/adaptor.ts","../node_modules/@antv/g2plot/src/adaptor/geometries/violin.ts","../node_modules/@antv/g2plot/src/plots/violin/index.ts","../node_modules/@antv/g2plot/src/plots/waterfall/constant.ts","../node_modules/@antv/g2plot/src/plots/waterfall/utils.ts","../node_modules/@antv/g2plot/src/plots/waterfall/adaptor.ts","../node_modules/@antv/g2plot/src/plots/waterfall/shape.ts","../node_modules/@antv/g2plot/src/plots/waterfall/index.ts","../node_modules/@antv/g2plot/src/plots/word-cloud/constant.ts","../node_modules/@antv/g2plot/src/utils/transform/word-cloud.ts","../node_modules/@antv/g2plot/src/plots/word-cloud/utils.ts","../node_modules/@antv/g2plot/src/plots/word-cloud/adaptor.ts","../node_modules/@antv/g2plot/src/plots/word-cloud/shapes/word-cloud.ts","../node_modules/@antv/g2plot/src/plots/word-cloud/index.ts","../node_modules/@antv/g2plot/src/plugin/index.ts","../node_modules/@antv/g2plot/src/index.ts","../node_modules/@antv/g2plot/src/locales/en_US.ts","../node_modules/@antv/g2plot/src/locales/zh_CN.ts","../node_modules/@ant-design/plots/es/utils/render.js","../node_modules/@ant-design/plots/es/utils/createNode.js","../node_modules/@ant-design/plots/es/utils/utils.js","../node_modules/@ant-design/plots/es/hooks/useChart.js","../node_modules/@ant-design/plots/es/utils/getChart.js","../node_modules/@ant-design/plots/es/errorBoundary/index.js","../node_modules/react-content-loader/src/shared/uid.ts","../node_modules/react-content-loader/src/web/Svg.tsx","../node_modules/react-content-loader/src/web/ContentLoader.tsx","../node_modules/react-content-loader/src/web/presets/FacebookStyle.tsx","../node_modules/@ant-design/plots/es/utils/createLoading.js","../node_modules/@ant-design/plots/es/components/gauge/index.js","Routes/PublishedCourseOverview.tsx","../node_modules/rc-steps/es/Step.js","../node_modules/rc-steps/es/Steps.js","../node_modules/rc-steps/es/index.js","../node_modules/antd/es/steps/style/custom-icon.js","../node_modules/antd/es/steps/style/index.js","../node_modules/antd/es/steps/style/label-placement.js","../node_modules/antd/es/steps/style/nav.js","../node_modules/antd/es/steps/style/progress.js","../node_modules/antd/es/steps/style/progress-dot.js","../node_modules/antd/es/steps/style/rtl.js","../node_modules/antd/es/steps/style/small.js","../node_modules/antd/es/steps/style/vertical.js","../node_modules/antd/es/steps/style/inline.js","../node_modules/antd/es/steps/index.js","../node_modules/antd/es/steps/useLegacyItems.js","Components/CoursePublishPreparation/Steps/ReviewQuestions.tsx","../node_modules/rc-picker/es/generate/dayjs.js","../node_modules/@ant-design/icons-svg/es/asn/CalendarOutlined.js","../node_modules/@ant-design/icons/es/icons/CalendarOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ClockCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/ClockCircleOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/SwapRightOutlined.js","../node_modules/@ant-design/icons/es/icons/SwapRightOutlined.js","../node_modules/rc-picker/es/PanelContext.js","../node_modules/rc-picker/es/panels/Header.js","../node_modules/rc-picker/es/panels/DecadePanel/DecadeHeader.js","../node_modules/rc-picker/es/utils/timeUtil.js","../node_modules/rc-picker/es/panels/PanelBody.js","../node_modules/rc-picker/es/panels/DecadePanel/DecadeBody.js","../node_modules/rc-picker/es/utils/uiUtil.js","../node_modules/rc-picker/es/panels/DecadePanel/index.js","../node_modules/rc-picker/es/utils/dateUtil.js","../node_modules/rc-picker/es/hooks/useValueTexts.js","../node_modules/rc-picker/es/hooks/useHoverValue.js","../node_modules/rc-picker/es/hooks/usePickerInput.js","../node_modules/rc-picker/es/hooks/usePresets.js","../node_modules/rc-picker/es/hooks/useTextValueMapping.js","../node_modules/rc-picker/es/panels/TimePanel/TimeHeader.js","../node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js","../node_modules/rc-picker/es/utils/miscUtil.js","../node_modules/rc-picker/es/panels/TimePanel/TimeBody.js","../node_modules/rc-picker/es/panels/TimePanel/index.js","../node_modules/rc-picker/es/RangeContext.js","../node_modules/rc-picker/es/hooks/useCellClassName.js","../node_modules/rc-picker/es/panels/DatePanel/DateBody.js","../node_modules/rc-picker/es/panels/DatePanel/DateHeader.js","../node_modules/rc-picker/es/panels/DatePanel/index.js","../node_modules/rc-picker/es/panels/DatetimePanel/index.js","../node_modules/rc-picker/es/panels/WeekPanel/index.js","../node_modules/rc-picker/es/panels/MonthPanel/MonthHeader.js","../node_modules/rc-picker/es/panels/MonthPanel/MonthBody.js","../node_modules/rc-picker/es/panels/MonthPanel/index.js","../node_modules/rc-picker/es/panels/QuarterPanel/QuarterHeader.js","../node_modules/rc-picker/es/panels/QuarterPanel/QuarterBody.js","../node_modules/rc-picker/es/panels/QuarterPanel/index.js","../node_modules/rc-picker/es/panels/YearPanel/YearHeader.js","../node_modules/rc-picker/es/panels/YearPanel/YearBody.js","../node_modules/rc-picker/es/panels/YearPanel/index.js","../node_modules/rc-picker/es/utils/getExtraFooter.js","../node_modules/rc-picker/es/utils/getRanges.js","../node_modules/rc-picker/es/PickerPanel.js","../node_modules/rc-picker/es/PickerTrigger.js","../node_modules/rc-picker/es/PresetPanel.js","../node_modules/rc-picker/es/Picker.js","../node_modules/rc-picker/es/hooks/useRangeViewDates.js","../node_modules/rc-picker/es/RangePicker.js","../node_modules/rc-picker/es/hooks/useRangeDisabled.js","../node_modules/rc-picker/es/index.js","../node_modules/antd/es/date-picker/util.js","../node_modules/antd/es/date-picker/style/index.js","../node_modules/antd/es/date-picker/generatePicker/generateRangePicker.js","../node_modules/antd/es/date-picker/generatePicker/generateSinglePicker.js","../node_modules/antd/es/date-picker/generatePicker/index.js","../node_modules/antd/es/date-picker/PickerButton.js","../node_modules/antd/es/date-picker/index.js","../node_modules/react-feather/dist/icons/help-circle.js","Components/CoursePublishPreparation/Steps/ReviewCourseSettings.tsx","../node_modules/rc-collapse/es/PanelContent.js","../node_modules/rc-collapse/es/Panel.js","../node_modules/rc-collapse/es/Collapse.js","../node_modules/rc-collapse/es/index.js","../node_modules/antd/es/collapse/CollapsePanel.js","../node_modules/antd/es/collapse/style/index.js","../node_modules/antd/es/collapse/Collapse.js","../node_modules/antd/es/collapse/index.js","Components/CoursePublishPreparation/Steps/ReviewSummary.tsx","../node_modules/antd/es/alert/ErrorBoundary.js","../node_modules/antd/es/alert/style/index.js","../node_modules/antd/es/alert/index.js","../node_modules/@ant-design/icons-svg/es/asn/SyncOutlined.js","../node_modules/@ant-design/icons/es/icons/SyncOutlined.js","Components/CoursePublishPreparation/Steps/FinalModalBeforePublish.tsx","Components/CoursePublishPreparation/Steps/ReviewPurchasePrice.tsx","Routes/CoursePublishPreparation.tsx","../node_modules/antd/es/grid/RowContext.js","../node_modules/antd/es/grid/style/index.js","../node_modules/antd/es/grid/col.js","../node_modules/antd/es/col/index.js","../node_modules/antd/es/statistic/Number.js","../node_modules/antd/es/statistic/style/index.js","../node_modules/antd/es/statistic/utils.js","../node_modules/antd/es/statistic/Countdown.js","../node_modules/antd/es/statistic/Statistic.js","../node_modules/antd/es/statistic/index.js","Components/Statistics/StatisticsOverview.tsx","Components/Client/ClientProfileSummarySegment.tsx","Components/Client/CompanySegment.tsx","Routes/ClientSettings.tsx","Routes/ProtectedRoutes.tsx","Components/FooterContent.tsx","../node_modules/antd/es/form/hooks/useDebounce.js","../node_modules/antd/es/form/style/explain.js","../node_modules/antd/es/form/style/index.js","../node_modules/antd/es/form/ErrorList.js","../node_modules/scroll-into-view-if-needed/src/index.ts","../node_modules/antd/es/form/util.js","../node_modules/antd/es/form/hooks/useForm.js","../node_modules/antd/es/form/Form.js","../node_modules/antd/es/form/hooks/useFormItemStatus.js","../node_modules/antd/es/grid/row.js","../node_modules/@ant-design/icons-svg/es/asn/QuestionCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/QuestionCircleOutlined.js","../node_modules/antd/es/form/FormItemLabel.js","../node_modules/antd/es/form/FormItemInput.js","../node_modules/antd/es/form/FormItem/ItemHolder.js","../node_modules/antd/es/form/FormItem/index.js","../node_modules/antd/es/form/hooks/useFrameState.js","../node_modules/antd/es/form/hooks/useItemRef.js","../node_modules/antd/es/form/FormList.js","../node_modules/antd/es/form/index.js","../node_modules/antd/es/form/hooks/useFormInstance.js","../node_modules/rc-select/es/hooks/useBaseProps.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/TransBtn.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/utils/keyUtil.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-select/es/BaseSelect.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/hooks/useFilterOptions.js","../node_modules/rc-select/es/hooks/useId.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/hooks/useOptions.js","../node_modules/rc-select/es/hooks/useRefFunc.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-virtual-list/es/Filler.js","../node_modules/rc-virtual-list/es/ScrollBar.js","../node_modules/rc-virtual-list/es/Item.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","../node_modules/rc-virtual-list/es/utils/isFirefox.js","../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","../node_modules/rc-virtual-list/es/List.js","../node_modules/rc-virtual-list/es/hooks/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/hooks/useScrollTo.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/index.js","../node_modules/rc-select/es/SelectContext.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/utils/platformUtil.js","../node_modules/rc-select/es/utils/warningPropsUtil.js","../node_modules/rc-select/es/Select.js","../node_modules/rc-select/es/hooks/useCache.js","../node_modules/rc-select/es/index.js","../node_modules/antd/es/config-provider/defaultRenderEmpty.js","../node_modules/antd/es/select/style/dropdown.js","../node_modules/antd/es/select/style/multiple.js","../node_modules/antd/es/select/style/single.js","../node_modules/antd/es/select/style/index.js","../node_modules/antd/es/select/index.js","../node_modules/antd/es/select/utils/iconUtil.js","i18n/LanguageSwitcher.tsx","Routes/LoginPage.tsx","../node_modules/@ant-design/icons-svg/es/asn/FastForwardOutlined.js","../node_modules/@ant-design/icons/es/icons/FastForwardOutlined.js","../node_modules/zod/lib/index.mjs","Components/CourseForParticipants/Context/ParticipantCourseContext.tsx","Components/CourseForParticipants/DisplayCourseMaterial/NavigationButtonsRow.tsx","../node_modules/react-feather/dist/icons/alert-triangle.js","Components/CourseForParticipants/DisplayCourseMaterial/StartExamModal.tsx","../node_modules/react-feather/dist/icons/percent.js","../node_modules/react-feather/dist/icons/target.js","../node_modules/react-feather/dist/icons/clock.js","../node_modules/react-feather/dist/icons/refresh-cw.js","../node_modules/react-feather/dist/icons/award.js","Components/CourseForParticipants/Exam/Exam.tsx","Components/CourseForParticipants/ExamInstructions/ExamInstructionsBlock.tsx","Components/CourseForParticipants/ExamInstructions/ExamInstructions.tsx","Components/CourseForParticipants/DisplayCourseMaterial/WelcomeModal.tsx","Components/Navigation/ParticipantNavbar.tsx","Components/CourseForParticipants/DisplayCourseMaterial/DisplayCourseMaterial.tsx","Components/CourseForParticipants/DisplayCourseMaterial/TimeIsUpModal.tsx","Components/VerifyCertificate/types.tsx","Routes/CourseForParticipants.tsx","../node_modules/axios/index.js","Components/GetCertificate/GetCertificate.tsx","Components/VerifyCertificate/renderValidCertificate.tsx","../node_modules/react-feather/dist/icons/x-circle.js","Components/VerifyCertificate/renderInvalidCertificate.tsx","Components/VerifyCertificate/renderExpiredCertificate.tsx","Components/VerifyCertificate/VerifyCertificate.tsx","../node_modules/rc-table/es/ContextSelector/index.js","../node_modules/rc-table/es/context/BodyContext.js","../node_modules/rc-table/es/context/HoverContext.js","../node_modules/rc-table/es/context/PerfContext.js","../node_modules/rc-table/es/context/ResizeContext.js","../node_modules/rc-table/es/context/TableContext.js","../node_modules/rc-table/es/hooks/useFlattenRecords.js","../node_modules/rc-table/es/utils/valueUtil.js","../node_modules/rc-table/es/context/StickyContext.js","../node_modules/rc-table/es/Cell/index.js","../node_modules/rc-table/es/context/ExpandedRowContext.js","../node_modules/rc-table/es/Body/ExpandedRow.js","../node_modules/rc-table/es/Body/BodyRow.js","../node_modules/rc-table/es/Body/MeasureCell.js","../node_modules/rc-table/es/Body/MeasureRow.js","../node_modules/rc-table/es/Body/index.js","../node_modules/rc-table/es/utils/legacyUtil.js","../node_modules/rc-table/es/ColGroup.js","../node_modules/rc-table/es/constant.js","../node_modules/rc-table/es/FixedHolder/index.js","../node_modules/rc-table/es/utils/fixUtil.js","../node_modules/rc-table/es/Footer/SummaryContext.js","../node_modules/rc-table/es/Footer/Row.js","../node_modules/rc-table/es/Footer/Summary.js","../node_modules/rc-table/es/Footer/Cell.js","../node_modules/rc-table/es/Footer/index.js","../node_modules/rc-table/es/Header/HeaderRow.js","../node_modules/rc-table/es/Header/Header.js","../node_modules/rc-table/es/hooks/useColumns.js","../node_modules/rc-table/es/hooks/useFrame.js","../node_modules/rc-table/es/hooks/useSticky.js","../node_modules/rc-table/es/hooks/useStickyOffsets.js","../node_modules/rc-table/es/Panel/index.js","../node_modules/rc-table/es/stickyScrollBar.js","../node_modules/rc-table/es/sugar/Column.js","../node_modules/rc-table/es/sugar/ColumnGroup.js","../node_modules/rc-table/es/utils/expandUtil.js","../node_modules/rc-table/es/Table.js","../node_modules/rc-table/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/DoubleLeftOutlined.js","../node_modules/@ant-design/icons/es/icons/DoubleLeftOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","../node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","../node_modules/rc-pagination/es/Pager.js","../node_modules/rc-pagination/es/KeyCode.js","../node_modules/rc-pagination/es/Options.js","../node_modules/rc-pagination/es/Pagination.js","../node_modules/rc-pagination/es/locale/zh_CN.js","../node_modules/antd/es/pagination/Select.js","../node_modules/antd/es/pagination/style/index.js","../node_modules/antd/es/pagination/Pagination.js","../node_modules/antd/es/pagination/index.js","../node_modules/antd/es/_util/easings.js","../node_modules/antd/es/_util/getScroll.js","../node_modules/antd/es/_util/scrollTo.js","../node_modules/antd/es/table/Column.js","../node_modules/antd/es/table/ColumnGroup.js","../node_modules/antd/es/table/ExpandIcon.js","../node_modules/antd/es/table/util.js","../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","../node_modules/@ant-design/icons/es/icons/FilterFilled.js","../node_modules/rc-tree/es/contextTypes.js","../node_modules/rc-tree/es/Indent.js","../node_modules/rc-tree/es/utils/treeUtil.js","../node_modules/rc-tree/es/util.js","../node_modules/rc-tree/es/TreeNode.js","../node_modules/rc-tree/es/MotionTreeNode.js","../node_modules/rc-tree/es/utils/diffUtil.js","../node_modules/rc-tree/es/NodeList.js","../node_modules/rc-tree/es/utils/conductUtil.js","../node_modules/rc-tree/es/Tree.js","../node_modules/rc-tree/es/DropIndicator.js","../node_modules/rc-tree/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","../node_modules/antd/es/tree/utils/dropIndicator.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","../node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","../node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","../node_modules/@ant-design/icons/es/icons/FileOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","../node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","../node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","../node_modules/antd/es/tree/style/index.js","../node_modules/antd/es/tree/Tree.js","../node_modules/antd/es/tree/utils/iconUtil.js","../node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","../node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/FolderOutlined.js","../node_modules/@ant-design/icons/es/icons/FolderOutlined.js","../node_modules/antd/es/tree/utils/dictUtil.js","../node_modules/antd/es/tree/DirectoryTree.js","../node_modules/antd/es/tree/index.js","../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","../node_modules/antd/es/_util/hooks/useSyncState.js","../node_modules/antd/es/table/hooks/useFilter/index.js","../node_modules/antd/es/_util/extendsObject.js","../node_modules/antd/es/table/hooks/usePagination.js","../node_modules/antd/es/table/hooks/useSelection.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","../node_modules/antd/es/table/hooks/useSorter.js","../node_modules/antd/es/table/hooks/useTitleColumns.js","../node_modules/antd/es/table/style/bordered.js","../node_modules/antd/es/table/style/ellipsis.js","../node_modules/antd/es/table/style/empty.js","../node_modules/antd/es/table/style/expand.js","../node_modules/antd/es/table/style/filter.js","../node_modules/antd/es/table/style/fixed.js","../node_modules/antd/es/table/style/pagination.js","../node_modules/antd/es/table/style/radius.js","../node_modules/antd/es/table/style/rtl.js","../node_modules/antd/es/table/style/selection.js","../node_modules/antd/es/table/style/size.js","../node_modules/antd/es/table/style/sorter.js","../node_modules/antd/es/table/style/sticky.js","../node_modules/antd/es/table/style/summary.js","../node_modules/antd/es/table/style/index.js","../node_modules/antd/es/table/Table.js","../node_modules/antd/es/table/hooks/useLazyKVMap.js","../node_modules/antd/es/table/index.js","../node_modules/react-feather/dist/icons/shopping-cart.js","Components/GenerateInvoice/invoiceUtils.ts","../node_modules/@ant-design/icons-svg/es/asn/InfoCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/InfoCircleOutlined.js","Components/CourseCatalog/CourseCatalog.tsx","../node_modules/antd/es/watermark/utils.js","../node_modules/antd/es/watermark/index.js","../node_modules/@paypal/react-paypal-js/dist/esm/react-paypal-js.js","../node_modules/antd/es/watermark/useMutationObserver.js","Components/CourseCatalog/ExamOverview.tsx","Components/CourseCatalog/CourseFromCatalog.tsx","Components/CourseCatalog/BuyCourseAccess/Steps/BuyersDetailsForm.tsx","Components/CourseCatalog/BuyCourseAccess/Steps/ParticipantsStep.tsx","../node_modules/qrcode.react/lib/esm/index.js","Components/CourseCatalog/BuyCourseAccess/Steps/BuyWithPaypalStep.tsx","../node_modules/@ant-design/icons-svg/es/asn/ReloadOutlined.js","../node_modules/@ant-design/icons/es/icons/ReloadOutlined.js","Components/CourseCatalog/BuyCourseAccess/Steps/SummaryStep.tsx","../node_modules/antd/es/qrcode/style/index.js","../node_modules/antd/es/qrcode/index.js","Components/CourseCatalog/BuyCourseAccess/Steps/ButtonRow.tsx","Components/Navigation/AnonymousNavbar.tsx","Components/CourseCatalog/BuyCourseAccess/BuyCourseAccess.tsx","assets/Medal.tsx","Components/CourseForParticipants/Exam/AuthenticationModal.tsx","Components/CourseForParticipants/Exam/ExamResults.tsx","App.tsx","index.tsx"],"sourcesContent":["interface EventType {\n readonly callback: Function;\n readonly once: boolean;\n}\n\ntype EventsType = Record;\n\nconst WILDCARD = '*';\n\n/* event-emitter */\nexport default class EventEmitter {\n private _events: EventsType = {};\n\n /**\n * 监听一个事件\n * @param evt\n * @param callback\n * @param once\n */\n on(evt: string, callback: Function, once?: boolean) {\n if (!this._events[evt]) {\n this._events[evt] = [];\n }\n this._events[evt].push({\n callback,\n once: !!once,\n });\n return this;\n }\n\n /**\n * 监听一个事件一次\n * @param evt\n * @param callback\n */\n once(evt: string, callback: Function) {\n return this.on(evt, callback, true);\n }\n\n /**\n * 触发一个事件\n * @param evt\n * @param args\n */\n emit(evt: string, ...args: any[]) {\n const events = this._events[evt] || [];\n const wildcardEvents = this._events[WILDCARD] || [];\n\n // 实际的处理 emit 方法\n const doEmit = (es: EventType[]) => {\n let length = es.length;\n for (let i = 0; i < length; i++) {\n if (!es[i]) {\n continue;\n }\n const { callback, once } = es[i];\n\n if (once) {\n es.splice(i, 1);\n\n if (es.length === 0) {\n delete this._events[evt];\n }\n\n length--;\n i--;\n }\n\n callback.apply(this, args);\n }\n };\n\n doEmit(events);\n doEmit(wildcardEvents);\n }\n\n /**\n * 取消监听一个事件,或者一个channel\n * @param evt\n * @param callback\n */\n off(evt?: string, callback?: Function) {\n if (!evt) {\n // evt 为空全部清除\n this._events = {};\n } else {\n if (!callback) {\n // evt 存在,callback 为空,清除事件所有方法\n delete this._events[evt];\n } else {\n // evt 存在,callback 存在,清除匹配的\n const events = this._events[evt] || [];\n\n let length = events.length;\n for (let i = 0; i < length; i++) {\n if (events[i].callback === callback) {\n events.splice(i, 1);\n length--;\n i--;\n }\n }\n\n if (events.length === 0) {\n delete this._events[evt];\n }\n }\n }\n\n return this;\n }\n\n /* 当前所有的事件 */\n getEvents() {\n return this._events;\n }\n}\n","import EE from '@antv/event-emitter';\nimport { IBase } from '../interfaces';\nimport { mix } from '../util/util';\nimport { LooseObject } from '../types';\nabstract class Base extends EE implements IBase {\n /**\n * 内部属性,用于 get,set,但是可以用于优化性能使用\n * @type {object}\n */\n cfg: LooseObject;\n\n /**\n * 是否被销毁\n * @type {boolean}\n */\n destroyed: boolean = false;\n\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n getDefaultCfg() {\n return {};\n }\n\n constructor(cfg) {\n super();\n const defaultCfg = this.getDefaultCfg();\n this.cfg = mix(defaultCfg, cfg);\n }\n\n // 实现接口的方法\n get(name) {\n return this.cfg[name];\n }\n // 实现接口的方法\n set(name, value) {\n this.cfg[name] = value;\n }\n\n // 实现接口的方法\n destroy() {\n this.cfg = {\n destroyed: true,\n };\n this.off();\n this.destroyed = true;\n }\n}\n\nexport default Base;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","import { isEqual, isNumber, isFunction } from '@antv/util';\nimport * as d3Timer from 'd3-timer';\nimport { interpolate, interpolateArray } from 'd3-interpolate'; // 目前整体动画只需要数值和数组的差值计算\nimport { getEasing } from './register';\nimport * as PathUtil from '../util/path';\nimport { isColorProp, isGradientColor } from '../util/color';\nimport { ICanvas, IElement } from '../interfaces';\nimport { Animation } from '../types';\n\nconst IDENTITY_MATRIX = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n\n/**\n * 使用 ratio 进行插值计算来更新属性\n * @param {IElement} shape 元素\n * @param {Animation} animation 动画\n * @param {number} ratio 比例\n * @return {boolean} 动画是否执行完成\n */\nfunction _update(shape: IElement, animation: Animation, ratio: number) {\n const cProps = {}; // 此刻属性\n const { fromAttrs, toAttrs } = animation;\n if (shape.destroyed) {\n return;\n }\n let interf; // 差值函数\n for (const k in toAttrs) {\n if (!isEqual(fromAttrs[k], toAttrs[k])) {\n if (k === 'path') {\n let toPath = toAttrs[k];\n let fromPath = fromAttrs[k];\n if (toPath.length > fromPath.length) {\n toPath = PathUtil.parsePathString(toAttrs[k]); // 终点状态\n fromPath = PathUtil.parsePathString(fromAttrs[k]); // 起始状态\n fromPath = PathUtil.fillPathByDiff(fromPath, toPath);\n fromPath = PathUtil.formatPath(fromPath, toPath);\n animation.fromAttrs.path = fromPath;\n animation.toAttrs.path = toPath;\n } else if (!animation.pathFormatted) {\n toPath = PathUtil.parsePathString(toAttrs[k]);\n fromPath = PathUtil.parsePathString(fromAttrs[k]);\n fromPath = PathUtil.formatPath(fromPath, toPath);\n animation.fromAttrs.path = fromPath;\n animation.toAttrs.path = toPath;\n animation.pathFormatted = true;\n }\n cProps[k] = [];\n for (let i = 0; i < toPath.length; i++) {\n const toPathPoint = toPath[i];\n const fromPathPoint = fromPath[i];\n const cPathPoint = [];\n for (let j = 0; j < toPathPoint.length; j++) {\n if (isNumber(toPathPoint[j]) && fromPathPoint && isNumber(fromPathPoint[j])) {\n interf = interpolate(fromPathPoint[j], toPathPoint[j]);\n cPathPoint.push(interf(ratio));\n } else {\n cPathPoint.push(toPathPoint[j]);\n }\n }\n cProps[k].push(cPathPoint);\n }\n } else if (k === 'matrix') {\n /* \n 对矩阵进行插值时,需要保证矩阵不为空,为空则使用单位矩阵\n TODO: 二维和三维场景下单位矩阵不同,之后 WebGL 版需要做进一步处理\n */\n const matrixFn = interpolateArray(fromAttrs[k] || IDENTITY_MATRIX, toAttrs[k] || IDENTITY_MATRIX);\n const currentMatrix = matrixFn(ratio);\n cProps[k] = currentMatrix;\n } else if (isColorProp(k) && isGradientColor(toAttrs[k])) {\n cProps[k] = toAttrs[k];\n } else if (!isFunction(toAttrs[k])) {\n // 非函数类型的值才能做插值\n interf = interpolate(fromAttrs[k], toAttrs[k]);\n cProps[k] = interf(ratio);\n }\n }\n }\n shape.attr(cProps);\n}\n\n/**\n * 根据自定义帧动画函数 onFrame 来更新属性\n * @param {IElement} shape 元素\n * @param {Animation} animation 动画\n * @param {number} elapsed 动画执行时间(毫秒)\n * @return {boolean} 动画是否执行完成\n */\nfunction update(shape: IElement, animation: Animation, elapsed: number) {\n const { startTime, delay } = animation;\n // 如果还没有开始执行或暂停,先不更新\n if (elapsed < startTime + delay || animation._paused) {\n return false;\n }\n let ratio;\n const duration = animation.duration;\n const easing = animation.easing;\n const easeFn = getEasing(easing);\n\n // 已执行时间\n elapsed = elapsed - startTime - animation.delay;\n if (animation.repeat) {\n // 如果动画重复执行,则 elapsed > duration,计算 ratio 时需取模\n ratio = (elapsed % duration) / duration;\n ratio = easeFn(ratio);\n } else {\n ratio = elapsed / duration;\n if (ratio < 1) {\n // 动画未执行完\n ratio = easeFn(ratio);\n } else {\n // 动画已执行完\n if (animation.onFrame) {\n shape.attr(animation.onFrame(1));\n } else {\n shape.attr(animation.toAttrs);\n }\n return true;\n }\n }\n if (animation.onFrame) {\n const attrs = animation.onFrame(ratio);\n shape.attr(attrs);\n } else {\n _update(shape, animation, ratio);\n }\n return false;\n}\n\nclass Timeline {\n /**\n * 画布\n * @type {ICanvas}\n */\n canvas: ICanvas;\n /**\n * 执行动画的元素列表\n * @type {IElement[]}\n */\n animators: IElement[] = [];\n /**\n * 当前时间\n * @type {number}\n */\n current: number = 0;\n /**\n * 定时器\n * @type {d3Timer.Timer}\n */\n timer: d3Timer.Timer = null;\n\n /**\n * 时间轴构造函数,依赖于画布\n * @param {}\n */\n constructor(canvas: ICanvas) {\n this.canvas = canvas;\n }\n\n /**\n * 初始化定时器\n */\n initTimer() {\n let isFinished = false;\n let shape: IElement;\n let animations: Animation[];\n let animation: Animation;\n this.timer = d3Timer.timer((elapsed) => {\n this.current = elapsed;\n if (this.animators.length > 0) {\n for (let i = this.animators.length - 1; i >= 0; i--) {\n shape = this.animators[i];\n if (shape.destroyed) {\n // 如果已经被销毁,直接移出队列\n this.removeAnimator(i);\n continue;\n }\n if (!shape.isAnimatePaused()) {\n animations = shape.get('animations');\n for (let j = animations.length - 1; j >= 0; j--) {\n animation = animations[j];\n isFinished = update(shape, animation, elapsed);\n if (isFinished) {\n animations.splice(j, 1);\n isFinished = false;\n if (animation.callback) {\n animation.callback();\n }\n }\n }\n }\n if (animations.length === 0) {\n this.removeAnimator(i);\n }\n }\n const autoDraw = this.canvas.get('autoDraw');\n // 非自动渲染模式下,手动调用 canvas.draw() 重新渲染\n if (!autoDraw) {\n this.canvas.draw();\n }\n }\n });\n }\n\n /**\n * 增加动画元素\n */\n addAnimator(shape) {\n this.animators.push(shape);\n }\n\n /**\n * 移除动画元素\n */\n removeAnimator(index) {\n this.animators.splice(index, 1);\n }\n\n /**\n * 是否有动画在执行\n */\n isAnimating() {\n return !!this.animators.length;\n }\n\n /**\n * 停止定时器\n */\n stop() {\n if (this.timer) {\n this.timer.stop();\n }\n }\n\n /**\n * 停止时间轴上所有元素的动画,并置空动画元素列表\n * @param {boolean} toEnd 是否到动画的最终状态,用来透传给动画元素的 stopAnimate 方法\n */\n stopAllAnimations(toEnd = true) {\n this.animators.forEach((animator) => {\n animator.stopAnimate(toEnd);\n });\n this.animators = [];\n this.canvas.draw();\n }\n\n /**\n * 获取当前时间\n */\n getTime() {\n return this.current;\n }\n}\n\nexport default Timeline;\n","export const isColorProp = (prop) => ['fill', 'stroke', 'fillStyle', 'strokeStyle'].includes(prop);\n\nexport const isGradientColor = (val) => /^[r,R,L,l]{1}[\\s]*\\(/.test(val);\n","/**\n * @fileoverview 事件处理器\n * @author dxq613@gmail.com\n */\nimport GraphEvent from './graph-event';\nimport { ICanvas, IShape } from '../interfaces';\nimport { each, isParent } from '../util/util';\nconst CLICK_OFFSET = 40;\nconst LEFT_BTN_CODE = 0;\nconst DELEGATION_SPLIT = ':';\n\nconst EVENTS = [\n 'mousedown',\n 'mouseup',\n 'dblclick',\n 'mouseout',\n 'mouseover',\n 'mousemove',\n 'mouseleave',\n 'mouseenter',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'drop',\n 'contextmenu',\n 'mousewheel',\n];\n\n// 是否有委托事件监听\nfunction hasDelegation(events, type) {\n for (const key in events) {\n if (events.hasOwnProperty(key) && key.indexOf(DELEGATION_SPLIT + type) >= 0) {\n return true;\n }\n }\n return false;\n}\n\n// 触发目标事件,目标只能是 shape 或 canvas\nfunction emitTargetEvent(target, type, eventObj) {\n eventObj.name = type;\n eventObj.target = target;\n eventObj.currentTarget = target;\n eventObj.delegateTarget = target;\n target.emit(type, eventObj);\n}\n\n// 事件冒泡, enter 和 leave 需要对 fromShape 和 toShape 进行判同\nfunction bubbleEvent(container, type, eventObj) {\n if (eventObj.bubbles) {\n let relativeShape;\n let isOverEvent = false;\n if (type === 'mouseenter') {\n relativeShape = eventObj.fromShape;\n isOverEvent = true;\n } else if (type === 'mouseleave') {\n isOverEvent = true;\n relativeShape = eventObj.toShape;\n }\n // canvas 上的 mouseenter, mouseleave 事件,仅当进入或者移出 canvas 时触发\n if (container.isCanvas() && isOverEvent) {\n return;\n }\n // 如果相关图形同当前图形在同一个容器内,不触发事件\n if (relativeShape && isParent(container, relativeShape)) {\n // 阻止继续向上冒泡\n eventObj.bubbles = false;\n return;\n }\n // 事件名称可能在委托过程中被修改,因此事件冒泡时需要重新设置事件名称\n eventObj.name = type;\n eventObj.currentTarget = container;\n eventObj.delegateTarget = container;\n container.emit(type, eventObj);\n }\n}\n\nclass EventController {\n // 画布容器\n private canvas: ICanvas;\n // 正在被拖拽的图形\n private draggingShape: IShape = null;\n private dragging: boolean = false;\n // 当前鼠标/touch所在位置的图形\n private currentShape: IShape = null;\n private mousedownShape: IShape = null;\n private mousedownPoint = null;\n private mousedownTimeStamp;\n\n constructor(cfg) {\n this.canvas = cfg.canvas;\n }\n\n init() {\n this._bindEvents();\n }\n\n // 注册事件\n _bindEvents() {\n const el = this.canvas.get('el');\n each(EVENTS, (eventName) => {\n el.addEventListener(eventName, this._eventCallback);\n });\n\n if (document) {\n // 处理移动到外面没有触发 shape mouse leave 的事件\n // 处理拖拽到外部的问题\n document.addEventListener('mousemove', this._onDocumentMove);\n // 处理拖拽过程中在外部释放鼠标的问题\n document.addEventListener('mouseup', this._onDocumentMouseUp);\n }\n }\n\n // 清理事件\n _clearEvents() {\n const el = this.canvas.get('el');\n each(EVENTS, (eventName) => {\n el.removeEventListener(eventName, this._eventCallback);\n });\n if (document) {\n document.removeEventListener('mousemove', this._onDocumentMove);\n document.removeEventListener('mouseup', this._onDocumentMouseUp);\n }\n }\n\n _getEventObj(type, event, point, target, fromShape, toShape) {\n const eventObj = new GraphEvent(type, event);\n eventObj.fromShape = fromShape;\n eventObj.toShape = toShape;\n eventObj.x = point.x;\n eventObj.y = point.y;\n eventObj.clientX = point.clientX;\n eventObj.clientY = point.clientY;\n\n eventObj.propagationPath.push(target);\n // 事件的x,y应该是基于画布左上角的,与canvas的matrix无关\n return eventObj;\n }\n\n // 统一处理所有的回调\n _eventCallback = (ev) => {\n const type = ev.type;\n this._triggerEvent(type, ev);\n };\n\n // 根据点获取图形,提取成独立方法,便于后续优化\n _getShape(point, ev: Event) {\n return this.canvas.getShape(point.x, point.y, ev);\n }\n // 获取事件的当前点的信息\n _getPointInfo(ev) {\n const canvas = this.canvas;\n const clientPoint = canvas.getClientByEvent(ev);\n const point = canvas.getPointByEvent(ev);\n return {\n x: point.x,\n y: point.y,\n clientX: clientPoint.x,\n clientY: clientPoint.y,\n };\n }\n\n // 触发事件\n _triggerEvent(type, ev) {\n const pointInfo = this._getPointInfo(ev);\n // 每次都获取图形有一定成本,后期可以考虑进行缓存策略\n const shape = this._getShape(pointInfo, ev);\n const method = this[`_on${type}`];\n let leaveCanvas = false;\n if (method) {\n method.call(this, pointInfo, shape, ev);\n } else {\n const preShape = this.currentShape;\n // 如果进入、移出画布时存在图形,则要分别触发事件\n if (type === 'mouseenter' || type === 'dragenter' || type === 'mouseover') {\n this._emitEvent(type, ev, pointInfo, null, null, shape); // 先进入画布\n if (shape) {\n this._emitEvent(type, ev, pointInfo, shape, null, shape); // 再触发图形的事件\n }\n if (type === 'mouseenter' && this.draggingShape) {\n // 如果正在拖拽图形, 则触发 dragleave\n this._emitEvent('dragenter', ev, pointInfo, null);\n }\n } else if (type === 'mouseleave' || type === 'dragleave' || type === 'mouseout') {\n leaveCanvas = true;\n if (preShape) {\n this._emitEvent(type, ev, pointInfo, preShape, preShape, null); // 先触发图形的事件\n }\n this._emitEvent(type, ev, pointInfo, null, preShape, null); // 再触发离开画布事件\n if (type === 'mouseleave' && this.draggingShape) {\n this._emitEvent('dragleave', ev, pointInfo, null);\n }\n } else {\n this._emitEvent(type, ev, pointInfo, shape, null, null); // 一般事件中不需要考虑 from, to\n }\n }\n if (!leaveCanvas) {\n this.currentShape = shape;\n }\n // 当鼠标从画布移动到 shape 或者从 preShape 移动到 shape 时,应用 shape 上的鼠标样式\n if (shape && !shape.get('destroyed')) {\n const canvas = this.canvas;\n const el = canvas.get('el');\n el.style.cursor = shape.attr('cursor') || canvas.get('cursor');\n }\n }\n\n // 在 document 处理拖拽到画布外的事件,处理从图形上移除画布未被捕捉的问题\n _onDocumentMove = (ev: Event) => {\n const canvas = this.canvas;\n const el = canvas.get('el');\n if (el !== ev.target) {\n // 不在 canvas 上移动\n if (this.dragging || this.currentShape) {\n const pointInfo = this._getPointInfo(ev);\n // 还在拖拽过程中\n if (this.dragging) {\n this._emitEvent('drag', ev, pointInfo, this.draggingShape);\n }\n // 说明从某个图形直接移动到了画布外面,\n // 修复了 mouseleave 的 bug 后不再出现这种情况\n // if (this.currentShape) {\n // this._emitEvent('mouseleave', ev, pointInfo, this.currentShape, this.currentShape, null);\n // this.currentShape = null;\n // }\n }\n }\n };\n // 在 document 上处理拖拽到外面,释放鼠标时触发 dragend\n _onDocumentMouseUp = (ev) => {\n const canvas = this.canvas;\n const el = canvas.get('el');\n if (el !== ev.target) {\n // 不在 canvas 上移动\n if (this.dragging) {\n const pointInfo = this._getPointInfo(ev);\n if (this.draggingShape) {\n // 如果存在拖拽的图形,则也触发 drop 事件\n this._emitEvent('drop', ev, pointInfo, null);\n }\n this._emitEvent('dragend', ev, pointInfo, this.draggingShape);\n this._afterDrag(this.draggingShape, pointInfo, ev);\n }\n }\n };\n\n // 记录下点击的位置、图形,便于拖拽事件、click 事件的判定\n _onmousedown(pointInfo, shape, event) {\n // 只有鼠标左键的 mousedown 事件才会设置 mousedownShape 等属性,避免鼠标右键的 mousedown 事件引起其他事件发生\n if (event.button === LEFT_BTN_CODE) {\n this.mousedownShape = shape;\n this.mousedownPoint = pointInfo;\n this.mousedownTimeStamp = event.timeStamp;\n }\n this._emitEvent('mousedown', event, pointInfo, shape, null, null); // mousedown 不考虑fromShape, toShape\n }\n\n // mouseleave 和 mouseenter 都是成对存在的\n // mouseenter 和 mouseover 同时触发\n _emitMouseoverEvents(event, pointInfo, fromShape, toShape) {\n const el = this.canvas.get('el');\n if (fromShape !== toShape) {\n if (fromShape) {\n this._emitEvent('mouseout', event, pointInfo, fromShape, fromShape, toShape);\n this._emitEvent('mouseleave', event, pointInfo, fromShape, fromShape, toShape);\n // 当鼠标从 fromShape 移动到画布上时,重置鼠标样式\n if (!toShape || toShape.get('destroyed')) {\n el.style.cursor = this.canvas.get('cursor');\n }\n }\n if (toShape) {\n this._emitEvent('mouseover', event, pointInfo, toShape, fromShape, toShape);\n this._emitEvent('mouseenter', event, pointInfo, toShape, fromShape, toShape);\n }\n }\n }\n // dragover 不等同于 mouseover,而等同于 mousemove\n _emitDragoverEvents(event, pointInfo, fromShape, toShape, isCanvasEmit) {\n if (toShape) {\n if (toShape !== fromShape) {\n if (fromShape) {\n this._emitEvent('dragleave', event, pointInfo, fromShape, fromShape, toShape);\n }\n this._emitEvent('dragenter', event, pointInfo, toShape, fromShape, toShape);\n }\n if (!isCanvasEmit) {\n this._emitEvent('dragover', event, pointInfo, toShape);\n }\n } else if (fromShape) {\n // TODO: 此处判断有问题,当 drag 图形时,也会触发一次 dragleave 事件,因为此时 toShape 为 null,这不是所期望的\n // 经过空白区域\n this._emitEvent('dragleave', event, pointInfo, fromShape, fromShape, toShape);\n }\n\n if (isCanvasEmit) {\n this._emitEvent('dragover', event, pointInfo, toShape);\n }\n }\n\n // drag 完成后,需要做一些清理工作\n _afterDrag(draggingShape, pointInfo, event) {\n if (draggingShape) {\n draggingShape.set('capture', true); // 恢复可以拾取\n this.draggingShape = null;\n }\n this.dragging = false;\n // drag 完成后,有可能 draggingShape 已经移动到了当前位置,所以不能直接取当前图形\n const shape = this._getShape(pointInfo, event);\n // 拖拽完成后,进行 enter,leave 的判定\n if (shape !== draggingShape) {\n this._emitMouseoverEvents(event, pointInfo, draggingShape, shape);\n }\n this.currentShape = shape; // 更新当前 shape,如果不处理当前图形的 mouseleave 事件可能会出问题\n }\n // 按键抬起时,会终止拖拽、触发点击\n _onmouseup(pointInfo, shape, event) {\n // eevent.button === 0 表示鼠标左键事件,此处加上判断主要是为了避免右键鼠标会触发 mouseup 和 click 事件\n // ref: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button === LEFT_BTN_CODE) {\n const draggingShape = this.draggingShape;\n if (this.dragging) {\n // 存在可以拖拽的图形,同时拖拽到其他图形上时触发 drag 事件\n if (draggingShape) {\n this._emitEvent('drop', event, pointInfo, shape);\n }\n this._emitEvent('dragend', event, pointInfo, draggingShape);\n this._afterDrag(draggingShape, pointInfo, event);\n } else {\n this._emitEvent('mouseup', event, pointInfo, shape); // 先触发 mouseup 再触发 click\n if (shape === this.mousedownShape) {\n this._emitEvent('click', event, pointInfo, shape);\n }\n this.mousedownShape = null;\n this.mousedownPoint = null;\n }\n }\n }\n\n // 当触发浏览器的 dragover 事件时,不会再触发 mousemove ,所以这时候的 dragenter, dragleave 事件需要重新处理\n _ondragover(pointInfo, shape, event) {\n event.preventDefault(); // 如果不对 dragover 进行 preventDefault,则不会在 canvas 上触发 drop 事件\n const preShape = this.currentShape;\n this._emitDragoverEvents(event, pointInfo, preShape, shape, true);\n }\n\n // 大量的图形事件,都通过 mousemove 模拟\n _onmousemove(pointInfo, shape, event) {\n const canvas = this.canvas;\n const preShape = this.currentShape;\n let draggingShape = this.draggingShape;\n // 正在拖拽时\n if (this.dragging) {\n // 正在拖拽中\n if (draggingShape) {\n // 如果拖拽了 shape 会触发 dragenter, dragleave, dragover 和 drag 事件\n this._emitDragoverEvents(event, pointInfo, preShape, shape, false);\n }\n // 如果存在 draggingShape 则会在 draggingShape 上触发 drag 事件,冒泡到 canvas 上\n // 否则在 canvas 上触发 drag 事件\n this._emitEvent('drag', event, pointInfo, draggingShape);\n } else {\n const mousedownPoint = this.mousedownPoint;\n if (mousedownPoint) {\n // 当鼠标点击下去,同时移动时,进行 drag 判定\n const mousedownShape = this.mousedownShape;\n const now = event.timeStamp;\n const timeWindow = now - this.mousedownTimeStamp;\n const dx = mousedownPoint.clientX - pointInfo.clientX;\n const dy = mousedownPoint.clientY - pointInfo.clientY;\n const dist = dx * dx + dy * dy;\n if (timeWindow > 120 || dist > CLICK_OFFSET) {\n if (mousedownShape && mousedownShape.get('draggable')) {\n // 设置了 draggable 的 shape 才能触发 drag 相关的事件\n draggingShape = this.mousedownShape; // 拖动鼠标点下时的 shape\n draggingShape.set('capture', false); // 禁止继续拾取,否则无法进行 dragover,dragenter,dragleave,drop的判定\n this.draggingShape = draggingShape;\n this.dragging = true;\n this._emitEvent('dragstart', event, pointInfo, draggingShape);\n // 清理按下鼠标时缓存的值\n this.mousedownShape = null;\n this.mousedownPoint = null;\n } else if (!mousedownShape && canvas.get('draggable')) {\n // 设置了 draggable 的 canvas 才能触发 drag 相关的事件\n this.dragging = true;\n this._emitEvent('dragstart', event, pointInfo, null);\n // 清理按下鼠标时缓存的值\n this.mousedownShape = null;\n this.mousedownPoint = null;\n } else {\n this._emitMouseoverEvents(event, pointInfo, preShape, shape);\n this._emitEvent('mousemove', event, pointInfo, shape);\n }\n } else {\n this._emitMouseoverEvents(event, pointInfo, preShape, shape);\n this._emitEvent('mousemove', event, pointInfo, shape);\n }\n } else {\n // 没有按键按下时,则直接触发 mouse over 相关的各种事件\n this._emitMouseoverEvents(event, pointInfo, preShape, shape);\n // 始终触发移动\n this._emitEvent('mousemove', event, pointInfo, shape);\n }\n }\n }\n\n // 触发事件\n _emitEvent(type, event, pointInfo, shape, fromShape?, toShape?) {\n const eventObj = this._getEventObj(type, event, pointInfo, shape, fromShape, toShape);\n // 存在 shape 触发,则进行冒泡处理\n if (shape) {\n eventObj.shape = shape;\n // 触发 shape 上的事件\n emitTargetEvent(shape, type, eventObj);\n let parent = shape.getParent();\n // 执行冒泡\n while (parent) {\n // 委托事件要先触发\n parent.emitDelegation(type, eventObj);\n // 事件冒泡停止,不能妨碍委托事件\n if (!eventObj.propagationStopped) {\n bubbleEvent(parent, type, eventObj);\n }\n eventObj.propagationPath.push(parent);\n parent = parent.getParent();\n }\n } else {\n // 如果没有 shape 直接在 canvas 上触发\n const canvas = this.canvas;\n // 直接触发 canvas 上的事件\n emitTargetEvent(canvas, type, eventObj);\n }\n }\n\n destroy() {\n // 清理事件\n this._clearEvents();\n // 清理缓存的对象\n this.canvas = null;\n this.currentShape = null;\n this.draggingShape = null;\n this.mousedownPoint = null;\n this.mousedownShape = null;\n this.mousedownTimeStamp = null;\n }\n}\n\nexport default EventController;\n","import { detect } from 'detect-browser';\nimport Container from './container';\nimport { ICanvas } from '../interfaces';\nimport { CanvasCfg, Point, Renderer, Cursor } from '../types';\nimport { isBrowser, isNil, isString } from '../util/util';\nimport Timeline from '../animate/timeline';\nimport EventController from '../event/event-contoller';\n\nconst PX_SUFFIX = 'px';\n\nconst browser = detect();\nconst isFirefox = browser && browser.name === 'firefox';\n\nabstract class Canvas extends Container implements ICanvas {\n constructor(cfg: CanvasCfg) {\n super(cfg);\n this.initContainer();\n this.initDom();\n this.initEvents();\n this.initTimeline();\n }\n\n getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n // set default cursor style for canvas\n cfg['cursor'] = 'default';\n // CSS transform 目前尚未经过长时间验证,为了避免影响上层业务,默认关闭,上层按需开启\n cfg['supportCSSTransform'] = false;\n return cfg;\n }\n\n /**\n * @protected\n * 初始化容器\n */\n initContainer() {\n let container = this.get('container');\n if (isString(container)) {\n container = document.getElementById(container);\n this.set('container', container);\n }\n }\n\n /**\n * @protected\n * 初始化 DOM\n */\n initDom() {\n const el = this.createDom();\n this.set('el', el);\n // 附加到容器\n const container = this.get('container');\n container.appendChild(el);\n // 设置初始宽度\n this.setDOMSize(this.get('width'), this.get('height'));\n }\n\n /**\n * 创建画布容器\n * @return {HTMLElement} 画布容器\n */\n abstract createDom(): HTMLElement | SVGSVGElement;\n\n /**\n * @protected\n * 初始化绑定的事件\n */\n initEvents() {\n const eventController = new EventController({\n canvas: this,\n });\n eventController.init();\n this.set('eventController', eventController);\n }\n\n /**\n * @protected\n * 初始化时间轴\n */\n initTimeline() {\n const timeline = new Timeline(this);\n this.set('timeline', timeline);\n }\n\n /**\n * @protected\n * 修改画布对应的 DOM 的大小\n * @param {number} width 宽度\n * @param {number} height 高度\n */\n setDOMSize(width: number, height: number) {\n const el = this.get('el');\n if (isBrowser) {\n el.style.width = width + PX_SUFFIX;\n el.style.height = height + PX_SUFFIX;\n }\n }\n\n // 实现接口\n changeSize(width: number, height: number) {\n this.setDOMSize(width, height);\n this.set('width', width);\n this.set('height', height);\n this.onCanvasChange('changeSize');\n }\n\n /**\n * 获取当前的渲染引擎\n * @return {Renderer} 返回当前的渲染引擎\n */\n getRenderer(): Renderer {\n return this.get('renderer');\n }\n\n /**\n * 获取画布的 cursor 样式\n * @return {Cursor}\n */\n getCursor(): Cursor {\n return this.get('cursor');\n }\n\n /**\n * 设置画布的 cursor 样式\n * @param {Cursor} cursor cursor 样式\n */\n setCursor(cursor: Cursor) {\n this.set('cursor', cursor);\n const el = this.get('el');\n if (isBrowser && el) {\n // 直接设置样式,不等待鼠标移动时再设置\n el.style.cursor = cursor;\n }\n }\n\n // 实现接口\n getPointByEvent(ev: Event): Point {\n const supportCSSTransform = this.get('supportCSSTransform');\n if (supportCSSTransform) {\n // For Firefox <= 38\n if (isFirefox && !isNil((ev as any).layerX) && (ev as any).layerX !== (ev as MouseEvent).offsetX) {\n return {\n x: (ev as any).layerX,\n y: (ev as any).layerY,\n };\n }\n if (!isNil((ev as MouseEvent).offsetX)) {\n // For IE6+, Firefox >= 39, Chrome, Safari, Opera\n return {\n x: (ev as MouseEvent).offsetX,\n y: (ev as MouseEvent).offsetY,\n };\n }\n }\n // should calculate by self for other cases, like Safari in ios\n // TODO: support CSS transform\n const { x: clientX, y: clientY } = this.getClientByEvent(ev);\n return this.getPointByClient(clientX, clientY);\n }\n\n // 获取 touch 事件的 clientX 和 clientY 需要单独处理\n getClientByEvent(ev: Event) {\n let clientInfo: MouseEvent | Touch = ev as MouseEvent;\n if ((ev as TouchEvent).touches) {\n if (ev.type === 'touchend') {\n clientInfo = (ev as TouchEvent).changedTouches[0];\n } else {\n clientInfo = (ev as TouchEvent).touches[0];\n }\n }\n return {\n x: clientInfo.clientX,\n y: clientInfo.clientY,\n };\n }\n\n // 实现接口\n getPointByClient(clientX: number, clientY: number): Point {\n const el = this.get('el');\n const bbox = el.getBoundingClientRect();\n return {\n x: clientX - bbox.left,\n y: clientY - bbox.top,\n };\n }\n\n // 实现接口\n getClientByPoint(x: number, y: number): Point {\n const el = this.get('el');\n const bbox = el.getBoundingClientRect();\n return {\n x: x + bbox.left,\n y: y + bbox.top,\n };\n }\n\n // 实现接口\n draw() {}\n\n /**\n * @protected\n * 销毁 DOM 容器\n */\n removeDom() {\n const el = this.get('el');\n el.parentNode.removeChild(el);\n }\n\n /**\n * @protected\n * 清理所有的事件\n */\n clearEvents() {\n const eventController = this.get('eventController');\n eventController.destroy();\n }\n\n isCanvas() {\n return true;\n }\n\n getParent() {\n return null;\n }\n\n destroy() {\n const timeline = this.get('timeline');\n if (this.get('destroyed')) {\n return;\n }\n this.clear();\n // 同初始化时相反顺序调用\n if (timeline) {\n // 画布销毁时自动停止动画\n timeline.stop();\n }\n this.clearEvents();\n this.removeDom();\n super.destroy();\n }\n}\n\nexport default Canvas;\n","import { max, min } from '@antv/util';\nimport { IContainer, IShape, IGroup, IElement, ICanvas } from '../interfaces';\nimport { BBox, ElementFilterFn } from '../types';\nimport Timeline from '../animate/timeline';\nimport Element from './element';\nimport { isFunction, isObject, each, removeFromArray, upperFirst, isAllowCapture } from '../util/util';\n\nconst SHAPE_MAP = {};\nconst INDEX = '_INDEX';\n\n/**\n * 设置 canvas\n * @param {IElement} element 元素\n * @param {ICanvas} canvas 画布\n */\nfunction setCanvas(element: IElement, canvas: ICanvas) {\n element.set('canvas', canvas);\n if (element.isGroup()) {\n const children = element.get('children');\n if (children.length) {\n children.forEach((child) => {\n setCanvas(child, canvas);\n });\n }\n }\n}\n\n/**\n * 设置 timeline\n * @param {IElement} element 元素\n * @param {Timeline} timeline 时间轴\n */\nfunction setTimeline(element: IElement, timeline: Timeline) {\n element.set('timeline', timeline);\n if (element.isGroup()) {\n const children = element.get('children');\n if (children.length) {\n children.forEach((child) => {\n setTimeline(child, timeline);\n });\n }\n }\n}\n\nfunction contains(container: IContainer, element: IElement): boolean {\n const children = container.getChildren();\n return children.indexOf(element) >= 0;\n}\n\nfunction removeChild(container: IContainer, element: IElement, destroy: boolean = true) {\n // 不再调用 element.remove() 方法,会出现循环调用\n if (destroy) {\n element.destroy();\n } else {\n element.set('parent', null);\n element.set('canvas', null);\n }\n removeFromArray(container.getChildren(), element);\n}\n\nfunction getComparer(compare: Function) {\n return function (left, right) {\n const result = compare(left, right);\n return result === 0 ? left[INDEX] - right[INDEX] : result;\n };\n}\n\nabstract class Container extends Element implements IContainer {\n isCanvas() {\n return false;\n }\n\n // 根据子节点确定 BBox\n getBBox(): BBox {\n // 所有的值可能在画布的可视区外\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n // 将可见元素、图形以及不为空的图形分组筛选出来,用于包围盒合并\n const children = this.getChildren().filter(\n (child) =>\n child.get('visible') && (!child.isGroup() || (child.isGroup() && (child as IGroup).getChildren().length > 0))\n );\n if (children.length > 0) {\n each(children, (child: IElement) => {\n const { minX: childMinX, maxX: childMaxX, minY: childMinY, maxY: childMaxY } = child.getBBox();\n if (childMinX < minX) {\n minX = childMinX;\n }\n if (childMaxX > maxX) {\n maxX = childMaxX;\n }\n if (childMinY < minY) {\n minY = childMinY;\n }\n if (childMaxY > maxY) {\n maxY = childMaxY;\n }\n });\n } else {\n minX = 0;\n maxX = 0;\n minY = 0;\n maxY = 0;\n }\n const box = {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n return box;\n }\n\n // 获取画布的包围盒\n getCanvasBBox(): BBox {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n // 将可见元素、图形以及不为空的图形分组筛选出来,用于包围盒合并\n const children = this.getChildren().filter(\n (child) =>\n child.get('visible') && (!child.isGroup() || (child.isGroup() && (child as IGroup).getChildren().length > 0))\n );\n if (children.length > 0) {\n each(children, (child: IElement) => {\n const { minX: childMinX, maxX: childMaxX, minY: childMinY, maxY: childMaxY } = child.getCanvasBBox();\n if (childMinX < minX) {\n minX = childMinX;\n }\n if (childMaxX > maxX) {\n maxX = childMaxX;\n }\n if (childMinY < minY) {\n minY = childMinY;\n }\n if (childMaxY > maxY) {\n maxY = childMaxY;\n }\n });\n } else {\n minX = 0;\n maxX = 0;\n minY = 0;\n maxY = 0;\n }\n const box = {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n return box;\n }\n\n getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n cfg['children'] = [];\n return cfg;\n }\n\n onAttrChange(name, value, originValue) {\n super.onAttrChange(name, value, originValue);\n if (name === 'matrix') {\n const totalMatrix = this.getTotalMatrix();\n this._applyChildrenMarix(totalMatrix);\n }\n }\n\n // 不但应用到自己身上还要应用于子元素\n applyMatrix(matrix: number[]) {\n const preTotalMatrix = this.getTotalMatrix();\n super.applyMatrix(matrix);\n const totalMatrix = this.getTotalMatrix();\n // totalMatrix 没有发生变化时,这里仅考虑两者都为 null 时\n // 不继续向下传递矩阵\n if (totalMatrix === preTotalMatrix) {\n return;\n }\n this._applyChildrenMarix(totalMatrix);\n }\n\n // 在子元素上设置矩阵\n _applyChildrenMarix(totalMatrix) {\n const children = this.getChildren();\n each(children, (child) => {\n child.applyMatrix(totalMatrix);\n });\n }\n\n // 兼容老版本的接口\n addShape(...args): IShape {\n const type = args[0];\n let cfg = args[1];\n if (isObject(type)) {\n cfg = type;\n } else {\n cfg['type'] = type;\n }\n let shapeType = SHAPE_MAP[cfg.type];\n if (!shapeType) {\n shapeType = upperFirst(cfg.type);\n SHAPE_MAP[cfg.type] = shapeType;\n }\n const ShapeBase = this.getShapeBase();\n const shape = new ShapeBase[shapeType](cfg);\n this.add(shape);\n return shape;\n }\n\n addGroup(...args): IGroup {\n const [groupClass, cfg] = args;\n let group;\n if (isFunction(groupClass)) {\n if (cfg) {\n group = new groupClass(cfg);\n } else {\n group = new groupClass({\n // canvas,\n parent: this,\n });\n }\n } else {\n const tmpCfg = groupClass || {};\n const TmpGroupClass = this.getGroupBase();\n group = new TmpGroupClass(tmpCfg);\n }\n this.add(group);\n return group;\n }\n\n getCanvas() {\n let canvas;\n if (this.isCanvas()) {\n canvas = this;\n } else {\n canvas = this.get('canvas');\n }\n return canvas;\n }\n\n getShape(x: number, y: number, ev: Event): IShape {\n // 如果不支持拾取,则直接返回\n if (!isAllowCapture(this)) {\n return null;\n }\n const children = this.getChildren();\n let shape;\n // 如果容器是 group\n if (!this.isCanvas()) {\n let v = [x, y, 1];\n // 将 x, y 转换成对应于 group 的局部坐标\n v = this.invertFromMatrix(v);\n if (!this.isClipped(v[0], v[1])) {\n shape = this._findShape(children, v[0], v[1], ev);\n }\n } else {\n shape = this._findShape(children, x, y, ev);\n }\n return shape;\n }\n\n _findShape(children: IElement[], x: number, y: number, ev: Event) {\n let shape = null;\n for (let i = children.length - 1; i >= 0; i--) {\n const child = children[i];\n if (isAllowCapture(child)) {\n if (child.isGroup()) {\n shape = (child as IGroup).getShape(x, y, ev);\n } else if ((child as IShape).isHit(x, y)) {\n shape = child;\n }\n }\n if (shape) {\n break;\n }\n }\n return shape;\n }\n\n add(element: IElement) {\n const canvas = this.getCanvas();\n const children = this.getChildren();\n const timeline = this.get('timeline');\n const preParent = element.getParent();\n if (preParent) {\n removeChild(preParent, element, false);\n }\n element.set('parent', this);\n if (canvas) {\n setCanvas(element, canvas);\n }\n if (timeline) {\n setTimeline(element, timeline);\n }\n children.push(element);\n element.onCanvasChange('add');\n this._applyElementMatrix(element);\n }\n\n // 将当前容器的矩阵应用到子元素\n _applyElementMatrix(element) {\n const totalMatrix = this.getTotalMatrix();\n // 添加图形或者分组时,需要把当前图元的矩阵设置进去\n if (totalMatrix) {\n element.applyMatrix(totalMatrix);\n }\n }\n\n getChildren(): IElement[] {\n return this.get('children') as IElement[];\n }\n\n sort() {\n const children = this.getChildren();\n // 稳定排序\n each(children, (child, index) => {\n child[INDEX] = index;\n return child;\n });\n children.sort(\n getComparer((obj1, obj2) => {\n return obj1.get('zIndex') - obj2.get('zIndex');\n })\n );\n this.onCanvasChange('sort');\n }\n\n clear() {\n this.set('clearing', true);\n if (this.destroyed) {\n return;\n }\n const children = this.getChildren();\n for (let i = children.length - 1; i >= 0; i--) {\n children[i].destroy(); // 销毁子元素\n }\n this.set('children', []);\n this.onCanvasChange('clear');\n this.set('clearing', false);\n }\n\n destroy() {\n if (this.get('destroyed')) {\n return;\n }\n this.clear();\n super.destroy();\n }\n\n /**\n * 获取第一个子元素\n * @return {IElement} 第一个元素\n */\n getFirst(): IElement {\n return this.getChildByIndex(0);\n }\n\n /**\n * 获取最后一个子元素\n * @return {IElement} 元素\n */\n getLast(): IElement {\n const children = this.getChildren();\n return this.getChildByIndex(children.length - 1);\n }\n\n /**\n * 根据索引获取子元素\n * @return {IElement} 第一个元素\n */\n getChildByIndex(index: number): IElement {\n const children = this.getChildren();\n return children[index];\n }\n\n /**\n * 子元素的数量\n * @return {number} 子元素数量\n */\n getCount(): number {\n const children = this.getChildren();\n return children.length;\n }\n\n /**\n * 是否包含对应元素\n * @param {IElement} element 元素\n * @return {boolean}\n */\n contain(element: IElement): boolean {\n const children = this.getChildren();\n return children.indexOf(element) > -1;\n }\n\n /**\n * 移除对应子元素\n * @param {IElement} element 子元素\n * @param {boolean} destroy 是否销毁子元素,默认为 true\n */\n removeChild(element: IElement, destroy = true) {\n if (this.contain(element)) {\n element.remove(destroy);\n }\n }\n\n /**\n * 查找所有匹配的元素\n * @param {ElementFilterFn} fn 匹配函数\n * @return {IElement[]} 元素数组\n */\n findAll(fn: ElementFilterFn): IElement[] {\n let rst: IElement[] = [];\n const children = this.getChildren();\n each(children, (element: IElement) => {\n if (fn(element)) {\n rst.push(element);\n }\n if (element.isGroup()) {\n rst = rst.concat((element as IGroup).findAll(fn));\n }\n });\n return rst;\n }\n\n /**\n * 查找元素,找到第一个返回\n * @param {ElementFilterFn} fn 匹配函数\n * @return {IElement|null} 元素,可以为空\n */\n find(fn: ElementFilterFn): IElement {\n let rst: IElement = null;\n const children = this.getChildren();\n each(children, (element: IElement) => {\n if (fn(element)) {\n rst = element;\n } else if (element.isGroup()) {\n rst = (element as IGroup).find(fn);\n }\n if (rst) {\n return false;\n }\n });\n return rst;\n }\n\n /**\n * 根据 ID 查找元素\n * @param {string} id 元素 id\n * @return {IElement|null} 元素\n */\n findById(id: string): IElement {\n return this.find((element) => {\n return element.get('id') === id;\n });\n }\n\n /**\n * 该方法即将废弃,不建议使用\n * 根据 className 查找元素\n * TODO: 该方式定义暂时只给 G6 3.3 以后的版本使用,待 G6 中的 findByClassName 方法移除后,G 也需要同步移除\n * @param {string} className 元素 className\n * @return {IElement | null} 元素\n */\n findByClassName(className: string): IElement {\n return this.find((element) => {\n return element.get('className') === className;\n });\n }\n\n /**\n * 根据 name 查找元素列表\n * @param {string} name 元素名称\n * @return {IElement[]} 元素\n */\n findAllByName(name: string): IElement[] {\n return this.findAll((element) => {\n return element.get('name') === name;\n });\n }\n}\n\nexport default Container;\n","import { each, isEqual, isFunction, isNumber, isObject, isArray, noop, mix, upperFirst, uniqueId } from '@antv/util';\nimport { ext } from '@antv/matrix-util';\nimport { IElement, IShape, IGroup, ICanvas, ICtor } from '../interfaces';\nimport { ClipCfg, ChangeType, OnFrame, ShapeAttrs, AnimateCfg, Animation, BBox, ShapeBase } from '../types';\nimport { removeFromArray, isParent } from '../util/util';\nimport { multiplyMatrix, multiplyVec2, invert } from '../util/matrix';\nimport Base from './base';\nimport GraphEvent from '../event/graph-event';\n\nconst { transform } = ext;\n\nconst MATRIX = 'matrix';\nconst CLONE_CFGS = ['zIndex', 'capture', 'visible', 'type'];\n\n// 可以在 toAttrs 中设置,但不属于绘图属性的字段\nconst RESERVED_PORPS = ['repeat'];\n\nconst DELEGATION_SPLIT = ':';\nconst WILDCARD = '*';\n\n// 需要考虑数组嵌套数组的场景\n// 数组嵌套对象的场景不考虑\nfunction _cloneArrayAttr(arr) {\n const result = [];\n for (let i = 0; i < arr.length; i++) {\n if (isArray(arr[i])) {\n result.push([].concat(arr[i]));\n } else {\n result.push(arr[i]);\n }\n }\n return result;\n}\n\nfunction getFormatFromAttrs(toAttrs, shape) {\n const fromAttrs = {};\n const attrs = shape.attrs;\n for (const k in toAttrs) {\n fromAttrs[k] = attrs[k];\n }\n return fromAttrs;\n}\n\nfunction getFormatToAttrs(props, shape) {\n const toAttrs = {};\n const attrs = shape.attr();\n each(props, (v, k) => {\n if (RESERVED_PORPS.indexOf(k) === -1 && !isEqual(attrs[k], v)) {\n toAttrs[k] = v;\n }\n });\n return toAttrs;\n}\n\nfunction checkExistedAttrs(animations: Animation[], animation: Animation) {\n if (animation.onFrame) {\n return animations;\n }\n const { startTime, delay, duration } = animation;\n const hasOwnProperty = Object.prototype.hasOwnProperty;\n each(animations, (item) => {\n // 后一个动画开始执行的时间 < 前一个动画的结束时间 && 后一个动画的执行时间 > 前一个动画的延迟\n if (startTime + delay < item.startTime + item.delay + item.duration && duration > item.delay) {\n each(animation.toAttrs, (v, k) => {\n if (hasOwnProperty.call(item.toAttrs, k)) {\n delete item.toAttrs[k];\n delete item.fromAttrs[k];\n }\n });\n }\n });\n\n return animations;\n}\n\nabstract class Element extends Base implements IElement {\n /**\n * @protected\n * 图形属性\n * @type {ShapeAttrs}\n */\n attrs: ShapeAttrs = {};\n\n constructor(cfg) {\n super(cfg);\n const attrs = this.getDefaultAttrs();\n mix(attrs, cfg.attrs);\n this.attrs = attrs;\n this.initAttrs(attrs);\n this.initAnimate(); // 初始化动画\n }\n\n // override\n getDefaultCfg() {\n return {\n visible: true,\n capture: true,\n zIndex: 0,\n };\n }\n\n /**\n * @protected\n * 获取默认的属相\n */\n getDefaultAttrs() {\n return {\n matrix: this.getDefaultMatrix(),\n opacity: 1,\n };\n }\n\n abstract getShapeBase(): ShapeBase;\n abstract getGroupBase(): ICtor;\n\n /**\n * @protected\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {}\n\n /**\n * @protected\n * 初始化属性,有些属性需要加工\n * @param {object} attrs 属性值\n */\n initAttrs(attrs: ShapeAttrs) {}\n\n /**\n * @protected\n * 初始化动画\n */\n initAnimate() {\n this.set('animable', true);\n this.set('animating', false);\n }\n\n isGroup() {\n return false;\n }\n\n getParent(): IGroup {\n return this.get('parent');\n }\n\n getCanvas(): ICanvas {\n return this.get('canvas');\n }\n\n attr(...args) {\n const [name, value] = args;\n if (!name) return this.attrs;\n if (isObject(name)) {\n for (const k in name) {\n this.setAttr(k, name[k]);\n }\n this.afterAttrsChange(name);\n return this;\n }\n if (args.length === 2) {\n this.setAttr(name, value);\n this.afterAttrsChange({\n [name]: value,\n });\n return this;\n }\n return this.attrs[name];\n }\n\n // 在子类上单独实现\n abstract getBBox(): BBox;\n // 子类上单独实现\n abstract getCanvasBBox(): BBox;\n\n // 是否被裁剪,被裁剪则不显示,不参与拾取\n isClipped(refX, refY): boolean {\n const clip = this.getClip();\n return clip && !clip.isHit(refX, refY);\n }\n\n /**\n * 内部设置属性值的接口\n * @param {string} name 属性名\n * @param {any} value 属性值\n */\n setAttr(name: string, value: any) {\n const originValue = this.attrs[name];\n if (originValue !== value) {\n this.attrs[name] = value;\n this.onAttrChange(name, value, originValue);\n }\n }\n\n /**\n * @protected\n * 属性值发生改变\n * @param {string} name 属性名\n * @param {any} value 属性值\n * @param {any} originValue 属性值\n */\n onAttrChange(name: string, value: any, originValue: any) {\n if (name === 'matrix') {\n this.set('totalMatrix', null);\n }\n }\n\n /**\n * 属性更改后需要做的事情\n * @protected\n */\n afterAttrsChange(targetAttrs) {\n if (this.cfg.isClipShape) {\n const applyTo = this.cfg.applyTo;\n if (applyTo) {\n applyTo.onCanvasChange('clip');\n }\n } else {\n this.onCanvasChange('attr');\n }\n }\n\n show() {\n // 不是高频操作直接使用 set\n this.set('visible', true);\n this.onCanvasChange('show');\n return this;\n }\n\n hide() {\n // 不是高频操作直接使用 set\n this.set('visible', false);\n this.onCanvasChange('hide');\n return this;\n }\n\n setZIndex(zIndex: number) {\n this.set('zIndex', zIndex);\n const parent = this.getParent();\n if (parent) {\n // 改变 zIndex 不应该立即触发渲染 (调用 onCanvasChange('zIndex')),需要经过 sort 再触发\n parent.sort();\n }\n return this;\n }\n\n toFront() {\n const parent = this.getParent();\n if (!parent) {\n return;\n }\n const children = parent.getChildren();\n const el = this.get('el');\n const index = children.indexOf(this);\n children.splice(index, 1);\n children.push(this);\n this.onCanvasChange('zIndex');\n }\n\n toBack() {\n const parent = this.getParent();\n if (!parent) {\n return;\n }\n const children = parent.getChildren();\n const el = this.get('el');\n const index = children.indexOf(this);\n children.splice(index, 1);\n children.unshift(this);\n this.onCanvasChange('zIndex');\n }\n\n remove(destroy = true) {\n const parent = this.getParent();\n if (parent) {\n removeFromArray(parent.getChildren(), this);\n if (!parent.get('clearing')) {\n // 如果父元素正在清理,当前元素不触发 remove\n this.onCanvasChange('remove');\n }\n } else {\n this.onCanvasChange('remove');\n }\n if (destroy) {\n this.destroy();\n }\n }\n\n resetMatrix() {\n this.attr(MATRIX, this.getDefaultMatrix());\n this.onCanvasChange('matrix');\n }\n\n getMatrix(): number[] {\n return this.attr(MATRIX);\n }\n\n setMatrix(m: number[]) {\n this.attr(MATRIX, m);\n this.onCanvasChange('matrix');\n }\n\n // 获取总的 matrix\n getTotalMatrix() {\n let totalMatrix = this.cfg.totalMatrix;\n if (!totalMatrix) {\n const currentMatrix = this.attr('matrix');\n const parentMatrix = this.cfg.parentMatrix;\n if (parentMatrix && currentMatrix) {\n totalMatrix = multiplyMatrix(parentMatrix, currentMatrix);\n } else {\n totalMatrix = currentMatrix || parentMatrix;\n }\n this.set('totalMatrix', totalMatrix);\n }\n return totalMatrix;\n }\n\n // 上层分组设置 matrix\n applyMatrix(matrix: number[]) {\n const currentMatrix = this.attr('matrix');\n let totalMatrix = null;\n if (matrix && currentMatrix) {\n totalMatrix = multiplyMatrix(matrix, currentMatrix);\n } else {\n totalMatrix = currentMatrix || matrix;\n }\n this.set('totalMatrix', totalMatrix);\n this.set('parentMatrix', matrix);\n }\n\n /**\n * @protected\n * 获取默认的矩阵\n * @returns {number[]|null} 默认的矩阵\n */\n getDefaultMatrix() {\n return null;\n }\n\n // 将向量应用设置的矩阵\n applyToMatrix(v: number[]): number[] {\n const matrix = this.attr('matrix');\n if (matrix) {\n return multiplyVec2(matrix, v);\n }\n return v;\n }\n\n // 根据设置的矩阵,将向量转换相对于图形/分组的位置\n invertFromMatrix(v: number[]): number[] {\n const matrix = this.attr('matrix');\n if (matrix) {\n const invertMatrix = invert(matrix);\n if (invertMatrix) {\n return multiplyVec2(invertMatrix, v);\n }\n }\n return v;\n }\n\n // 设置 clip\n setClip(clipCfg: ClipCfg) {\n const canvas = this.getCanvas();\n // 应该只设置当前元素的 clip,不应该去修改 clip 本身,方便 clip 被复用\n // TODO: setClip 的传参既 shape 配置,也支持 shape 对象\n // const preShape = this.get('clipShape');\n // if (preShape) {\n // // 将之前的 clipShape 销毁\n // preShape.destroy();\n // }\n let clipShape = null;\n // 如果配置项为 null,则不移除 clipShape\n if (clipCfg) {\n const ShapeBase = this.getShapeBase();\n const shapeType = upperFirst(clipCfg.type);\n const Cons = ShapeBase[shapeType];\n if (Cons) {\n clipShape = new Cons({\n type: clipCfg.type,\n isClipShape: true, // 增加一个标记\n applyTo: this,\n attrs: clipCfg.attrs,\n canvas, // 设置 canvas\n });\n }\n }\n\n this.set('clipShape', clipShape);\n this.onCanvasChange('clip');\n return clipShape;\n }\n\n getClip(): IShape {\n // 高频率调用的地方直接使用 this.cfg.xxx\n const clipShape = this.cfg.clipShape;\n // 未设置时返回 Null,保证一致性\n if (!clipShape) {\n return null;\n }\n return clipShape;\n }\n\n clone() {\n const originAttrs = this.attrs;\n const attrs = {};\n each(originAttrs, (i, k) => {\n if (isArray(originAttrs[k])) {\n attrs[k] = _cloneArrayAttr(originAttrs[k]);\n } else {\n attrs[k] = originAttrs[k];\n }\n });\n const cons = this.constructor;\n // @ts-ignore\n const clone = new cons({ attrs });\n each(CLONE_CFGS, (cfgName) => {\n clone.set(cfgName, this.get(cfgName));\n });\n return clone;\n }\n\n destroy() {\n const destroyed = this.destroyed;\n if (destroyed) {\n return;\n }\n this.attrs = {};\n super.destroy();\n // this.onCanvasChange('destroy');\n }\n\n /**\n * 是否处于动画暂停状态\n * @return {boolean} 是否处于动画暂停状态\n */\n isAnimatePaused() {\n return this.get('_pause').isPaused;\n }\n\n /**\n * 执行动画,支持多种函数签名\n * 1. animate(toAttrs: ElementAttrs, duration: number, easing?: string, callback?: () => void, delay?: number)\n * 2. animate(onFrame: OnFrame, duration: number, easing?: string, callback?: () => void, delay?: number)\n * 3. animate(toAttrs: ElementAttrs, cfg: AnimateCfg)\n * 4. animate(onFrame: OnFrame, cfg: AnimateCfg)\n * 各个参数的含义为:\n * toAttrs 动画最终状态\n * onFrame 自定义帧动画函数\n * duration 动画执行时间\n * easing 动画缓动效果\n * callback 动画执行后的回调\n * delay 动画延迟时间\n */\n animate(...args) {\n if (!this.get('timeline') && !this.get('canvas')) {\n return;\n }\n this.set('animating', true);\n let timeline = this.get('timeline');\n if (!timeline) {\n timeline = this.get('canvas').get('timeline');\n this.set('timeline', timeline);\n }\n let animations = this.get('animations') || [];\n // 初始化 tick\n if (!timeline.timer) {\n timeline.initTimer();\n }\n let [toAttrs, duration, easing = 'easeLinear', callback = noop, delay = 0] = args;\n let onFrame: OnFrame;\n let repeat: boolean;\n let pauseCallback;\n let resumeCallback;\n let animateCfg: AnimateCfg;\n // 第二个参数,既可以是动画最终状态 toAttrs,也可以是自定义帧动画函数 onFrame\n if (isFunction(toAttrs)) {\n onFrame = toAttrs as OnFrame;\n toAttrs = {};\n } else if (isObject(toAttrs) && (toAttrs as any).onFrame) {\n // 兼容 3.0 中的写法,onFrame 和 repeat 可在 toAttrs 中设置\n onFrame = (toAttrs as any).onFrame as OnFrame;\n repeat = (toAttrs as any).repeat;\n }\n // 第二个参数,既可以是执行时间 duration,也可以是动画参数 animateCfg\n if (isObject(duration)) {\n animateCfg = duration as AnimateCfg;\n duration = animateCfg.duration;\n easing = animateCfg.easing || 'easeLinear';\n delay = animateCfg.delay || 0;\n // animateCfg 中的设置优先级更高\n repeat = animateCfg.repeat || repeat || false;\n callback = animateCfg.callback || noop;\n pauseCallback = animateCfg.pauseCallback || noop;\n resumeCallback = animateCfg.resumeCallback || noop;\n } else {\n // 第四个参数,既可以是回调函数 callback,也可以是延迟时间 delay\n if (isNumber(callback)) {\n delay = callback;\n callback = null;\n }\n // 第三个参数,既可以是缓动参数 easing,也可以是回调函数 callback\n if (isFunction(easing)) {\n callback = easing;\n easing = 'easeLinear';\n } else {\n easing = easing || 'easeLinear';\n }\n }\n const formatToAttrs = getFormatToAttrs(toAttrs, this);\n const animation: Animation = {\n fromAttrs: getFormatFromAttrs(formatToAttrs, this),\n toAttrs: formatToAttrs,\n duration,\n easing,\n repeat,\n callback,\n pauseCallback,\n resumeCallback,\n delay,\n startTime: timeline.getTime(),\n id: uniqueId(),\n onFrame,\n pathFormatted: false,\n };\n // 如果动画元素队列中已经有这个图形了\n if (animations.length > 0) {\n // 先检查是否需要合并属性。若有相同的动画,将该属性从前一个动画中删除,直接用后一个动画中\n animations = checkExistedAttrs(animations, animation);\n } else {\n // 否则将图形添加到动画元素队列\n timeline.addAnimator(this);\n }\n animations.push(animation);\n this.set('animations', animations);\n this.set('_pause', { isPaused: false });\n }\n\n /**\n * 停止动画\n * @param {boolean} toEnd 是否到动画的最终状态\n */\n stopAnimate(toEnd = true) {\n const animations = this.get('animations');\n each(animations, (animation: Animation) => {\n // 将动画执行到最后一帧\n if (toEnd) {\n if (animation.onFrame) {\n this.attr(animation.onFrame(1));\n } else {\n this.attr(animation.toAttrs);\n }\n }\n if (animation.callback) {\n // 动画停止时的回调\n animation.callback();\n }\n });\n this.set('animating', false);\n this.set('animations', []);\n }\n\n /**\n * 暂停动画\n */\n pauseAnimate() {\n const timeline = this.get('timeline');\n const animations = this.get('animations');\n const pauseTime = timeline.getTime();\n each(animations, (animation: Animation) => {\n animation._paused = true;\n animation._pauseTime = pauseTime;\n if (animation.pauseCallback) {\n // 动画暂停时的回调\n animation.pauseCallback();\n }\n });\n // 记录下是在什么时候暂停的\n this.set('_pause', {\n isPaused: true,\n pauseTime,\n });\n return this;\n }\n\n /**\n * 恢复动画\n */\n resumeAnimate() {\n const timeline = this.get('timeline');\n const current = timeline.getTime();\n const animations = this.get('animations');\n const pauseTime = this.get('_pause').pauseTime;\n // 之后更新属性需要计算动画已经执行的时长,如果暂停了,就把初始时间调后\n each(animations, (animation: Animation) => {\n animation.startTime = animation.startTime + (current - pauseTime);\n animation._paused = false;\n animation._pauseTime = null;\n if (animation.resumeCallback) {\n animation.resumeCallback();\n }\n });\n this.set('_pause', {\n isPaused: false,\n });\n this.set('animations', animations);\n return this;\n }\n\n /**\n * 触发委托事件\n * @param {string} type 事件类型\n * @param {GraphEvent} eventObj 事件对象\n */\n emitDelegation(type: string, eventObj: GraphEvent) {\n const paths = eventObj.propagationPath;\n const events = this.getEvents();\n let relativeShape;\n if (type === 'mouseenter') {\n relativeShape = eventObj.fromShape;\n } else if (type === 'mouseleave') {\n relativeShape = eventObj.toShape;\n }\n // 至少有一个对象,且第一个对象为 shape\n for (let i = 0; i < paths.length; i++) {\n const element = paths[i];\n // 暂定跟 name 绑定\n const name = element.get('name');\n if (name) {\n // 第一个 mouseenter 和 mouseleave 的停止即可,因为后面的都是前面的 Parent\n if (\n // 只有 element 是 Group 或者 Canvas 的时候,才需要判断 isParent\n (element.isGroup() || (element.isCanvas && element.isCanvas())) &&\n relativeShape &&\n isParent(element, relativeShape)\n ) {\n break;\n }\n if (isArray(name)) {\n each(name, (subName) => {\n this.emitDelegateEvent(element, subName, eventObj);\n });\n } else {\n this.emitDelegateEvent(element, name, eventObj);\n }\n }\n }\n }\n\n private emitDelegateEvent(element, name: string, eventObj: GraphEvent) {\n const events = this.getEvents();\n // 事件委托的形式 name:type\n const eventName = name + DELEGATION_SPLIT + eventObj.type;\n if (events[eventName] || events[WILDCARD]) {\n // 对于通配符 *,事件名称 = 委托事件名称\n eventObj.name = eventName;\n eventObj.currentTarget = element;\n eventObj.delegateTarget = this;\n // 将委托事件的监听对象 delegateObject 挂载到事件对象上\n eventObj.delegateObject = element.get('delegateObject');\n this.emit(eventName, eventObj);\n }\n }\n\n /**\n * 移动元素\n * @param {number} translateX 水平移动距离\n * @param {number} translateY 垂直移动距离\n * @return {IElement} 元素\n */\n translate(translateX: number = 0, translateY: number = 0) {\n const matrix = this.getMatrix();\n const newMatrix = transform(matrix, [['t', translateX, translateY]]);\n this.setMatrix(newMatrix);\n return this;\n }\n\n /**\n * 移动元素到目标位置\n * @param {number} targetX 目标位置的水平坐标\n * @param {number} targetX 目标位置的垂直坐标\n * @return {IElement} 元素\n */\n move(targetX: number, targetY: number) {\n const x = this.attr('x') || 0;\n const y = this.attr('y') || 0;\n this.translate(targetX - x, targetY - y);\n return this;\n }\n\n /**\n * 移动元素到目标位置,等价于 move 方法。由于 moveTo 的语义性更强,因此在文档中推荐使用 moveTo 方法\n * @param {number} targetX 目标位置的 x 轴坐标\n * @param {number} targetY 目标位置的 y 轴坐标\n * @return {IElement} 元素\n */\n moveTo(targetX: number, targetY: number) {\n return this.move(targetX, targetY);\n }\n\n /**\n * 缩放元素\n * @param {number} ratioX 水平缩放比例\n * @param {number} ratioY 垂直缩放比例\n * @return {IElement} 元素\n */\n scale(ratioX: number, ratioY?: number) {\n const matrix = this.getMatrix();\n const newMatrix = transform(matrix, [['s', ratioX, ratioY || ratioX]]);\n this.setMatrix(newMatrix);\n return this;\n }\n\n /**\n * 以画布左上角 (0, 0) 为中心旋转元素\n * @param {number} radian 旋转角度(弧度值)\n * @return {IElement} 元素\n */\n rotate(radian: number) {\n const matrix = this.getMatrix();\n const newMatrix = transform(matrix, [['r', radian]]);\n this.setMatrix(newMatrix);\n return this;\n }\n\n /**\n * 以起始点为中心旋转元素\n * @param {number} radian 旋转角度(弧度值)\n * @return {IElement} 元素\n */\n rotateAtStart(rotate: number): IElement {\n const { x, y } = this.attr();\n const matrix = this.getMatrix();\n const newMatrix = transform(matrix, [\n ['t', -x, -y],\n ['r', rotate],\n ['t', x, y],\n ]);\n this.setMatrix(newMatrix);\n return this;\n }\n\n /**\n * 以任意点 (x, y) 为中心旋转元素\n * @param {number} radian 旋转角度(弧度值)\n * @return {IElement} 元素\n */\n rotateAtPoint(x: number, y: number, rotate: number): IElement {\n const matrix = this.getMatrix();\n const newMatrix = transform(matrix, [\n ['t', -x, -y],\n ['r', rotate],\n ['t', x, y],\n ]);\n this.setMatrix(newMatrix);\n return this;\n }\n}\n\nexport default Element;\n","import { IGroup } from '../interfaces';\nimport Container from './container';\n\nabstract class AbstractGroup extends Container implements IGroup {\n isGroup() {\n return true;\n }\n\n isEntityGroup() {\n return false;\n }\n\n clone() {\n const clone = super.clone();\n // 获取构造函数\n const children = this.getChildren();\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n clone.add(child.clone());\n }\n return clone;\n }\n}\n\nexport default AbstractGroup;\n","import { IShape } from '../interfaces';\nimport { ShapeCfg, ShapeAttrs, BBox } from '../types';\nimport Element from './element';\nimport { multiplyVec2 } from '../util/matrix';\nabstract class AbstractShape extends Element implements IShape {\n constructor(cfg: ShapeCfg) {\n super(cfg);\n }\n\n // 是否在包围盒内\n _isInBBox(refX, refY): boolean {\n const bbox = this.getBBox();\n return bbox.minX <= refX && bbox.maxX >= refX && bbox.minY <= refY && bbox.maxY >= refY;\n }\n\n /**\n * 属性更改后需要做的事情\n * @protected\n * @param {ShapeAttrs} targetAttrs 渲染的图像属性\n */\n afterAttrsChange(targetAttrs: ShapeAttrs) {\n super.afterAttrsChange(targetAttrs);\n this.clearCacheBBox();\n }\n // 计算包围盒时,需要缓存,这是一个高频的操作\n getBBox(): BBox {\n let bbox = this.cfg.bbox;\n if (!bbox) {\n bbox = this.calculateBBox();\n this.set('bbox', bbox);\n }\n return bbox;\n }\n // 计算相对于画布的包围盒\n getCanvasBBox(): BBox {\n let canvasBBox = this.cfg.canvasBBox;\n if (!canvasBBox) {\n canvasBBox = this.calculateCanvasBBox();\n this.set('canvasBBox', canvasBBox);\n }\n return canvasBBox;\n }\n\n /**\n * 计算包围盒的抽象方法\n * @return {BBox} 包围盒\n */\n abstract calculateBBox(): BBox;\n\n applyMatrix(matrix: number[]) {\n super.applyMatrix(matrix);\n // 清理掉缓存的包围盒\n this.set('canvasBBox', null);\n }\n\n /**\n * 计算相对于画布的包围盒,默认等同于 bbox\n * @return {BBox} 包围盒\n */\n calculateCanvasBBox() {\n const bbox = this.getBBox();\n const totalMatrix = this.getTotalMatrix();\n let { minX, minY, maxX, maxY } = bbox;\n if (totalMatrix) {\n const topLeft = multiplyVec2(totalMatrix, [bbox.minX, bbox.minY]);\n const topRight = multiplyVec2(totalMatrix, [bbox.maxX, bbox.minY]);\n const bottomLeft = multiplyVec2(totalMatrix, [bbox.minX, bbox.maxY]);\n const bottomRight = multiplyVec2(totalMatrix, [bbox.maxX, bbox.maxY]);\n minX = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\n maxX = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\n minY = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n maxY = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n }\n const attrs = this.attrs;\n // 如果存在 shadow 则计算 shadow\n if (attrs.shadowColor) {\n const { shadowBlur = 0, shadowOffsetX = 0, shadowOffsetY = 0 } = attrs;\n const shadowLeft = minX - shadowBlur + shadowOffsetX;\n const shadowRight = maxX + shadowBlur + shadowOffsetX;\n const shadowTop = minY - shadowBlur + shadowOffsetY;\n const shadowBottom = maxY + shadowBlur + shadowOffsetY;\n minX = Math.min(minX, shadowLeft);\n maxX = Math.max(maxX, shadowRight);\n minY = Math.min(minY, shadowTop);\n maxY = Math.max(maxY, shadowBottom);\n }\n return {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n\n /**\n * @protected\n * 清理缓存的 bbox\n */\n clearCacheBBox() {\n this.set('bbox', null);\n this.set('canvasBBox', null);\n }\n\n // 实现接口\n isClipShape() {\n return this.get('isClipShape');\n }\n\n /**\n * @protected\n * 不同的图形自己实现是否在图形内部的逻辑,要判断边和填充区域\n * @param {number} refX 相对于图形的坐标 x\n * @param {number} refY 相对于图形的坐标 Y\n * @return {boolean} 点是否在图形内部\n */\n isInShape(refX: number, refY: number): boolean {\n return false;\n }\n\n /**\n * 是否仅仅使用 BBox 检测就可以判定拾取到图形\n * 默认是 false,但是有些图形例如 image、marker 等都可直接使用 BBox 的检测而不需要使用图形拾取\n * @return {Boolean} 仅仅使用 BBox 进行拾取\n */\n isOnlyHitBox() {\n return false;\n }\n\n // 不同的 Shape 各自实现\n isHit(x: number, y: number): boolean {\n const startArrowShape = this.get('startArrowShape');\n const endArrowShape = this.get('endArrowShape');\n let vec = [x, y, 1];\n vec = this.invertFromMatrix(vec);\n const [refX, refY] = vec;\n const inBBox = this._isInBBox(refX, refY);\n // 跳过图形的拾取,在某些图形中可以省略一倍的检测成本\n if (this.isOnlyHitBox()) {\n return inBBox;\n }\n // 被裁减掉的和不在包围盒内的不进行计算\n if (inBBox && !this.isClipped(refX, refY)) {\n // 对图形进行拾取判断\n if (this.isInShape(refX, refY)) {\n return true;\n }\n // 对起始箭头进行拾取判断\n if (startArrowShape && startArrowShape.isHit(refX, refY)) {\n return true;\n }\n // 对结束箭头进行拾取判断\n if (endArrowShape && endArrowShape.isHit(refX, refY)) {\n return true;\n }\n }\n return false;\n }\n}\n\nexport default AbstractShape;\n","export function linear(t) {\n return +t;\n}\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","// tpmt is two power minus ten times t scaled to [0,1]\nexport function tpmt(x) {\n return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;\n}\n","import {tpmt} from \"./math.js\";\n\nexport function expIn(t) {\n return tpmt(1 - +t);\n}\n\nexport function expOut(t) {\n return 1 - tpmt(t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","import {tpmt} from \"./math.js\";\n\nvar tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * tpmt(-(--t)) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * tpmt(-t) * Math.sin((s - t) / p)\n : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","import * as d3Ease from 'd3-ease';\n\ntype EaseFn = (t: number) => number;\n\ninterface EasingMap {\n [key: string]: EaseFn;\n}\n\nconst EASING_MAP: EasingMap = {};\n\n/**\n * 根据名称获取对应的动画缓动函数\n * @param type 动画缓动函数名称\n */\nexport function getEasing(type: string) {\n // 默认从 d3-ease 中获取\n return EASING_MAP[type.toLowerCase()] || d3Ease[type];\n}\n\n/**\n * 注册动画缓动函数\n * @param type 动画缓动函数名称\n * @param easeFn 动画缓动函数\n */\nexport function registerEasing(type: string, easeFn: EaseFn) {\n EASING_MAP[type.toLowerCase()] = easeFn;\n}\n","import { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\ntype BoxMethod = (shape: IShape) => SimpleBBox;\nconst cache: Map = new Map();\n\n/**\n * 注册计算包围盒的算法\n * @param type 方法名\n * @param method 方法\n */\nexport function register(type: string, method: BoxMethod) {\n cache.set(type, method);\n}\n\n/**\n * 获取计算包围盒的算法\n * @param type 方法名\n */\nexport function getMethod(type: string): BoxMethod {\n return cache.get(type);\n}\n","import { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { x, y, width, height } = attrs;\n return {\n x,\n y,\n width,\n height,\n };\n}\n","import { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\n\nexport default function (shape: IShape): SimpleBBox {\n const { x, y, r } = shape.attr();\n return {\n x: x - r,\n y: y - r,\n width: r * 2,\n height: r * 2,\n };\n}\n","import { IShape } from '../interfaces';\n\n// 合并包围盒\nexport function mergeBBox(bbox1, bbox2) {\n if (!bbox1 || !bbox2) {\n return bbox1 || bbox2;\n }\n return {\n minX: Math.min(bbox1.minX, bbox2.minX),\n minY: Math.min(bbox1.minY, bbox2.minY),\n maxX: Math.max(bbox1.maxX, bbox2.maxX),\n maxY: Math.max(bbox1.maxY, bbox2.maxY),\n };\n}\n\n// 合并箭头的包围盒\nexport function mergeArrowBBox(shape: IShape, bbox) {\n const startArrowShape = shape.get('startArrowShape');\n const endArrowShape = shape.get('endArrowShape');\n let startArrowBBox = null;\n let endArrowBBox = null;\n if (startArrowShape) {\n startArrowBBox = startArrowShape.getCanvasBBox();\n bbox = mergeBBox(bbox, startArrowBBox);\n }\n if (endArrowShape) {\n endArrowBBox = endArrowShape.getCanvasBBox();\n bbox = mergeBBox(bbox, endArrowBBox);\n }\n return bbox;\n}\n","import { each, isArray, isString } from '@antv/util';\n\nconst regexTags = /[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/ig;\nconst regexDot = /[^\\s\\,]+/ig;\n\nfunction parsePath(p: string): string[] {\n let path = p || [] as string | string[];\n if (isArray(path)) {\n return path;\n }\n\n if (isString(path)) {\n path = path.match(regexTags);\n each(path, (item, index) => {\n // @ts-ignore\n item = item.match(regexDot);\n if (item[0].length > 1) {\n const tag = item[0].charAt(0);\n // @ts-ignore\n item.splice(1, 0, item[0].substr(1));\n // @ts-ignore\n item[0] = tag;\n }\n // @ts-ignore\n each(item, function (sub, i) {\n if (!isNaN(sub)) {\n // @ts-ignore\n item[i] = +sub;\n }\n });\n // @ts-ignore\n path[index] = item;\n });\n return path;\n }\n}\n\nexport default parsePath;\n","import { isArray } from '@antv/util';\n\nconst SPACES = '\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029';\nconst PATH_COMMAND = new RegExp('([a-z])[' + SPACES + ',]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[' + SPACES + ']*,?[' + SPACES + ']*)+)', 'ig');\nconst PATH_VALUES = new RegExp('(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[' + SPACES + ']*,?[' + SPACES + ']*', 'ig');\n\n// Parses given path string into an array of arrays of path segments\nexport default function parsePathString(pathString: string) {\n if (!pathString) {\n return null;\n }\n\n if (isArray(pathString)) {\n return pathString;\n }\n const paramCounts = {\n a: 7,\n c: 6,\n o: 2,\n h: 1,\n l: 2,\n m: 2,\n r: 4,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n u: 3,\n z: 0,\n };\n const data = [];\n\n String(pathString).replace(PATH_COMMAND, function (a, b, c) {\n const params = [];\n let name = b.toLowerCase();\n c.replace(PATH_VALUES, function (a, b) {\n b && params.push(+b);\n });\n if (name === 'm' && params.length > 2) {\n data.push([ b ].concat(params.splice(0, 2)));\n name = 'l';\n b = b === 'm' ? 'l' : 'L';\n }\n if (name === 'o' && params.length === 1) {\n data.push([ b, params[0] ]);\n }\n if (name === 'r') {\n data.push([ b ].concat(params));\n } else {\n while (params.length >= paramCounts[name]) {\n data.push([ b ].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n }\n return '';\n });\n\n return data;\n}\n","const TAU = Math.PI * 2\n\nconst mapToEllipse = ({ x, y }: { x: number, y: number }, rx: number, ry: number, cosphi: number, sinphi: number, centerx: number, centery: number) => {\n x *= rx\n y *= ry\n\n const xp = cosphi * x - sinphi * y\n const yp = sinphi * x + cosphi * y\n\n return {\n x: xp + centerx,\n y: yp + centery\n }\n}\n\nconst approxUnitArc = (ang1: number, ang2: number) => {\n // If 90 degree circular arc, use a constant\n // as derived from http://spencermortensen.com/articles/bezier-circle\n const a = ang2 === 1.5707963267948966\n ? 0.551915024494\n : ang2 === -1.5707963267948966\n ? -0.551915024494\n : 4 / 3 * Math.tan(ang2 / 4)\n\n const x1 = Math.cos(ang1)\n const y1 = Math.sin(ang1)\n const x2 = Math.cos(ang1 + ang2)\n const y2 = Math.sin(ang1 + ang2)\n\n return [\n {\n x: x1 - y1 * a,\n y: y1 + x1 * a\n },\n {\n x: x2 + y2 * a,\n y: y2 - x2 * a\n },\n {\n x: x2,\n y: y2\n }\n ]\n}\n\nconst vectorAngle = (ux: number, uy: number, vx: number, vy: number) => {\n const sign = (ux * vy - uy * vx < 0) ? -1 : 1\n\n let dot = ux * vx + uy * vy\n\n if (dot > 1) {\n dot = 1\n }\n\n if (dot < -1) {\n dot = -1\n }\n\n return sign * Math.acos(dot)\n}\n\nconst getArcCenter = (\n px: any,\n py: any,\n cx: any,\n cy: any,\n rx: number,\n ry: number,\n largeArcFlag: number,\n sweepFlag: number,\n sinphi: number,\n cosphi: number,\n pxp: number,\n pyp: number\n) => {\n const rxsq = Math.pow(rx, 2)\n const rysq = Math.pow(ry, 2)\n const pxpsq = Math.pow(pxp, 2)\n const pypsq = Math.pow(pyp, 2)\n\n let radicant = (rxsq * rysq) - (rxsq * pypsq) - (rysq * pxpsq)\n\n if (radicant < 0) {\n radicant = 0\n }\n\n radicant /= (rxsq * pypsq) + (rysq * pxpsq)\n radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1)\n\n const centerxp = radicant * rx / ry * pyp\n const centeryp = radicant * -ry / rx * pxp\n\n const centerx = cosphi * centerxp - sinphi * centeryp + (px + cx) / 2\n const centery = sinphi * centerxp + cosphi * centeryp + (py + cy) / 2\n\n const vx1 = (pxp - centerxp) / rx\n const vy1 = (pyp - centeryp) / ry\n const vx2 = (-pxp - centerxp) / rx\n const vy2 = (-pyp - centeryp) / ry\n\n let ang1 = vectorAngle(1, 0, vx1, vy1)\n let ang2 = vectorAngle(vx1, vy1, vx2, vy2)\n\n if (sweepFlag === 0 && ang2 > 0) {\n ang2 -= TAU\n }\n\n if (sweepFlag === 1 && ang2 < 0) {\n ang2 += TAU\n }\n\n return [ centerx, centery, ang1, ang2 ]\n}\n\nconst arcToBezier = ({\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n xAxisRotation = 0,\n largeArcFlag = 0,\n sweepFlag = 0\n}) => {\n const curves = []\n\n if (rx === 0 || ry === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n const sinphi = Math.sin(xAxisRotation * TAU / 360)\n const cosphi = Math.cos(xAxisRotation * TAU / 360)\n\n const pxp = cosphi * (px - cx) / 2 + sinphi * (py - cy) / 2\n const pyp = -sinphi * (px - cx) / 2 + cosphi * (py - cy) / 2\n\n if (pxp === 0 && pyp === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n\n const lambda =\n Math.pow(pxp, 2) / Math.pow(rx, 2) +\n Math.pow(pyp, 2) / Math.pow(ry, 2)\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda)\n ry *= Math.sqrt(lambda)\n }\n\n let [ centerx, centery, ang1, ang2 ] = getArcCenter(\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n largeArcFlag,\n sweepFlag,\n sinphi,\n cosphi,\n pxp,\n pyp\n )\n\n // If 'ang2' == 90.0000000001, then `ratio` will evaluate to\n // 1.0000000001. This causes `segments` to be greater than one, which is an\n // unecessary split, and adds extra points to the bezier curve. To alleviate\n // this issue, we round to 1.0 when the ratio is close to 1.0.\n let ratio = Math.abs(ang2) / (TAU / 4)\n if (Math.abs(1.0 - ratio) < 0.0000001) {\n ratio = 1.0\n }\n\n const segments = Math.max(Math.ceil(ratio), 1)\n\n ang2 /= segments\n\n for (let i = 0; i < segments; i++) {\n curves.push(approxUnitArc(ang1, ang2))\n ang1 += ang2\n }\n\n return curves.map(curve => {\n const { x: x1, y: y1 } = mapToEllipse(curve[ 0 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x: x2, y: y2 } = mapToEllipse(curve[ 1 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x, y } = mapToEllipse(curve[ 2 ], rx, ry, cosphi, sinphi, centerx, centery)\n\n return { x1, y1, x2, y2, x, y }\n })\n}\n\nexport function arcToCubic(x1: number, y1: number, rx: number, ry: number, angle: number, LAF: number, SF: number, x2: number, y2: number) {\n const curves = arcToBezier({\n px: x1,\n py: y1,\n cx: x2,\n cy: y2,\n rx,\n ry,\n xAxisRotation: angle,\n largeArcFlag: LAF,\n sweepFlag: SF,\n });\n\n return curves.reduce((prev, cur) => {\n const { x1, y1, x2, y2, x, y } = cur;\n prev.push(x1, y1, x2, y2, x, y);\n return prev;\n }, [] as number[]);\n}\n","import { mod, toRadian } from '@antv/util';\n\n// 向量长度\nfunction vMag(v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n}\n\n// u.v/|u||v|,计算夹角的余弦值\nfunction vRatio(u, v) {\n // 当存在一个向量的长度为 0 时,夹角也为 0,即夹角的余弦值为 1\n return vMag(u) * vMag(v) ? (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v)) : 1;\n}\n\n// 向量角度\nfunction vAngle(u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n}\n\n/**\n * 判断两个点是否重合,点坐标的格式为 [x, y]\n * @param {Array} point1 第一个点\n * @param {Array} point2 第二个点\n */\nexport function isSamePoint(point1, point2) {\n return point1[0] === point2[0] && point1[1] === point2[1];\n}\n\n// A 0:rx 1:ry 2:x-axis-rotation 3:large-arc-flag 4:sweep-flag 5: x 6: y\nexport default function getArcParams(startPoint, params) {\n let rx = params[1];\n let ry = params[2];\n const xRotation = mod(toRadian(params[3]), Math.PI * 2);\n const arcFlag = params[4];\n const sweepFlag = params[5];\n // 弧形起点坐标\n const x1 = startPoint[0];\n const y1 = startPoint[1];\n // 弧形终点坐标\n const x2 = params[6];\n const y2 = params[7];\n const xp = (Math.cos(xRotation) * (x1 - x2)) / 2.0 + (Math.sin(xRotation) * (y1 - y2)) / 2.0;\n const yp = (-1 * Math.sin(xRotation) * (x1 - x2)) / 2.0 + (Math.cos(xRotation) * (y1 - y2)) / 2.0;\n const lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n const diff = rx * rx * (yp * yp) + ry * ry * (xp * xp);\n\n let f = diff ? Math.sqrt((rx * rx * (ry * ry) - diff) / diff) : 1;\n\n if (arcFlag === sweepFlag) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n\n // 旋转前的起点坐标,且当长半轴和短半轴的长度为 0 时,坐标按 (0, 0) 处理\n const cxp = ry ? (f * rx * yp) / ry : 0;\n const cyp = rx ? (f * -ry * xp) / rx : 0;\n\n // 椭圆圆心坐标\n const cx = (x1 + x2) / 2.0 + Math.cos(xRotation) * cxp - Math.sin(xRotation) * cyp;\n const cy = (y1 + y2) / 2.0 + Math.sin(xRotation) * cxp + Math.cos(xRotation) * cyp;\n\n // 起始点的单位向量\n const u = [ (xp - cxp) / rx, (yp - cyp) / ry ];\n // 终止点的单位向量\n const v = [ (-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry ];\n // 计算起始点和圆心的连线,与 x 轴正方向的夹角\n const theta = vAngle([ 1, 0 ], u);\n\n // 计算圆弧起始点和终止点与椭圆圆心连线的夹角\n let dTheta = vAngle(u, v);\n\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (sweepFlag === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (sweepFlag === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return {\n cx,\n cy,\n // 弧形的起点和终点相同时,长轴和短轴的长度按 0 处理\n rx: isSamePoint(startPoint, [ x2, y2 ]) ? 0 : rx,\n ry: isSamePoint(startPoint, [ x2, y2 ]) ? 0 : ry,\n startAngle: theta,\n endAngle: theta + dTheta,\n xRotation,\n arcFlag,\n sweepFlag,\n };\n}\n","import getArcParams from './get-arc-params';\nimport { isSamePoint } from './get-arc-params';\nimport parsePath from './parse-path';\n\n// 点对称\nfunction toSymmetry(point, center) {\n return [ center[0] + (center[0] - point[0]), center[1] + (center[1] - point[1]) ];\n}\n\nexport default function getSegments(path) {\n path = parsePath(path);\n const segments = [];\n let currentPoint = null; // 当前图形\n let nextParams = null; // 下一节点的 path 参数\n let startMovePoint = null; // 开始 M 的点,可能会有多个\n let lastStartMovePointIndex = 0; // 最近一个开始点 M 的索引\n const count = path.length;\n for (let i = 0; i < count; i++) {\n const params = path[i];\n nextParams = path[i + 1];\n const command = params[0];\n // 数学定义上的参数,便于后面的计算\n const segment = {\n command,\n prePoint: currentPoint,\n params,\n startTangent: null,\n endTangent: null,\n };\n switch (command) {\n case 'M':\n startMovePoint = [ params[1], params[2] ];\n lastStartMovePointIndex = i;\n break;\n case 'A':\n const arcParams = getArcParams(currentPoint, params);\n segment['arcParams'] = arcParams;\n break;\n default:\n break;\n }\n if (command === 'Z') {\n // 有了 Z 后,当前节点从开始 M 的点开始\n currentPoint = startMovePoint;\n // 如果当前点的命令为 Z,相当于当前点为最近一个 M 点,则下一个点直接指向最近一个 M 点的下一个点\n nextParams = path[lastStartMovePointIndex + 1];\n } else {\n const len = params.length;\n currentPoint = [ params[len - 2], params[len - 1] ];\n }\n if (nextParams && nextParams[0] === 'Z') {\n // 如果下一个点的命令为 Z,则下一个点直接指向最近一个 M 点\n nextParams = path[lastStartMovePointIndex];\n if (segments[lastStartMovePointIndex]) {\n // 如果下一个点的命令为 Z,则最近一个 M 点的前一个点为当前点\n segments[lastStartMovePointIndex].prePoint = currentPoint;\n }\n }\n segment['currentPoint'] = currentPoint;\n // 如果当前点与最近一个 M 点相同,则最近一个 M 点的前一个点为当前点的前一个点\n if (\n segments[lastStartMovePointIndex] &&\n isSamePoint(currentPoint, segments[lastStartMovePointIndex].currentPoint)\n ) {\n segments[lastStartMovePointIndex].prePoint = segment.prePoint;\n }\n const nextPoint = nextParams ? [ nextParams[nextParams.length - 2], nextParams[nextParams.length - 1] ] : null;\n segment['nextPoint'] = nextPoint;\n // Add startTangent and endTangent\n const { prePoint } = segment;\n if ([ 'L', 'H', 'V' ].includes(command)) {\n segment.startTangent = [ prePoint[0] - currentPoint[0], prePoint[1] - currentPoint[1] ];\n segment.endTangent = [ currentPoint[0] - prePoint[0], currentPoint[1] - prePoint[1] ];\n } else if (command === 'Q') {\n // 二次贝塞尔曲线只有一个控制点\n const cp = [ params[1], params[2] ];\n // 二次贝塞尔曲线的终点为 currentPoint\n segment.startTangent = [ prePoint[0] - cp[0], prePoint[1] - cp[1] ];\n segment.endTangent = [ currentPoint[0] - cp[0], currentPoint[1] - cp[1] ];\n } else if (command === 'T') {\n const preSegment = segments[i - 1];\n const cp = toSymmetry(preSegment.currentPoint, prePoint);\n if (preSegment.command === 'Q') {\n segment.command = 'Q';\n segment.startTangent = [ prePoint[0] - cp[0], prePoint[1] - cp[1] ];\n segment.endTangent = [ currentPoint[0] - cp[0], currentPoint[1] - cp[1] ];\n } else {\n segment.command = 'TL';\n segment.startTangent = [ prePoint[0] - currentPoint[0], prePoint[1] - currentPoint[1] ];\n segment.endTangent = [ currentPoint[0] - prePoint[0], currentPoint[1] - prePoint[1] ];\n }\n } else if (command === 'C') {\n // 三次贝塞尔曲线有两个控制点\n const cp1 = [ params[1], params[2] ];\n const cp2 = [ params[3], params[4] ];\n segment.startTangent = [ prePoint[0] - cp1[0], prePoint[1] - cp1[1] ];\n segment.endTangent = [ currentPoint[0] - cp2[0], currentPoint[1] - cp2[1] ];\n\n // horizontal line, eg. ['C', 100, 100, 100, 100, 200, 200]\n if (segment.startTangent[0] === 0 && segment.startTangent[1] === 0) {\n segment.startTangent = [cp1[0] - cp2[0], cp1[1] - cp2[1]];\n }\n if (segment.endTangent[0] === 0 && segment.endTangent[1] === 0) {\n segment.endTangent = [cp2[0] - cp1[0], cp2[1] - cp1[1]];\n }\n } else if (command === 'S') {\n const preSegment = segments[i - 1];\n const cp1 = toSymmetry(preSegment.currentPoint, prePoint);\n const cp2 = [ params[1], params[2] ];\n if (preSegment.command === 'C') {\n segment.command = 'C'; // 将 S 命令变换为 C 命令\n segment.startTangent = [ prePoint[0] - cp1[0], prePoint[1] - cp1[1] ];\n segment.endTangent = [ currentPoint[0] - cp2[0], currentPoint[1] - cp2[1] ];\n } else {\n segment.command = 'SQ'; // 将 S 命令变换为 SQ 命令\n segment.startTangent = [ prePoint[0] - cp2[0], prePoint[1] - cp2[1] ];\n segment.endTangent = [ currentPoint[0] - cp2[0], currentPoint[1] - cp2[1] ];\n }\n } else if (command === 'A') {\n let d = 0.001;\n const {\n cx = 0,\n cy = 0,\n rx = 0,\n ry = 0,\n sweepFlag = 0,\n startAngle = 0,\n endAngle = 0,\n } = segment['arcParams'] || {};\n if (sweepFlag === 0) {\n d *= -1;\n }\n const dx1 = rx * Math.cos(startAngle - d) + cx;\n const dy1 = ry * Math.sin(startAngle - d) + cy;\n segment.startTangent = [ dx1 - startMovePoint[0], dy1 - startMovePoint[1] ];\n const dx2 = rx * Math.cos(startAngle + endAngle + d) + cx;\n const dy2 = ry * Math.sin(startAngle + endAngle - d) + cy;\n segment.endTangent = [ prePoint[0] - dx2, prePoint[1] - dy2 ];\n }\n segments.push(segment);\n }\n return segments;\n}\n","import { Quad as QuadUtil, Cubic as CubicUtil, Arc as EllipseArcUtil } from '@antv/g-math';\nimport { path2Segments } from '@antv/path-util';\nimport { isNumberEqual, max, min } from '@antv/util';\nimport { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\nimport { mergeArrowBBox } from './util';\n\nfunction getPathBox(segments, lineWidth) {\n let xArr = [];\n let yArr = [];\n const segmentsWithAngle = [];\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const { currentPoint, params, prePoint } = segment;\n let box;\n switch (segment.command) {\n case 'Q':\n box = QuadUtil.box(prePoint[0], prePoint[1], params[1], params[2], params[3], params[4]);\n break;\n case 'C':\n box = CubicUtil.box(prePoint[0], prePoint[1], params[1], params[2], params[3], params[4], params[5], params[6]);\n break;\n case 'A':\n const arcParams = segment.arcParams;\n box = EllipseArcUtil.box(\n arcParams.cx,\n arcParams.cy,\n arcParams.rx,\n arcParams.ry,\n arcParams.xRotation,\n arcParams.startAngle,\n arcParams.endAngle\n );\n break;\n default:\n xArr.push(currentPoint[0]);\n yArr.push(currentPoint[1]);\n break;\n }\n if (box) {\n segment.box = box;\n xArr.push(box.x, box.x + box.width);\n yArr.push(box.y, box.y + box.height);\n }\n if (lineWidth && (segment.command === 'L' || segment.command === 'M') && segment.prePoint && segment.nextPoint) {\n segmentsWithAngle.push(segment);\n }\n }\n // bbox calculation should ignore NaN for path attribute\n // ref: https://github.com/antvis/g/issues/210\n // ref: https://github.com/antvis/G2/issues/3109\n xArr = xArr.filter((item) => !Number.isNaN(item) && item !== Infinity && item !== -Infinity);\n yArr = yArr.filter((item) => !Number.isNaN(item) && item !== Infinity && item !== -Infinity);\n let minX = min(xArr);\n let minY = min(yArr);\n let maxX = max(xArr);\n let maxY = max(yArr);\n if (segmentsWithAngle.length === 0) {\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n for (let i = 0; i < segmentsWithAngle.length; i++) {\n const segment = segmentsWithAngle[i];\n const { currentPoint } = segment;\n let extra;\n if (currentPoint[0] === minX) {\n extra = getExtraFromSegmentWithAngle(segment, lineWidth);\n minX = minX - extra.xExtra;\n } else if (currentPoint[0] === maxX) {\n extra = getExtraFromSegmentWithAngle(segment, lineWidth);\n maxX = maxX + extra.xExtra;\n }\n if (currentPoint[1] === minY) {\n extra = getExtraFromSegmentWithAngle(segment, lineWidth);\n minY = minY - extra.yExtra;\n } else if (currentPoint[1] === maxY) {\n extra = getExtraFromSegmentWithAngle(segment, lineWidth);\n maxY = maxY + extra.yExtra;\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n}\n\nfunction getExtraFromSegmentWithAngle(segment, lineWidth) {\n const { prePoint, currentPoint, nextPoint } = segment;\n const currentAndPre = Math.pow(currentPoint[0] - prePoint[0], 2) + Math.pow(currentPoint[1] - prePoint[1], 2);\n const currentAndNext = Math.pow(currentPoint[0] - nextPoint[0], 2) + Math.pow(currentPoint[1] - nextPoint[1], 2);\n const preAndNext = Math.pow(prePoint[0] - nextPoint[0], 2) + Math.pow(prePoint[1] - nextPoint[1], 2);\n // 以 currentPoint 为顶点的夹角\n const currentAngle = Math.acos(\n (currentAndPre + currentAndNext - preAndNext) / (2 * Math.sqrt(currentAndPre) * Math.sqrt(currentAndNext))\n );\n // 夹角为空、 0 或 PI 时,不需要计算夹角处的额外宽度\n // 注意: 由于计算精度问题,夹角为 0 的情况计算出来的角度可能是一个很小的值,还需要判断其与 0 是否近似相等\n if (!currentAngle || Math.sin(currentAngle) === 0 || isNumberEqual(currentAngle, 0)) {\n return {\n xExtra: 0,\n yExtra: 0,\n };\n }\n let xAngle = Math.abs(Math.atan2(nextPoint[1] - currentPoint[1], nextPoint[0] - currentPoint[0]));\n let yAngle = Math.abs(Math.atan2(nextPoint[0] - currentPoint[0], nextPoint[1] - currentPoint[1]));\n // 将夹角转为锐角\n xAngle = xAngle > Math.PI / 2 ? Math.PI - xAngle : xAngle;\n yAngle = yAngle > Math.PI / 2 ? Math.PI - yAngle : yAngle;\n // 这里不考虑在水平和垂直方向的投影,直接使用最大差值\n // 由于上层统一加减了二分之一线宽,这里需要进行弥补\n const extra = {\n // 水平方向投影\n xExtra:\n Math.cos(currentAngle / 2 - xAngle) * ((lineWidth / 2) * (1 / Math.sin(currentAngle / 2))) - lineWidth / 2 || 0,\n // 垂直方向投影\n yExtra:\n Math.cos(yAngle - currentAngle / 2) * ((lineWidth / 2) * (1 / Math.sin(currentAngle / 2))) - lineWidth / 2 || 0,\n };\n return extra;\n}\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { path, stroke } = attrs;\n const lineWidth = stroke ? attrs.lineWidth : 0; // 只有有 stroke 时,lineWidth 才生效\n const segments = shape.get('segments') || path2Segments(path);\n const { x, y, width, height } = getPathBox(segments, lineWidth);\n let bbox = {\n minX: x,\n minY: y,\n maxX: x + width,\n maxY: y + height,\n };\n bbox = mergeArrowBBox(shape, bbox);\n return {\n x: bbox.minX,\n y: bbox.minY,\n width: bbox.maxX - bbox.minX,\n height: bbox.maxY - bbox.minY,\n };\n}\n","import { register, getMethod } from './register';\nimport rect from './rect';\nimport circle from './circle';\nimport polyline from './polyline';\nimport polygon from './polygon';\nimport text from './text';\nimport path from './path';\nimport line from './line';\nimport ellipse from './ellipse';\n\nregister('rect', rect);\nregister('image', rect); // image 使用 rect 的包围盒计算\nregister('circle', circle);\nregister('marker', circle); // marker 使用 circle 的计算方案\nregister('polyline', polyline);\nregister('polygon', polygon);\nregister('text', text);\nregister('path', path);\nregister('line', line);\nregister('ellipse', ellipse);\n\nexport { getMethod as getBBoxMethod, register as registerBBox };\n","import { Util } from '@antv/g-math';\nimport { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\nimport { mergeArrowBBox } from './util';\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { points } = attrs;\n const xArr = [];\n const yArr = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i];\n xArr.push(point[0]);\n yArr.push(point[1]);\n }\n const { x, y, width, height } = Util.getBBoxByArray(xArr, yArr);\n let bbox = {\n minX: x,\n minY: y,\n maxX: x + width,\n maxY: y + height,\n };\n bbox = mergeArrowBBox(shape, bbox);\n return {\n x: bbox.minX,\n y: bbox.minY,\n width: bbox.maxX - bbox.minX,\n height: bbox.maxY - bbox.minY,\n };\n}\n","import { Util } from '@antv/g-math';\nimport { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { points } = attrs;\n const xArr = [];\n const yArr = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i];\n xArr.push(point[0]);\n yArr.push(point[1]);\n }\n return Util.getBBoxByArray(xArr, yArr);\n}\n","import { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\nimport { getTextWidth, getTextHeight, assembleFont } from '../util/text';\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { x, y, text, fontSize, lineHeight } = attrs;\n let font = attrs.font;\n if (!font) {\n // 如果未组装 font\n font = assembleFont(attrs);\n }\n const width = getTextWidth(text, font);\n let bbox;\n if (!width) {\n // 如果width不存在,四点共其实点\n bbox = {\n x,\n y,\n width: 0,\n height: 0,\n };\n } else {\n const { textAlign, textBaseline } = attrs;\n const height = getTextHeight(text, fontSize, lineHeight); // attrs.height\n // 默认左右对齐:left, 默认上下对齐 bottom\n const point = {\n x,\n y: y - height,\n };\n if (textAlign) {\n if (textAlign === 'end' || textAlign === 'right') {\n point.x -= width;\n } else if (textAlign === 'center') {\n point.x -= width / 2;\n }\n }\n if (textBaseline) {\n if (textBaseline === 'top') {\n point.y += height;\n } else if (textBaseline === 'middle') {\n point.y += height / 2;\n }\n }\n\n bbox = {\n x: point.x,\n y: point.y,\n width: width,\n height: height,\n };\n }\n return bbox;\n}\n","import { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\nimport { mergeArrowBBox } from './util';\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { x1, y1, x2, y2 } = attrs;\n const minX = Math.min(x1, x2);\n const maxX = Math.max(x1, x2);\n const minY = Math.min(y1, y2);\n const maxY = Math.max(y1, y2);\n let bbox = {\n minX,\n maxX,\n minY,\n maxY,\n };\n bbox = mergeArrowBBox(shape, bbox);\n return {\n x: bbox.minX,\n y: bbox.minY,\n width: bbox.maxX - bbox.minX,\n height: bbox.maxY - bbox.minY,\n };\n}\n","import { SimpleBBox } from '../types';\nimport { IShape } from '../interfaces';\n\nexport default function (shape: IShape): SimpleBBox {\n const attrs = shape.attr();\n const { x, y, rx, ry } = attrs;\n return {\n x: x - rx,\n y: y - ry,\n width: rx * 2,\n height: ry * 2,\n };\n}\n","import { IShape } from '../interfaces';\nimport { LooseObject } from '../types';\n\nclass GraphEvent {\n /**\n * 事件类型\n * @type {string}\n */\n type: string;\n /**\n * 事件名称\n * @type {string}\n */\n name: string;\n /**\n * 画布上的位置 x\n * @type {number}\n */\n x: number;\n /**\n * 画布上的位置 y\n * @type {number}\n */\n y: number;\n /**\n * 窗口上的位置 x\n * @type {number}\n */\n clientX: number;\n /**\n * 窗口上的位置 y\n * @type {number}\n */\n clientY: number;\n /**\n * 是否允许冒泡\n * @type {boolean}\n */\n bubbles: boolean = true;\n /**\n * 触发对象\n * @type {object}\n */\n target: LooseObject = null;\n /**\n * 监听对象\n * @type {object}\n */\n currentTarget: LooseObject = null;\n /**\n * 委托对象\n * @type {object}\n */\n delegateTarget: LooseObject = null;\n /**\n * 委托事件监听对象的代理对象,即 ev.delegateObject = ev.currentTarget.get('delegateObject')\n * @type {object}\n */\n delegateObject: object = null;\n /**\n * 是否阻止了原生事件\n * @type {boolean}\n */\n defaultPrevented: boolean = false;\n /**\n * 是否阻止传播(向上冒泡)\n * @type {boolean}\n */\n propagationStopped: boolean = false;\n /**\n * 触发事件的图形\n * @type {IShape}\n */\n shape: IShape = null;\n /**\n * 开始触发事件的图形\n * @type {IShape}\n */\n fromShape: IShape = null;\n /**\n * 事件结束时的触发图形\n * @type {IShape}\n */\n toShape: IShape = null;\n\n /**\n * 触发时的时间\n * @type {number}\n */\n timeStamp: number;\n\n /**\n * 触发时的对象\n * @type {object}\n */\n originalEvent: Event;\n\n // 触发事件的路径\n propagationPath: any[] = [];\n\n constructor(type, event) {\n this.type = type;\n this.name = type;\n this.originalEvent = event;\n this.timeStamp = event.timeStamp;\n }\n\n /**\n * 阻止浏览器默认的行为\n */\n preventDefault() {\n this.defaultPrevented = true;\n if (this.originalEvent.preventDefault) {\n this.originalEvent.preventDefault();\n }\n }\n\n /**\n * 阻止冒泡\n */\n stopPropagation() {\n this.propagationStopped = true;\n }\n\n toString() {\n const type = this.type;\n return `[Event (type=${type})]`;\n }\n\n save() {}\n\n restore() {}\n}\n\nexport default GraphEvent;\n","/**\n * @fileoverview G 的基础接口定义和所有的抽象类\n * @author dxq613@gmail.com\n */\n\nimport * as PathUtil from './util/path';\n\nexport * from './types';\nexport * from './interfaces';\nexport { default as Event } from './event/graph-event';\nexport { default as Base } from './abstract/base';\nexport { default as AbstractCanvas } from './abstract/canvas';\nexport { default as AbstractGroup } from './abstract/group';\nexport { default as AbstractShape } from './abstract/shape';\nexport { PathUtil };\n\nexport { getBBoxMethod, registerBBox } from './bbox';\nexport { getTextHeight, assembleFont } from './util/text';\nexport { isAllowCapture } from './util/util';\nexport { multiplyVec2, invert } from './util/matrix';\nexport { getOffScreenContext } from './util/offscreen';\nexport { registerEasing } from './animate/register';\n\nexport const version = '0.5.11';\n","/**\n * @fileoverview 矩阵运算,本来是要引入 gl-matrix, 但是考虑到 g-mobile 对大小有限制,同时 g-webgl 使用的 matrix 不一致\n * 所以,这里仅实现 2D 几个运算,上层自己引入 gl-matrix\n * @author dxq613@gmail.com\n */\n\n/**\n * 3阶矩阵相乘\n * @param {number[]} a 矩阵1\n * @param {number[]} b 矩阵2\n */\nexport function multiplyMatrix(a: number[], b: number[]) {\n const out = [];\n const a00 = a[0];\n const a01 = a[1];\n const a02 = a[2];\n\n const a10 = a[3];\n const a11 = a[4];\n const a12 = a[5];\n const a20 = a[6];\n const a21 = a[7];\n const a22 = a[8];\n\n const b00 = b[0];\n const b01 = b[1];\n const b02 = b[2];\n const b10 = b[3];\n const b11 = b[4];\n const b12 = b[5];\n const b20 = b[6];\n const b21 = b[7];\n const b22 = b[8];\n\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\n\n/**\n * 3阶矩阵同2阶向量相乘\n * @param {number[]} m 矩阵\n * @param {number[]} v 二阶向量\n */\nexport function multiplyVec2(m: number[], v: number[]) {\n const out = [];\n const x = v[0];\n const y = v[1];\n out[0] = m[0] * x + m[3] * y + m[6];\n out[1] = m[1] * x + m[4] * y + m[7];\n return out;\n}\n\n/**\n * 矩阵的逆\n * @param {number[]} a 矩阵\n */\nexport function invert(a: number[]) {\n const out = [];\n const a00 = a[0];\n const a01 = a[1];\n const a02 = a[2];\n const a10 = a[3];\n const a11 = a[4];\n const a12 = a[5];\n const a20 = a[6];\n const a21 = a[7];\n const a22 = a[8];\n\n const b01 = a22 * a11 - a12 * a21;\n const b11 = -a22 * a10 + a12 * a20;\n const b21 = a21 * a10 - a11 * a20;\n\n // Calculate the determinant\n let det = a00 * b01 + a01 * b11 + a02 * b21;\n\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n}\n","// 全局设置一个唯一离屏的 ctx,用于计算 isPointInPath\nlet offScreenCtx = null;\nexport function getOffScreenContext() {\n if (!offScreenCtx) {\n const canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n offScreenCtx = canvas.getContext('2d');\n }\n return offScreenCtx;\n}\n","import { each, isArray } from '@antv/util';\nimport { PathCommand } from '../types';\n\nconst SPACES =\n '\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029';\nconst PATH_COMMAND = new RegExp(\n `([a-z])[${SPACES},]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[${SPACES}]*,?[${SPACES}]*)+)`,\n 'ig'\n);\nconst PATH_VALUES = new RegExp(`(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[${SPACES}]*,?[${SPACES}]*`, 'ig');\n// Parse given path string into an array of arrays of path segments\nconst parsePathString = function (pathString: string): PathCommand[] {\n if (!pathString) {\n return null;\n }\n\n if (isArray(pathString)) {\n return pathString as unknown as PathCommand[];\n }\n const paramCounts = {\n a: 7,\n c: 6,\n o: 2,\n h: 1,\n l: 2,\n m: 2,\n r: 4,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n u: 3,\n z: 0,\n };\n const data = [];\n\n String(pathString).replace(PATH_COMMAND, (a, b, c) => {\n const params = [];\n let name = b.toLowerCase();\n c.replace(PATH_VALUES, (a, b) => {\n b && params.push(+b);\n });\n if (name === 'm' && params.length > 2) {\n data.push([b].concat(params.splice(0, 2)));\n name = 'l';\n b = b === 'm' ? 'l' : 'L';\n }\n if (name === 'o' && params.length === 1) {\n data.push([b, params[0]]);\n }\n if (name === 'r') {\n data.push([b].concat(params));\n } else {\n while (params.length >= paramCounts[name]) {\n data.push([b].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n }\n return pathString;\n });\n\n return data;\n};\n\n// http://schepers.cc/getting-to-the-point\nconst catmullRomToBezier = function (crp, z) {\n const d = [];\n // @ts-ignore\n for (let i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) {\n const p = [\n {\n x: +crp[i - 2],\n y: +crp[i - 1],\n },\n {\n x: +crp[i],\n y: +crp[i + 1],\n },\n {\n x: +crp[i + 2],\n y: +crp[i + 3],\n },\n {\n x: +crp[i + 4],\n y: +crp[i + 5],\n },\n ];\n if (z) {\n if (!i) {\n p[0] = {\n x: +crp[iLen - 2],\n y: +crp[iLen - 1],\n };\n } else if (iLen - 4 === i) {\n p[3] = {\n x: +crp[0],\n y: +crp[1],\n };\n } else if (iLen - 2 === i) {\n p[2] = {\n x: +crp[0],\n y: +crp[1],\n };\n p[3] = {\n x: +crp[2],\n y: +crp[3],\n };\n }\n } else {\n if (iLen - 4 === i) {\n p[3] = p[2];\n } else if (!i) {\n p[0] = {\n x: +crp[i],\n y: +crp[i + 1],\n };\n }\n }\n d.push([\n 'C',\n (-p[0].x + 6 * p[1].x + p[2].x) / 6,\n (-p[0].y + 6 * p[1].y + p[2].y) / 6,\n (p[1].x + 6 * p[2].x - p[3].x) / 6,\n (p[1].y + 6 * p[2].y - p[3].y) / 6,\n p[2].x,\n p[2].y,\n ]);\n }\n\n return d;\n};\n\nconst ellipsePath = function (x, y, rx, ry, a?) {\n let res = [];\n if (a === null && ry === null) {\n ry = rx;\n }\n x = +x;\n y = +y;\n rx = +rx;\n ry = +ry;\n if (a !== null) {\n const rad = Math.PI / 180;\n const x1 = x + rx * Math.cos(-ry * rad);\n const x2 = x + rx * Math.cos(-a * rad);\n const y1 = y + rx * Math.sin(-ry * rad);\n const y2 = y + rx * Math.sin(-a * rad);\n res = [\n ['M', x1, y1],\n ['A', rx, rx, 0, +(a - ry > 180), 0, x2, y2],\n ];\n } else {\n res = [['M', x, y], ['m', 0, -ry], ['a', rx, ry, 0, 1, 1, 0, 2 * ry], ['a', rx, ry, 0, 1, 1, 0, -2 * ry], ['z']];\n }\n return res;\n};\n\nconst pathToAbsolute = function (pathArray) {\n pathArray = parsePathString(pathArray);\n\n if (!pathArray || !pathArray.length) {\n return [['M', 0, 0]];\n }\n let res = [];\n let x = 0;\n let y = 0;\n let mx = 0;\n let my = 0;\n let start = 0;\n let pa0;\n let dots;\n if (pathArray[0][0] === 'M') {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = ['M', x, y];\n }\n const crz =\n pathArray.length === 3 &&\n pathArray[0][0] === 'M' &&\n pathArray[1][0].toUpperCase() === 'R' &&\n pathArray[2][0].toUpperCase() === 'Z';\n for (let r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push((r = []));\n pa = pathArray[i];\n pa0 = pa[0];\n if (pa0 !== pa0.toUpperCase()) {\n r[0] = pa0.toUpperCase();\n switch (r[0]) {\n case 'A':\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case 'V':\n r[1] = +pa[1] + y;\n break;\n case 'H':\n r[1] = +pa[1] + x;\n break;\n case 'R':\n dots = [x, y].concat(pa.slice(1));\n for (let j = 2, jj = dots.length; j < jj; j++) {\n dots[j] = +dots[j] + x;\n dots[++j] = +dots[j] + y;\n }\n res.pop();\n res = res.concat(catmullRomToBezier(dots, crz));\n break;\n case 'O':\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n break;\n case 'U':\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = ['U'].concat(res[res.length - 1].slice(-2));\n break;\n case 'M':\n mx = +pa[1] + x;\n my = +pa[2] + y;\n break; // for lint\n default:\n for (let j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + (j % 2 ? x : y);\n }\n }\n } else if (pa0 === 'R') {\n dots = [x, y].concat(pa.slice(1));\n res.pop();\n res = res.concat(catmullRomToBezier(dots, crz));\n r = ['R'].concat(pa.slice(-2));\n } else if (pa0 === 'O') {\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n } else if (pa0 === 'U') {\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = ['U'].concat(res[res.length - 1].slice(-2));\n } else {\n for (let k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n pa0 = pa0.toUpperCase();\n if (pa0 !== 'O') {\n switch (r[0]) {\n case 'Z':\n x = +mx;\n y = +my;\n break;\n case 'H':\n x = r[1];\n break;\n case 'V':\n y = r[1];\n break;\n case 'M':\n mx = r[r.length - 2];\n my = r[r.length - 1];\n break; // for lint\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n }\n\n return res;\n};\n\nconst l2c = function (x1, y1, x2, y2) {\n return [x1, y1, x2, y2, x2, y2];\n};\n\nconst q2c = function (x1, y1, ax, ay, x2, y2) {\n const _13 = 1 / 3;\n const _23 = 2 / 3;\n return [_13 * x1 + _23 * ax, _13 * y1 + _23 * ay, _13 * x2 + _23 * ax, _13 * y2 + _23 * ay, x2, y2];\n};\n\nconst a2c = function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n if (rx === ry) {\n rx += 1;\n }\n\n const _120 = (Math.PI * 120) / 180;\n const rad = (Math.PI / 180) * (+angle || 0);\n let res = [];\n let xy;\n let f1;\n let f2;\n let cx;\n let cy;\n const rotate = function (x, y, rad) {\n const X = x * Math.cos(rad) - y * Math.sin(rad);\n const Y = x * Math.sin(rad) + y * Math.cos(rad);\n return {\n x: X,\n y: Y,\n };\n };\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n if (x1 === x2 && y1 === y2) {\n // 若弧的起始点和终点重叠则错开一点\n x2 += 1;\n y2 += 1;\n }\n // const cos = Math.cos(Math.PI / 180 * angle);\n // const sin = Math.sin(Math.PI / 180 * angle);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (rx * rx) + (y * y) / (ry * ry);\n if (h > 1) {\n h = Math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n const rx2 = rx * rx;\n const ry2 = ry * ry;\n const k =\n (large_arc_flag === sweep_flag ? -1 : 1) *\n Math.sqrt(Math.abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x)));\n cx = (k * rx * y) / ry + (x1 + x2) / 2;\n cy = (k * -ry * x) / rx + (y1 + y2) / 2;\n // @ts-ignore\n f1 = Math.asin(((y1 - cy) / ry).toFixed(9));\n // @ts-ignore\n f2 = Math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? Math.PI - f1 : f1;\n f2 = x2 < cx ? Math.PI - f2 : f2;\n f1 < 0 && (f1 = Math.PI * 2 + f1);\n f2 < 0 && (f2 = Math.PI * 2 + f2);\n if (sweep_flag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n let df = f2 - f1;\n if (Math.abs(df) > _120) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * Math.cos(f2);\n y2 = cy + ry * Math.sin(f2);\n res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = (4 / 3) * rx * t;\n const hy = (4 / 3) * ry * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(res);\n }\n res = [m2, m3, m4].concat(res).join().split(',');\n const newres = [];\n for (let i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n return newres;\n};\n\nconst pathToCurve = function (path, path2?) {\n const p = pathToAbsolute(path);\n const p2 = path2 && pathToAbsolute(path2);\n const attrs = {\n x: 0,\n y: 0,\n bx: 0,\n by: 0,\n X: 0,\n Y: 0,\n qx: null,\n qy: null,\n };\n const attrs2 = {\n x: 0,\n y: 0,\n bx: 0,\n by: 0,\n X: 0,\n Y: 0,\n qx: null,\n qy: null,\n };\n const pcoms1 = []; // path commands of original path p\n const pcoms2 = []; // path commands of original path p2\n let pfirst = ''; // temporary holder for original path command\n let pcom = ''; // holder for previous path command of original path\n let ii;\n const processPath = function (path, d, pcom) {\n let nx;\n let ny;\n if (!path) {\n return ['C', d.x, d.y, d.x, d.y, d.x, d.y];\n }\n !(\n path[0] in\n {\n T: 1,\n Q: 1,\n }\n ) && (d.qx = d.qy = null);\n switch (path[0]) {\n case 'M':\n d.X = path[1];\n d.Y = path[2];\n break;\n case 'A':\n path = ['C'].concat(a2c.apply(0, [d.x, d.y].concat(path.slice(1))));\n break;\n case 'S':\n if (pcom === 'C' || pcom === 'S') {\n // In \"S\" case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx; // And reflect the previous\n ny = d.y * 2 - d.by; // command's control point relative to the current point.\n } else {\n // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = ['C', nx, ny].concat(path.slice(1));\n break;\n case 'T':\n if (pcom === 'Q' || pcom === 'T') {\n // In \"T\" case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx; // And make a reflection similar\n d.qy = d.y * 2 - d.qy; // to case \"S\".\n } else {\n // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = ['C'].concat(q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));\n break;\n case 'Q':\n d.qx = path[1];\n d.qy = path[2];\n path = ['C'].concat(q2c(d.x, d.y, path[1], path[2], path[3], path[4]));\n break;\n case 'L':\n path = ['C'].concat(l2c(d.x, d.y, path[1], path[2]));\n break;\n case 'H':\n path = ['C'].concat(l2c(d.x, d.y, path[1], d.y));\n break;\n case 'V':\n path = ['C'].concat(l2c(d.x, d.y, d.x, path[1]));\n break;\n case 'Z':\n path = ['C'].concat(l2c(d.x, d.y, d.X, d.Y));\n break;\n default:\n break;\n }\n return path;\n };\n const fixArc = function (pp, i) {\n if (pp[i].length > 7) {\n pp[i].shift();\n const pi = pp[i];\n while (pi.length) {\n pcoms1[i] = 'A'; // if created multiple C:s, their original seg is saved\n p2 && (pcoms2[i] = 'A'); // the same as above\n pp.splice(i++, 0, ['C'].concat(pi.splice(0, 6)));\n }\n pp.splice(i, 1);\n ii = Math.max(p.length, (p2 && p2.length) || 0);\n }\n };\n const fixM = function (path1, path2, a1, a2, i) {\n if (path1 && path2 && path1[i][0] === 'M' && path2[i][0] !== 'M') {\n path2.splice(i, 0, ['M', a2.x, a2.y]);\n a1.bx = 0;\n a1.by = 0;\n a1.x = path1[i][1];\n a1.y = path1[i][2];\n ii = Math.max(p.length, (p2 && p2.length) || 0);\n }\n };\n ii = Math.max(p.length, (p2 && p2.length) || 0);\n for (let i = 0; i < ii; i++) {\n p[i] && (pfirst = p[i][0]); // save current path command\n\n if (pfirst !== 'C') {\n // C is not saved yet, because it may be result of conversion\n pcoms1[i] = pfirst; // Save current path command\n i && (pcom = pcoms1[i - 1]); // Get previous path command pcom\n }\n p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath\n\n if (pcoms1[i] !== 'A' && pfirst === 'C') pcoms1[i] = 'C'; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1\n\n if (p2) {\n // the same procedures is done to p2\n p2[i] && (pfirst = p2[i][0]);\n if (pfirst !== 'C') {\n pcoms2[i] = pfirst;\n i && (pcom = pcoms2[i - 1]);\n }\n p2[i] = processPath(p2[i], attrs2, pcom);\n\n if (pcoms2[i] !== 'A' && pfirst === 'C') {\n pcoms2[i] = 'C';\n }\n\n fixArc(p2, i);\n }\n fixM(p, p2, attrs, attrs2, i);\n fixM(p2, p, attrs2, attrs, i);\n const seg = p[i];\n const seg2 = p2 && p2[i];\n const seglen = seg.length;\n const seg2len = p2 && seg2.length;\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = parseFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = parseFloat(seg[seglen - 3]) || attrs.y;\n attrs2.bx = p2 && (parseFloat(seg2[seg2len - 4]) || attrs2.x);\n attrs2.by = p2 && (parseFloat(seg2[seg2len - 3]) || attrs2.y);\n attrs2.x = p2 && seg2[seg2len - 2];\n attrs2.y = p2 && seg2[seg2len - 1];\n }\n\n return p2 ? [p, p2] : p;\n};\n\nconst p2s = /,?([a-z]),?/gi;\nconst parsePathArray = function (path) {\n return path.join(',').replace(p2s, '$1');\n};\n\nconst base3 = function (t, p1, p2, p3, p4) {\n const t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4;\n const t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n};\n\nconst bezlen = function (x1, y1, x2, y2, x3, y3, x4, y4, z) {\n if (z === null) {\n z = 1;\n }\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n const z2 = z / 2;\n const n = 12;\n const Tvalues = [\n -0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816,\n ];\n const Cvalues = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472];\n let sum = 0;\n for (let i = 0; i < n; i++) {\n const ct = z2 * Tvalues[i] + z2;\n const xbase = base3(ct, x1, x2, x3, x4);\n const ybase = base3(ct, y1, y2, y3, y4);\n const comb = xbase * xbase + ybase * ybase;\n sum += Cvalues[i] * Math.sqrt(comb);\n }\n return z2 * sum;\n};\n\nconst curveDim = function (x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [];\n const bounds = [[], []];\n let a;\n let b;\n let c;\n let t;\n\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (t > 0 && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n const b2ac = b * b - 4 * c * a;\n const sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n const t1 = (-b + sqrtb2ac) / (2 * a);\n if (t1 > 0 && t1 < 1) {\n tvalues.push(t1);\n }\n const t2 = (-b - sqrtb2ac) / (2 * a);\n if (t2 > 0 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length;\n const jlen = j;\n let mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return {\n min: {\n x: Math.min.apply(0, bounds[0]),\n y: Math.min.apply(0, bounds[1]),\n },\n max: {\n x: Math.max.apply(0, bounds[0]),\n y: Math.max.apply(0, bounds[1]),\n },\n };\n};\n\nconst intersect = function (x1, y1, x2, y2, x3, y3, x4, y4) {\n if (\n Math.max(x1, x2) < Math.min(x3, x4) ||\n Math.min(x1, x2) > Math.max(x3, x4) ||\n Math.max(y1, y2) < Math.min(y3, y4) ||\n Math.min(y1, y2) > Math.max(y3, y4)\n ) {\n return;\n }\n const nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4);\n const ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4);\n const denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n const px = nx / denominator;\n const py = ny / denominator;\n const px2 = +px.toFixed(2);\n const py2 = +py.toFixed(2);\n if (\n px2 < +Math.min(x1, x2).toFixed(2) ||\n px2 > +Math.max(x1, x2).toFixed(2) ||\n px2 < +Math.min(x3, x4).toFixed(2) ||\n px2 > +Math.max(x3, x4).toFixed(2) ||\n py2 < +Math.min(y1, y2).toFixed(2) ||\n py2 > +Math.max(y1, y2).toFixed(2) ||\n py2 < +Math.min(y3, y4).toFixed(2) ||\n py2 > +Math.max(y3, y4).toFixed(2)\n ) {\n return;\n }\n return {\n x: px,\n y: py,\n };\n};\n\nconst isPointInsideBBox = function (bbox, x, y) {\n return x >= bbox.x && x <= bbox.x + bbox.width && y >= bbox.y && y <= bbox.y + bbox.height;\n};\n\nconst rectPath = function (x, y, w, h, r?) {\n if (r) {\n return [\n ['M', +x + +r, y],\n ['l', w - r * 2, 0],\n ['a', r, r, 0, 0, 1, r, r],\n ['l', 0, h - r * 2],\n ['a', r, r, 0, 0, 1, -r, r],\n ['l', r * 2 - w, 0],\n ['a', r, r, 0, 0, 1, -r, -r],\n ['l', 0, r * 2 - h],\n ['a', r, r, 0, 0, 1, r, -r],\n ['z'],\n ];\n }\n const res = [['M', x, y], ['l', w, 0], ['l', 0, h], ['l', -w, 0], ['z']];\n // @ts-ignore\n res.parsePathArray = parsePathArray;\n return res;\n};\n\nconst box = function (x?, y?, width?, height?) {\n if (x === null) {\n x = y = width = height = 0;\n }\n if (y === null) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n return {\n x,\n y,\n width,\n w: width,\n height,\n h: height,\n x2: x + width,\n y2: y + height,\n cx: x + width / 2,\n cy: y + height / 2,\n r1: Math.min(width, height) / 2,\n r2: Math.max(width, height) / 2,\n r0: Math.sqrt(width * width + height * height) / 2,\n path: rectPath(x, y, width, height),\n vb: [x, y, width, height].join(' '),\n };\n};\n\nconst isBBoxIntersect = function (bbox1, bbox2) {\n bbox1 = box(bbox1);\n bbox2 = box(bbox2);\n return (\n isPointInsideBBox(bbox2, bbox1.x, bbox1.y) ||\n isPointInsideBBox(bbox2, bbox1.x2, bbox1.y) ||\n isPointInsideBBox(bbox2, bbox1.x, bbox1.y2) ||\n isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2) ||\n isPointInsideBBox(bbox1, bbox2.x, bbox2.y) ||\n isPointInsideBBox(bbox1, bbox2.x2, bbox2.y) ||\n isPointInsideBBox(bbox1, bbox2.x, bbox2.y2) ||\n isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2) ||\n (((bbox1.x < bbox2.x2 && bbox1.x > bbox2.x) || (bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)) &&\n ((bbox1.y < bbox2.y2 && bbox1.y > bbox2.y) || (bbox2.y < bbox1.y2 && bbox2.y > bbox1.y)))\n );\n};\n\nconst bezierBBox = function (p1x, p1y?, c1x?, c1y?, c2x?, c2y?, p2x?, p2y?) {\n if (!isArray(p1x)) {\n p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];\n }\n const bbox = curveDim.apply(null, p1x);\n return box(bbox.min.x, bbox.min.y, bbox.max.x - bbox.min.x, bbox.max.y - bbox.min.y);\n};\n\nconst findDotsAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n const t1 = 1 - t;\n const t13 = Math.pow(t1, 3);\n const t12 = Math.pow(t1, 2);\n const t2 = t * t;\n const t3 = t2 * t;\n const x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x;\n const y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y;\n const mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x);\n const my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y);\n const nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x);\n const ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y);\n const ax = t1 * p1x + t * c1x;\n const ay = t1 * p1y + t * c1y;\n const cx = t1 * c2x + t * p2x;\n const cy = t1 * c2y + t * p2y;\n const alpha = 90 - (Math.atan2(mx - nx, my - ny) * 180) / Math.PI;\n // (mx > nx || my < ny) && (alpha += 180);\n return {\n x,\n y,\n m: {\n x: mx,\n y: my,\n },\n n: {\n x: nx,\n y: ny,\n },\n start: {\n x: ax,\n y: ay,\n },\n end: {\n x: cx,\n y: cy,\n },\n alpha,\n };\n};\n\nconst interHelper = function (bez1, bez2, justCount) {\n const bbox1 = bezierBBox(bez1);\n const bbox2 = bezierBBox(bez2);\n if (!isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n const l1 = bezlen.apply(0, bez1);\n const l2 = bezlen.apply(0, bez2);\n const n1 = ~~(l1 / 8);\n const n2 = ~~(l2 / 8);\n const dots1 = [];\n const dots2 = [];\n const xy = {};\n let res = justCount ? 0 : [];\n for (let i = 0; i < n1 + 1; i++) {\n const d = findDotsAtSegment.apply(0, bez1.concat(i / n1));\n dots1.push({\n x: d.x,\n y: d.y,\n t: i / n1,\n });\n }\n for (let i = 0; i < n2 + 1; i++) {\n const d = findDotsAtSegment.apply(0, bez2.concat(i / n2));\n dots2.push({\n x: d.x,\n y: d.y,\n t: i / n2,\n });\n }\n for (let i = 0; i < n1; i++) {\n for (let j = 0; j < n2; j++) {\n const di = dots1[i];\n const di1 = dots1[i + 1];\n const dj = dots2[j];\n const dj1 = dots2[j + 1];\n const ci = Math.abs(di1.x - di.x) < 0.001 ? 'y' : 'x';\n const cj = Math.abs(dj1.x - dj.x) < 0.001 ? 'y' : 'x';\n const is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);\n if (is) {\n if (xy[is.x.toFixed(4)] === is.y.toFixed(4)) {\n continue;\n }\n xy[is.x.toFixed(4)] = is.y.toFixed(4);\n const t1 = di.t + Math.abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t);\n const t2 = dj.t + Math.abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) {\n if (justCount) {\n // @ts-ignore\n res += 1;\n } else {\n // @ts-ignore\n res.push({\n x: is.x,\n y: is.y,\n t1,\n t2,\n });\n }\n }\n }\n }\n }\n return res;\n};\n\nconst interPathHelper = function (path1, path2, justCount?) {\n path1 = pathToCurve(path1);\n path2 = pathToCurve(path2);\n let x1;\n let y1;\n let x2;\n let y2;\n let x1m;\n let y1m;\n let x2m;\n let y2m;\n let bez1;\n let bez2;\n let res = justCount ? 0 : [];\n for (let i = 0, ii = path1.length; i < ii; i++) {\n const pi = path1[i];\n if (pi[0] === 'M') {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n if (pi[0] === 'C') {\n bez1 = [x1, y1].concat(pi.slice(1));\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];\n x1 = x1m;\n y1 = y1m;\n }\n for (let j = 0, jj = path2.length; j < jj; j++) {\n const pj = path2[j];\n if (pj[0] === 'M') {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n if (pj[0] === 'C') {\n bez2 = [x2, y2].concat(pj.slice(1));\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];\n x2 = x2m;\n y2 = y2m;\n }\n const intr = interHelper(bez1, bez2, justCount);\n if (justCount) {\n // @ts-ignore\n res += intr;\n } else {\n // @ts-ignore\n for (let k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n // @ts-ignore\n res = res.concat(intr);\n }\n }\n }\n }\n }\n return res;\n};\n\nconst intersection = function (path1, path2) {\n return interPathHelper(path1, path2);\n};\n\nfunction decasteljau(points, t) {\n const left = [];\n const right = [];\n\n function recurse(points, t) {\n if (points.length === 1) {\n left.push(points[0]);\n right.push(points[0]);\n } else {\n const middlePoints = [];\n for (let i = 0; i < points.length - 1; i++) {\n if (i === 0) {\n left.push(points[0]);\n }\n if (i === points.length - 2) {\n right.push(points[i + 1]);\n }\n middlePoints[i] = [\n (1 - t) * points[i][0] + t * points[i + 1][0],\n (1 - t) * points[i][1] + t * points[i + 1][1],\n ];\n }\n recurse(middlePoints, t);\n }\n }\n if (points.length) {\n recurse(points, t);\n }\n return { left, right: right.reverse() };\n}\n\nfunction splitCurve(start, end, count) {\n const points = [[start[1], start[2]]];\n count = count || 2;\n const segments = [];\n if (end[0] === 'A') {\n points.push(end[6]);\n points.push(end[7]);\n } else if (end[0] === 'C') {\n points.push([end[1], end[2]]);\n points.push([end[3], end[4]]);\n points.push([end[5], end[6]]);\n } else if (end[0] === 'S' || end[0] === 'Q') {\n points.push([end[1], end[2]]);\n points.push([end[3], end[4]]);\n } else {\n points.push([end[1], end[2]]);\n }\n\n let leftSegments = points;\n const t = 1 / count;\n\n for (let i = 0; i < count - 1; i++) {\n const rt = t / (1 - t * i);\n const split = decasteljau(leftSegments, rt);\n segments.push(split.left);\n leftSegments = split.right;\n }\n segments.push(leftSegments);\n const result = segments.map((segment) => {\n let cmd = [];\n if (segment.length === 4) {\n cmd.push('C');\n cmd = cmd.concat(segment[2]);\n }\n if (segment.length >= 3) {\n if (segment.length === 3) {\n cmd.push('Q');\n }\n cmd = cmd.concat(segment[1]);\n }\n if (segment.length === 2) {\n cmd.push('L');\n }\n cmd = cmd.concat(segment[segment.length - 1]);\n return cmd;\n });\n return result;\n}\n\nconst splitSegment = function (start, end, count) {\n if (count === 1) {\n return [[].concat(start)];\n }\n let segments = [];\n if (end[0] === 'L' || end[0] === 'C' || end[0] === 'Q') {\n segments = segments.concat(splitCurve(start, end, count));\n } else {\n const temp = [].concat(start);\n if (temp[0] === 'M') {\n temp[0] = 'L';\n }\n for (let i = 0; i <= count - 1; i++) {\n segments.push(temp);\n }\n }\n return segments;\n};\n\nconst fillPath = function (source, target) {\n if (source.length === 1) {\n return source;\n }\n const sourceLen = source.length - 1;\n const targetLen = target.length - 1;\n const ratio = sourceLen / targetLen;\n const segmentsToFill = [];\n if (source.length === 1 && source[0][0] === 'M') {\n for (let i = 0; i < targetLen - sourceLen; i++) {\n source.push(source[0]);\n }\n return source;\n }\n for (let i = 0; i < targetLen; i++) {\n const index = Math.floor(ratio * i);\n segmentsToFill[index] = (segmentsToFill[index] || 0) + 1;\n }\n const filled = segmentsToFill.reduce((filled, count, i) => {\n if (i === sourceLen) {\n return filled.concat(source[sourceLen]);\n }\n return filled.concat(splitSegment(source[i], source[i + 1], count));\n }, []);\n filled.unshift(source[0]);\n if (target[targetLen] === 'Z' || target[targetLen] === 'z') {\n filled.push('Z');\n }\n return filled;\n};\n\nconst isEqual = function (obj1, obj2) {\n if (obj1.length !== obj2.length) {\n return false;\n }\n let result = true;\n each(obj1, (item, i) => {\n if (item !== obj2[i]) {\n result = false;\n return false;\n }\n });\n return result;\n};\nfunction getMinDiff(del, add, modify) {\n let type = null;\n let min = modify;\n if (add < min) {\n min = add;\n type = 'add';\n }\n if (del < min) {\n min = del;\n type = 'del';\n }\n return {\n type,\n min,\n };\n}\n\n/*\n * https://en.wikipedia.org/wiki/Levenshtein_distance\n * 计算两条path的编辑距离\n */\nconst levenshteinDistance = function (source, target) {\n const sourceLen = source.length;\n const targetLen = target.length;\n let sourceSegment;\n let targetSegment;\n let temp = 0;\n if (sourceLen === 0 || targetLen === 0) {\n return null;\n }\n const dist = [];\n for (let i = 0; i <= sourceLen; i++) {\n dist[i] = [];\n dist[i][0] = { min: i };\n }\n for (let j = 0; j <= targetLen; j++) {\n dist[0][j] = { min: j };\n }\n\n for (let i = 1; i <= sourceLen; i++) {\n sourceSegment = source[i - 1];\n for (let j = 1; j <= targetLen; j++) {\n targetSegment = target[j - 1];\n if (isEqual(sourceSegment, targetSegment)) {\n temp = 0;\n } else {\n temp = 1;\n }\n const del = dist[i - 1][j].min + 1;\n const add = dist[i][j - 1].min + 1;\n const modify = dist[i - 1][j - 1].min + temp;\n dist[i][j] = getMinDiff(del, add, modify);\n }\n }\n return dist;\n};\n\nconst fillPathByDiff = function (source, target) {\n const diffMatrix = levenshteinDistance(source, target);\n let sourceLen = source.length;\n const targetLen = target.length;\n const changes = [];\n let index = 1;\n let minPos = 1;\n // 如果source和target不是完全不相等\n if (diffMatrix[sourceLen][targetLen].min !== sourceLen) {\n // 获取从source到target所需改动\n for (let i = 1; i <= sourceLen; i++) {\n let min = diffMatrix[i][i].min;\n minPos = i;\n for (let j = index; j <= targetLen; j++) {\n if (diffMatrix[i][j].min < min) {\n min = diffMatrix[i][j].min;\n minPos = j;\n }\n }\n index = minPos;\n if (diffMatrix[i][index].type) {\n changes.push({ index: i - 1, type: diffMatrix[i][index].type });\n }\n }\n // 对source进行增删path\n for (let i = changes.length - 1; i >= 0; i--) {\n index = changes[i].index;\n if (changes[i].type === 'add') {\n source.splice(index, 0, [].concat(source[index]));\n } else {\n source.splice(index, 1);\n }\n }\n }\n // source尾部补齐\n sourceLen = source.length;\n const diff = targetLen - sourceLen;\n if (sourceLen < targetLen) {\n for (let i = 0; i < diff; i++) {\n if (source[sourceLen - 1][0] === 'z' || source[sourceLen - 1][0] === 'Z') {\n source.splice(sourceLen - 2, 0, source[sourceLen - 2]);\n } else {\n source.push(source[sourceLen - 1]);\n }\n sourceLen += 1;\n }\n }\n return source;\n};\n\n// 将两个点均分成count个点\nfunction _splitPoints(points, former, count) {\n const result = [].concat(points);\n let index;\n let t = 1 / (count + 1);\n const formerEnd = _getSegmentPoints(former)[0];\n for (let i = 1; i <= count; i++) {\n t *= i;\n index = Math.floor(points.length * t);\n if (index === 0) {\n result.unshift([formerEnd[0] * t + points[index][0] * (1 - t), formerEnd[1] * t + points[index][1] * (1 - t)]);\n } else {\n result.splice(index, 0, [\n formerEnd[0] * t + points[index][0] * (1 - t),\n formerEnd[1] * t + points[index][1] * (1 - t),\n ]);\n }\n }\n return result;\n}\n\n/*\n * 抽取pathSegment中的关键点\n * M,L,A,Q,H,V一个端点\n * Q, S抽取一个端点,一个控制点\n * C抽取一个端点,两个控制点\n */\nfunction _getSegmentPoints(segment) {\n const points = [];\n switch (segment[0]) {\n case 'M':\n points.push([segment[1], segment[2]]);\n break;\n case 'L':\n points.push([segment[1], segment[2]]);\n break;\n case 'A':\n points.push([segment[6], segment[7]]);\n break;\n case 'Q':\n points.push([segment[3], segment[4]]);\n points.push([segment[1], segment[2]]);\n break;\n case 'T':\n points.push([segment[1], segment[2]]);\n break;\n case 'C':\n points.push([segment[5], segment[6]]);\n points.push([segment[1], segment[2]]);\n points.push([segment[3], segment[4]]);\n break;\n case 'S':\n points.push([segment[3], segment[4]]);\n points.push([segment[1], segment[2]]);\n break;\n case 'H':\n points.push([segment[1], segment[1]]);\n break;\n case 'V':\n points.push([segment[1], segment[1]]);\n break;\n default:\n }\n return points;\n}\n\nconst formatPath = function (fromPath, toPath) {\n if (fromPath.length <= 1) {\n return fromPath;\n }\n let points;\n for (let i = 0; i < toPath.length; i++) {\n if (fromPath[i][0] !== toPath[i][0]) {\n // 获取fromPath的pathSegment的端点,根据toPath的指令对其改造\n points = _getSegmentPoints(fromPath[i]);\n switch (toPath[i][0]) {\n case 'M':\n fromPath[i] = ['M'].concat(points[0]);\n break;\n case 'L':\n fromPath[i] = ['L'].concat(points[0]);\n break;\n case 'A':\n fromPath[i] = [].concat(toPath[i]);\n fromPath[i][6] = points[0][0];\n fromPath[i][7] = points[0][1];\n break;\n case 'Q':\n if (points.length < 2) {\n if (i > 0) {\n points = _splitPoints(points, fromPath[i - 1], 1);\n } else {\n fromPath[i] = toPath[i];\n break;\n }\n }\n fromPath[i] = ['Q'].concat(\n points.reduce((arr, i) => {\n return arr.concat(i);\n }, [])\n );\n break;\n case 'T':\n fromPath[i] = ['T'].concat(points[0]);\n break;\n case 'C':\n if (points.length < 3) {\n if (i > 0) {\n points = _splitPoints(points, fromPath[i - 1], 2);\n } else {\n fromPath[i] = toPath[i];\n break;\n }\n }\n fromPath[i] = ['C'].concat(\n points.reduce((arr, i) => {\n return arr.concat(i);\n }, [])\n );\n break;\n case 'S':\n if (points.length < 2) {\n if (i > 0) {\n points = _splitPoints(points, fromPath[i - 1], 1);\n } else {\n fromPath[i] = toPath[i];\n break;\n }\n }\n fromPath[i] = ['S'].concat(\n points.reduce((arr, i) => {\n return arr.concat(i);\n }, [])\n );\n break;\n default:\n fromPath[i] = toPath[i];\n }\n }\n }\n return fromPath;\n};\n\nexport {\n catmullRomToBezier,\n fillPath,\n fillPathByDiff,\n formatPath,\n intersection,\n parsePathArray,\n parsePathString,\n pathToAbsolute,\n pathToCurve,\n rectPath,\n};\n","import { isNil, each, isString } from './util';\nimport { getOffScreenContext } from './offscreen';\nimport { ShapeAttrs } from '../types';\n\n/**\n * 获取文本的高度\n * @param text 文本\n * @param fontSize 字体大小\n * @param lineHeight 行高,可以为空\n */\nexport function getTextHeight(text: string, fontSize: number, lineHeight?: number): number {\n let lineCount = 1;\n if (isString(text)) {\n lineCount = text.split('\\n').length;\n }\n if (lineCount > 1) {\n const spaceingY = getLineSpaceing(fontSize, lineHeight);\n return fontSize * lineCount + spaceingY * (lineCount - 1);\n }\n return fontSize;\n}\n\n/**\n * 获取行间距如果文本多行,需要获取文本间距\n * @param fontSize 字体大小\n * @param lineHeight 行高\n */\nexport function getLineSpaceing(fontSize: number, lineHeight?: number): number {\n return lineHeight ? lineHeight - fontSize : fontSize * 0.14;\n}\n\n/**\n * 字体宽度\n * @param text 文本\n * @param font 字体\n */\nexport function getTextWidth(text: string, font: string) {\n const context = getOffScreenContext(); // 获取离屏的 ctx 进行计算\n let width = 0;\n // null 或者 undefined 时,宽度为 0\n if (isNil(text) || text === '') {\n return width;\n }\n context.save();\n context.font = font;\n if (isString(text) && text.includes('\\n')) {\n const textArr = text.split('\\n');\n each(textArr, (subText) => {\n const measureWidth = context.measureText(subText).width;\n if (width < measureWidth) {\n width = measureWidth;\n }\n });\n } else {\n width = context.measureText(text).width;\n }\n context.restore();\n return width;\n}\n\nexport function assembleFont(attrs: ShapeAttrs) {\n const { fontSize, fontFamily, fontWeight, fontStyle, fontVariant } = attrs;\n return [fontStyle, fontVariant, fontWeight, `${fontSize}px`, fontFamily].join(' ').trim();\n}\n","import { IBase } from '../interfaces';\nexport function removeFromArray(arr: any[], obj: any) {\n const index = arr.indexOf(obj);\n if (index !== -1) {\n arr.splice(index, 1);\n }\n}\n\nexport const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nexport { isNil, isFunction, isString, isObject, isArray, mix, each, upperFirst } from '@antv/util';\n\n// 是否元素的父容器\nexport function isParent(container, shape) {\n // 所有 shape 都是 canvas 的子元素\n if (container.isCanvas()) {\n return true;\n }\n let parent = shape.getParent();\n let isParent = false;\n while (parent) {\n if (parent === container) {\n isParent = true;\n break;\n }\n parent = parent.getParent();\n }\n return isParent;\n}\n\nexport function isAllowCapture(element: IBase): boolean {\n // @ts-ignore\n return element.cfg.visible && element.cfg.capture;\n}\n","import { max, min } from '@antv/util';\nimport { BBox } from './types';\n\n/**\n * 两点之间的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {number} 距离\n */\nexport function distance(x1: number, y1: number, x2: number, y2: number) {\n const dx = x1 - x2;\n const dy = y1 - y2;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nexport function isNumberEqual(v1: number, v2: number) {\n return Math.abs(v1 - v2) < 0.001;\n}\n\nexport function getBBoxByArray(xArr: number[], yArr: number[]): BBox {\n const minX = min(xArr);\n const minY = min(yArr);\n const maxX = max(xArr);\n const maxY = max(yArr);\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n}\n\nexport function getBBoxRange(x1: number, y1: number, x2: number, y2: number) {\n return {\n minX: min([x1, x2]),\n maxX: max([x1, x2]),\n minY: min([y1, y2]),\n maxY: max([y1, y2]),\n };\n}\n\nexport function piMod(angle: number) {\n return (angle + Math.PI * 2) % (Math.PI * 2);\n}\n","import { distance, getBBoxByArray } from './util';\nimport * as vec2 from 'gl-matrix/vec2';\nimport { BBox, Point } from './types';\n\nexport default {\n /**\n * 计算线段的包围盒\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {object} 包围盒对象\n */\n box(x1: number, y1: number, x2: number, y2: number): BBox {\n return getBBoxByArray([x1, x2], [y1, y2]);\n },\n /**\n * 线段的长度\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {number} 距离\n */\n length(x1: number, y1: number, x2: number, y2: number) {\n return distance(x1, y1, x2, y2);\n },\n /**\n * 根据比例获取点\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} t 指定比例\n * @return {object} 包含 x, y 的点\n */\n pointAt(x1: number, y1: number, x2: number, y2: number, t: number): Point {\n return {\n x: (1 - t) * x1 + t * x2,\n y: (1 - t) * y1 + t * y2,\n };\n },\n /**\n * 点到线段的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} x 测试点 x\n * @param {number} y 测试点 y\n * @return {number} 距离\n */\n pointDistance(x1: number, y1: number, x2: number, y2: number, x: number, y: number): number {\n // 投影距离 x1, y1 的向量,假设 p, p1, p2 三个点,投影点为 a\n // p1a = p1p.p1p2/|p1p2| * (p1p 的单位向量)\n const cross = (x2 - x1) * (x - x1) + (y2 - y1) * (y - y1);\n if (cross < 0) {\n return distance(x1, y1, x, y);\n }\n const lengthSquare = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);\n if (cross > lengthSquare) {\n return distance(x2, y2, x, y);\n }\n return this.pointToLine(x1, y1, x2, y2, x, y);\n },\n /**\n * 点到直线的距离,而不是点到线段的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} x 测试点 x\n * @param {number} y 测试点 y\n * @return {number} 距离\n */\n pointToLine(x1: number, y1: number, x2: number, y2: number, x: number, y: number) {\n const d = [x2 - x1, y2 - y1];\n // 如果端点相等,则判定点到点的距离\n if (vec2.exactEquals(d, [0, 0])) {\n return Math.sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1));\n }\n const u = [-d[1], d[0]];\n vec2.normalize(u, u);\n const a = [x - x1, y - y1];\n return Math.abs(vec2.dot(a, u));\n },\n /**\n * 线段的角度\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {number} 导数\n */\n tangentAngle(x1: number, y1: number, x2: number, y2: number) {\n return Math.atan2(y2 - y1, x2 - x1);\n },\n};\n","import { distance } from './util';\nimport { Point, PointTuple } from './types';\n\nconst EPSILON = 0.0001;\n/**\n * 使用牛顿切割法求最近的点\n * @param {number[]} xArr 点的 x 数组\n * @param {number[]} yArr 点的 y 数组\n * @param {number} x 指定的点 x\n * @param {number} y 指定的点 y\n * @param {Function} tCallback 差值函数\n */\nexport function nearestPoint(\n xArr: number[],\n yArr: number[],\n x: number,\n y: number,\n tCallback: (...arr: number[]) => number,\n length?: number\n): Point {\n let t: number;\n let d = Infinity;\n const v0: PointTuple = [x, y];\n\n let segNum = 20;\n if (length && length > 200) {\n segNum = length / 10;\n }\n const increaseRate = 1 / segNum;\n\n let interval = increaseRate / 10;\n\n for (let i = 0; i <= segNum; i++) {\n const _t = i * increaseRate;\n const v1: PointTuple = [tCallback.apply(null, xArr.concat([_t])), tCallback.apply(null, yArr.concat([_t]))];\n\n const d1 = distance(v0[0], v0[1], v1[0], v1[1]);\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n // 提前终止\n if (t === 0) {\n return {\n x: xArr[0],\n y: yArr[0],\n };\n }\n if (t === 1) {\n const count = xArr.length;\n return {\n x: xArr[count - 1],\n y: yArr[count - 1],\n };\n }\n d = Infinity;\n\n for (let i = 0; i < 32; i++) {\n if (interval < EPSILON) {\n break;\n }\n\n const prev = t - interval;\n const next = t + interval;\n\n const v1 = [tCallback.apply(null, xArr.concat([prev])), tCallback.apply(null, yArr.concat([prev]))];\n\n const d1 = distance(v0[0], v0[1], v1[0], v1[1]);\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n } else {\n const v2 = [tCallback.apply(null, xArr.concat([next])), tCallback.apply(null, yArr.concat([next]))];\n const d2 = distance(v0[0], v0[1], v2[0], v2[1]);\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n } else {\n interval *= 0.5;\n }\n }\n }\n\n return {\n x: tCallback.apply(null, xArr.concat([t])),\n y: tCallback.apply(null, yArr.concat([t])),\n };\n}\n\n// 近似求解 https://community.khronos.org/t/3d-cubic-bezier-segment-length/62363/2\nexport function snapLength(xArr: number[], yArr: number[]) {\n let totalLength = 0;\n const count = xArr.length;\n for (let i = 0; i < count; i++) {\n const x = xArr[i];\n const y = yArr[i];\n const nextX = xArr[(i + 1) % count];\n const nextY = yArr[(i + 1) % count];\n totalLength += distance(x, y, nextX, nextY);\n }\n return totalLength / 2;\n}\n","import line from './line';\nimport { distance, isNumberEqual, getBBoxByArray, piMod } from './util';\nimport { nearestPoint } from './bezier';\nimport { Point } from './types';\n\n// 差值公式\nfunction quadraticAt(p0: number, p1: number, p2: number, t: number) {\n const onet = 1 - t;\n return onet * onet * p0 + 2 * t * onet * p1 + t * t * p2;\n}\n\n// 求极值\nfunction extrema(p0: number, p1: number, p2: number) {\n const a = p0 + p2 - 2 * p1;\n if (isNumberEqual(a, 0)) {\n return [0.5];\n }\n const rst = (p0 - p1) / a;\n if (rst <= 1 && rst >= 0) {\n return [rst];\n }\n return [];\n}\n\nfunction derivativeAt(p0: number, p1: number, p2: number, t: number) {\n return 2 * (1 - t) * (p1 - p0) + 2 * t * (p2 - p1);\n}\n\n// 分割贝塞尔曲线\nfunction divideQuadratic(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, t: number) {\n // 划分点\n const xt = quadraticAt(x1, x2, x3, t);\n const yt = quadraticAt(y1, y2, y3, t);\n\n // 分割的第一条曲线的控制点\n const controlPoint1 = line.pointAt(x1, y1, x2, y2, t);\n // 分割的第二条曲线的控制点\n const controlPoint2 = line.pointAt(x2, y2, x3, y3, t);\n return [\n [x1, y1, controlPoint1.x, controlPoint1.y, xt, yt],\n [xt, yt, controlPoint2.x, controlPoint2.y, x3, y3],\n ];\n}\n\n// 使用迭代法取贝塞尔曲线的长度\nfunction quadraticLength(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n iterationCount: number\n) {\n if (iterationCount === 0) {\n return (distance(x1, y1, x2, y2) + distance(x2, y2, x3, y3) + distance(x1, y1, x3, y3)) / 2;\n }\n const quadratics = divideQuadratic(x1, y1, x2, y2, x3, y3, 0.5);\n const left = quadratics[0];\n const right = quadratics[1];\n left.push(iterationCount - 1);\n right.push(iterationCount - 1);\n return quadraticLength.apply(null, left) + quadraticLength.apply(null, right);\n}\n\nexport default {\n box(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number) {\n const xExtrema = extrema(x1, x2, x3)[0];\n const yExtrema = extrema(y1, y2, y3)[0];\n // 控制点不加入 box 的计算\n const xArr = [x1, x3];\n const yArr = [y1, y3];\n if (xExtrema !== undefined) {\n xArr.push(quadraticAt(x1, x2, x3, xExtrema));\n }\n if (yExtrema !== undefined) {\n yArr.push(quadraticAt(y1, y2, y3, yExtrema));\n }\n return getBBoxByArray(xArr, yArr);\n },\n length(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number) {\n return quadraticLength(x1, y1, x2, y2, x3, y3, 3);\n },\n nearestPoint(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x0: number, y0: number) {\n return nearestPoint([x1, x2, x3], [y1, y2, y3], x0, y0, quadraticAt);\n },\n pointDistance(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x0: number, y0: number) {\n const point = this.nearestPoint(x1, y1, x2, y2, x3, y3, x0, y0);\n return distance(point.x, point.y, x0, y0);\n },\n interpolationAt: quadraticAt,\n pointAt(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, t: number): Point {\n return {\n x: quadraticAt(x1, x2, x3, t),\n y: quadraticAt(y1, y2, y3, t),\n };\n },\n divide(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, t: number) {\n return divideQuadratic(x1, y1, x2, y2, x3, y3, t);\n },\n tangentAngle(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, t: number) {\n const dx = derivativeAt(x1, x2, x3, t);\n const dy = derivativeAt(y1, y2, y3, t);\n const angle = Math.atan2(dy, dx);\n return piMod(angle);\n },\n};\n","import { distance, isNumberEqual, getBBoxByArray, piMod } from './util';\nimport line from './line';\nimport { snapLength, nearestPoint } from './bezier';\nimport { Point } from './types';\n\nfunction cubicAt(p0: number, p1: number, p2: number, p3: number, t: number) {\n const onet = 1 - t; // t * t * t 的性能大概是 Math.pow(t, 3) 的三倍\n return onet * onet * onet * p0 + 3 * p1 * t * onet * onet + 3 * p2 * t * t * onet + p3 * t * t * t;\n}\n\nfunction derivativeAt(p0: number, p1: number, p2: number, p3: number, t: number) {\n const onet = 1 - t;\n return 3 * (onet * onet * (p1 - p0) + 2 * onet * t * (p2 - p1) + t * t * (p3 - p2));\n}\n\nfunction extrema(p0: number, p1: number, p2: number, p3: number) {\n const a = -3 * p0 + 9 * p1 - 9 * p2 + 3 * p3;\n const b = 6 * p0 - 12 * p1 + 6 * p2;\n const c = 3 * p1 - 3 * p0;\n const extremas = [];\n let t1: number;\n let t2: number;\n let discSqrt: number;\n\n if (isNumberEqual(a, 0)) {\n if (!isNumberEqual(b, 0)) {\n t1 = -c / b;\n if (t1 >= 0 && t1 <= 1) {\n extremas.push(t1);\n }\n }\n } else {\n const disc = b * b - 4 * a * c;\n if (isNumberEqual(disc, 0)) {\n extremas.push(-b / (2 * a));\n } else if (disc > 0) {\n discSqrt = Math.sqrt(disc);\n t1 = (-b + discSqrt) / (2 * a);\n t2 = (-b - discSqrt) / (2 * a);\n if (t1 >= 0 && t1 <= 1) {\n extremas.push(t1);\n }\n if (t2 >= 0 && t2 <= 1) {\n extremas.push(t2);\n }\n }\n }\n return extremas;\n}\n\n// 分割贝塞尔曲线\nfunction divideCubic(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n x4: number,\n y4: number,\n t: number\n) {\n // 划分点\n const xt = cubicAt(x1, x2, x3, x4, t);\n const yt = cubicAt(y1, y2, y3, y4, t);\n // 计算两点之间的差值点\n const c1 = line.pointAt(x1, y1, x2, y2, t);\n const c2 = line.pointAt(x2, y2, x3, y3, t);\n const c3 = line.pointAt(x3, y3, x4, y4, t);\n const c12 = line.pointAt(c1.x, c1.y, c2.x, c2.y, t);\n const c23 = line.pointAt(c2.x, c2.y, c3.x, c3.y, t);\n return [\n [x1, y1, c1.x, c1.y, c12.x, c12.y, xt, yt],\n [xt, yt, c23.x, c23.y, c3.x, c3.y, x4, y4],\n ];\n}\n\n// 使用迭代法取贝塞尔曲线的长度,二阶和三阶分开写,更清晰和便于调试\nfunction cubicLength(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n x4: number,\n y4: number,\n iterationCount: number\n) {\n if (iterationCount === 0) {\n return snapLength([x1, x2, x3, x4], [y1, y2, y3, y4]);\n }\n const cubics = divideCubic(x1, y1, x2, y2, x3, y3, x4, y4, 0.5);\n const left = cubics[0];\n const right = cubics[1];\n left.push(iterationCount - 1);\n right.push(iterationCount - 1);\n return cubicLength.apply(null, left) + cubicLength.apply(null, right);\n}\n\nexport default {\n extrema,\n box(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number) {\n const xArr = [x1, x4];\n const yArr = [y1, y4];\n const xExtrema = extrema(x1, x2, x3, x4);\n const yExtrema = extrema(y1, y2, y3, y4);\n for (let i = 0; i < xExtrema.length; i++) {\n xArr.push(cubicAt(x1, x2, x3, x4, xExtrema[i]));\n }\n for (let i = 0; i < yExtrema.length; i++) {\n yArr.push(cubicAt(y1, y2, y3, y4, yExtrema[i]));\n }\n return getBBoxByArray(xArr, yArr);\n },\n length(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number) {\n // 迭代三次,划分成 8 段求长度\n return cubicLength(x1, y1, x2, y2, x3, y3, x4, y4, 3);\n },\n nearestPoint(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n x4: number,\n y4: number,\n x0: number,\n y0: number,\n length?: number\n ) {\n return nearestPoint([x1, x2, x3, x4], [y1, y2, y3, y4], x0, y0, cubicAt, length);\n },\n pointDistance(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n x4: number,\n y4: number,\n x0: number,\n y0: number,\n length?: number\n ) {\n const point = this.nearestPoint(x1, y1, x2, y2, x3, y3, x4, y4, x0, y0, length);\n return distance(point.x, point.y, x0, y0);\n },\n interpolationAt: cubicAt,\n pointAt(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n x4: number,\n y4: number,\n t: number\n ): Point {\n return {\n x: cubicAt(x1, x2, x3, x4, t),\n y: cubicAt(y1, y2, y3, y4, t),\n };\n },\n divide(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number, t: number) {\n return divideCubic(x1, y1, x2, y2, x3, y3, x4, y4, t);\n },\n tangentAngle(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number,\n x4: number,\n y4: number,\n t: number\n ) {\n const dx = derivativeAt(x1, x2, x3, x4, t);\n const dy = derivativeAt(y1, y2, y3, y4, t);\n return piMod(Math.atan2(dy, dx));\n },\n};\n","/**\n * @fileoverview 椭圆的一些计算,\n * - 周长计算参考:https://www.mathsisfun.com/geometry/ellipse-perimeter.html\n * - 距离计算参考:https://wet-robots.ghost.io/simple-method-for-distance-to-ellipse/\n * @author dxq613@gmail.com\n */\n\nimport { distance, piMod } from './util';\nimport { Point, BBox } from './types';\n\nfunction copysign(v1: number, v2: number) {\n const absv = Math.abs(v1);\n return v2 > 0 ? absv : absv * -1;\n}\n\nexport default {\n /**\n * 包围盒计算\n * @param {number} x 椭圆中心 x\n * @param {number} y 椭圆中心 y\n * @param {number} rx 椭圆 x 方向半径\n * @param {number} ry 椭圆 y 方向半径\n * @return {object} 包围盒\n */\n box(x: number, y: number, rx: number, ry: number): BBox {\n return {\n x: x - rx,\n y: y - ry,\n width: rx * 2,\n height: ry * 2,\n };\n },\n /**\n * 计算周长,使用近似法\n * @param {number} x 椭圆中心 x\n * @param {number} y 椭圆中心 y\n * @param {number} rx 椭圆 x 方向半径\n * @param {number} ry 椭圆 y 方向半径\n * @return {number} 椭圆周长\n */\n length(x: number, y: number, rx: number, ry: number) {\n return Math.PI * (3 * (rx + ry) - Math.sqrt((3 * rx + ry) * (rx + 3 * ry)));\n },\n /**\n * 距离椭圆最近的点\n * @param {number} x 椭圆中心 x\n * @param {number} y 椭圆中心 y\n * @param {number} rx 椭圆 x 方向半径\n * @param {number} ry 椭圆 y 方向半径\n * @param {number} x0 指定的点 x\n * @param {number} y0 指定的点 y\n * @return {object} 椭圆上距离指定点最近的点\n */\n nearestPoint(x: number, y: number, rx: number, ry: number, x0: number, y0: number) {\n const a = rx;\n const b = ry;\n // 假如椭圆半径为0则返回圆心\n if (a === 0 || b === 0) {\n return {\n x,\n y,\n };\n }\n // 转换成 0, 0 为中心的椭圆计算\n const relativeX = x0 - x;\n const relativeY = y0 - y;\n const px = Math.abs(relativeX);\n const py = Math.abs(relativeY);\n const squareA = a * a;\n const squareB = b * b;\n // const angle0 = Math.atan2(relativeY, relativeX);\n let t = Math.PI / 4;\n let nearestX: number; // 椭圆上的任一点\n let nearestY: number;\n // 迭代 4 次\n for (let i = 0; i < 4; i++) {\n nearestX = a * Math.cos(t);\n nearestY = b * Math.sin(t);\n\n const ex = ((squareA - squareB) * Math.cos(t) ** 3) / a;\n const ey = ((squareB - squareA) * Math.sin(t) ** 3) / b;\n const rx1 = nearestX - ex;\n const ry1 = nearestY - ey;\n\n const qx = px - ex;\n const qy = py - ey;\n const r = Math.hypot(ry1, rx1);\n const q = Math.hypot(qy, qx);\n\n const delta_c = r * Math.asin((rx1 * qy - ry1 * qx) / (r * q));\n const delta_t = delta_c / Math.sqrt(squareA + squareB - nearestX * nearestX - nearestY * nearestY);\n\n t += delta_t;\n t = Math.min(Math.PI / 2, Math.max(0, t));\n }\n\n return {\n x: x + copysign(nearestX, relativeX),\n y: y + copysign(nearestY, relativeY),\n };\n },\n /**\n * 点到椭圆最近的距离\n * @param {number} x 椭圆中心 x\n * @param {number} y 椭圆中心 y\n * @param {number} rx 椭圆 x 方向半径\n * @param {number} ry 椭圆 y 方向半径\n * @param {number} x0 指定的点 x\n * @param {number} y0 指定的点 y\n * @return {number} 点到椭圆的距离\n */\n pointDistance(x: number, y: number, rx: number, ry: number, x0: number, y0: number) {\n const nearestPoint = this.nearestPoint(x, y, rx, ry, x0, y0);\n return distance(nearestPoint.x, nearestPoint.y, x0, y0);\n },\n /**\n * 根据比例获取点\n * @param {number} x 椭圆中心 x\n * @param {number} y 椭圆中心 y\n * @param {number} rx 椭圆 x 方向半径\n * @param {number} ry 椭圆 y 方向半径\n * @param {number} t 指定比例,x轴方向为 0\n * @return {object} 点\n */\n pointAt(x: number, y: number, rx: number, ry: number, t: number): Point {\n const angle = 2 * Math.PI * t; // 按照角度进行计算,而不按照周长计算\n return {\n x: x + rx * Math.cos(angle),\n y: y + ry * Math.sin(angle),\n };\n },\n /**\n * 根据比例计算切线角度\n * @param {number} x 椭圆中心 x\n * @param {number} y 椭圆中心 y\n * @param {number} rx 椭圆 x 方向半径\n * @param {number} ry 椭圆 y 方向半径\n * @param {number} t 指定比例 0 - 1 之间,x轴方向为 0。在 0-1 范围之外是循环还是返回 null,还需要调整\n * @return {number} 角度,在 0 - 2PI 之间\n */\n tangentAngle(x: number, y: number, rx: number, ry: number, t: number) {\n const angle = 2 * Math.PI * t; // 按照角度进行计算,而不按照周长计算\n // 直接使用 x,y 的导数计算, x' = -rx * sin(t); y' = ry * cos(t);\n const tangentAngle = Math.atan2(ry * Math.cos(angle), -rx * Math.sin(angle));\n // 也可以使用指定点的切线方程计算,成本有些高\n // const point = this.pointAt(0, 0, rx, ry, t); // 椭圆的切线同椭圆的中心不相关\n // let tangentAngle = -1 * Math.atan((ry * ry * point.x) / (rx * rx * point.y));\n // if (angle >= 0 && angle <= Math.PI) {\n // tangentAngle += Math.PI;\n // }\n\n return piMod(tangentAngle);\n },\n};\n","import { distance, piMod } from './util';\nimport ellipse from './ellipse';\nimport { Point, BBox } from './types';\n\n// 偏导数 x\nfunction derivativeXAt(\n cx: number,\n cy: number,\n rx: number,\n ry: number,\n xRotation: number,\n startAngle: number,\n endAngle: number,\n angle: number\n) {\n return -1 * rx * Math.cos(xRotation) * Math.sin(angle) - ry * Math.sin(xRotation) * Math.cos(angle);\n}\n\n// 偏导数 y\nfunction derivativeYAt(\n cx: number,\n cy: number,\n rx: number,\n ry: number,\n xRotation: number,\n startAngle: number,\n endAngle: number,\n angle: number\n) {\n return -1 * rx * Math.sin(xRotation) * Math.sin(angle) + ry * Math.cos(xRotation) * Math.cos(angle);\n}\n\n// x 的极值\nfunction xExtrema(rx: number, ry: number, xRotation: number) {\n return Math.atan((-ry / rx) * Math.tan(xRotation));\n}\n\n// y 的极值\nfunction yExtrema(rx: number, ry: number, xRotation: number) {\n return Math.atan(ry / (rx * Math.tan(xRotation)));\n}\n\n// 根据角度求 x 坐标\nfunction xAt(cx: number, cy: number, rx: number, ry: number, xRotation: number, angle: number) {\n return rx * Math.cos(xRotation) * Math.cos(angle) - ry * Math.sin(xRotation) * Math.sin(angle) + cx;\n}\n\n// 根据角度求 y 坐标\nfunction yAt(cx: number, cy: number, rx: number, ry: number, xRotation: number, angle: number) {\n return rx * Math.sin(xRotation) * Math.cos(angle) + ry * Math.cos(xRotation) * Math.sin(angle) + cy;\n}\n\n// 获取点在椭圆上的角度\nfunction getAngle(rx: number, ry: number, x0: number, y0: number) {\n const angle = Math.atan2(y0 * rx, x0 * ry);\n // 转换到 0 - 2PI 内\n return (angle + Math.PI * 2) % (Math.PI * 2);\n}\n\n// 根据角度获取,x,y\nfunction getPoint(rx: number, ry: number, angle: number): Point {\n return {\n x: rx * Math.cos(angle),\n y: ry * Math.sin(angle),\n };\n}\n\n// 旋转\nfunction rotate(x: number, y: number, angle: number) {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n return [x * cos - y * sin, x * sin + y * cos];\n}\n\nexport default {\n /**\n * 计算包围盒\n * @param {number} cx 圆心 x\n * @param {number} cy 圆心 y\n * @param {number} rx x 轴方向的半径\n * @param {number} ry y 轴方向的半径\n * @param {number} xRotation 旋转角度\n * @param {number} startAngle 起始角度\n * @param {number} endAngle 结束角度\n * @return {object} 包围盒对象\n */\n box(cx: number, cy: number, rx: number, ry: number, xRotation: number, startAngle: number, endAngle: number): BBox {\n const xDim = xExtrema(rx, ry, xRotation);\n let minX = Infinity;\n let maxX = -Infinity;\n const xs = [startAngle, endAngle];\n for (let i = -Math.PI * 2; i <= Math.PI * 2; i += Math.PI) {\n const xAngle = xDim + i;\n if (startAngle < endAngle) {\n if (startAngle < xAngle && xAngle < endAngle) {\n xs.push(xAngle);\n }\n } else {\n if (endAngle < xAngle && xAngle < startAngle) {\n xs.push(xAngle);\n }\n }\n }\n\n for (let i = 0; i < xs.length; i++) {\n const x = xAt(cx, cy, rx, ry, xRotation, xs[i]);\n if (x < minX) {\n minX = x;\n }\n if (x > maxX) {\n maxX = x;\n }\n }\n\n const yDim = yExtrema(rx, ry, xRotation);\n let minY = Infinity;\n let maxY = -Infinity;\n const ys = [startAngle, endAngle];\n for (let i = -Math.PI * 2; i <= Math.PI * 2; i += Math.PI) {\n const yAngle = yDim + i;\n if (startAngle < endAngle) {\n if (startAngle < yAngle && yAngle < endAngle) {\n ys.push(yAngle);\n }\n } else {\n if (endAngle < yAngle && yAngle < startAngle) {\n ys.push(yAngle);\n }\n }\n }\n\n for (let i = 0; i < ys.length; i++) {\n const y = yAt(cx, cy, rx, ry, xRotation, ys[i]);\n if (y < minY) {\n minY = y;\n }\n if (y > maxY) {\n maxY = y;\n }\n }\n\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n },\n /**\n * 获取圆弧的长度,计算圆弧长度时不考虑旋转角度,\n * 仅跟 rx, ry, startAngle, endAngle 相关\n * @param {number} cx 圆心 x\n * @param {number} cy 圆心 y\n * @param {number} rx x 轴方向的半径\n * @param {number} ry y 轴方向的半径\n * @param {number} xRotation 旋转角度\n * @param {number} startAngle 起始角度\n * @param {number} endAngle 结束角度\n */\n length(cx: number, cy: number, rx: number, ry: number, xRotation: number, startAngle: number, endAngle: number) {},\n /**\n * 获取指定点到圆弧的最近距离的点\n * @param {number} cx 圆心 x\n * @param {number} cy 圆心 y\n * @param {number} rx x 轴方向的半径\n * @param {number} ry y 轴方向的半径\n * @param {number} xRotation 旋转角度\n * @param {number} startAngle 起始角度\n * @param {number} endAngle 结束角度\n * @param {number} x0 指定点的 x\n * @param {number} y0 指定点的 y\n * @return {object} 到指定点最近距离的点\n */\n nearestPoint(\n cx: number,\n cy: number,\n rx: number,\n ry: number,\n xRotation: number,\n startAngle: number,\n endAngle: number,\n x0: number,\n y0: number\n ) {\n // 将最近距离问题转换成到椭圆中心 0,0 没有旋转的椭圆问题\n const relativeVector = rotate(x0 - cx, y0 - cy, -xRotation);\n const [x1, y1] = relativeVector;\n // 计算点到椭圆的最近的点\n let relativePoint = ellipse.nearestPoint(0, 0, rx, ry, x1, y1);\n // 获取点在椭圆上的角度\n const angle = getAngle(rx, ry, relativePoint.x, relativePoint.y);\n // 点没有在圆弧上\n if (angle < startAngle) {\n // 小于起始圆弧\n relativePoint = getPoint(rx, ry, startAngle);\n } else if (angle > endAngle) {\n // 大于结束圆弧\n relativePoint = getPoint(rx, ry, endAngle);\n }\n // 旋转到 xRotation 的角度\n const vector = rotate(relativePoint.x, relativePoint.y, xRotation);\n return {\n x: vector[0] + cx,\n y: vector[1] + cy,\n };\n },\n pointDistance(\n cx: number,\n cy: number,\n rx: number,\n ry: number,\n xRotation: number,\n startAngle: number,\n endAngle: number,\n x0: number,\n y0: number\n ) {\n const nearestPoint = this.nearestPoint(cx, cy, rx, ry, x0, y0);\n return distance(nearestPoint.x, nearestPoint.y, x0, y0);\n },\n pointAt(\n cx: number,\n cy: number,\n rx: number,\n ry: number,\n xRotation: number,\n startAngle: number,\n endAngle: number,\n t: number\n ): Point {\n const angle = (endAngle - startAngle) * t + startAngle;\n return {\n x: xAt(cx, cy, rx, ry, xRotation, angle),\n y: yAt(cx, cy, rx, ry, xRotation, angle),\n };\n },\n tangentAngle(\n cx: number,\n cy: number,\n rx: number,\n ry: number,\n xRotation: number,\n startAngle: number,\n endAngle: number,\n t: number\n ) {\n const angle = (endAngle - startAngle) * t + startAngle;\n const dx = derivativeXAt(cx, cy, rx, ry, xRotation, startAngle, endAngle, angle);\n const dy = derivativeYAt(cx, cy, rx, ry, xRotation, startAngle, endAngle, angle);\n return piMod(Math.atan2(dy, dx));\n },\n};\n","import line from './line';\nimport { distance } from './util';\nimport { Point, PointTuple, Segment } from './types';\n\nfunction analyzePoints(points: PointTuple[]) {\n // 计算每段的长度和总的长度\n let totalLength = 0;\n const segments: Segment[] = [];\n for (let i = 0; i < points.length - 1; i++) {\n const from = points[i];\n const to = points[i + 1];\n const length = distance(from[0], from[1], to[0], to[1]);\n const seg = {\n from,\n to,\n length,\n };\n segments.push(seg);\n totalLength += length;\n }\n return { segments, totalLength };\n}\n\nexport function lengthOfSegment(points: PointTuple[]) {\n if (points.length < 2) {\n return 0;\n }\n let totalLength = 0;\n for (let i = 0; i < points.length - 1; i++) {\n const from = points[i];\n const to = points[i + 1];\n totalLength += distance(from[0], from[1], to[0], to[1]);\n }\n return totalLength;\n}\n\n/**\n * 按照比例在数据片段中获取点\n * @param {array} points 点的集合\n * @param {number} t 百分比 0-1\n * @return {object} 点的坐标\n */\nexport function pointAtSegments(points: PointTuple[], t: number): Point {\n // 边界判断\n if (t > 1 || t < 0 || points.length < 2) {\n return null;\n }\n const { segments, totalLength } = analyzePoints(points);\n // 多个点有可能重合\n if (totalLength === 0) {\n return {\n x: points[0][0],\n y: points[0][1],\n };\n }\n // 计算比例\n let startRatio = 0;\n let point = null;\n for (let i = 0; i < segments.length; i++) {\n const seg = segments[i];\n const { from, to } = seg;\n const currentRatio = seg.length / totalLength;\n if (t >= startRatio && t <= startRatio + currentRatio) {\n const localRatio = (t - startRatio) / currentRatio;\n point = line.pointAt(from[0], from[1], to[0], to[1], localRatio);\n break;\n }\n startRatio += currentRatio;\n }\n return point;\n}\n\n/**\n * 按照比例在数据片段中获取切线的角度\n * @param {array} points 点的集合\n * @param {number} t 百分比 0-1\n */\nexport function angleAtSegments(points: PointTuple[], t: number) {\n // 边界判断\n if (t > 1 || t < 0 || points.length < 2) {\n return 0;\n }\n const { segments, totalLength } = analyzePoints(points);\n // 计算比例\n let startRatio = 0;\n let angle = 0;\n for (let i = 0; i < segments.length; i++) {\n const seg = segments[i];\n const { from, to } = seg;\n const currentRatio = seg.length / totalLength;\n if (t >= startRatio && t <= startRatio + currentRatio) {\n angle = Math.atan2(to[1] - from[1], to[0] - from[0]);\n break;\n }\n startRatio += currentRatio;\n }\n return angle;\n}\n\nexport function distanceAtSegment(points: PointTuple[], x: number, y: number) {\n let minDistance = Infinity;\n for (let i = 0; i < points.length - 1; i++) {\n const point = points[i];\n const nextPoint = points[i + 1];\n const distance = line.pointDistance(point[0], point[1], nextPoint[0], nextPoint[1], x, y);\n if (distance < minDistance) {\n minDistance = distance;\n }\n }\n return minDistance;\n}\n","import { pointAtSegments, angleAtSegments, distanceAtSegment, lengthOfSegment } from './segments';\nimport { getBBoxByArray } from './util';\nimport { PointTuple, BBox } from './types';\n\nexport default {\n /**\n * 计算多折线的包围盒\n * @param {array} points 点的集合 [x,y] 的形式\n * @return {object} 包围盒\n */\n box(points: PointTuple[]): BBox {\n const xArr = [];\n const yArr = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i];\n xArr.push(point[0]);\n yArr.push(point[1]);\n }\n return getBBoxByArray(xArr, yArr);\n },\n /**\n * 计算多折线的长度\n * @param {array} points 点的集合 [x,y] 的形式\n * @return {object} 多条边的长度\n */\n length(points: PointTuple[]) {\n return lengthOfSegment(points);\n },\n /**\n * 根据比例获取多折线的点\n * @param {array} points 点的集合 [x,y] 的形式\n * @param {number} t 在多折线的长度上的比例\n * @return {object} 根据比例值计算出来的点\n */\n pointAt(points: PointTuple[], t: number) {\n return pointAtSegments(points, t);\n },\n /**\n * 指定点到多折线的距离\n * @param {array} points 点的集合 [x,y] 的形式\n * @param {number} x 指定点的 x\n * @param {number} y 指定点的 y\n * @return {number} 点到多折线的距离\n */\n pointDistance(points: PointTuple[], x: number, y: number) {\n return distanceAtSegment(points, x, y);\n },\n /**\n * 根据比例获取多折线的切线角度\n * @param {array} points 点的集合 [x,y] 的形式\n * @param {number} t 在多折线的长度上的比例\n * @return {object} 根据比例值计算出来的角度\n */\n tangentAngle(points: PointTuple[], t: number) {\n return angleAtSegments(points, t);\n },\n};\n","/**\n * @description 扩展方法,提供 gl-matrix 为提供的方法\n * */\nimport { mat3, vec2 } from 'gl-matrix';\n\ntype mat3Type = [number, number, number, number, number, number, number, number, number];\n\nexport function leftTranslate(out, a, v) {\n const transMat: mat3Type = [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n mat3.fromTranslation(transMat, v);\n return mat3.multiply(out, transMat, a);\n}\n\nexport function leftRotate(out, a, rad) {\n const rotateMat: mat3Type = [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n mat3.fromRotation(rotateMat, rad);\n return mat3.multiply(out, rotateMat, a);\n}\n\nexport function leftScale(out, a, v) {\n const scaleMat: mat3Type = [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n mat3.fromScaling(scaleMat, v);\n return mat3.multiply(out, scaleMat, a);\n}\n\nfunction leftMultiply(out, a, a1) {\n return mat3.multiply(out, a1, a);\n}\n/**\n * 根据 actions 来做 transform\n * @param m\n * @param actions\n */\nexport function transform(m: number[], actions: any[][]) {\n const matrix = m ? [].concat(m) : [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ];\n\n for (let i = 0, len = actions.length; i < len; i++) {\n const action = actions[i];\n switch (action[0]) {\n case 't':\n leftTranslate(matrix, matrix, [ action[1], action[2] ]);\n break;\n case 's':\n leftScale(matrix, matrix, [ action[1], action[2] ]);\n break;\n case 'r':\n leftRotate(matrix, matrix, action[1]);\n break;\n case 'm':\n leftMultiply(matrix, matrix, action[1]);\n break;\n default:\n break;\n }\n }\n\n return matrix;\n}\n\n/**\n * 向量 v1 到 向量 v2 夹角的方向\n * @param {Array} v1 向量\n * @param {Array} v2 向量\n * @return {Boolean} >= 0 顺时针 < 0 逆时针\n */\nexport function direction(v1: number[], v2: number[]): number {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n\n/**\n * 二维向量 v1 到 v2 的夹角\n * @param v1\n * @param v2\n * @param direct\n */\nexport function angleTo(v1: [number, number], v2: [number, number], direct: boolean): number {\n const ang = vec2.angle(v1, v2);\n const angleLargeThanPI = direction(v1, v2) >= 0;\n if (direct) {\n if (angleLargeThanPI) {\n return Math.PI * 2 - ang;\n }\n return ang;\n }\n\n if (angleLargeThanPI) {\n return ang;\n }\n return Math.PI * 2 - ang;\n}\n\n/**\n * 计算二维向量的垂直向量\n * @param out\n * @param v\n * @param flag\n */\nexport function vertical(out: number[], v: number[], flag: boolean): number[] {\n if (flag) {\n out[0] = v[1];\n out[1] = -1 * v[0];\n } else {\n out[0] = -1 * v[1];\n out[1] = v[0];\n }\n\n return out;\n}\n","const isArrayLike = function(value: any): boolean {\n /**\n * isArrayLike([1, 2, 3]) => true\n * isArrayLike(document.body.children) => true\n * isArrayLike('abc') => true\n * isArrayLike(Function) => false\n */\n return value !== null && typeof value !== 'function' && isFinite(value.length);\n};\n\nexport default isArrayLike;\n","import isArrayLike from './is-array-like';\n\nconst contains = function(arr: any[], value: any): boolean {\n if (!isArrayLike(arr)) {\n return false;\n }\n return arr.indexOf(value) > -1;\n};\n\nexport default contains;\n","import isArrayLike from './is-array-like';\n\nconst filter = function (arr: T[], func: (v: T, idx: number) => boolean): T[] {\n if (!isArrayLike(arr)) {\n return arr;\n }\n const result: T[] = [];\n for (let index = 0; index < arr.length; index++) {\n const value = arr[index];\n if (func(value, index)) {\n result.push(value);\n }\n }\n\n return result;\n};\n\nexport default filter;\n","import filter from './filter';\nimport contains from './contains';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to inspect.\n * @param {Array} values The values to exclude.\n * @return {Array} Returns the new array of filtered values.\n * @example\n * difference([2, 1], [2, 3]); // => [1]\n */\nconst difference = function(arr: T[], values: T[] = []): T[] {\n return filter(arr, (value: any) => !contains(values, value));\n};\n\nexport default difference;\n","const toString = {}.toString;\n\nconst isType = (value: any, type: string): boolean => toString.call(value) === '[object ' + type + ']';\n\nexport default isType;\n","/**\n * 是否为函数\n * @param {*} fn 对象\n * @return {Boolean} 是否函数\n */\nimport isType from './is-type';\n\nexport default (value: any): value is Function => {\n return isType(value, 'Function');\n};\n","// isFinite,\nconst isNil = function(value: any): value is null | undefined {\n /**\n * isNil(null) => true\n * isNil() => true\n */\n return value === null || value === undefined;\n};\n\nexport default isNil;\n","import isType from './is-type';\n\nexport default (value: any): value is Array => {\n return Array.isArray ?\n Array.isArray(value) :\n isType(value, 'Array');\n}\n","export default (value: any): value is T => {\n /**\n * isObject({}) => true\n * isObject([1, 2, 3]) => true\n * isObject(Function) => true\n * isObject(null) => false\n */\n const type = typeof value;\n return value !== null && type === 'object' || type === 'function';\n};\n","import isArray from './is-array';\nimport isObject from './is-object';\n\nfunction each (elements: any[] | object, func: (v: any, k: any) => any): void {\n if (!elements) {\n return;\n }\n let rst;\n if (isArray(elements)) {\n for (let i = 0, len = elements.length; i < len; i++) {\n rst = func(elements[i], i);\n if (rst === false) {\n break;\n }\n }\n } else if (isObject(elements)) {\n for (const k in elements) {\n if (elements.hasOwnProperty(k)) {\n rst = func(elements[k], k);\n if (rst === false) {\n break;\n }\n }\n }\n }\n}\n\nexport default each;\n","import each from './each';\nimport isFunction from './is-function';\n\nconst keys = Object.keys ? obj => Object.keys(obj) : obj => {\n const result = [];\n each(obj, (value, key) => {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(key);\n }\n });\n return result;\n};\n\nexport default keys;\n","import isNil from './is-nil';\nimport keys from './keys';\n\nfunction isMatch(obj: any, attrs: any): boolean {\n const _keys = keys(attrs);\n const length = _keys.length;\n if (isNil(obj)) return !length;\n for (let i = 0; i < length; i += 1) {\n const key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isMatch;\n","const isObjectLike = function(value: any): value is object {\n /**\n * isObjectLike({}) => true\n * isObjectLike([1, 2, 3]) => true\n * isObjectLike(Function) => false\n * isObjectLike(null) => false\n */\n return typeof value === 'object' && value !== null;\n};\n\nexport default isObjectLike;\n","import isObjectLike from './is-object-like';\nimport isType from './is-type';\n\nconst isPlainObject = function(value: any): value is object {\n /**\n * isObjectLike(new Foo) => false\n * isObjectLike([1, 2, 3]) => false\n * isObjectLike({ x: 0, y: 0 }) => true\n * isObjectLike(Object.create(null)) => true\n */\n if (!isObjectLike(value) || !isType(value, 'Object')) {\n return false;\n }\n if (Object.getPrototypeOf(value) === null) {\n return true;\n }\n let proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n};\n\nexport default isPlainObject;\n","import isFunction from './is-function';\nimport isMatch from './is-match';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\n\nfunction find(arr: T[], predicate: Function): T;\nfunction find(arr: T[], predicate: object): T;\n\nfunction find(arr: T[], predicate: Function | object): T {\n if (!isArray(arr)) return null;\n\n let _predicate;\n if (isFunction(predicate)) {\n _predicate = predicate;\n }\n if (isPlainObject(predicate)) {\n _predicate = a => isMatch(a, predicate);\n }\n if (_predicate) {\n for (let i = 0; i < arr.length; i += 1) {\n if (_predicate(arr[i])) {\n return arr[i];\n }\n }\n }\n return null;\n}\n\nexport default find;\n","function findIndex(arr: T[], predicate: (item: T, idx?: number) => boolean, fromIndex: number = 0): number {\n for (let i = fromIndex; i < arr.length; i ++) {\n if (predicate(arr[i], i)) {\n // 找到终止循环\n return i;\n }\n }\n\n return -1;\n}\n\nexport default findIndex;\n","import isNil from './is-nil';\nimport isArray from './is-array';\n\nconst firstValue = function(data: object[], name: string): any {\n let rst = null;\n for (let i = 0; i < data.length; i++) {\n const obj = data[i];\n const value = obj[name];\n if (!isNil(value)) {\n if (isArray(value)) {\n rst = value[0]; // todo 这里是否应该使用递归,调用 firstValue @绝云\n } else {\n rst = value;\n }\n break;\n }\n }\n return rst;\n};\n\nexport default firstValue;\n","import isArray from './is-array';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5]\n */\nconst flatten = function (arr: T[]): T[] {\n if (!isArray(arr)) {\n return [];\n }\n let rst: T[] = [];\n for (let i = 0; i < arr.length; i++) {\n rst = rst.concat(arr[i]);\n }\n return rst;\n};\n\nexport default flatten;\n","import each from './each';\nimport isArray from './is-array';\n\n/**\n * @param {Array} arr The array to iterate over.\n * @return {*} Returns the maximum value.\n * @example\n *\n * max([1, 2]);\n * // => 2\n *\n * max([]);\n * // => undefined\n *\n * const data = new Array(1250010).fill(1).map((d,idx) => idx);\n *\n * max(data);\n * // => 1250010\n * // Math.max(...data) will encounter \"Maximum call stack size exceeded\" error\n */\nexport default (arr: number[]): number | undefined => {\n if (!isArray(arr)) {\n return undefined;\n }\n return arr.reduce((prev, curr) => {\n return Math.max(prev, curr)\n }, arr[0]);\n};\n","import each from './each';\nimport isArray from './is-array';\n\n/**\n * @param {Array} arr The array to iterate over.\n * @return {*} Returns the minimum value.\n * @example\n *\n * min([1, 2]);\n * // => 1\n *\n * min([]);\n * // => undefined\n *\n * const data = new Array(1250010).fill(1).map((d,idx) => idx);\n *\n * min(data);\n * // => 1250010\n * // Math.min(...data) will encounter \"Maximum call stack size exceeded\" error\n */\nexport default (arr: number[]): number | undefined => {\n if (!isArray(arr)) {\n return undefined;\n }\n return arr.reduce((prev, curr) => {\n return Math.min(prev, curr)\n }, arr[0]);\n};\n","import isArray from './is-array';\nimport { default as getMax } from './max';\nimport { default as getMin } from './min';\n\nexport interface RangeType {\n readonly min: number;\n readonly max: number;\n}\n\nconst getRange = function (values: number[]): RangeType {\n // 存在 NaN 时,min,max 判定会出问题\n let filterValues = values.filter((v) => !isNaN(v));\n if (!filterValues.length) {\n // 如果没有数值则直接返回0\n return {\n min: 0,\n max: 0,\n };\n }\n if (isArray(values[0])) {\n let tmp = [];\n for (let i = 0; i < values.length; i++) {\n tmp = tmp.concat(values[i]);\n }\n filterValues = tmp;\n }\n const max = getMax(filterValues);\n const min = getMin(filterValues);\n return {\n min,\n max,\n };\n};\n\nexport default getRange;\n","const arrPrototype = Array.prototype;\nconst splice = arrPrototype.splice;\nconst indexOf = arrPrototype.indexOf;\n\nconst pull = function(arr: T[], ...values: any[]): T[] {\n for (let i = 0; i < values.length; i++) {\n const value = values[i];\n let fromIndex = -1;\n while ((fromIndex = indexOf.call(arr, value)) > -1) {\n splice.call(arr, fromIndex, 1);\n }\n }\n return arr;\n};\n\nexport default pull;\n","import isArrayLike from './is-array-like';\n\nconst splice = Array.prototype.splice;\n\nconst pullAt = function pullAt (arr: T[], indexes: number[]): T[] {\n if (!isArrayLike(arr)) {\n return [];\n }\n let length = arr ? indexes.length : 0;\n const last = length - 1;\n\n while (length--) {\n let previous;\n const index = indexes[length];\n if (length === last || index !== previous) {\n previous = index;\n splice.call(arr, index, 1);\n }\n }\n return arr;\n};\n\nexport default pullAt;\n","import each from './each';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nimport { ObjectType } from './types';\n\nconst reduce = function(arr: G[]|ObjectType, fn: (result: T, data: G, idx: string | number) => T, init: T) {\n if (!isArray(arr) && !isPlainObject(arr)) {\n return arr;\n }\n let result = init;\n each(arr, (data, i) => {\n result = fn(result, data, i);\n });\n return result;\n};\n\nexport default reduce;\n","import isArrayLike from './is-array-like';\nimport pullAt from './pull-at';\n\nconst remove = function(arr: T[], predicate: (value: T, idx: number, arr?: T[]) => boolean): T[] {\n /**\n * const arr = [1, 2, 3, 4]\n * const evens = remove(arr, n => n % 2 == 0)\n * console.log(arr) // => [1, 3]\n * console.log(evens) // => [2, 4]\n */\n const result = [];\n if (!isArrayLike(arr)) {\n return result;\n }\n let i = -1;\n const indexes = [];\n const length = arr.length;\n\n while (++i < length) {\n const value = arr[i];\n if (predicate(value, i, arr)) {\n result.push(value);\n indexes.push(i);\n }\n }\n pullAt(arr, indexes);\n return result;\n};\n\nexport default remove;\n","import isType from './is-type';\n\nexport default (str: any): str is string => {\n return isType(str, 'String');\n}\n","import isArray from './is-array';\nimport isString from './is-string';\nimport isFunction from './is-function';\n\nexport interface ObjectType {\n [key: string]: T;\n}\n\nfunction sortBy (arr: ObjectType[], key: Function): ObjectType[];\nfunction sortBy (arr: ObjectType[], key: string): ObjectType[];\nfunction sortBy (arr: ObjectType[], key: string[]): ObjectType[];\n\nfunction sortBy (arr: ObjectType[], key: Function | string | string[]): ObjectType[] {\n let comparer;\n if (isFunction(key)) {\n comparer = (a, b) => key(a) - key(b);\n } else {\n let keys = [];\n if (isString(key)) {\n keys.push(key);\n } else if (isArray(key)) {\n keys = key;\n }\n comparer = (a, b) => {\n for (let i = 0; i < keys.length; i += 1) {\n const prop = keys[i];\n if (a[prop] > b[prop]) {\n return 1;\n }\n if (a[prop] < b[prop]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n arr.sort(comparer);\n return arr;\n}\n\nexport default sortBy;\n","export default function uniq(arr: any[], cache = new Map()) {\n const r = [];\n\n if (Array.isArray(arr)) {\n for (let i = 0, len = arr.length; i < len; i ++) {\n const item = arr[i];\n // 加一个 cache,提升性能\n if (!cache.has(item)) {\n r.push(item);\n cache.set(item, true);\n }\n }\n }\n return r;\n}\n","import isArray from './is-array';\nimport isNil from './is-nil';\n\nexport default (data: any[], name: string): any[] => {\n const rst = [];\n const tmpMap = {};\n\n for (let i = 0; i < data.length; i++) {\n const obj = data[i];\n let value = obj[name] as string[];\n\n if (!isNil(value)) {\n // flatten\n if (!isArray(value)) {\n value = [ value ];\n }\n for (let j = 0; j < value.length; j++) {\n const val = value[j];\n // unique\n if (!tmpMap[val]) {\n rst.push(val);\n tmpMap[val] = true;\n }\n }\n }\n }\n\n return rst;\n};\n","import isArrayLike from './is-array-like';\n\nexport default function head(o: unknown) {\n if (isArrayLike(o)) {\n return (>o)[0];\n }\n return undefined;\n}\n","import isArrayLike from './is-array-like';\n\nexport default function last(o: unknown) {\n if (isArrayLike(o)) {\n const arr = o as ArrayLike;\n return arr[arr.length - 1];\n }\n return undefined;\n}\n","import isArray from './is-array';\nimport isString from './is-string';\n\nfunction endsWith(arr: string, e: string): boolean;\nfunction endsWith(arr: T[], e: T): boolean;\nfunction endsWith(arr: string | T[], e: string | T): boolean {\n return (isArray(arr) || isString(arr)) ? arr[arr.length - 1] === e : false;\n}\n\nexport default endsWith;\n","/**\n * 只要有一个不满足条件就返回 false\n * @param arr\n * @param func\n */\nconst every = function (arr: T[], func: (v: T, idx?: number) => any): boolean {\n for (let i = 0; i < arr.length; i ++) {\n if (!func(arr[i], i)) return false;\n }\n\n return true;\n};\n\nexport default every;\n","/**\n * 只要有一个满足条件就返回 true\n * @param arr\n * @param func\n */\nconst some = function (arr: T[], func: (v: T, idx?: number) => any): boolean {\n for (let i = 0; i < arr.length; i ++) {\n if (func(arr[i], i)) return true;\n }\n\n return false;\n};\n\nexport default some;\n","import isArray from './is-array';\nimport isFunction from './is-function';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexport interface ObjectType {\n [key: string]: T[];\n}\n\nfunction groupBy(data: T[], condition: (item: T) => string): ObjectType;\nfunction groupBy(data: T[], condition: string): ObjectType;\nfunction groupBy(data: T[], condition: ((item: T) => string) | string): ObjectType {\n if (!condition || !isArray(data)) {\n return {};\n }\n const result: ObjectType = {};\n\n // 兼容方法和 字符串的写法\n const predicate = isFunction(condition) ? condition : (item) => item[condition];\n\n let key: string;\n for (let i = 0; i < data.length; i++) {\n const item = data[i];\n key = predicate(item);\n if (hasOwnProperty.call(result, key)) {\n result[key].push(item);\n } else {\n result[key] = [ item ];\n }\n }\n\n return result;\n}\n\nexport default groupBy;\n","import isArray from './is-array';\nimport isFunction from './is-function';\nimport groupBy from './group-by';\n\n/**\n * 将数据分组成 map\n * @param data \n * @param condition \n */\nexport default function groupToMap(data: any, condition: string[] | string | ((row: any) => string)) {\n if (!condition) {\n return {\n 0: data,\n };\n }\n if (!isFunction(condition)) {\n // 如果是字符串,则按照 a*b 风格成数组\n const paramscondition = isArray(condition) ? condition : condition.replace(/\\s+/g, '').split('*');\n condition = function (row) {\n let unique = '_'; // 避免出现数字作为Key的情况,会进行按照数字的排序\n \n // 根据字段列表的值,拼接成 key\n for (let i = 0, l = paramscondition.length; i < l; i++) {\n unique += row[paramscondition[i]] && row[paramscondition[i]].toString();\n }\n return unique;\n };\n }\n return groupBy(data, condition);\n}\n","import groupToMap from './group-to-map';\n\nexport default (data: T[], condition: ((v: T) => string) | string | string[]): T[][] => {\n if (!condition) {\n // 没有条件,则自身改成数组\n return [ data ];\n }\n const groups = groupToMap(data, condition) as { [key: string]: T };\n const array = [];\n for (const i in groups) {\n array.push(groups[i]);\n }\n return array;\n};\n","import isArray from './is-array';\n\nexport interface RadiusType {\n r1: number;\n r2: number;\n r3: number;\n r4: number;\n}\n\nfunction parseRadius(radius: number): RadiusType;\nfunction parseRadius(radius: number[]): RadiusType;\n\nfunction parseRadius(radius: number | number[]): RadiusType {\n let r1 = 0,\n r2 = 0,\n r3 = 0,\n r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n return {\n r1,\n r2,\n r3,\n r4\n };\n}\n\nexport default parseRadius;\n","const clamp = function(a: number, min: number, max: number): number {\n if (a < min) {\n return min;\n } else if (a > max) {\n return max;\n }\n return a;\n};\n\nexport default clamp;\n","const fixedBase = function(v: number, base: number | string): number {\n const str = base.toString();\n const index = str.indexOf('.');\n if (index === -1) {\n return Math.round(v);\n }\n let length = str.substr(index + 1).length;\n if (length > 20) {\n length = 20;\n }\n return parseFloat(v.toFixed(length));\n};\n\nexport default fixedBase;\n","/**\n * 判断是否数字\n * @return {Boolean} 是否数字\n */\nimport isType from './is-type';\n\nconst isNumber = function(value: any): value is number {\n return isType(value, 'Number');\n};\nexport default isNumber;\n","import isNumber from './is-number';\n\nconst isInteger = Number.isInteger ? Number.isInteger : function(num: any): boolean {\n return isNumber(num) && num % 1 === 0;\n};\n\nexport default isInteger;\n","const PRECISION = 0.00001; // numbers less than this is considered as 0\n\nexport default function isNumberEqual(a: number, b: number, precision: number = PRECISION): boolean {\n return Math.abs((a - b)) < precision;\n};\n","import isNumber from './is-number';\n\nconst isOdd = function(num: any): boolean {\n return isNumber(num) && num % 2 !== 0;\n};\n\nexport default isOdd;\n","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nexport default (arr: T[], fn: ((v: T) => number) | string): T | undefined => {\n if (!isArray(arr)) {\n return undefined;\n }\n\n let maxItem;\n let max = -Infinity;\n\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const v = isFunction(fn) ? fn(item) : item[fn];\n \n if (v > max) {\n maxItem = item;\n max = v;\n }\n }\n\n return maxItem;\n};\n","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\n\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nexport default (arr: T[], fn: ((v: T) => number) | string): T | undefined => {\n if (!isArray(arr)) {\n return undefined;\n }\n\n let minItem;\n let min = Infinity;\n\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const v = isFunction(fn) ? fn(item) : item[fn];\n \n if (v < min) {\n minItem = item;\n min = v;\n }\n }\n\n return minItem;\n};\n","const mod = function(n: number, m: number): number {\n return ((n % m) + m) % m;\n};\n\nexport default mod;\n","const RADIAN = Math.PI / 180;\n\nconst toRadian = function(degree: number): number {\n return RADIAN * degree;\n};\n\nexport default toRadian;\n","const DEGREE = 180 / Math.PI;\n\nconst toDegree = function(radian: number): number {\n return DEGREE * radian;\n};\n\nexport default toDegree;\n","export default parseInt;\n","import each from './each';\n\nexport default each;\n","import has from './has';\nexport default has;\n","export default (obj: object, key: any): boolean => obj.hasOwnProperty(key);\n","import each from './each';\nimport isFunction from './is-function';\n\n// @ts-ignore\nconst values = Object.values ? obj => Object.values(obj) : obj => {\n const result = [];\n each(obj, (value, key) => {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(value);\n }\n });\n return result;\n};\n\nexport default values;\n","import isNil from './is-nil';\n\nexport default (value: any): string => {\n if (isNil(value)) return '';\n return value.toString();\n}\n","import toString from './to-string';\n\nconst lowerCase = function(str: string): string {\n return toString(str).toLowerCase();\n};\n\nexport default lowerCase;\n","export interface ObjectType {\n [key: string]: T;\n}\n\nfunction substitute (str: string, o: ObjectType) {\n if (!str || !o) {\n return str;\n }\n return str.replace(/\\\\?\\{([^{}]+)\\}/g, (match, name): any => {\n if (match.charAt(0) === '\\\\') {\n return match.slice(1);\n }\n return (o[name] === undefined) ? '' : o[name];\n });\n}\n\nexport default substitute;\n","import toString from './to-string';\n\nconst upperFirst = function(value: string): string {\n const str = toString(value);\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\n\nexport default upperFirst;\n","const toString = {}.toString;\n\nconst getType = function(value: any): string {\n return toString.call(value).replace(/^\\[object /, '').replace(/]$/, '');\n};\n\nexport default getType;\n","/**\n * 是否是布尔类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\n\nconst isBoolean = function(value: any): value is boolean {\n return isType(value, 'Boolean');\n};\n\nexport default isBoolean;\n","import isType from './is-type';\n\nconst isDate = function(value: any): value is Date {\n return isType(value, 'Date');\n};\n\nexport default isDate;\n","const isNull = function(value): value is null {\n return value === null;\n};\n\nexport default isNull;\n","const objectProto = Object.prototype;\n\nconst isPrototype = function(value: any): boolean {\n const Ctor = value && value.constructor;\n const proto = (typeof Ctor === 'function' && Ctor.prototype) || objectProto;\n return value === proto;\n};\n\nexport default isPrototype;\n","const isUndefined = function(value: any): value is undefined {\n return value === undefined;\n};\n\nexport default isUndefined;\n","/**\n * 判断是否HTML元素\n * @return {Boolean} 是否HTML元素\n */\nconst isElement = function(o: any): boolean {\n return o instanceof Element || o instanceof HTMLDocument;\n};\nexport default isElement;\n","export default function requestAnimationFrame(fn: FrameRequestCallback) {\n const method = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n // @ts-ignore\n window.mozRequestAnimationFrame ||\n // @ts-ignore\n window.msRequestAnimationFrame ||\n function(f) {\n return setTimeout(f, 16);\n };\n\n return method(fn);\n};\n","export default function cancelAnimationFrame(handler: number) {\n const method = window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n // @ts-ignore\n window.mozCancelAnimationFrame ||\n // @ts-ignore\n window.msCancelAnimationFrame ||\n clearTimeout;\n\n method(handler);\n};\n","import mix from './mix';\nimport isFunction from './is-function';\nimport toArray from './to-array';\n\nconst augment = function(...args:any[]) {\n const c = args[0];\n for (let i = 1; i < args.length; i++) {\n let obj = args[i];\n if (isFunction(obj)) {\n obj = obj.prototype;\n }\n mix(c.prototype, obj);\n }\n};\n\nexport default augment;\n","import isArray from './is-array';\n\nconst clone = function(obj) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n let rst;\n if (isArray(obj)) {\n rst = [];\n for (let i = 0, l = obj.length; i < l; i++) {\n if (typeof obj[i] === 'object' && obj[i] != null) {\n rst[i] = clone(obj[i]);\n } else {\n rst[i] = obj[i];\n }\n }\n } else {\n rst = {};\n for (const k in obj) {\n if (typeof obj[k] === 'object' && obj[k] != null) {\n rst[k] = clone(obj[k]);\n } else {\n rst[k] = obj[k];\n }\n }\n }\n\n return rst;\n};\n\nexport default clone;\n","\nfunction debounce(func: Function, wait?: number, immediate?: boolean) {\n let timeout;\n return function() {\n const context = this,\n args = arguments;\n const later = function() {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default debounce;\n","import isFunction from './is-function';\n\n/**\n * _.memoize(calColor);\n * _.memoize(calColor, (...args) => args[0]);\n * @param f\n * @param resolver\n */\nexport default (f: Function, resolver?: (...args: any[]) => string) => {\n if (!isFunction(f)) {\n throw new TypeError('Expected a function')\n }\n\n const memoized = function(...args) {\n // 使用方法构造 key,如果不存在 resolver,则直接取第一个参数作为 key\n const key = resolver ? resolver.apply(this, args) : args[0];\n const cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key)\n }\n const result = f.apply(this, args);\n // 缓存起来\n cache.set(key, result);\n return result\n };\n\n memoized.cache = new Map();\n\n return memoized\n}\n","import isArray from './is-array';\nimport isPlainObject from './is-plain-object';\n\nconst MAX_MIX_LEVEL = 5;\n\nfunction _deepMix(dist, src, level?, maxLevel?) {\n level = level || 0;\n maxLevel = maxLevel || MAX_MIX_LEVEL;\n for (const key in src) {\n if (src.hasOwnProperty(key)) {\n const value = src[key];\n if (value !== null && isPlainObject(value)) {\n if (!isPlainObject(dist[key])) {\n dist[key] = {};\n }\n if (level < maxLevel) {\n _deepMix(dist[key], value, level + 1, maxLevel);\n } else {\n dist[key] = src[key];\n }\n } else if (isArray(value)) {\n dist[key] = [];\n dist[key] = dist[key].concat(value);\n } else if (value !== undefined) {\n dist[key] = value;\n }\n }\n }\n}\n\n// todo 重写\nconst deepMix = function(rst:any, ...args:any[]) {\n for (let i = 0; i < args.length; i += 1) {\n _deepMix(rst, args[i]);\n }\n return rst;\n};\n\nexport default deepMix;\n","import isArrayLike from './is-array-like';\n\nconst indexOf = function (arr: T[], obj: T): number {\n if (!isArrayLike(arr)) {\n return -1;\n }\n const m = Array.prototype.indexOf;\n if (m) {\n return m.call(arr, obj);\n }\n let index = -1;\n\n for (let i = 0; i < arr.length; i++) {\n if (arr[i] === obj) {\n index = i;\n break;\n }\n }\n return index;\n};\n\nexport default indexOf;\n","import isNil from './is-nil';\nimport isArrayLike from './is-array-like';\nimport getType from './get-type';\nimport isPrototype from './is-prototype';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isEmpty(value: any): boolean {\n /**\n * isEmpty(null) => true\n * isEmpty() => true\n * isEmpty(true) => true\n * isEmpty(1) => true\n * isEmpty([1, 2, 3]) => false\n * isEmpty('abc') => false\n * isEmpty({ a: 1 }) => false\n */\n if (isNil(value)) {\n return true;\n }\n if (isArrayLike(value)) {\n return !value.length;\n }\n const type = getType(value);\n if (type === 'Map' || type === 'Set') {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !Object.keys(value).length;\n }\n for (const key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","import isObjectLike from './is-object-like';\nimport isArrayLike from './is-array-like';\nimport isString from './is-string';\n\nconst isEqual = (value: any, other: any): boolean => {\n if (value === other) {\n return true;\n }\n if (!value || !other) {\n return false;\n }\n if (isString(value) || isString(other)) {\n return false;\n }\n if (isArrayLike(value) || isArrayLike(other)) {\n if (value.length !== other.length) {\n return false;\n }\n let rst = true;\n for (let i = 0; i < value.length; i++) {\n rst = isEqual(value[i], other[i]);\n if (!rst) {\n break;\n }\n }\n return rst;\n }\n if (isObjectLike(value) || isObjectLike(other)) {\n const valueKeys = Object.keys(value);\n const otherKeys = Object.keys(other);\n if (valueKeys.length !== otherKeys.length) {\n return false;\n }\n let rst = true;\n for (let i = 0; i < valueKeys.length; i++) {\n rst = isEqual(value[valueKeys[i]], other[valueKeys[i]]);\n if (!rst) {\n break;\n }\n }\n return rst;\n }\n return false;\n};\n\nexport default isEqual;\n","import isArrayLike from './is-array-like';\n\nconst map = (arr: T[], func: (v: T, idx: number) => G): G[] => {\n if (!isArrayLike(arr)) {\n // @ts-ignore\n return arr;\n }\n const result: G[] = [];\n\n for (let index = 0; index < arr.length; index++) {\n const value = arr[index];\n result.push(func(value, index));\n }\n return result;\n};\n\nexport default map;\n","import isNil from './is-nil';\nimport isObject from './is-object'\n\nconst identity = (v: T): T => v;\n\ninterface _Type {\n [key: string]: T;\n}\n\nexport default (object: { [key: string]: T }, func: (value: T, key: string) => any = identity): { [key: string]: any } => {\n const r: _Type = {};\n if (isObject(object) && !isNil(object)) {\n Object.keys(object).forEach(key => {\n // @ts-ignore\n r[key] = func(object[key], key);\n });\n }\n return r;\n}\n","// FIXME: Mutable param should be forbidden in static lang.\nfunction _mix(dist: Base & Source, obj: Source): void {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== 'constructor' && obj[key] !== undefined) {\n (dist)[key] = obj[key];\n }\n }\n}\n\nexport default function mix(dist: Base & A & B & C, src1?: A, src2?: B, src3?: C): Base & A & B & C {\n if (src1) _mix(dist, src1);\n if (src2) _mix(dist, src2);\n if (src3) _mix(dist, src3);\n return dist;\n}\n","import isString from './is-string';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param key\n * @param defaultValue\n */\nexport default (obj: any, key: string | any[], defaultValue?: any): any => {\n let p = 0;\n\n const keyArr = isString(key) ? key.split('.') : key;\n\n while (obj && p < keyArr.length) {\n obj = obj[keyArr[p++]];\n }\n\n return (obj === undefined || p < keyArr.length) ? defaultValue : obj;\n}\n","import isObject from './is-object';\nimport isString from './is-string';\nimport isNumber from './is-number';\n\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param path\n * @param value\n */\nexport default (obj: any, path: string | any[], value: any): any => {\n let o = obj;\n\n const keyArr = isString(path) ? path.split('.') : path;\n\n keyArr.forEach((key: string | number, idx: number) => {\n // 不是最后一个\n if (idx < keyArr.length - 1) {\n if (!isObject(o[key])) {\n o[key] = isNumber(keyArr[idx + 1]) ? [] : {};\n }\n o = o[key]\n } else {\n o[key] = value;\n }\n });\n\n return obj;\n}\n","import each from './each';\nimport isPlainObject from './is-plain-object';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @param {Object} object The source object.\n * @param {...(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 * pick(object, ['a', 'c']); // => { 'a': 1, 'c': 3 }\n */\n\nexport interface ObjectType {\n [key: string]: T;\n}\n\nexport default (object: ObjectType, keys: string[]): ObjectType => {\n if (object === null || !isPlainObject(object)) {\n return {};\n }\n const result: ObjectType = {};\n each(keys, key => {\n if (hasOwnProperty.call(object, key)) {\n result[key] = object[key];\n }\n });\n return result;\n};\n","import reduce from './reduce';\nimport { ObjectType } from './types';\n\nexport default (obj: ObjectType, keys: string[]): ObjectType => {\n return reduce(\n obj,\n (r: ObjectType, curr: T, key: string) => {\n if (!keys.includes(key)) {\n r[key] = curr;\n }\n return r;\n },\n {}\n );\n}\n","export interface OptionsType {\n leading?: boolean;\n trailing?: boolean;\n}\n\nexport default (func: Function, wait: number, options: OptionsType): Function => {\n let timeout,\n context,\n args,\n result;\n let previous = 0;\n if (!options) options = {};\n\n const later = function() {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n const throttled = function() {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import isArrayLike from './is-array-like';\n\nexport default (value: any): any[] => {\n return isArrayLike(value) ? Array.prototype.slice.call(value) : [];\n}\n","const map = {};\n\nexport default (prefix?: string): string => {\n prefix = prefix || 'g';\n if (!map[prefix]) {\n map[prefix] = 1;\n } else {\n map[prefix] += 1;\n }\n return prefix + map[prefix];\n};\n","export default () => {};\n","import isNil from './is-nil';\nimport isArraylike from './is-array-like';\n\nexport default function size(o: unknown) {\n if (isNil(o)) {\n return 0;\n }\n if (isArraylike(o)) {\n return (>o).length;\n }\n return Object.keys(o).length;\n}\n","import values from './values';\nimport memoize from './memoize';\nimport isString from './is-string';\nimport type { Properties } from 'csstype';\n\nexport type Font = Pick & {\n fontSize?: number;\n};\n\nlet ctx: CanvasRenderingContext2D;\n\n/**\n * 计算文本的宽度\n */\nexport default memoize(\n (text: any, font: Font = {}): number => {\n const { fontSize, fontFamily, fontWeight, fontStyle, fontVariant } = font;\n if (!ctx) {\n ctx = document.createElement('canvas').getContext('2d') as CanvasRenderingContext2D;\n }\n ctx!.font = [fontStyle, fontVariant, fontWeight, `${fontSize}px`, fontFamily].join(' ');\n return ctx!.measureText(isString(text) ? text : '').width;\n },\n (text: any, font: Font = {}) => [text, ...values(font)].join('')\n);\n","import isString from './is-string';\nimport toString from './to-string';\nimport { Font, default as measureTextWidth } from './measure-text-width';\n\n/**\n * 获取文本的 ... 文本。\n * 算法(减少每次 measureText 的长度,measureText 的性能跟字符串时间相关):\n * 1. 先通过 STEP 逐步计算,找到最后一个小于 maxWidth 的字符串\n * 2. 然后对最后这个字符串二分计算\n * @param text 需要计算的文本, 由于历史原因 除了支持string,还支持空值,number和数组等\n * @param maxWidth 最大宽度\n * @param font 字体\n * @param str 要替换的文本\n */\nexport default (text: string | number, maxWidth: number, font?: Font, str: string = '...') => {\n const STEP = 16; // 每次 16,调参工程师\n const PLACEHOLDER_WIDTH = measureTextWidth(str, font);\n let leftText = !isString(text) ? toString(text) : text;\n\n let leftWidth = maxWidth;\n\n const r = []; // 最终的分段字符串\n let currentText;\n let currentWidth;\n\n if (measureTextWidth(text, font) <= maxWidth) {\n return text;\n }\n\n // 首先通过 step 计算,找出最大的未超出长度的\n // eslint-disable-next-line no-constant-condition\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, STEP);\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n // 超出剩余宽度,则停止\n if (currentWidth + PLACEHOLDER_WIDTH > leftWidth) {\n if (currentWidth > leftWidth) {\n break;\n }\n }\n\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(STEP);\n // 字符串整体没有超出\n if (!leftText) {\n return r.join('');\n }\n }\n\n // 最下的最后一个 STEP,使用 1 递增(用二分效果更高)\n // eslint-disable-next-line no-constant-condition\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, 1);\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n // 超出剩余宽度,则停止\n if (currentWidth + PLACEHOLDER_WIDTH > leftWidth) {\n break;\n }\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(1);\n\n if (!leftText) {\n return r.join('');\n }\n }\n return `${r.join('')}${str}`;\n};\n","/**\n * k-v 存储\n */\nexport default class {\n map: { [key: string]: T } = {};\n\n has(key: string): boolean {\n return this.map[key] !== undefined;\n }\n\n get(key: string, def?: T): T | undefined {\n const v = this.map[key];\n return v === undefined ? def : v;\n }\n\n set(key: string, value: T): void {\n this.map[key] = value;\n }\n\n clear() {\n this.map = {};\n }\n\n delete(key: string) {\n delete this.map[key];\n }\n\n size(): number {\n return Object.keys(this.map).length;\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","// https://github.com/HarryStevens/d3-regression#readme Version 1.3.10. Copyright 2022 Harry Stevens.\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = global || self, factory(global.d3 = {}));\n}(this, (function (exports) { 'use strict';\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n // Adapted from vega-statistics by Jeffrey Heer\n // License: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/LICENSE\n // Source: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/packages/vega-statistics/src/regression/points.js\n function points(data, x, y, sort) {\n data = data.filter(function (d, i) {\n var u = x(d, i),\n v = y(d, i);\n return u != null && isFinite(u) && v != null && isFinite(v);\n });\n\n if (sort) {\n data.sort(function (a, b) {\n return x(a) - x(b);\n });\n }\n\n var n = data.length,\n X = new Float64Array(n),\n Y = new Float64Array(n); // extract values, calculate means\n\n var ux = 0,\n uy = 0,\n xv,\n yv,\n d;\n\n for (var i = 0; i < n;) {\n d = data[i];\n X[i] = xv = +x(d, i, data);\n Y[i] = yv = +y(d, i, data);\n ++i;\n ux += (xv - ux) / i;\n uy += (yv - uy) / i;\n } // mean center the data\n\n\n for (var _i = 0; _i < n; ++_i) {\n X[_i] -= ux;\n Y[_i] -= uy;\n }\n\n return [X, Y, ux, uy];\n }\n function visitPoints(data, x, y, cb) {\n var iterations = 0;\n\n for (var i = 0, n = data.length; i < n; i++) {\n var d = data[i],\n dx = +x(d, i, data),\n dy = +y(d, i, data);\n\n if (dx != null && isFinite(dx) && dy != null && isFinite(dy)) {\n cb(dx, dy, iterations++);\n }\n }\n }\n\n // return the coefficient of determination, or R squared.\n\n function determination(data, x, y, uY, predict) {\n var SSE = 0,\n SST = 0;\n visitPoints(data, x, y, function (dx, dy) {\n var sse = dy - predict(dx),\n sst = dy - uY;\n SSE += sse * sse;\n SST += sst * sst;\n });\n return 1 - SSE / SST;\n }\n\n // Returns the angle of a line in degrees.\n function angle(line) {\n return Math.atan2(line[1][1] - line[0][1], line[1][0] - line[0][0]) * 180 / Math.PI;\n } // Returns the midpoint of a line.\n\n function midpoint(line) {\n return [(line[0][0] + line[1][0]) / 2, (line[0][1] + line[1][1]) / 2];\n }\n\n // returns a smooth line.\n\n function interpose(xmin, xmax, predict) {\n var l = Math.log(xmax - xmin) * Math.LOG10E + 1 | 0;\n var precision = 1 * Math.pow(10, -l / 2 - 1),\n maxIter = 1e4;\n var points = [px(xmin), px(xmax)],\n iter = 0;\n\n while (find(points) && iter < maxIter) {\n }\n\n return points;\n\n function px(x) {\n return [x, predict(x)];\n }\n\n function find(points) {\n iter++;\n var n = points.length;\n var found = false;\n\n for (var i = 0; i < n - 1; i++) {\n var p0 = points[i],\n p1 = points[i + 1],\n m = midpoint([p0, p1]),\n mp = px(m[0]),\n a0 = angle([p0, m]),\n a1 = angle([p0, mp]),\n a = Math.abs(a0 - a1);\n\n if (a > precision) {\n points.splice(i + 1, 0, mp);\n found = true;\n }\n }\n\n return found;\n }\n }\n\n // Ordinary Least Squares from vega-statistics by Jeffrey Heer\n // License: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/LICENSE\n // Source: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/packages/vega-statistics/src/regression/ols.js\n function ols(uX, uY, uXY, uX2) {\n var delta = uX2 - uX * uX,\n slope = Math.abs(delta) < 1e-24 ? 0 : (uXY - uX * uY) / delta,\n intercept = uY - slope * uX;\n return [intercept, slope];\n }\n\n function exponential () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function exponential(data) {\n var n = 0,\n Y = 0,\n YL = 0,\n XY = 0,\n XYL = 0,\n X2Y = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n var ly = Math.log(dy),\n xy = dx * dy;\n ++n;\n Y += (dy - Y) / n;\n XY += (xy - XY) / n;\n X2Y += (dx * xy - X2Y) / n;\n YL += (dy * ly - YL) / n;\n XYL += (xy * ly - XYL) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(XY / Y, YL / Y, XYL / Y, X2Y / Y),\n _ols2 = _slicedToArray(_ols, 2),\n a = _ols2[0],\n b = _ols2[1];\n\n a = Math.exp(a);\n\n var fn = function fn(x) {\n return a * Math.exp(b * x);\n },\n out = interpose(xmin, xmax, fn);\n\n out.a = a;\n out.b = b;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n exponential.domain = function (arr) {\n return arguments.length ? (domain = arr, exponential) : domain;\n };\n\n exponential.x = function (fn) {\n return arguments.length ? (x = fn, exponential) : x;\n };\n\n exponential.y = function (fn) {\n return arguments.length ? (y = fn, exponential) : y;\n };\n\n return exponential;\n }\n\n function linear () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function linear(data) {\n var n = 0,\n X = 0,\n // sum of x\n Y = 0,\n // sum of y\n XY = 0,\n // sum of x * y\n X2 = 0,\n // sum of x * x\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n ++n;\n X += (dx - X) / n;\n Y += (dy - Y) / n;\n XY += (dx * dy - XY) / n;\n X2 += (dx * dx - X2) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(X, Y, XY, X2),\n _ols2 = _slicedToArray(_ols, 2),\n intercept = _ols2[0],\n slope = _ols2[1],\n fn = function fn(x) {\n return slope * x + intercept;\n },\n out = [[xmin, fn(xmin)], [xmax, fn(xmax)]];\n\n out.a = slope;\n out.b = intercept;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n linear.domain = function (arr) {\n return arguments.length ? (domain = arr, linear) : domain;\n };\n\n linear.x = function (fn) {\n return arguments.length ? (x = fn, linear) : x;\n };\n\n linear.y = function (fn) {\n return arguments.length ? (y = fn, linear) : y;\n };\n\n return linear;\n }\n\n // Returns the medium value of an array of numbers.\n function median(arr) {\n arr.sort(function (a, b) {\n return a - b;\n });\n var i = arr.length / 2;\n return i % 1 === 0 ? (arr[i - 1] + arr[i]) / 2 : arr[Math.floor(i)];\n }\n\n var maxiters = 2,\n epsilon = 1e-12;\n function loess () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n bandwidth = .3;\n\n function loess(data) {\n var _points = points(data, x, y, true),\n _points2 = _slicedToArray(_points, 4),\n xv = _points2[0],\n yv = _points2[1],\n ux = _points2[2],\n uy = _points2[3],\n n = xv.length,\n bw = Math.max(2, ~~(bandwidth * n)),\n yhat = new Float64Array(n),\n residuals = new Float64Array(n),\n robustWeights = new Float64Array(n).fill(1);\n\n for (var iter = -1; ++iter <= maxiters;) {\n var interval = [0, bw - 1];\n\n for (var i = 0; i < n; ++i) {\n var dx = xv[i],\n i0 = interval[0],\n i1 = interval[1],\n edge = dx - xv[i0] > xv[i1] - dx ? i0 : i1;\n var W = 0,\n X = 0,\n Y = 0,\n XY = 0,\n X2 = 0,\n denom = 1 / Math.abs(xv[edge] - dx || 1); // Avoid singularity\n\n for (var k = i0; k <= i1; ++k) {\n var xk = xv[k],\n yk = yv[k],\n w = tricube(Math.abs(dx - xk) * denom) * robustWeights[k],\n xkw = xk * w;\n W += w;\n X += xkw;\n Y += yk * w;\n XY += yk * xkw;\n X2 += xk * xkw;\n } // Linear regression fit\n\n\n var _ols = ols(X / W, Y / W, XY / W, X2 / W),\n _ols2 = _slicedToArray(_ols, 2),\n a = _ols2[0],\n b = _ols2[1];\n\n yhat[i] = a + b * dx;\n residuals[i] = Math.abs(yv[i] - yhat[i]);\n updateInterval(xv, i + 1, interval);\n }\n\n if (iter === maxiters) {\n break;\n }\n\n var medianResidual = median(residuals);\n if (Math.abs(medianResidual) < epsilon) break;\n\n for (var _i = 0, arg, _w; _i < n; ++_i) {\n arg = residuals[_i] / (6 * medianResidual); // Default to epsilon (rather than zero) for large deviations\n // Keeping weights tiny but non-zero prevents singularites\n\n robustWeights[_i] = arg >= 1 ? epsilon : (_w = 1 - arg * arg) * _w;\n }\n }\n\n return output(xv, yhat, ux, uy);\n }\n\n loess.bandwidth = function (bw) {\n return arguments.length ? (bandwidth = bw, loess) : bandwidth;\n };\n\n loess.x = function (fn) {\n return arguments.length ? (x = fn, loess) : x;\n };\n\n loess.y = function (fn) {\n return arguments.length ? (y = fn, loess) : y;\n };\n\n return loess;\n } // Weighting kernel for local regression\n\n function tricube(x) {\n return (x = 1 - x * x * x) * x * x;\n } // Advance sliding window interval of nearest neighbors\n\n\n function updateInterval(xv, i, interval) {\n var val = xv[i],\n left = interval[0],\n right = interval[1] + 1;\n if (right >= xv.length) return; // Step right if distance to new right edge is <= distance to old left edge\n // Step when distance is equal to ensure movement over duplicate x values\n\n while (i > left && xv[right] - val <= val - xv[left]) {\n interval[0] = ++left;\n interval[1] = right;\n ++right;\n }\n } // Generate smoothed output points\n // Average points with repeated x values\n\n\n function output(xv, yhat, ux, uy) {\n var n = xv.length,\n out = [];\n var i = 0,\n cnt = 0,\n prev = [],\n v;\n\n for (; i < n; ++i) {\n v = xv[i] + ux;\n\n if (prev[0] === v) {\n // Average output values via online update\n prev[1] += (yhat[i] - prev[1]) / ++cnt;\n } else {\n // Add new output point\n cnt = 0;\n prev[1] += uy;\n prev = [v, yhat[i]];\n out.push(prev);\n }\n }\n\n prev[1] += uy;\n return out;\n }\n\n function logarithmic () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n base = Math.E,\n domain;\n\n function logarithmic(data) {\n var n = 0,\n X = 0,\n Y = 0,\n XY = 0,\n X2 = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity,\n lb = Math.log(base);\n visitPoints(data, x, y, function (dx, dy) {\n var lx = Math.log(dx) / lb;\n ++n;\n X += (lx - X) / n;\n Y += (dy - Y) / n;\n XY += (lx * dy - XY) / n;\n X2 += (lx * lx - X2) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(X, Y, XY, X2),\n _ols2 = _slicedToArray(_ols, 2),\n intercept = _ols2[0],\n slope = _ols2[1],\n fn = function fn(x) {\n return slope * Math.log(x) / lb + intercept;\n },\n out = interpose(xmin, xmax, fn);\n\n out.a = slope;\n out.b = intercept;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n logarithmic.domain = function (arr) {\n return arguments.length ? (domain = arr, logarithmic) : domain;\n };\n\n logarithmic.x = function (fn) {\n return arguments.length ? (x = fn, logarithmic) : x;\n };\n\n logarithmic.y = function (fn) {\n return arguments.length ? (y = fn, logarithmic) : y;\n };\n\n logarithmic.base = function (n) {\n return arguments.length ? (base = n, logarithmic) : base;\n };\n\n return logarithmic;\n }\n\n function quad () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function quadratic(data) {\n var _points = points(data, x, y),\n _points2 = _slicedToArray(_points, 4),\n xv = _points2[0],\n yv = _points2[1],\n ux = _points2[2],\n uy = _points2[3],\n n = xv.length;\n\n var X2 = 0,\n X3 = 0,\n X4 = 0,\n XY = 0,\n X2Y = 0,\n i,\n dx,\n dy,\n x2;\n\n for (i = 0; i < n;) {\n dx = xv[i];\n dy = yv[i++];\n x2 = dx * dx;\n X2 += (x2 - X2) / i;\n X3 += (x2 * dx - X3) / i;\n X4 += (x2 * x2 - X4) / i;\n XY += (dx * dy - XY) / i;\n X2Y += (x2 * dy - X2Y) / i;\n }\n\n var Y = 0,\n n0 = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n n0++;\n Y += (dy - Y) / n0;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var X2X2 = X4 - X2 * X2,\n d = X2 * X2X2 - X3 * X3,\n a = (X2Y * X2 - XY * X3) / d,\n b = (XY * X2X2 - X2Y * X3) / d,\n c = -a * X2,\n fn = function fn(x) {\n x = x - ux;\n return a * x * x + b * x + c + uy;\n };\n\n var out = interpose(xmin, xmax, fn);\n out.a = a;\n out.b = b - 2 * a * ux;\n out.c = c - b * ux + a * ux * ux + uy;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n quadratic.domain = function (arr) {\n return arguments.length ? (domain = arr, quadratic) : domain;\n };\n\n quadratic.x = function (fn) {\n return arguments.length ? (x = fn, quadratic) : x;\n };\n\n quadratic.y = function (fn) {\n return arguments.length ? (y = fn, quadratic) : y;\n };\n\n return quadratic;\n }\n\n // Source: https://github.com/Tom-Alexander/regression-js/blob/master/src/regression.js#L246\n // License: https://github.com/Tom-Alexander/regression-js/blob/master/LICENSE\n // ...with ideas from vega-statistics by Jeffrey Heer\n // Source: https://github.com/vega/vega/blob/f21cb8792b4e0cbe2b1a3fd44b0f5db370dbaadb/packages/vega-statistics/src/regression/poly.js\n // License: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/LICENSE\n\n function polynomial () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n order = 3,\n domain;\n\n function polynomial(data) {\n // Use more efficient methods for lower orders\n if (order === 1) {\n var o = linear().x(x).y(y).domain(domain)(data);\n o.coefficients = [o.b, o.a];\n delete o.a;\n delete o.b;\n return o;\n }\n\n if (order === 2) {\n var _o = quad().x(x).y(y).domain(domain)(data);\n\n _o.coefficients = [_o.c, _o.b, _o.a];\n delete _o.a;\n delete _o.b;\n delete _o.c;\n return _o;\n }\n\n var _points = points(data, x, y),\n _points2 = _slicedToArray(_points, 4),\n xv = _points2[0],\n yv = _points2[1],\n ux = _points2[2],\n uy = _points2[3],\n n = xv.length,\n lhs = [],\n rhs = [],\n k = order + 1;\n\n var Y = 0,\n n0 = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n ++n0;\n Y += (dy - Y) / n0;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n var i, j, l, v, c;\n\n for (i = 0; i < k; ++i) {\n for (l = 0, v = 0; l < n; ++l) {\n v += Math.pow(xv[l], i) * yv[l];\n }\n\n lhs.push(v);\n c = new Float64Array(k);\n\n for (j = 0; j < k; ++j) {\n for (l = 0, v = 0; l < n; ++l) {\n v += Math.pow(xv[l], i + j);\n }\n\n c[j] = v;\n }\n\n rhs.push(c);\n }\n\n rhs.push(lhs);\n\n var coef = gaussianElimination(rhs),\n fn = function fn(x) {\n x -= ux;\n var y = uy + coef[0] + coef[1] * x + coef[2] * x * x;\n\n for (i = 3; i < k; ++i) {\n y += coef[i] * Math.pow(x, i);\n }\n\n return y;\n },\n out = interpose(xmin, xmax, fn);\n\n out.coefficients = uncenter(k, coef, -ux, uy);\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n polynomial.domain = function (arr) {\n return arguments.length ? (domain = arr, polynomial) : domain;\n };\n\n polynomial.x = function (fn) {\n return arguments.length ? (x = fn, polynomial) : x;\n };\n\n polynomial.y = function (fn) {\n return arguments.length ? (y = fn, polynomial) : y;\n };\n\n polynomial.order = function (n) {\n return arguments.length ? (order = n, polynomial) : order;\n };\n\n return polynomial;\n }\n\n function uncenter(k, a, x, y) {\n var z = Array(k);\n var i, j, v, c; // initialize to zero\n\n for (i = 0; i < k; ++i) {\n z[i] = 0;\n } // polynomial expansion\n\n\n for (i = k - 1; i >= 0; --i) {\n v = a[i];\n c = 1;\n z[i] += v;\n\n for (j = 1; j <= i; ++j) {\n c *= (i + 1 - j) / j; // binomial coefficent\n\n z[i - j] += v * Math.pow(x, j) * c;\n }\n } // bias term\n\n\n z[0] += y;\n return z;\n } // Given an array for a two-dimensional matrix and the polynomial order,\n // solve A * x = b using Gaussian elimination.\n\n\n function gaussianElimination(matrix) {\n var n = matrix.length - 1,\n coef = [];\n var i, j, k, r, t;\n\n for (i = 0; i < n; ++i) {\n r = i; // max row\n\n for (j = i + 1; j < n; ++j) {\n if (Math.abs(matrix[i][j]) > Math.abs(matrix[i][r])) {\n r = j;\n }\n }\n\n for (k = i; k < n + 1; ++k) {\n t = matrix[k][i];\n matrix[k][i] = matrix[k][r];\n matrix[k][r] = t;\n }\n\n for (j = i + 1; j < n; ++j) {\n for (k = n; k >= i; k--) {\n matrix[k][j] -= matrix[k][i] * matrix[i][j] / matrix[i][i];\n }\n }\n }\n\n for (j = n - 1; j >= 0; --j) {\n t = 0;\n\n for (k = j + 1; k < n; ++k) {\n t += matrix[k][j] * coef[k];\n }\n\n coef[j] = (matrix[n][j] - t) / matrix[j][j];\n }\n\n return coef;\n }\n\n function power () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function power(data) {\n var n = 0,\n X = 0,\n Y = 0,\n XY = 0,\n X2 = 0,\n YS = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n var lx = Math.log(dx),\n ly = Math.log(dy);\n ++n;\n X += (lx - X) / n;\n Y += (ly - Y) / n;\n XY += (lx * ly - XY) / n;\n X2 += (lx * lx - X2) / n;\n YS += (dy - YS) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(X, Y, XY, X2),\n _ols2 = _slicedToArray(_ols, 2),\n a = _ols2[0],\n b = _ols2[1];\n\n a = Math.exp(a);\n\n var fn = function fn(x) {\n return a * Math.pow(x, b);\n },\n out = interpose(xmin, xmax, fn);\n\n out.a = a;\n out.b = b;\n out.predict = fn;\n out.rSquared = determination(data, x, y, YS, fn);\n return out;\n }\n\n power.domain = function (arr) {\n return arguments.length ? (domain = arr, power) : domain;\n };\n\n power.x = function (fn) {\n return arguments.length ? (x = fn, power) : x;\n };\n\n power.y = function (fn) {\n return arguments.length ? (y = fn, power) : y;\n };\n\n return power;\n }\n\n exports.regressionExp = exponential;\n exports.regressionLinear = linear;\n exports.regressionLoess = loess;\n exports.regressionLog = logarithmic;\n exports.regressionPoly = polynomial;\n exports.regressionPow = power;\n exports.regressionQuad = quad;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:0===e&&t>=52?n-1:n}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i 0) {\n throw \"Initial bisect points must have opposite signs\";\n }\n\n if (fA === 0) return a;\n if (fB === 0) return b;\n\n for (var i = 0; i < maxIterations; ++i) {\n delta /= 2;\n var mid = a + delta,\n fMid = f(mid);\n\n if (fMid * fA >= 0) {\n a = mid;\n }\n\n if ((Math.abs(delta) < tolerance) || (fMid === 0)) {\n return mid;\n }\n }\n return a + delta;\n }\n\n // need some basic operations on vectors, rather than adding a dependency,\n // just define here\n function zeros(x) { var r = new Array(x); for (var i = 0; i < x; ++i) { r[i] = 0; } return r; }\n function zerosM(x,y) { return zeros(x).map(function() { return zeros(y); }); }\n\n function dot(a, b) {\n var ret = 0;\n for (var i = 0; i < a.length; ++i) {\n ret += a[i] * b[i];\n }\n return ret;\n }\n\n function norm2(a) {\n return Math.sqrt(dot(a, a));\n }\n\n function scale(ret, value, c) {\n for (var i = 0; i < value.length; ++i) {\n ret[i] = value[i] * c;\n }\n }\n\n function weightedSum(ret, w1, v1, w2, v2) {\n for (var j = 0; j < ret.length; ++j) {\n ret[j] = w1 * v1[j] + w2 * v2[j];\n }\n }\n\n /** minimizes a function using the downhill simplex method */\n function nelderMead(f, x0, parameters) {\n parameters = parameters || {};\n\n var maxIterations = parameters.maxIterations || x0.length * 200,\n nonZeroDelta = parameters.nonZeroDelta || 1.05,\n zeroDelta = parameters.zeroDelta || 0.001,\n minErrorDelta = parameters.minErrorDelta || 1e-6,\n minTolerance = parameters.minErrorDelta || 1e-5,\n rho = (parameters.rho !== undefined) ? parameters.rho : 1,\n chi = (parameters.chi !== undefined) ? parameters.chi : 2,\n psi = (parameters.psi !== undefined) ? parameters.psi : -0.5,\n sigma = (parameters.sigma !== undefined) ? parameters.sigma : 0.5,\n maxDiff;\n\n // initialize simplex.\n var N = x0.length,\n simplex = new Array(N + 1);\n simplex[0] = x0;\n simplex[0].fx = f(x0);\n simplex[0].id = 0;\n for (var i = 0; i < N; ++i) {\n var point = x0.slice();\n point[i] = point[i] ? point[i] * nonZeroDelta : zeroDelta;\n simplex[i+1] = point;\n simplex[i+1].fx = f(point);\n simplex[i+1].id = i+1;\n }\n\n function updateSimplex(value) {\n for (var i = 0; i < value.length; i++) {\n simplex[N][i] = value[i];\n }\n simplex[N].fx = value.fx;\n }\n\n var sortOrder = function(a, b) { return a.fx - b.fx; };\n\n var centroid = x0.slice(),\n reflected = x0.slice(),\n contracted = x0.slice(),\n expanded = x0.slice();\n\n for (var iteration = 0; iteration < maxIterations; ++iteration) {\n simplex.sort(sortOrder);\n\n if (parameters.history) {\n // copy the simplex (since later iterations will mutate) and\n // sort it to have a consistent order between iterations\n var sortedSimplex = simplex.map(function (x) {\n var state = x.slice();\n state.fx = x.fx;\n state.id = x.id;\n return state;\n });\n sortedSimplex.sort(function(a,b) { return a.id - b.id; });\n\n parameters.history.push({x: simplex[0].slice(),\n fx: simplex[0].fx,\n simplex: sortedSimplex});\n }\n\n maxDiff = 0;\n for (i = 0; i < N; ++i) {\n maxDiff = Math.max(maxDiff, Math.abs(simplex[0][i] - simplex[1][i]));\n }\n\n if ((Math.abs(simplex[0].fx - simplex[N].fx) < minErrorDelta) &&\n (maxDiff < minTolerance)) {\n break;\n }\n\n // compute the centroid of all but the worst point in the simplex\n for (i = 0; i < N; ++i) {\n centroid[i] = 0;\n for (var j = 0; j < N; ++j) {\n centroid[i] += simplex[j][i];\n }\n centroid[i] /= N;\n }\n\n // reflect the worst point past the centroid and compute loss at reflected\n // point\n var worst = simplex[N];\n weightedSum(reflected, 1+rho, centroid, -rho, worst);\n reflected.fx = f(reflected);\n\n // if the reflected point is the best seen, then possibly expand\n if (reflected.fx < simplex[0].fx) {\n weightedSum(expanded, 1+chi, centroid, -chi, worst);\n expanded.fx = f(expanded);\n if (expanded.fx < reflected.fx) {\n updateSimplex(expanded);\n } else {\n updateSimplex(reflected);\n }\n }\n\n // if the reflected point is worse than the second worst, we need to\n // contract\n else if (reflected.fx >= simplex[N-1].fx) {\n var shouldReduce = false;\n\n if (reflected.fx > worst.fx) {\n // do an inside contraction\n weightedSum(contracted, 1+psi, centroid, -psi, worst);\n contracted.fx = f(contracted);\n if (contracted.fx < worst.fx) {\n updateSimplex(contracted);\n } else {\n shouldReduce = true;\n }\n } else {\n // do an outside contraction\n weightedSum(contracted, 1-psi * rho, centroid, psi*rho, worst);\n contracted.fx = f(contracted);\n if (contracted.fx < reflected.fx) {\n updateSimplex(contracted);\n } else {\n shouldReduce = true;\n }\n }\n\n if (shouldReduce) {\n // if we don't contract here, we're done\n if (sigma >= 1) break;\n\n // do a reduction\n for (i = 1; i < simplex.length; ++i) {\n weightedSum(simplex[i], 1 - sigma, simplex[0], sigma, simplex[i]);\n simplex[i].fx = f(simplex[i]);\n }\n }\n } else {\n updateSimplex(reflected);\n }\n }\n\n simplex.sort(sortOrder);\n return {fx : simplex[0].fx,\n x : simplex[0]};\n }\n\n /// searches along line 'pk' for a point that satifies the wolfe conditions\n /// See 'Numerical Optimization' by Nocedal and Wright p59-60\n /// f : objective function\n /// pk : search direction\n /// current: object containing current gradient/loss\n /// next: output: contains next gradient/loss\n /// returns a: step size taken\n function wolfeLineSearch(f, pk, current, next, a, c1, c2) {\n var phi0 = current.fx, phiPrime0 = dot(current.fxprime, pk),\n phi = phi0, phi_old = phi0,\n phiPrime = phiPrime0,\n a0 = 0;\n\n a = a || 1;\n c1 = c1 || 1e-6;\n c2 = c2 || 0.1;\n\n function zoom(a_lo, a_high, phi_lo) {\n for (var iteration = 0; iteration < 16; ++iteration) {\n a = (a_lo + a_high)/2;\n weightedSum(next.x, 1.0, current.x, a, pk);\n phi = next.fx = f(next.x, next.fxprime);\n phiPrime = dot(next.fxprime, pk);\n\n if ((phi > (phi0 + c1 * a * phiPrime0)) ||\n (phi >= phi_lo)) {\n a_high = a;\n\n } else {\n if (Math.abs(phiPrime) <= -c2 * phiPrime0) {\n return a;\n }\n\n if (phiPrime * (a_high - a_lo) >=0) {\n a_high = a_lo;\n }\n\n a_lo = a;\n phi_lo = phi;\n }\n }\n\n return 0;\n }\n\n for (var iteration = 0; iteration < 10; ++iteration) {\n weightedSum(next.x, 1.0, current.x, a, pk);\n phi = next.fx = f(next.x, next.fxprime);\n phiPrime = dot(next.fxprime, pk);\n if ((phi > (phi0 + c1 * a * phiPrime0)) ||\n (iteration && (phi >= phi_old))) {\n return zoom(a0, a, phi_old);\n }\n\n if (Math.abs(phiPrime) <= -c2 * phiPrime0) {\n return a;\n }\n\n if (phiPrime >= 0 ) {\n return zoom(a, a0, phi);\n }\n\n phi_old = phi;\n a0 = a;\n a *= 2;\n }\n\n return a;\n }\n\n function conjugateGradient(f, initial, params) {\n // allocate all memory up front here, keep out of the loop for perfomance\n // reasons\n var current = {x: initial.slice(), fx: 0, fxprime: initial.slice()},\n next = {x: initial.slice(), fx: 0, fxprime: initial.slice()},\n yk = initial.slice(),\n pk, temp,\n a = 1,\n maxIterations;\n\n params = params || {};\n maxIterations = params.maxIterations || initial.length * 20;\n\n current.fx = f(current.x, current.fxprime);\n pk = current.fxprime.slice();\n scale(pk, current.fxprime,-1);\n\n for (var i = 0; i < maxIterations; ++i) {\n a = wolfeLineSearch(f, pk, current, next, a);\n\n // todo: history in wrong spot?\n if (params.history) {\n params.history.push({x: current.x.slice(),\n fx: current.fx,\n fxprime: current.fxprime.slice(),\n alpha: a});\n }\n\n if (!a) {\n // faiiled to find point that satifies wolfe conditions.\n // reset direction for next iteration\n scale(pk, current.fxprime, -1);\n\n } else {\n // update direction using Polak–Ribiere CG method\n weightedSum(yk, 1, next.fxprime, -1, current.fxprime);\n\n var delta_k = dot(current.fxprime, current.fxprime),\n beta_k = Math.max(0, dot(yk, next.fxprime) / delta_k);\n\n weightedSum(pk, beta_k, pk, -1, next.fxprime);\n\n temp = current;\n current = next;\n next = temp;\n }\n\n if (norm2(current.fxprime) <= 1e-5) {\n break;\n }\n }\n\n if (params.history) {\n params.history.push({x: current.x.slice(),\n fx: current.fx,\n fxprime: current.fxprime.slice(),\n alpha: a});\n }\n\n return current;\n }\n\n function gradientDescent(f, initial, params) {\n params = params || {};\n var maxIterations = params.maxIterations || initial.length * 100,\n learnRate = params.learnRate || 0.001,\n current = {x: initial.slice(), fx: 0, fxprime: initial.slice()};\n\n for (var i = 0; i < maxIterations; ++i) {\n current.fx = f(current.x, current.fxprime);\n if (params.history) {\n params.history.push({x: current.x.slice(),\n fx: current.fx,\n fxprime: current.fxprime.slice()});\n }\n\n weightedSum(current.x, 1, current.x, -learnRate, current.fxprime);\n if (norm2(current.fxprime) <= 1e-5) {\n break;\n }\n }\n\n return current;\n }\n\n function gradientDescentLineSearch(f, initial, params) {\n params = params || {};\n var current = {x: initial.slice(), fx: 0, fxprime: initial.slice()},\n next = {x: initial.slice(), fx: 0, fxprime: initial.slice()},\n maxIterations = params.maxIterations || initial.length * 100,\n learnRate = params.learnRate || 1,\n pk = initial.slice(),\n c1 = params.c1 || 1e-3,\n c2 = params.c2 || 0.1,\n temp,\n functionCalls = [];\n\n if (params.history) {\n // wrap the function call to track linesearch samples\n var inner = f;\n f = function(x, fxprime) {\n functionCalls.push(x.slice());\n return inner(x, fxprime);\n };\n }\n\n current.fx = f(current.x, current.fxprime);\n for (var i = 0; i < maxIterations; ++i) {\n scale(pk, current.fxprime, -1);\n learnRate = wolfeLineSearch(f, pk, current, next, learnRate, c1, c2);\n\n if (params.history) {\n params.history.push({x: current.x.slice(),\n fx: current.fx,\n fxprime: current.fxprime.slice(),\n functionCalls: functionCalls,\n learnRate: learnRate,\n alpha: learnRate});\n functionCalls = [];\n }\n\n\n temp = current;\n current = next;\n next = temp;\n\n if ((learnRate === 0) || (norm2(current.fxprime) < 1e-5)) break;\n }\n\n return current;\n }\n\n exports.bisect = bisect;\n exports.nelderMead = nelderMead;\n exports.conjugateGradient = conjugateGradient;\n exports.gradientDescent = gradientDescent;\n exports.gradientDescentLineSearch = gradientDescentLineSearch;\n exports.zeros = zeros;\n exports.zerosM = zerosM;\n exports.norm2 = norm2;\n exports.weightedSum = weightedSum;\n exports.scale = scale;\n\n}));","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","/**\n * Common utilities\n * @module glMatrix\n */\n// Configuration Constants\nexport var EPSILON = 0.000001;\nexport var ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nexport var RANDOM = Math.random;\n/**\n * Sets the type of array used when creating new vectors and matrices\n *\n * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array\n */\n\nexport function setMatrixArrayType(type) {\n ARRAY_TYPE = type;\n}\nvar degree = Math.PI / 180;\n/**\n * Convert Degree To Radian\n *\n * @param {Number} a Angle in Degrees\n */\n\nexport function toRadian(a) {\n return a * degree;\n}\n/**\n * Tests whether or not the arguments have approximately the same value, within an absolute\n * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less\n * than or equal to 1.0, and a relative tolerance is used for larger values)\n *\n * @param {Number} a The first number to test.\n * @param {Number} b The second number to test.\n * @returns {Boolean} True if the numbers are approximately equal, false otherwise.\n */\n\nexport function equals(a, b) {\n return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));\n}\nif (!Math.hypot) Math.hypot = function () {\n var y = 0,\n i = arguments.length;\n\n while (i--) {\n y += arguments[i] * arguments[i];\n }\n\n return Math.sqrt(y);\n};","import * as glMatrix from \"./common.js\";\n/**\n * 3x3 Matrix\n * @module mat3\n */\n\n/**\n * Creates a new identity mat3\n *\n * @returns {mat3} a new 3x3 matrix\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(9);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n }\n\n out[0] = 1;\n out[4] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the upper-left 3x3 values into the given mat3.\n *\n * @param {mat3} out the receiving 3x3 matrix\n * @param {ReadonlyMat4} a the source 4x4 matrix\n * @returns {mat3} out\n */\n\nexport function fromMat4(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[4];\n out[4] = a[5];\n out[5] = a[6];\n out[6] = a[8];\n out[7] = a[9];\n out[8] = a[10];\n return out;\n}\n/**\n * Creates a new mat3 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat3} a matrix to clone\n * @returns {mat3} a new 3x3 matrix\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Copy the values from one mat3 to another\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Create a new mat3 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} A new mat3\n */\n\nexport function fromValues(m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set the components of a mat3 to the given values\n *\n * @param {mat3} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} out\n */\n\nexport function set(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */\n\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a12 = a[5];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a01;\n out[5] = a[7];\n out[6] = a02;\n out[7] = a12;\n } else {\n out[0] = a[0];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a[1];\n out[4] = a[4];\n out[5] = a[7];\n out[6] = a[2];\n out[7] = a[5];\n out[8] = a[8];\n }\n\n return out;\n}\n/**\n * Inverts a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b01 = a22 * a11 - a12 * a21;\n var b11 = -a22 * a10 + a12 * a20;\n var b21 = a21 * a10 - a11 * a20; // Calculate the determinant\n\n var det = a00 * b01 + a01 * b11 + a02 * b21;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n out[0] = a11 * a22 - a12 * a21;\n out[1] = a02 * a21 - a01 * a22;\n out[2] = a01 * a12 - a02 * a11;\n out[3] = a12 * a20 - a10 * a22;\n out[4] = a00 * a22 - a02 * a20;\n out[5] = a02 * a10 - a00 * a12;\n out[6] = a10 * a21 - a11 * a20;\n out[7] = a01 * a20 - a00 * a21;\n out[8] = a00 * a11 - a01 * a10;\n return out;\n}\n/**\n * Calculates the determinant of a mat3\n *\n * @param {ReadonlyMat3} a the source matrix\n * @returns {Number} determinant of a\n */\n\nexport function determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);\n}\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b00 = b[0],\n b01 = b[1],\n b02 = b[2];\n var b10 = b[3],\n b11 = b[4],\n b12 = b[5];\n var b20 = b[6],\n b21 = b[7],\n b22 = b[8];\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to translate\n * @param {ReadonlyVec2} v vector to translate by\n * @returns {mat3} out\n */\n\nexport function translate(out, a, v) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n x = v[0],\n y = v[1];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a10;\n out[4] = a11;\n out[5] = a12;\n out[6] = x * a00 + y * a10 + a20;\n out[7] = x * a01 + y * a11 + a21;\n out[8] = x * a02 + y * a12 + a22;\n return out;\n}\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nexport function rotate(out, a, rad) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c * a00 + s * a10;\n out[1] = c * a01 + s * a11;\n out[2] = c * a02 + s * a12;\n out[3] = c * a10 - s * a00;\n out[4] = c * a11 - s * a01;\n out[5] = c * a12 - s * a02;\n out[6] = a20;\n out[7] = a21;\n out[8] = a22;\n return out;\n}\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/\n\nexport function scale(out, a, v) {\n var x = v[0],\n y = v[1];\n out[0] = x * a[0];\n out[1] = x * a[1];\n out[2] = x * a[2];\n out[3] = y * a[3];\n out[4] = y * a[4];\n out[5] = y * a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.translate(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Translation vector\n * @returns {mat3} out\n */\n\nexport function fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = v[0];\n out[7] = v[1];\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.rotate(dest, dest, rad);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nexport function fromRotation(out, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = -s;\n out[4] = c;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.scale(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat3} out\n */\n\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = v[1];\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the values from a mat2d into a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to copy\n * @returns {mat3} out\n **/\n\nexport function fromMat2d(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = 0;\n out[3] = a[2];\n out[4] = a[3];\n out[5] = 0;\n out[6] = a[4];\n out[7] = a[5];\n out[8] = 1;\n return out;\n}\n/**\n * Calculates a 3x3 matrix from the given quaternion\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat3} out\n */\n\nexport function fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[3] = yx - wz;\n out[6] = zx + wy;\n out[1] = yx + wz;\n out[4] = 1 - xx - zz;\n out[7] = zy - wx;\n out[2] = zx - wy;\n out[5] = zy + wx;\n out[8] = 1 - xx - yy;\n return out;\n}\n/**\n * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyMat4} a Mat4 to derive the normal matrix from\n *\n * @returns {mat3} out\n */\n\nexport function normalFromMat4(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n return out;\n}\n/**\n * Generates a 2D projection matrix with the given bounds\n *\n * @param {mat3} out mat3 frustum matrix will be written into\n * @param {number} width Width of your gl context\n * @param {number} height Height of gl context\n * @returns {mat3} out\n */\n\nexport function projection(out, width, height) {\n out[0] = 2 / width;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = -2 / height;\n out[5] = 0;\n out[6] = -1;\n out[7] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat3\n *\n * @param {ReadonlyMat3} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\nexport function str(a) {\n return \"mat3(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat3\n *\n * @param {ReadonlyMat3} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\nexport function frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);\n}\n/**\n * Adds two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat3} out\n */\n\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n return out;\n}\n/**\n * Adds two mat3's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat3} out the receiving vector\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat3} out\n */\n\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7],\n a8 = a[8];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8));\n}\n/**\n * Alias for {@link mat3.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link mat3.subtract}\n * @function\n */\n\nexport var sub = subtract;","import * as glMatrix from \"./common.js\";\n/**\n * 2 Dimensional Vector\n * @module vec2\n */\n\n/**\n * Creates a new, empty vec2\n *\n * @returns {vec2} a new 2D vector\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(2);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n }\n\n return out;\n}\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {ReadonlyVec2} a vector to clone\n * @returns {vec2} a new 2D vector\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(2);\n out[0] = a[0];\n out[1] = a[1];\n return out;\n}\n/**\n * Creates a new vec2 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} a new 2D vector\n */\n\nexport function fromValues(x, y) {\n var out = new glMatrix.ARRAY_TYPE(2);\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * Copy the values from one vec2 to another\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the source vector\n * @returns {vec2} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n return out;\n}\n/**\n * Set the components of a vec2 to the given values\n *\n * @param {vec2} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} out\n */\n\nexport function set(out, x, y) {\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * Adds two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n return out;\n}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n return out;\n}\n/**\n * Multiplies two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\nexport function multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n return out;\n}\n/**\n * Divides two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\nexport function divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n return out;\n}\n/**\n * Math.ceil the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to ceil\n * @returns {vec2} out\n */\n\nexport function ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n return out;\n}\n/**\n * Math.floor the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to floor\n * @returns {vec2} out\n */\n\nexport function floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n return out;\n}\n/**\n * Returns the minimum of two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\nexport function min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n return out;\n}\n/**\n * Returns the maximum of two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\nexport function max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n return out;\n}\n/**\n * Math.round the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to round\n * @returns {vec2} out\n */\n\nexport function round(out, a) {\n out[0] = Math.round(a[0]);\n out[1] = Math.round(a[1]);\n return out;\n}\n/**\n * Scales a vec2 by a scalar number\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec2} out\n */\n\nexport function scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n return out;\n}\n/**\n * Adds two vec2's after scaling the second operand by a scalar value\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec2} out\n */\n\nexport function scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n return out;\n}\n/**\n * Calculates the euclidian distance between two vec2's\n *\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {Number} distance between a and b\n */\n\nexport function distance(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1];\n return Math.hypot(x, y);\n}\n/**\n * Calculates the squared euclidian distance between two vec2's\n *\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {Number} squared distance between a and b\n */\n\nexport function squaredDistance(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1];\n return x * x + y * y;\n}\n/**\n * Calculates the length of a vec2\n *\n * @param {ReadonlyVec2} a vector to calculate length of\n * @returns {Number} length of a\n */\n\nexport function length(a) {\n var x = a[0],\n y = a[1];\n return Math.hypot(x, y);\n}\n/**\n * Calculates the squared length of a vec2\n *\n * @param {ReadonlyVec2} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\n\nexport function squaredLength(a) {\n var x = a[0],\n y = a[1];\n return x * x + y * y;\n}\n/**\n * Negates the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to negate\n * @returns {vec2} out\n */\n\nexport function negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n return out;\n}\n/**\n * Returns the inverse of the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to invert\n * @returns {vec2} out\n */\n\nexport function inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n return out;\n}\n/**\n * Normalize a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to normalize\n * @returns {vec2} out\n */\n\nexport function normalize(out, a) {\n var x = a[0],\n y = a[1];\n var len = x * x + y * y;\n\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n }\n\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n return out;\n}\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {Number} dot product of a and b\n */\n\nexport function dot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n}\n/**\n * Computes the cross product of two vec2's\n * Note that the cross product must by definition produce a 3D vector\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec3} out\n */\n\nexport function cross(out, a, b) {\n var z = a[0] * b[1] - a[1] * b[0];\n out[0] = out[1] = 0;\n out[2] = z;\n return out;\n}\n/**\n * Performs a linear interpolation between two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec2} out\n */\n\nexport function lerp(out, a, b, t) {\n var ax = a[0],\n ay = a[1];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n return out;\n}\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec2} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec2} out\n */\n\nexport function random(out, scale) {\n scale = scale || 1.0;\n var r = glMatrix.RANDOM() * 2.0 * Math.PI;\n out[0] = Math.cos(r) * scale;\n out[1] = Math.sin(r) * scale;\n return out;\n}\n/**\n * Transforms the vec2 with a mat2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat2} m matrix to transform with\n * @returns {vec2} out\n */\n\nexport function transformMat2(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[2] * y;\n out[1] = m[1] * x + m[3] * y;\n return out;\n}\n/**\n * Transforms the vec2 with a mat2d\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat2d} m matrix to transform with\n * @returns {vec2} out\n */\n\nexport function transformMat2d(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\n/**\n * Transforms the vec2 with a mat3\n * 3rd vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat3} m matrix to transform with\n * @returns {vec2} out\n */\n\nexport function transformMat3(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[3] * y + m[6];\n out[1] = m[1] * x + m[4] * y + m[7];\n return out;\n}\n/**\n * Transforms the vec2 with a mat4\n * 3rd vector component is implicitly '0'\n * 4th vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec2} out\n */\n\nexport function transformMat4(out, a, m) {\n var x = a[0];\n var y = a[1];\n out[0] = m[0] * x + m[4] * y + m[12];\n out[1] = m[1] * x + m[5] * y + m[13];\n return out;\n}\n/**\n * Rotate a 2D vector\n * @param {vec2} out The receiving vec2\n * @param {ReadonlyVec2} a The vec2 point to rotate\n * @param {ReadonlyVec2} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec2} out\n */\n\nexport function rotate(out, a, b, rad) {\n //Translate point to the origin\n var p0 = a[0] - b[0],\n p1 = a[1] - b[1],\n sinC = Math.sin(rad),\n cosC = Math.cos(rad); //perform rotation and translate to correct position\n\n out[0] = p0 * cosC - p1 * sinC + b[0];\n out[1] = p0 * sinC + p1 * cosC + b[1];\n return out;\n}\n/**\n * Get the angle between two 2D vectors\n * @param {ReadonlyVec2} a The first operand\n * @param {ReadonlyVec2} b The second operand\n * @returns {Number} The angle in radians\n */\n\nexport function angle(a, b) {\n var x1 = a[0],\n y1 = a[1],\n x2 = b[0],\n y2 = b[1],\n // mag is the product of the magnitudes of a and b\n mag = Math.sqrt(x1 * x1 + y1 * y1) * Math.sqrt(x2 * x2 + y2 * y2),\n // mag &&.. short circuits if mag == 0\n cosine = mag && (x1 * x2 + y1 * y2) / mag; // Math.min(Math.max(cosine, -1), 1) clamps the cosine between -1 and 1\n\n return Math.acos(Math.min(Math.max(cosine, -1), 1));\n}\n/**\n * Set the components of a vec2 to zero\n *\n * @param {vec2} out the receiving vector\n * @returns {vec2} out\n */\n\nexport function zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n return out;\n}\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec2} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\n\nexport function str(a) {\n return \"vec2(\" + a[0] + \", \" + a[1] + \")\";\n}\n/**\n * Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec2} a The first vector.\n * @param {ReadonlyVec2} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1];\n}\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec2} a The first vector.\n * @param {ReadonlyVec2} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1];\n var b0 = b[0],\n b1 = b[1];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1));\n}\n/**\n * Alias for {@link vec2.length}\n * @function\n */\n\nexport var len = length;\n/**\n * Alias for {@link vec2.subtract}\n * @function\n */\n\nexport var sub = subtract;\n/**\n * Alias for {@link vec2.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link vec2.divide}\n * @function\n */\n\nexport var div = divide;\n/**\n * Alias for {@link vec2.distance}\n * @function\n */\n\nexport var dist = distance;\n/**\n * Alias for {@link vec2.squaredDistance}\n * @function\n */\n\nexport var sqrDist = squaredDistance;\n/**\n * Alias for {@link vec2.squaredLength}\n * @function\n */\n\nexport var sqrLen = squaredLength;\n/**\n * Perform some operation over an array of vec2s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\n\nexport var forEach = function () {\n var vec = create();\n return function (a, stride, offset, count, fn, arg) {\n var i, l;\n\n if (!stride) {\n stride = 2;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n }\n\n return a;\n };\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","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\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/**\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 to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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 return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\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\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\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\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\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\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\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\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\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\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\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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 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 * 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/** 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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\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/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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/**\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\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\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\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/**\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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 // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\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\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\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 // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\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\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\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\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\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\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\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\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 length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\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\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\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\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\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\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\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\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\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\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\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.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 * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\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\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\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\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\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\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\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\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 = isEqual;\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\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/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\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/**\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 to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\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\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\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\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\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\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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 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 * 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/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(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\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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\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\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\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 = mergeWith;\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 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 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 * 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","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 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","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 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 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","/**\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","/**\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","/**\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 root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\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","/** 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 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 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 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","/** 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","/**\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","/**\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","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","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 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","/** 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 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","/** 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","/**\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 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 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 baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.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 * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\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 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 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","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var 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 match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\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 rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\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/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var 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\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\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 */\n function 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\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\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 */\n function 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\n /**\n * A specialized version of `_.forEachRight` 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 */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` 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 {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(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 false;\n }\n }\n return true;\n }\n\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 */\n function 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\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 */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * A specialized version of `_.reduce` 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 * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` 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 * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\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 */\n function 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\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\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 */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\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 */\n function 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\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 */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\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 * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\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 */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` 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 mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\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 */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\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 */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\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 */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\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 */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\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 */\n function 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\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 */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\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 */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\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 */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\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 */\n function 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\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 */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\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 */\n function 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\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\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 */\n function 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\n /**\n * A specialized version of `_.lastIndexOf` 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 */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\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 */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\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 */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\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 */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\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 */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\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 */\n var 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\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function 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 /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\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 */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\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 */\n function 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\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 */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\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 */\n function 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\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function 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 /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\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 */\n function 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\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 */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\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 */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\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 */\n function 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\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\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 */\n function 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 /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\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 */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\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 */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\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 */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\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 */\n function 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\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\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 */\n function 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 /**\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 */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\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 */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\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 */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\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 */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\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 */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\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 */\n function stackHas(key) {\n return this.__data__.has(key);\n }\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 */\n function 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\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\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 */\n function 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\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\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 */\n function 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\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\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 */\n function 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\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 */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` 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 */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` 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 {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\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 */\n function 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\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\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 */\n function 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\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 */\n function 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\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 */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\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 */\n var baseForRight = createBaseFor(true);\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 */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` 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 */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\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 */\n function 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\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 */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\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 */\n function 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\n /**\n * The base implementation of `_.gt` 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 greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` 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 */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\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 */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays 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 array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\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 */\n function 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\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 */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\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 */\n function 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\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 */\n function 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\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\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 */\n function 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\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 */\n function 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\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\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 */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\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 */\n function baseLt(value, other) {\n return value < other;\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\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 */\n function 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(getIteratee()));\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\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 */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\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 */\n function 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\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 */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\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 */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\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 */\n function 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\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\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 */\n var 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\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\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 */\n function 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\n /**\n * The base implementation of `_.some` 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 {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * 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 * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\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 */\n function 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\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 */\n function 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\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays 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 array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\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 */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\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 */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\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 */\n function 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\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\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 */\n function 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\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 */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\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 */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\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 */\n function 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\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 */\n function 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\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\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 */\n function 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\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 */\n function 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\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\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 */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\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 */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\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 */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * 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 */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\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 */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\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 */\n function 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\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 */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\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 */\n function 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\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 */\n var 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\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\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 */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((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\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\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 */\n function 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\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\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 */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\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 */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\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 */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\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 */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\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 */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\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 */\n function 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\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 */\n function 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\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\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 */\n function 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\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 */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\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 */\n function 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\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 */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\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 */\n function 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\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\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 */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\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 */\n function 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\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\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 */\n var 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\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 */\n function 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\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 */\n function 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\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\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 */\n function 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\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\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 */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\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 * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\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 * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\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 */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\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 */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but 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 {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all 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 * @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 intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\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 */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\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 */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\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 */\n function 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\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.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 * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\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 */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, 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 {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\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 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\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 */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.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 flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.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 flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.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 * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\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 */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\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 _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is 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} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\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 */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.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 array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\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 * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\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 * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\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 _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\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 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\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 */\n var 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\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\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 */\n function 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`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\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 * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\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 */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\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 */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\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 */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\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 an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\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 */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\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 */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or 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 boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\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 */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` 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 date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\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 DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\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 */\n function 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\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.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 * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\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 * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\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 an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\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 finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\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 */\n function 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\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\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 integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\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 */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\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 */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\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 */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\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 map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\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 `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\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 native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\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 `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\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 */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\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 number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\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 */\n function 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\n /**\n * Checks if `value` is classified as a `RegExp` 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 regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\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 safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\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 set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\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 */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\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 */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\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 weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\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 weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\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 */\n function 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\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 */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is 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 convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\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 */\n function 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\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 */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\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 * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\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 */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\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 */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\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 = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\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 */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\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 */\n var invoke = baseRest(baseInvoke);\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 */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\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 */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\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 */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\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 omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\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 */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\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 * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\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 assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\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 values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values 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 values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN 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 OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all 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,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\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 \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\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 \"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 \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\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 \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","import { QuillDeltaToHtmlConverter } from 'quill-delta-to-html' // this library is garbage, needs to be replaced by a custom solution (a lot of work) but should do the trick as an MVP\r\nimport { DeltaOperation } from 'quill'\r\nimport { jsPDF } from 'jspdf'\r\n\r\nexport const exportAsPdf = async (editorContent: DeltaOperation[], fileName: string): Promise => {\r\n const pdf = new jsPDF('p', 'px', 'letter')\r\n \r\n const converter = new QuillDeltaToHtmlConverter(editorContent as DeltaOperation[])\r\n const html = converter.convert()\r\n\r\n const htmlElement = document.createElement('div')\r\n htmlElement.style.width = '100%'\r\n htmlElement.style.fontSize = '0.5em'\r\n htmlElement.style.display = 'block'\r\n htmlElement.style.padding = '30px'\r\n htmlElement.innerHTML = html\r\n\r\n pdf.html(htmlElement, {\r\n margin: 30,\r\n callback: (pdf: jsPDF) => {\r\n pdf.save(fileName + '.pdf')\r\n htmlElement.remove()\r\n },\r\n autoPaging: true,\r\n })\r\n\r\n return pdf\r\n}","import React, { useContext, useEffect, useState } from 'react'\r\nimport { IndentedOption, SubOptionsRow } from './utils'\r\nimport { InputNumber } from 'antd'\r\nimport { CourseContext } from '../../../Course/CourseContext'\r\nimport { Course } from '../../../Course/types'\r\n\r\nconst DEFAULT_VALIDITY = 6\r\n\r\ntype CertificateValidityOptionProps = {\r\n course: Course\r\n examValidityMonths: number\r\n}\r\n\r\nconst CertificateValidityOption = ({ course, examValidityMonths }: CertificateValidityOptionProps) => {\r\n const { updateCourse } = useContext(CourseContext)\r\n const [ validity, setValidity ] = useState(examValidityMonths || DEFAULT_VALIDITY)\r\n\r\n useEffect(() => {\r\n if (validity) {\r\n updateCourse({\r\n ...course,\r\n examValidityMonths: validity,\r\n })\r\n }\r\n }, [ validity ])\r\n\r\n return (\r\n \r\n \r\n Gültigkeit in Monaten {/* TODO: i18n */}\r\n \r\n \r\n setValidity(value || 0)}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default CertificateValidityOption","import React from 'react'\r\nimport { DeltaOperation } from 'quill'\r\nimport { IconButton, Menu, MenuButton, MenuDivider, MenuList, MenuOptionGroup } from '@chakra-ui/react'\r\nimport { DollarCircleOutlined, HourglassOutlined, OneToOneOutlined, SettingOutlined, ShareAltOutlined } from '@ant-design/icons'\r\n\r\nimport { FlexRow } from '../../FlexboxReusables/FlexItems'\r\nimport PurchaseOptions from './Options/PurchaseOptions'\r\nimport EditorSettingsOption from './Options/EditorSettingsOption'\r\nimport ShareOption from './Options/ShareOption'\r\nimport { exportAsPdf } from '../pdfExport'\r\nimport type { Course } from '../../Course/types'\r\nimport styled from 'styled-components'\r\nimport CertificateValidityOption from './Options/CertificateValidityOption'\r\n\r\ntype OptionsMenuProps = {\r\n course: Course\r\n deleteCourse: (id: number) => void\r\n}\r\n\r\nconst OptionsMenu: React.FC = ({ course, deleteCourse }) => {\r\n return (\r\n \r\n \r\n }\r\n variant='outline'\r\n height={8}\r\n width={12}\r\n marginRight={'1em'}\r\n />\r\n \r\n \r\n \r\n Kaufoptionen {/* TODO: i18n */}\r\n \r\n ) as unknown as string} // as per types this does not accept JSX Elements but it works fine.\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Editor-Einstellungen {/* TODO: i18n */}\r\n \r\n ) as unknown as string}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Teilen/Freigeben {/* TODO: i18n */}\r\n \r\n ) as unknown as string}\r\n >\r\n exportAsPdf(course.pages[0].content.ops as DeltaOperation[], course.name)} // TODO: change this, this is only the first page!\r\n />\r\n \r\n \r\n \r\n \r\n Zertifikatsgültigkeit {/* TODO: i18n */}\r\n \r\n ) as unknown as string}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default OptionsMenu\r\n\r\nconst TitleRow = styled.div`\r\n font-weight: bold;\r\n font-size: 1.1em;\r\n`","import { cx } from \"@chakra-ui/shared-utils\"\nimport { HTMLChakraProps, chakra, forwardRef } from \"@chakra-ui/system\"\n\ntype Omitted = \"disabled\" | \"required\" | \"readOnly\" | \"size\"\n\nexport interface SelectFieldProps\n extends Omit, Omitted> {\n /**\n * @default false\n */\n isDisabled?: boolean\n}\n\nexport const SelectField = forwardRef(\n function SelectField(props, ref) {\n const { children, placeholder, className, ...rest } = props\n\n return (\n \n {placeholder && }\n {children}\n \n )\n },\n)\n\nSelectField.displayName = \"SelectField\"\n","import { createContext } from \"@chakra-ui/react-context\"\nimport { PropGetter } from \"@chakra-ui/react-types\"\nimport { mergeRefs } from \"@chakra-ui/react-use-merge-refs\"\nimport {\n chakra,\n forwardRef,\n HTMLChakraProps,\n omitThemingProps,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n} from \"@chakra-ui/system\"\nimport { cx, dataAttr } from \"@chakra-ui/shared-utils\"\nimport { useCallback, useId, useState } from \"react\"\n\nconst [FormControlStylesProvider, useFormControlStyles] = createContext<\n Record\n>({\n name: `FormControlStylesContext`,\n errorMessage: `useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" `,\n})\n\nexport { useFormControlContext, useFormControlStyles }\n\nexport interface FormControlOptions {\n /**\n * If `true`, the form control will be required. This has 2 side effects:\n * - The `FormLabel` will show a required indicator\n * - The form element (e.g, Input) will have `aria-required` set to `true`\n *\n * @default false\n */\n isRequired?: boolean\n /**\n * If `true`, the form control will be disabled. This has 2 side effects:\n * - The `FormLabel` will have `data-disabled` attribute\n * - The form element (e.g, Input) will be disabled\n *\n * @default false\n */\n isDisabled?: boolean\n /**\n * If `true`, the form control will be invalid. This has 2 side effects:\n * - The `FormLabel` and `FormErrorIcon` will have `data-invalid` set to `true`\n * - The form element (e.g, Input) will have `aria-invalid` set to `true`\n *\n * @default false\n */\n isInvalid?: boolean\n /**\n * If `true`, the form control will be readonly\n *\n * @default false\n */\n isReadOnly?: boolean\n}\n\ninterface FormControlContext extends FormControlOptions {\n /**\n * The label text used to inform users as to what information is\n * requested for a text field.\n */\n label?: string\n /**\n * The custom `id` to use for the form control. This is passed directly to the form element (e.g, Input).\n * - The form element (e.g. Input) gets the `id`\n * - The form label id: `form-label-${id}`\n * - The form error text id: `form-error-text-${id}`\n * - The form helper text id: `form-helper-text-${id}`\n */\n id?: string\n}\n\ntype FormControlProviderContext = Omit<\n ReturnType,\n \"getRootProps\" | \"htmlProps\"\n>\n\nconst [FormControlProvider, useFormControlContext] =\n createContext({\n strict: false,\n name: \"FormControlContext\",\n })\n\nfunction useFormControlProvider(props: FormControlContext) {\n const {\n id: idProp,\n isRequired,\n isInvalid,\n isDisabled,\n isReadOnly,\n ...htmlProps\n } = props\n\n // Generate all the required ids\n const uuid = useId()\n const id = idProp || `field-${uuid}`\n\n const labelId = `${id}-label`\n const feedbackId = `${id}-feedback`\n const helpTextId = `${id}-helptext`\n\n /**\n * Track whether the `FormErrorMessage` has been rendered.\n * We use this to append its id the `aria-describedby` of the `input`.\n */\n const [hasFeedbackText, setHasFeedbackText] = useState(false)\n\n /**\n * Track whether the `FormHelperText` has been rendered.\n * We use this to append its id the `aria-describedby` of the `input`.\n */\n const [hasHelpText, setHasHelpText] = useState(false)\n\n // Track whether the form element (e.g, `input`) has focus.\n const [isFocused, setFocus] = useState(false)\n\n const getHelpTextProps = useCallback(\n (props = {}, forwardedRef = null) => ({\n id: helpTextId,\n ...props,\n /**\n * Notify the field context when the help text is rendered on screen,\n * so we can apply the correct `aria-describedby` to the field (e.g. input, textarea).\n */\n ref: mergeRefs(forwardedRef, (node) => {\n if (!node) return\n setHasHelpText(true)\n }),\n }),\n [helpTextId],\n )\n\n const getLabelProps = useCallback(\n (props = {}, forwardedRef = null) => ({\n ...props,\n ref: forwardedRef,\n \"data-focus\": dataAttr(isFocused),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-invalid\": dataAttr(isInvalid),\n \"data-readonly\": dataAttr(isReadOnly),\n id: props.id !== undefined ? props.id : labelId,\n htmlFor: props.htmlFor !== undefined ? props.htmlFor : id,\n }),\n [id, isDisabled, isFocused, isInvalid, isReadOnly, labelId],\n )\n\n const getErrorMessageProps = useCallback(\n (props = {}, forwardedRef = null) => ({\n id: feedbackId,\n ...props,\n /**\n * Notify the field context when the error message is rendered on screen,\n * so we can apply the correct `aria-describedby` to the field (e.g. input, textarea).\n */\n ref: mergeRefs(forwardedRef, (node) => {\n if (!node) return\n setHasFeedbackText(true)\n }),\n \"aria-live\": \"polite\",\n }),\n [feedbackId],\n )\n\n const getRootProps = useCallback(\n (props = {}, forwardedRef = null) => ({\n ...props,\n ...htmlProps,\n ref: forwardedRef,\n role: \"group\",\n \"data-focus\": dataAttr(isFocused),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-invalid\": dataAttr(isInvalid),\n \"data-readonly\": dataAttr(isReadOnly),\n }),\n [htmlProps, isDisabled, isFocused, isInvalid, isReadOnly],\n )\n\n const getRequiredIndicatorProps = useCallback(\n (props = {}, forwardedRef = null) => ({\n ...props,\n ref: forwardedRef,\n role: \"presentation\",\n \"aria-hidden\": true,\n children: props.children || \"*\",\n }),\n [],\n )\n\n return {\n isRequired: !!isRequired,\n isInvalid: !!isInvalid,\n isReadOnly: !!isReadOnly,\n isDisabled: !!isDisabled,\n isFocused: !!isFocused,\n onFocus: () => setFocus(true),\n onBlur: () => setFocus(false),\n hasFeedbackText,\n setHasFeedbackText,\n hasHelpText,\n setHasHelpText,\n id,\n labelId,\n feedbackId,\n helpTextId,\n htmlProps,\n getHelpTextProps,\n getErrorMessageProps,\n getRootProps,\n getLabelProps,\n getRequiredIndicatorProps,\n }\n}\n\nexport interface FormControlProps\n extends HTMLChakraProps<\"div\">,\n ThemingProps<\"FormControl\">,\n FormControlContext {}\n\n/**\n * FormControl provides context such as\n * `isInvalid`, `isDisabled`, and `isRequired` to form elements.\n *\n * This is commonly used in form elements such as `input`,\n * `select`, `textarea`, etc.\n *\n * @see Docs https://chakra-ui.com/docs/components/form-control\n */\nexport const FormControl = forwardRef(\n function FormControl(props, ref) {\n const styles = useMultiStyleConfig(\"Form\", props)\n const ownProps = omitThemingProps(props)\n const {\n getRootProps,\n htmlProps: _,\n ...context\n } = useFormControlProvider(ownProps)\n\n const className = cx(\"chakra-form-control\", props.className)\n\n return (\n \n \n \n \n \n )\n },\n)\n\nFormControl.displayName = \"FormControl\"\n\nexport interface FormHelperTextProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * FormHelperText\n *\n * Assistive component that conveys additional guidance\n * about the field, such as how it will be used and what\n * types in values should be provided.\n */\nexport const FormHelperText = forwardRef(\n function FormHelperText(props, ref) {\n const field = useFormControlContext()\n const styles = useFormControlStyles()\n const className = cx(\"chakra-form__helper-text\", props.className)\n return (\n \n )\n },\n)\n\nFormHelperText.displayName = \"FormHelperText\"\n","import { ariaAttr, callAllHandlers } from \"@chakra-ui/shared-utils\"\nimport { FormControlOptions, useFormControlContext } from \"./form-control\"\n\nexport interface UseFormControlProps\n extends FormControlOptions {\n id?: string\n onFocus?: React.FocusEventHandler\n onBlur?: React.FocusEventHandler\n disabled?: boolean\n readOnly?: boolean\n required?: boolean\n \"aria-describedby\"?: string\n}\n\n/**\n * React hook that provides the props that should be spread on to\n * input fields (`input`, `select`, `textarea`, etc.).\n *\n * It provides a convenient way to control a form fields, validation\n * and helper text.\n *\n * @internal\n */\nexport function useFormControl(\n props: UseFormControlProps,\n) {\n const { isDisabled, isInvalid, isReadOnly, isRequired, ...rest } =\n useFormControlProps(props)\n\n return {\n ...rest,\n disabled: isDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n \"aria-invalid\": ariaAttr(isInvalid),\n \"aria-required\": ariaAttr(isRequired),\n \"aria-readonly\": ariaAttr(isReadOnly),\n }\n}\n\n/**\n * @internal\n */\nexport function useFormControlProps(\n props: UseFormControlProps,\n) {\n const field = useFormControlContext()\n\n const {\n id,\n disabled,\n readOnly,\n required,\n isRequired,\n isInvalid,\n isReadOnly,\n isDisabled,\n onFocus,\n onBlur,\n ...rest\n } = props\n\n const labelIds: string[] = props[\"aria-describedby\"]\n ? [props[\"aria-describedby\"]]\n : []\n\n // Error message must be described first in all scenarios.\n if (field?.hasFeedbackText && field?.isInvalid) {\n labelIds.push(field.feedbackId)\n }\n\n if (field?.hasHelpText) {\n labelIds.push(field.helpTextId)\n }\n\n return {\n ...rest,\n \"aria-describedby\": labelIds.join(\" \") || undefined,\n id: id ?? field?.id,\n isDisabled: disabled ?? isDisabled ?? field?.isDisabled,\n isReadOnly: readOnly ?? isReadOnly ?? field?.isReadOnly,\n isRequired: required ?? isRequired ?? field?.isRequired,\n isInvalid: isInvalid ?? field?.isInvalid,\n onFocus: callAllHandlers(field?.onFocus, onFocus),\n onBlur: callAllHandlers(field?.onBlur, onBlur),\n }\n}\n","import { FormControlOptions, useFormControl } from \"@chakra-ui/form-control\"\nimport {\n chakra,\n forwardRef,\n layoutPropNames,\n omitThemingProps,\n PropsOf,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { dataAttr } from \"@chakra-ui/shared-utils\"\nimport { split } from \"@chakra-ui/object-utils\"\nimport { cloneElement, isValidElement } from \"react\"\n\nimport { SelectField, SelectFieldProps } from \"./select-field\"\n\ninterface RootProps extends Omit, \"color\"> {}\n\ninterface SelectOptions extends FormControlOptions {\n /**\n * The border color when the select is focused. Use color keys in `theme.colors`\n * @example\n * focusBorderColor = \"blue.500\"\n */\n focusBorderColor?: string\n /**\n * The border color when the select is invalid. Use color keys in `theme.colors`\n * @example\n * errorBorderColor = \"red.500\"\n */\n errorBorderColor?: string\n /**\n * The placeholder for the select. We render an `\n * ```\n */\n placeholder?: string\n /**\n * The size (width and height) of the icon\n */\n iconSize?: string\n /**\n * The color of the icon\n */\n iconColor?: string\n}\n\nexport interface SelectProps\n extends SelectFieldProps,\n ThemingProps<\"Select\">,\n SelectOptions {\n /**\n * Props to forward to the root `div` element\n */\n rootProps?: RootProps\n /**\n * The icon element to use in the select\n * @type React.ReactElement\n */\n icon?: React.ReactElement\n}\n\n/**\n * React component used to select one item from a list of options.\n *\n * @see Docs https://chakra-ui.com/docs/components/select\n */\nexport const Select = forwardRef((props, ref) => {\n const styles = useMultiStyleConfig(\"Select\", props)\n\n const {\n rootProps,\n placeholder,\n icon,\n color,\n height,\n h,\n minH,\n minHeight,\n iconColor,\n iconSize,\n ...rest\n } = omitThemingProps(props)\n\n const [layoutProps, otherProps] = split(rest, layoutPropNames as any[])\n\n const ownProps = useFormControl(otherProps)\n\n const rootStyles: SystemStyleObject = {\n width: \"100%\",\n height: \"fit-content\",\n position: \"relative\",\n color,\n }\n\n const fieldStyles: SystemStyleObject = {\n paddingEnd: \"2rem\",\n ...styles.field,\n _focus: {\n zIndex: \"unset\",\n ...(styles as any).field?.[\"_focus\"],\n },\n }\n\n return (\n \n \n {props.children}\n \n\n \n {icon}\n \n \n )\n})\n\nSelect.displayName = \"Select\"\n\nexport const DefaultIcon: React.FC> = (props) => (\n \n \n \n)\n\nconst IconWrapper = chakra(\"div\", {\n baseStyle: {\n position: \"absolute\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n },\n})\n\ninterface SelectIconProps extends HTMLChakraProps<\"div\"> {}\n\nconst SelectIcon: React.FC = (props) => {\n const { children = , ...rest } = props\n\n const clone = cloneElement(children as any, {\n role: \"presentation\",\n className: \"chakra-select__icon\",\n focusable: false,\n \"aria-hidden\": true,\n // force icon to adhere to `IconWrapper` styles\n style: {\n width: \"1em\",\n height: \"1em\",\n color: \"currentColor\",\n },\n })\n\n return (\n \n {isValidElement(children) ? clone : null}\n \n )\n}\n\nSelectIcon.displayName = \"SelectIcon\"\n","export function split, K extends keyof T>(\n object: T,\n keys: K[],\n) {\n const picked: Record = {}\n const omitted: Record = {}\n\n for (const [key, value] of Object.entries(object)) {\n if (keys.includes(key as T[K])) picked[key] = value\n else omitted[key] = value\n }\n\n return [picked, omitted] as [\n {\n [P in K]: T[P]\n },\n Omit,\n ]\n}\n","import React, { useEffect, useState, FC, Dispatch, SetStateAction } from 'react'\r\nimport { Button, Checkbox, InputNumber, Modal, Tooltip, Typography } from 'antd'\r\nimport { Select } from '@chakra-ui/react'\r\n\r\nimport { apiUrl } from '../../globals'\r\nimport { Course } from '../Course/types'\r\nimport axios from 'axios'\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport LoadingSpinner from '../LoadingSpinner'\r\nimport { ExistingTestCourseAccess } from '../Editor/SettingsRow/EditorSettingsRow'\r\nimport { CheckOutlined, CopyOutlined, DeleteOutlined } from '@ant-design/icons'\r\n\r\nexport const TestCourseAccessManagement: FC = ({...props}) => { // i18n\r\n const [ loadingGet, setLoadingGet ] = useState(true)\r\n const [ loadingCreate, setLoadingCreate ] = useState(false)\r\n const [ copiedToClipboard, setCopiedToClipboard ] = useState(false)\r\n const [ numberOfParticipants, setNumberOfParticipants ] = useState(0)\r\n const [ partners, setPartners ] = useState>([])\r\n const [ selectedPartner, setSelectedPartner ] = useState('')\r\n\r\n const {\r\n course,\r\n showTestCourseAccessModal,\r\n setShowTestCourseAccessModal,\r\n existingTestCourseAccess,\r\n setExistingTestCourseAccess\r\n } = props\r\n\r\n useEffect(() => {\r\n getTestCourseAccess()\r\n listPartners()\r\n }, [])\r\n\r\n const testCourseAccessAlreadyExists = 'existingTestCourseAccess' in existingTestCourseAccess\r\n\r\n const getTestCourseAccess = () => {\r\n axios.get(`${apiUrl}/course/test-access/${course.id}`)\r\n .then((response) => setExistingTestCourseAccess({\r\n existingTestCourseAccess: response.data.linkForParticipants,\r\n paidParticipantsCount: response.data.paidParticipantsCount,\r\n examTakenCount: response.data.examTakenCount\r\n }))\r\n .catch((error) => {\r\n if (error.response.status === 404) {\r\n return // expected 404 response (no test course access exists)\r\n }\r\n\r\n console.error('Error while fetching test course accesses:', error)\r\n })\r\n .finally(() => setLoadingGet(false))\r\n }\r\n\r\n const listPartners = () => {\r\n axios.get(`${apiUrl}/list-partners/all`)\r\n .then((response) => {\r\n setPartners(sanitizeAndSortPartnerNames(response.data))\r\n })\r\n .catch((error) => console.error('Error while fetching partners:', error))\r\n }\r\n\r\n const sanitizeAndSortPartnerNames = (partnerNames: Array) => {\r\n const sanitizedNames = partnerNames.map((name) => {\r\n const sanitized = name.substring(3, name.length).toLowerCase()\r\n\r\n return sanitized.charAt(0).toUpperCase() + sanitized.slice(1)\r\n })\r\n\r\n return sanitizedNames.sort()\r\n }\r\n\r\n const createTestCourseAccess = () => {\r\n setLoadingCreate(true)\r\n\r\n axios.post(`${apiUrl}/course/test-access/${course.id}/create`,\r\n {\r\n courseId: course.id,\r\n numberOfParticipants,\r\n etPartnerName: selectedPartner\r\n })\r\n .then((response) => {\r\n setExistingTestCourseAccess({\r\n existingTestCourseAccess: response.data.linkForParticipants,\r\n paidParticipantsCount: response.data.paidParticipantsCount,\r\n examTakenCount: response.data.examTakenCount\r\n })\r\n })\r\n .catch((error) => console.error('Error while creating test course access:', error))\r\n .finally(() => setLoadingCreate(false))\r\n }\r\n\r\n const deleteTestCourseAccess = () => {\r\n axios.delete(`${apiUrl}/course/test-access/${course.id}`)\r\n .then(() => setExistingTestCourseAccess({}))\r\n .catch((error) => console.error('Error while deleting test course access:', error))\r\n }\r\n\r\n const confirmDelete = () => {\r\n Modal.confirm({\r\n title: 'Zugang löschen',\r\n content: 'Sind Sie sicher, dass Sie diesen Zugang löschen möchten? Dies kann nicht rückgängig gemacht werden.',\r\n okText: 'Ja, löschen',\r\n okType: 'danger',\r\n cancelText: 'Abbrechen',\r\n centered: true,\r\n onOk: () => deleteTestCourseAccess(),\r\n })\r\n }\r\n\r\n const deleteSelectedPartner = () => {\r\n setPartners(partners.filter(partner => partner !== selectedPartner))\r\n setSelectedPartner('')\r\n }\r\n\r\n const copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text)\r\n .then(() => setCopiedToClipboard(true))\r\n .catch((error) => console.error('Error while copying to clipboard:', error))\r\n }\r\n\r\n return (\r\n createTestCourseAccess()}\r\n okText='Zugang anlegen'\r\n cancelText='Abbrechen'\r\n onCancel={() => setShowTestCourseAccessModal(false)}\r\n centered\r\n >\r\n <>\r\n {loadingGet ? (\r\n \r\n \r\n \r\n ) :\r\n (\r\n <>\r\n {testCourseAccessAlreadyExists\r\n ? (\r\n <>\r\n \r\n Es sind bereits Zugänge angelegt. Hier ist der Link für die Teilnehmer:\r\n \r\n \r\n \r\n {`https://cw.et360.de/exams/${existingTestCourseAccess.existingTestCourseAccess}`}\r\n \r\n {copiedToClipboard && (\r\n \r\n \r\n \r\n )}\r\n \r\n }\r\n onClick={() => copyToClipboard(`https://cw.et360.de/exams/${existingTestCourseAccess.existingTestCourseAccess}`)}\r\n />\r\n \r\n \r\n \r\n Teilnehmeranzahl:\r\n {existingTestCourseAccess.paidParticipantsCount}\r\n \r\n \r\n Bisher genutzt:\r\n {existingTestCourseAccess.examTakenCount}\r\n \r\n \r\n \r\n Zugang löschen\r\n \r\n \r\n \r\n )\r\n : (\r\n <>\r\n \r\n Es sind bisher keine Zugänge angelegt. Möchten Sie einen neuen Zugang anlegen?\r\n \r\n \r\n Teilnehmeranzahl:\r\n setNumberOfParticipants(value as number)}\r\n style={{marginRight: '2em'}}\r\n />\r\n \r\n \r\n Wählen Sie den Partner aus, für den Zugänge angelegt werden:\r\n \r\n \r\n setSelectedPartner(e.target.value)}\r\n >\r\n {partners.map((partner) => (\r\n \r\n ))}\r\n \r\n {selectedPartner && (\r\n <>\r\n \r\n }\r\n onClick={deleteSelectedPartner}\r\n danger\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n Ist ET-Partner\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\ntype TestCourseAccessManagementProps = {\r\n course: Course\r\n showTestCourseAccessModal: boolean\r\n setShowTestCourseAccessModal: Dispatch>\r\n existingTestCourseAccess: ExistingTestCourseAccess\r\n setExistingTestCourseAccess: Dispatch>\r\n}\r\n\r\ntype CreateTestCourseAccessResponse = {\r\n linkForParticipants: string,\r\n paidParticipantsCount: number,\r\n examTakenCount: number\r\n}\r\n\r\ntype GetTestCourseAccessResponse = {\r\n linkForParticipants: string\r\n paidParticipantsCount: number // obviously not paid\r\n examTakenCount: number\r\n}\r\n\r\nexport default TestCourseAccessManagement","import React, { useContext, useState } from 'react'\r\nimport { FormattedMessage, useIntl } from 'react-intl'\r\nimport { Button, Tooltip } from 'antd'\r\nimport styled from 'styled-components'\r\nimport { FilePlus, FileMinus } from 'react-feather'\r\n\r\nimport { FlexRow } from '../../FlexboxReusables/FlexItems'\r\nimport { EditorSettingsContext } from '../EditorSettingsContext'\r\nimport { CourseContext } from '../../Course/CourseContext'\r\nimport { Course } from '../../Course/types'\r\nimport Modal from '../../Modal/Modal'\r\nimport OptionsMenu from './OptionsMenu'\r\nimport TestCourseAccessManagement from '../../Modal/TestCourseAccessManagement'\r\n\r\ntype EditorSettingsRowProps = {\r\n course: Course\r\n selectedPage: number\r\n setSelectedPage: (pageNumber: number) => void\r\n deleteCourse: (id: number) => void\r\n}\r\n\r\nconst EditorSettingsRow: React.FC = ({...props}) => {\r\n const { course, selectedPage, setSelectedPage, deleteCourse } = props\r\n const { editorSettingsContext } = useContext(EditorSettingsContext)\r\n const { updateCourse, saveCourse, deleteCoursePage } = useContext(CourseContext)\r\n\r\n const [ showDeletePageModal, setShowDeletePageModal ] = useState(false)\r\n const [ showTestCourseAccessModal, setShowTestCourseAccessModal ] = useState(false)\r\n const [ existingTestCourseAccess, setExistingTestCourseAccess ] = useState({})\r\n\r\n const intl = useIntl()\r\n\r\n const addNewPage = () => {\r\n if (!course) {\r\n console.error('Course.tsx: Course object is null.')\r\n\r\n return\r\n }\r\n\r\n if (editorSettingsContext.addNewPagesAtTheEnd) {\r\n const newCourse = {\r\n ...course,\r\n pages: [\r\n ...course.pages,\r\n {\r\n pageNumber: course.pages.length + 1,\r\n previewPicture: '',\r\n previewPictureIsFromPdf: false,\r\n content: {\r\n ops: [\r\n {\r\n insert: '',\r\n },\r\n ],\r\n }\r\n },\r\n ]\r\n }\r\n\r\n updateCourse(newCourse)\r\n }\r\n\r\n if (editorSettingsContext.addNewPagesAfterCurrentPage) {\r\n const currentPageIndex = course.pages.findIndex((page) => page.pageNumber === selectedPage + 1)\r\n const pagesBeforeAndIncludingCurrent = course.pages.filter((page) => page.pageNumber < selectedPage + 2)\r\n \r\n const newPage = {\r\n pageNumber: selectedPage + 2,\r\n previewPicture: '',\r\n previewPictureIsFromPdf: false,\r\n content: {\r\n ops: [\r\n {\r\n insert: '',\r\n },\r\n ],\r\n }\r\n }\r\n\r\n const pagesAfterCurrent = course.pages.slice(currentPageIndex + 1).map((page, index) => ({ \r\n ...page,\r\n pageNumber: selectedPage + 3 + index\r\n }))\r\n\r\n updateCourse({\r\n ...course,\r\n pages: [ ...pagesBeforeAndIncludingCurrent, newPage, ...pagesAfterCurrent ]\r\n })\r\n }\r\n }\r\n\r\n const deletePage = () => {\r\n const pageIsLast = course.pages.length === selectedPage + 1\r\n if (pageIsLast) {\r\n setSelectedPage(selectedPage - 1)\r\n }\r\n\r\n deleteCoursePage(course.id, selectedPage, intl)\r\n setShowDeletePageModal(false)\r\n }\r\n\r\n return (\r\n <>\r\n {showDeletePageModal && (\r\n deletePage()}\r\n onCancel={() => setShowDeletePageModal(false)}\r\n message={}\r\n />\r\n )}\r\n {showTestCourseAccessModal && (\r\n \r\n )}\r\n\r\n \r\n {course.isPublished && (\r\n setShowTestCourseAccessModal(true)}\r\n >\r\n Zugänge\r\n \r\n )}\r\n\r\n {!course.isPublished && (\r\n <>\r\n \r\n }>\r\n setShowDeletePageModal(true)}>\r\n \r\n \r\n \r\n }>\r\n addNewPage()}>\r\n \r\n \r\n \r\n saveCourse(course, intl)}\r\n disabled={!course.hasUnsavedChanges}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default EditorSettingsRow\r\n\r\nexport type ExistingTestCourseAccess = {\r\n existingTestCourseAccess: string\r\n examTakenCount: number\r\n paidParticipantsCount: number\r\n} | Record\r\n\r\nconst StyledButton = styled(Button)`\r\n margin-right: 1em;\r\n`","export default function getDataOrAriaProps(props) {\n return Object.keys(props).reduce((prev, key) => {\n if ((key.startsWith('data-') || key.startsWith('aria-') || key === 'role') && !key.startsWith('data-__')) {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}","import * as React from 'react';\nconst RadioGroupContext = /*#__PURE__*/React.createContext(null);\nexport const RadioGroupContextProvider = RadioGroupContext.Provider;\nexport default RadioGroupContext;\nexport const RadioOptionTypeContext = /*#__PURE__*/React.createContext(null);\nexport const RadioOptionTypeContextProvider = RadioOptionTypeContext.Provider;","import { Keyframes } from '@ant-design/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, resetComponent } from '../../style';\n// ============================== Styles ==============================\nconst antRadioEffect = new Keyframes('antRadioEffect', {\n '0%': {\n transform: 'scale(1)',\n opacity: 0.5\n },\n '100%': {\n transform: 'scale(1.6)',\n opacity: 0\n }\n});\n// styles from RadioGroup only\nconst getGroupRadioStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const groupPrefixCls = `${componentCls}-group`;\n return {\n [groupPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n fontSize: 0,\n // RTL\n '&&-rtl': {\n direction: 'rtl'\n },\n [`${antCls}-badge ${antCls}-badge-count`]: {\n zIndex: 1\n },\n [`> ${antCls}-badge:not(:first-child) > ${antCls}-button-wrapper`]: {\n borderInlineStart: 'none'\n }\n })\n };\n};\n// Styles from radio-wrapper\nconst getRadioBasicStyle = token => {\n const {\n componentCls,\n radioWrapperMarginRight,\n radioCheckedColor,\n radioSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseInOutCirc,\n radioButtonBg,\n colorBorder,\n lineWidth,\n radioDotSize,\n colorBgContainerDisabled,\n colorTextDisabled,\n paddingXS,\n radioDotDisabledColor,\n lineType,\n radioDotDisabledSize,\n wireframe,\n colorWhite\n } = token;\n const radioInnerPrefixCls = `${componentCls}-inner`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'baseline',\n marginInlineStart: 0,\n marginInlineEnd: radioWrapperMarginRight,\n cursor: 'pointer',\n // RTL\n '&&-rtl': {\n direction: 'rtl'\n },\n '&-disabled': {\n cursor: 'not-allowed'\n },\n '&::after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: '\"\\\\a0\"'\n },\n // hashId 在 wrapper 上,只能铺平\n [`${componentCls}-checked::after`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n width: '100%',\n height: '100%',\n border: `${lineWidth}px ${lineType} ${radioCheckedColor}`,\n borderRadius: '50%',\n visibility: 'hidden',\n animationName: antRadioEffect,\n animationDuration: motionDurationSlow,\n animationTimingFunction: motionEaseInOut,\n animationFillMode: 'both',\n content: '\"\"'\n },\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-block',\n outline: 'none',\n cursor: 'pointer',\n alignSelf: 'center'\n }),\n [`${componentCls}-wrapper:hover &,\n &:hover ${radioInnerPrefixCls}`]: {\n borderColor: radioCheckedColor\n },\n [`${componentCls}-input:focus-visible + ${radioInnerPrefixCls}`]: Object.assign({}, genFocusOutline(token)),\n [`${componentCls}:hover::after, ${componentCls}-wrapper:hover &::after`]: {\n visibility: 'visible'\n },\n [`${componentCls}-inner`]: {\n '&::after': {\n boxSizing: 'border-box',\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineStart: '50%',\n display: 'block',\n width: radioSize,\n height: radioSize,\n marginBlockStart: radioSize / -2,\n marginInlineStart: radioSize / -2,\n backgroundColor: wireframe ? radioCheckedColor : colorWhite,\n borderBlockStart: 0,\n borderInlineStart: 0,\n borderRadius: radioSize,\n transform: 'scale(0)',\n opacity: 0,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`,\n content: '\"\"'\n },\n boxSizing: 'border-box',\n position: 'relative',\n insetBlockStart: 0,\n insetInlineStart: 0,\n display: 'block',\n width: radioSize,\n height: radioSize,\n backgroundColor: radioButtonBg,\n borderColor: colorBorder,\n borderStyle: 'solid',\n borderWidth: lineWidth,\n borderRadius: '50%',\n transition: `all ${motionDurationMid}`\n },\n [`${componentCls}-input`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n insetBlockEnd: 0,\n insetInlineStart: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0\n },\n // 选中状态\n [`${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n borderColor: radioCheckedColor,\n backgroundColor: wireframe ? radioButtonBg : radioCheckedColor,\n '&::after': {\n transform: `scale(${radioDotSize / radioSize})`,\n opacity: 1,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`\n }\n }\n },\n [`${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [radioInnerPrefixCls]: {\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&::after': {\n backgroundColor: radioDotDisabledColor\n }\n },\n '&-input': {\n cursor: 'not-allowed'\n },\n [`${componentCls}-disabled + span`]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n '&::after': {\n transform: `scale(${radioDotDisabledSize / radioSize})`\n }\n }\n }\n },\n [`span${componentCls} + *`]: {\n paddingInlineStart: paddingXS,\n paddingInlineEnd: paddingXS\n }\n })\n };\n};\n// Styles from radio-button\nconst getRadioButtonStyle = token => {\n const {\n radioButtonColor,\n controlHeight,\n componentCls,\n lineWidth,\n lineType,\n colorBorder,\n motionDurationSlow,\n motionDurationMid,\n radioButtonPaddingHorizontal,\n fontSize,\n radioButtonBg,\n fontSizeLG,\n controlHeightLG,\n controlHeightSM,\n paddingXS,\n borderRadius,\n borderRadiusSM,\n borderRadiusLG,\n radioCheckedColor,\n radioButtonCheckedBg,\n radioButtonHoverColor,\n radioButtonActiveColor,\n radioSolidCheckedColor,\n colorTextDisabled,\n colorBgContainerDisabled,\n radioDisabledButtonCheckedColor,\n radioDisabledButtonCheckedBg\n } = token;\n return {\n [`${componentCls}-button-wrapper`]: {\n position: 'relative',\n display: 'inline-block',\n height: controlHeight,\n margin: 0,\n paddingInline: radioButtonPaddingHorizontal,\n paddingBlock: 0,\n color: radioButtonColor,\n fontSize,\n lineHeight: `${controlHeight - lineWidth * 2}px`,\n background: radioButtonBg,\n border: `${lineWidth}px ${lineType} ${colorBorder}`,\n // strange align fix for chrome but works\n // https://gw.alipayobjects.com/zos/rmsportal/VFTfKXJuogBAXcvfAUWJ.gif\n borderBlockStartWidth: lineWidth + 0.02,\n borderInlineStartWidth: 0,\n borderInlineEndWidth: lineWidth,\n cursor: 'pointer',\n transition: [`color ${motionDurationMid}`, `background ${motionDurationMid}`, `border-color ${motionDurationMid}`, `box-shadow ${motionDurationMid}`].join(','),\n a: {\n color: radioButtonColor\n },\n [`> ${componentCls}-button`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n zIndex: -1,\n width: '100%',\n height: '100%'\n },\n '&:not(:first-child)': {\n '&::before': {\n position: 'absolute',\n insetBlockStart: -lineWidth,\n insetInlineStart: -lineWidth,\n display: 'block',\n boxSizing: 'content-box',\n width: 1,\n height: '100%',\n paddingBlock: lineWidth,\n paddingInline: 0,\n backgroundColor: colorBorder,\n transition: `background-color ${motionDurationSlow}`,\n content: '\"\"'\n }\n },\n '&:first-child': {\n borderInlineStart: `${lineWidth}px ${lineType} ${colorBorder}`,\n borderStartStartRadius: borderRadius,\n borderEndStartRadius: borderRadius\n },\n '&:last-child': {\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius\n },\n '&:first-child:last-child': {\n borderRadius\n },\n [`${componentCls}-group-large &`]: {\n height: controlHeightLG,\n fontSize: fontSizeLG,\n lineHeight: `${controlHeightLG - lineWidth * 2}px`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusLG,\n borderEndStartRadius: borderRadiusLG\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusLG,\n borderEndEndRadius: borderRadiusLG\n }\n },\n [`${componentCls}-group-small &`]: {\n height: controlHeightSM,\n paddingInline: paddingXS - lineWidth,\n paddingBlock: 0,\n lineHeight: `${controlHeightSM - lineWidth * 2}px`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusSM,\n borderEndStartRadius: borderRadiusSM\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusSM,\n borderEndEndRadius: borderRadiusSM\n }\n },\n '&:hover': {\n position: 'relative',\n color: radioCheckedColor\n },\n '&:has(:focus-visible)': Object.assign({}, genFocusOutline(token)),\n [`${componentCls}-inner, input[type='checkbox'], input[type='radio']`]: {\n width: 0,\n height: 0,\n opacity: 0,\n pointerEvents: 'none'\n },\n '&-checked:not(&-disabled)': {\n zIndex: 1,\n color: radioCheckedColor,\n background: radioButtonCheckedBg,\n borderColor: radioCheckedColor,\n '&::before': {\n backgroundColor: radioCheckedColor\n },\n '&:first-child': {\n borderColor: radioCheckedColor\n },\n '&:hover': {\n color: radioButtonHoverColor,\n borderColor: radioButtonHoverColor,\n '&::before': {\n backgroundColor: radioButtonHoverColor\n }\n },\n '&:active': {\n color: radioButtonActiveColor,\n borderColor: radioButtonActiveColor,\n '&::before': {\n backgroundColor: radioButtonActiveColor\n }\n }\n },\n [`${componentCls}-group-solid &-checked:not(&-disabled)`]: {\n color: radioSolidCheckedColor,\n background: radioCheckedColor,\n borderColor: radioCheckedColor,\n '&:hover': {\n color: radioSolidCheckedColor,\n background: radioButtonHoverColor,\n borderColor: radioButtonHoverColor\n },\n '&:active': {\n color: radioSolidCheckedColor,\n background: radioButtonActiveColor,\n borderColor: radioButtonActiveColor\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&:first-child, &:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder\n }\n },\n '&-disabled&-checked': {\n color: radioDisabledButtonCheckedColor,\n backgroundColor: radioDisabledButtonCheckedBg,\n borderColor: colorBorder,\n boxShadow: 'none'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Radio', token => {\n const {\n padding,\n lineWidth,\n controlItemBgActiveDisabled,\n colorTextDisabled,\n colorBgContainer,\n fontSizeLG,\n controlOutline,\n colorPrimaryHover,\n colorPrimaryActive,\n colorText,\n colorPrimary,\n marginXS,\n controlOutlineWidth,\n colorTextLightSolid,\n wireframe\n } = token;\n // Radio\n const radioFocusShadow = `0 0 0 ${controlOutlineWidth}px ${controlOutline}`;\n const radioButtonFocusShadow = radioFocusShadow;\n const radioSize = fontSizeLG;\n const dotPadding = 4; // Fixed value\n const radioDotDisabledSize = radioSize - dotPadding * 2;\n const radioDotSize = wireframe ? radioDotDisabledSize : radioSize - (dotPadding + lineWidth) * 2;\n const radioCheckedColor = colorPrimary;\n // Radio buttons\n const radioButtonColor = colorText;\n const radioButtonHoverColor = colorPrimaryHover;\n const radioButtonActiveColor = colorPrimaryActive;\n const radioButtonPaddingHorizontal = padding - lineWidth;\n const radioDisabledButtonCheckedColor = colorTextDisabled;\n const radioWrapperMarginRight = marginXS;\n const radioToken = mergeToken(token, {\n radioFocusShadow,\n radioButtonFocusShadow,\n radioSize,\n radioDotSize,\n radioDotDisabledSize,\n radioCheckedColor,\n radioDotDisabledColor: colorTextDisabled,\n radioSolidCheckedColor: colorTextLightSolid,\n radioButtonBg: colorBgContainer,\n radioButtonCheckedBg: colorBgContainer,\n radioButtonColor,\n radioButtonHoverColor,\n radioButtonActiveColor,\n radioButtonPaddingHorizontal,\n radioDisabledButtonCheckedBg: controlItemBgActiveDisabled,\n radioDisabledButtonCheckedColor,\n radioWrapperMarginRight\n });\n return [getGroupRadioStyle(radioToken), getRadioBasicStyle(radioToken), getRadioButtonStyle(radioToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { FormItemInputContext } from '../form/context';\nimport warning from '../_util/warning';\nimport RadioGroupContext, { RadioOptionTypeContext } from './context';\nimport useStyle from './style';\nconst InternalRadio = (props, ref) => {\n const groupContext = React.useContext(RadioGroupContext);\n const radioOptionTypeContext = React.useContext(RadioOptionTypeContext);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const innerRef = React.useRef();\n const mergedRef = composeRef(ref, innerRef);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n process.env.NODE_ENV !== \"production\" ? warning(!('optionType' in props), 'Radio', '`optionType` is only support in Radio.Group.') : void 0;\n const onChange = e => {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);\n (_b = groupContext === null || groupContext === void 0 ? void 0 : groupContext.onChange) === null || _b === void 0 ? void 0 : _b.call(groupContext, e);\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n children,\n style,\n disabled: customDisabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"children\", \"style\", \"disabled\"]);\n const radioPrefixCls = getPrefixCls('radio', customizePrefixCls);\n const prefixCls = ((groupContext === null || groupContext === void 0 ? void 0 : groupContext.optionType) || radioOptionTypeContext) === 'button' ? `${radioPrefixCls}-button` : radioPrefixCls;\n // Style\n const [wrapSSR, hashId] = useStyle(radioPrefixCls);\n const radioProps = Object.assign({}, restProps);\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n radioProps.disabled = customDisabled || disabled;\n if (groupContext) {\n radioProps.name = groupContext.name;\n radioProps.onChange = onChange;\n radioProps.checked = props.value === groupContext.value;\n radioProps.disabled = radioProps.disabled || groupContext.disabled;\n }\n const wrapperClassString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-wrapper-checked`]: radioProps.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.disabled,\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, className, hashId);\n return wrapSSR(\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n React.createElement(\"label\", {\n className: wrapperClassString,\n style: style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, radioProps, {\n type: \"radio\",\n prefixCls: prefixCls,\n ref: mergedRef\n })), children !== undefined ? /*#__PURE__*/React.createElement(\"span\", null, children) : null));\n};\nconst Radio = /*#__PURE__*/React.forwardRef(InternalRadio);\nif (process.env.NODE_ENV !== 'production') {\n Radio.displayName = 'Radio';\n}\nexport default Radio;","import classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport getDataOrAriaProps from '../_util/getDataOrAriaProps';\nimport { RadioGroupContextProvider } from './context';\nimport Radio from './radio';\nimport useStyle from './style';\nconst RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const size = React.useContext(SizeContext);\n const [value, setValue] = useMergedState(props.defaultValue, {\n value: props.value\n });\n const onRadioChange = ev => {\n const lastValue = value;\n const val = ev.target.value;\n if (!('value' in props)) {\n setValue(val);\n }\n const {\n onChange\n } = props;\n if (onChange && val !== lastValue) {\n onChange(ev);\n }\n };\n const {\n prefixCls: customizePrefixCls,\n className = '',\n options,\n buttonStyle = 'outline',\n disabled,\n children,\n size: customizeSize,\n style,\n id,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur\n } = props;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let childrenToRender = children;\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n childrenToRender = options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n // 此处类型自动推导为 string\n return /*#__PURE__*/React.createElement(Radio, {\n key: option.toString(),\n prefixCls: prefixCls,\n disabled: disabled,\n value: option,\n checked: value === option\n }, option);\n }\n // 此处类型自动推导为 { label: string value: string }\n return /*#__PURE__*/React.createElement(Radio, {\n key: `radio-group-value-options-${option.value}`,\n prefixCls: prefixCls,\n disabled: option.disabled || disabled,\n value: option.value,\n checked: value === option.value,\n style: option.style\n }, option.label);\n });\n }\n const mergedSize = customizeSize || size;\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${mergedSize}`]: mergedSize,\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({}, getDataOrAriaProps(props), {\n className: classString,\n style: style,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onFocus: onFocus,\n onBlur: onBlur,\n id: id,\n ref: ref\n }), /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n value: {\n onChange: onRadioChange,\n value,\n disabled: props.disabled,\n name: props.name,\n optionType: props.optionType\n }\n }, childrenToRender)));\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { RadioOptionTypeContextProvider } from './context';\nimport Radio from './radio';\nconst RadioButton = (props, ref) => {\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls\n } = props,\n radioProps = __rest(props, [\"prefixCls\"]);\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n return /*#__PURE__*/React.createElement(RadioOptionTypeContextProvider, {\n value: \"button\"\n }, /*#__PURE__*/React.createElement(Radio, Object.assign({\n prefixCls: prefixCls\n }, radioProps, {\n type: \"radio\",\n ref: ref\n })));\n};\nexport default /*#__PURE__*/React.forwardRef(RadioButton);","import Group from './group';\nimport InternalRadio from './radio';\nimport Button from './radioButton';\nexport { Button, Group };\nconst Radio = InternalRadio;\nRadio.Button = Button;\nRadio.Group = Group;\nRadio.__ANT_RADIO = true;\nexport default Radio;","import React from 'react'\r\nimport { FormattedMessage } from 'react-intl'\r\nimport styled from 'styled-components'\r\nimport { Radio } from 'antd'\r\n\r\nimport { FlexColumn } from '../FlexboxReusables/FlexItems'\r\nimport { View } from '../../Routes/Course'\r\n\r\ntype ViewportOptionsProps = {\r\n selectedView: View\r\n setSelectedView: (view: View) => void\r\n}\r\n\r\nconst ViewportOptions: React.FC = ({...props}) => {\r\n const { selectedView, setSelectedView } = props\r\n\r\n return (\r\n \r\n \r\n setSelectedView(View.EDITOR)}>\r\n \r\n \r\n setSelectedView(View.QUESTIONS)}>\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default ViewportOptions\r\n\r\nconst ViewportSettingsColumn = styled(FlexColumn)`\r\n align-items: flex-start;\r\n margin: 0 0 0 1em;\r\n`","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\nimport useStyle from './style';\nconst Group = props => {\n const {\n getPrefixCls,\n direction\n } = useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className = ''\n } = props;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input');\n const [wrapSSR, hashId] = useStyle(inputPrefixCls);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-lg`]: props.size === 'large',\n [`${prefixCls}-sm`]: props.size === 'small',\n [`${prefixCls}-compact`]: props.compact,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId, className);\n const formItemContext = useContext(FormItemInputContext);\n const groupFormItemContext = useMemo(() => Object.assign(Object.assign({}, formItemContext), {\n isFormItemInput: false\n }), [formItemContext]);\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: groupFormItemContext\n }, props.children)));\n};\nexport default Group;","// This icon file is generated automatically.\nvar EyeInvisibleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z\" } }] }, \"name\": \"eye-invisible\", \"theme\": \"outlined\" };\nexport default EyeInvisibleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeInvisibleOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeInvisibleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\nEyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeInvisibleOutlined);","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EyeInvisibleOutlined from \"@ant-design/icons/es/icons/EyeInvisibleOutlined\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport Input from './Input';\nconst defaultIconRender = visible => visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);\nconst ActionMap = {\n click: 'onClick',\n hover: 'onMouseOver'\n};\nconst Password = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n visibilityToggle = true\n } = props;\n const visibilityControlled = typeof visibilityToggle === 'object' && visibilityToggle.visible !== undefined;\n const [visible, setVisible] = useState(() => visibilityControlled ? visibilityToggle.visible : false);\n const inputRef = useRef(null);\n React.useEffect(() => {\n if (visibilityControlled) {\n setVisible(visibilityToggle.visible);\n }\n }, [visibilityControlled, visibilityToggle]);\n // Remove Password value\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef);\n const onVisibleChange = () => {\n const {\n disabled\n } = props;\n if (disabled) {\n return;\n }\n if (visible) {\n removePasswordTimeout();\n }\n setVisible(prevState => {\n var _a;\n const newState = !prevState;\n if (typeof visibilityToggle === 'object') {\n (_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);\n }\n return newState;\n });\n };\n const getIcon = prefixCls => {\n const {\n action = 'click',\n iconRender = defaultIconRender\n } = props;\n const iconTrigger = ActionMap[action] || '';\n const icon = iconRender(visible);\n const iconProps = {\n [iconTrigger]: onVisibleChange,\n className: `${prefixCls}-icon`,\n key: 'passwordIcon',\n onMouseDown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n onMouseUp: e => {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }\n };\n return /*#__PURE__*/React.cloneElement( /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(\"span\", null, icon), iconProps);\n };\n const {\n className,\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size\n } = props,\n restProps = __rest(props, [\"className\", \"prefixCls\", \"inputPrefixCls\", \"size\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const prefixCls = getPrefixCls('input-password', customizePrefixCls);\n const suffixIcon = visibilityToggle && getIcon(prefixCls);\n const inputClassName = classNames(prefixCls, className, {\n [`${prefixCls}-${size}`]: !!size\n });\n const omittedProps = Object.assign(Object.assign({}, omit(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {\n type: visible ? 'text' : 'password',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon\n });\n if (size) {\n omittedProps.size = size;\n }\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(ref, inputRef)\n }, omittedProps));\n});\nif (process.env.NODE_ENV !== 'production') {\n Password.displayName = 'Password';\n}\nexport default Password;","// This icon file is generated automatically.\nvar SearchOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\" } }] }, \"name\": \"search\", \"theme\": \"outlined\" };\nexport default SearchOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SearchOutlinedSvg from \"@ant-design/icons-svg/es/asn/SearchOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar SearchOutlined = function SearchOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SearchOutlinedSvg\n }));\n};\nSearchOutlined.displayName = 'SearchOutlined';\nexport default /*#__PURE__*/React.forwardRef(SearchOutlined);","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport { useCompactItemContext } from '../space/Compact';\nimport { cloneElement } from '../_util/reactNode';\nimport Input from './Input';\nconst Search = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n className,\n size: customizeSize,\n suffix,\n enterButton = false,\n addonAfter,\n loading,\n disabled,\n onSearch: customOnSearch,\n onChange: customOnChange,\n onCompositionStart,\n onCompositionEnd\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"className\", \"size\", \"suffix\", \"enterButton\", \"addonAfter\", \"loading\", \"disabled\", \"onSearch\", \"onChange\", \"onCompositionStart\", \"onCompositionEnd\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const contextSize = React.useContext(SizeContext);\n const composedRef = React.useRef(false);\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const {\n compactSize\n } = useCompactItemContext(prefixCls, direction);\n const size = compactSize || customizeSize || contextSize;\n const inputRef = React.useRef(null);\n const onChange = e => {\n if (e && e.target && e.type === 'click' && customOnSearch) {\n customOnSearch(e.target.value, e);\n }\n if (customOnChange) {\n customOnChange(e);\n }\n };\n const onMouseDown = e => {\n var _a;\n if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {\n e.preventDefault();\n }\n };\n const onSearch = e => {\n var _a, _b;\n if (customOnSearch) {\n customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e);\n }\n };\n const onPressEnter = e => {\n if (composedRef.current || loading) {\n return;\n }\n onSearch(e);\n };\n const searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/React.createElement(SearchOutlined, null) : null;\n const btnClassName = `${prefixCls}-button`;\n let button;\n const enterButtonAsElement = enterButton || {};\n const isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n if (isAntdButton || enterButtonAsElement.type === 'button') {\n button = cloneElement(enterButtonAsElement, Object.assign({\n onMouseDown,\n onClick: e => {\n var _a, _b;\n (_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n onSearch(e);\n },\n key: 'enterButton'\n }, isAntdButton ? {\n className: btnClassName,\n size\n } : {}));\n } else {\n button = /*#__PURE__*/React.createElement(Button, {\n className: btnClassName,\n type: enterButton ? 'primary' : undefined,\n size: size,\n disabled: disabled,\n key: \"enterButton\",\n onMouseDown: onMouseDown,\n onClick: onSearch,\n loading: loading,\n icon: searchIcon\n }, enterButton);\n }\n if (addonAfter) {\n button = [button, cloneElement(addonAfter, {\n key: 'addonAfter'\n })];\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-with-button`]: !!enterButton\n }, className);\n const handleOnCompositionStart = e => {\n composedRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n const handleOnCompositionEnd = e => {\n composedRef.current = false;\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(inputRef, ref),\n onPressEnter: onPressEnter\n }, restProps, {\n size: size,\n onCompositionStart: handleOnCompositionStart,\n onCompositionEnd: handleOnCompositionEnd,\n prefixCls: inputPrefixCls,\n addonAfter: button,\n suffix: suffix,\n onChange: onChange,\n className: cls,\n disabled: disabled\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Search.displayName = 'Search';\n}\nexport default Search;","import Group from './Group';\nimport InternalInput from './Input';\nimport Password from './Password';\nimport Search from './Search';\nimport TextArea from './TextArea';\nconst Input = InternalInput;\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\nexport default Input;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Edit = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"\n }));\n});\nEdit.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nEdit.displayName = 'Edit';\nexport default Edit;","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport { Typography, Input } from 'antd'\r\nimport { FormattedMessage } from 'react-intl'\r\nimport { Edit } from 'react-feather'\r\n\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport { Course } from './types'\r\n\r\ntype CourseNameProps = {\r\n course: Course\r\n setCourse: (value: React.SetStateAction) => void\r\n setEditing: (value: React.SetStateAction>) => void\r\n editing: Record\r\n}\r\n\r\nconst CourseName: React.FC = ({...props}) => {\r\n const { course, setCourse, setEditing, editing } = props\r\n\r\n return (\r\n \r\n {editing.name && course\r\n ? setCourse((prevCourse) => ({\r\n ...prevCourse,\r\n name: e.target.value,\r\n hasUnsavedChanges: true\r\n }) as Course)}\r\n onBlur={() => setEditing({...editing, name: false})}\r\n /> \r\n : <>\r\n \r\n {course.name || }\r\n \r\n {!course.isPublished && (\r\n \r\n setEditing({...editing, name: true})}/>\r\n \r\n )}\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default CourseName\r\n\r\nexport const EditIconWrapper = styled.div`\r\n margin-left: 0.5em;\r\n padding-bottom: 0.3em;\r\n cursor: pointer;\r\n`","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport { Typography, Input } from 'antd'\r\nimport { Edit } from 'react-feather'\r\n\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport { Course } from './types'\r\n\r\ntype CourseDescriptionProps = {\r\n course: Course\r\n setCourse: (value: React.SetStateAction) => void\r\n setEditing: (value: React.SetStateAction>) => void\r\n editing: Record\r\n}\r\n\r\nconst CourseDescription: React.FC = ({...props}) => {\r\n const { course, setCourse, setEditing, editing } = props\r\n return (\r\n \r\n {editing.description\r\n ? setCourse((prevCourse) => ({\r\n ...prevCourse,\r\n description: e.target.value,\r\n hasUnsavedChanges: true\r\n }) as Course)}\r\n onBlur={() => setEditing({...editing, description: false})}\r\n /> \r\n : <>\r\n \r\n {course.description || ''}\r\n \r\n {!course.isPublished && (\r\n \r\n setEditing({...editing, description: true})}/>\r\n \r\n )}\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default CourseDescription\r\n\r\nexport const EditIconWrapper = styled.div`\r\n margin-left: 0.5em;\r\n padding-bottom: 0.3em;\r\n cursor: pointer;\r\n`","// This icon file is generated automatically.\nvar WarningOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z\" } }] }, \"name\": \"warning\", \"theme\": \"outlined\" };\nexport default WarningOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport WarningOutlinedSvg from \"@ant-design/icons-svg/es/asn/WarningOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar WarningOutlined = function WarningOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: WarningOutlinedSvg\n }));\n};\nWarningOutlined.displayName = 'WarningOutlined';\nexport default /*#__PURE__*/React.forwardRef(WarningOutlined);","// This icon file is generated automatically.\nvar CheckCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"check-circle\", \"theme\": \"outlined\" };\nexport default CheckCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CheckCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/CheckCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CheckCircleOutlined = function CheckCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CheckCircleOutlinedSvg\n }));\n};\nCheckCircleOutlined.displayName = 'CheckCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(CheckCircleOutlined);","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext\";\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\nexport function GenIcon(data) {\n // eslint-disable-next-line react/display-name\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function BiAbacus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h2v18H2zm18 0h2v18h-2zM5 13h2v1h2v-1h2v1h2v-1h4v1h2v-4h-2v1h-4v-1h-2v1H9v-1H7v1H5zm0-9v4h2V7h8v1h2V7h2V5h-2V4h-2v1H7V4zm0 13v3h2v-1h2v1h2v-1h8v-2h-8v-1H9v1H7v-1H5z\"}}]})(props);\n};\nexport function BiAccessibility (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.836 12.014-4.345.725 3.29-4.113a1 1 0 0 0-.227-1.457l-6-4a.999.999 0 0 0-1.262.125l-4 4 1.414 1.414 3.42-3.42 2.584 1.723-2.681 3.352a5.913 5.913 0 0 0-5.5.752l1.451 1.451A3.972 3.972 0 0 1 8 12c2.206 0 4 1.794 4 4 0 .739-.216 1.425-.566 2.02l1.451 1.451A5.961 5.961 0 0 0 14 16c0-.445-.053-.878-.145-1.295L17 14.181V20h2v-7a.998.998 0 0 0-1.164-.986zM8 20c-2.206 0-4-1.794-4-4 0-.739.216-1.425.566-2.02l-1.451-1.451A5.961 5.961 0 0 0 2 16c0 3.309 2.691 6 6 6 1.294 0 2.49-.416 3.471-1.115l-1.451-1.451A3.972 3.972 0 0 1 8 20z\"}}]})(props);\n};\nexport function BiAddToQueue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM8 16V4h12l.002 12H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8H2v12c0 1.103.897 2 2 2h12v-2H4V8zm11-2h-2v3h-3v2h3v3h2v-3h3V9h-3z\"}}]})(props);\n};\nexport function BiAdjust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zm0-18c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 12a7 7 0 0 0-7-7v14a7 7 0 0 0 7-7z\"}}]})(props);\n};\nexport function BiAlarmAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c-4.879 0-9 4.121-9 9s4.121 9 9 9 9-4.121 9-9-4.121-9-9-9zm0 16c-3.794 0-7-3.206-7-7s3.206-7 7-7 7 3.206 7 7-3.206 7-7 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8h-2v4H7v2h4v4h2v-4h4v-2h-4zm7.292-1.292-3.01-3 1.412-1.417 3.01 3zM5.282 2.294 6.7 3.706l-2.99 3-1.417-1.413z\"}}]})(props);\n};\nexport function BiAlarmExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c4.879 0 9-4.121 9-9s-4.121-9-9-9-9 4.121-9 9 4.121 9 9 9zm0-16c3.794 0 7 3.206 7 7s-3.206 7-7 7-7-3.206-7-7 3.206-7 7-7zm5.284-2.293 1.412-1.416 3.01 3-1.413 1.417zM5.282 2.294 6.7 3.706l-2.99 3-1.417-1.413z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9h2v5h-2zm0 6h2v2h-2z\"}}]})(props);\n};\nexport function BiAlarmOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.292 6.708-3.01-3 1.412-1.417 3.01 3zm1.415 13.585-2.287-2.287C20.409 16.563 21 14.838 21 13c0-4.879-4.121-9-9-9-1.838 0-3.563.591-5.006 1.58L5.91 4.496l.788-.79-1.416-1.412-.786.788-.789-.789-1.414 1.414 18 18 1.414-1.414zM12 6c3.794 0 7 3.206 7 7 0 1.292-.387 2.507-1.027 3.559L15.414 14H17v-2h-3.586L13 11.586V8h-2v1.586L8.441 7.027C9.493 6.387 10.708 6 12 6zM4.305 8.426A8.792 8.792 0 0 0 3 13c0 4.879 4.121 9 9 9a8.792 8.792 0 0 0 4.574-1.305l-1.461-1.461A6.801 6.801 0 0 1 12 20c-3.794 0-7-3.206-7-7 0-1.111.281-2.169.766-3.113L4.305 8.426z\"}}]})(props);\n};\nexport function BiAlarmSnooze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c-4.879 0-9 4.121-9 9s4.121 9 9 9 9-4.121 9-9-4.121-9-9-9zm0 16c-3.794 0-7-3.206-7-7s3.206-7 7-7 7 3.206 7 7-3.206 7-7 7zm8.292-13.292-3.01-3 1.412-1.417 3.01 3zM6.698 3.707l-2.99 2.999L2.29 5.294l2.99-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.832 10.555A1 1 0 0 0 14 9H9v2h3.132l-2.964 4.445A1 1 0 0 0 10 17h5v-2h-3.132l2.964-4.445z\"}}]})(props);\n};\nexport function BiAlarm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c-4.879 0-9 4.121-9 9s4.121 9 9 9 9-4.121 9-9-4.121-9-9-9zm0 16c-3.794 0-7-3.206-7-7s3.206-7 7-7 7 3.206 7 7-3.206 7-7 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12V8h-2v6h6v-2zm4.284-8.293 1.412-1.416 3.01 3-1.413 1.417zm-10.586 0-2.99 2.999L2.29 5.294l2.99-3z\"}}]})(props);\n};\nexport function BiAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.99\",\"cy\":\"11.99\",\"r\":\"2.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6a6 6 0 0 0-6 6h2a4 4 0 0 1 4-4z\"}}]})(props);\n};\nexport function BiAlignJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7h16v2H4zm0-4h16v2H4zm0 8h16v2H4zm0 4h16v2H4zm2 4h12v2H6z\"}}]})(props);\n};\nexport function BiAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v2H4zm0-4h11v2H4zm0-4h16v2H4zm0-8h16v2H4zm0 4h11v2H4z\"}}]})(props);\n};\nexport function BiAlignMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v2H4zm3-4h10v2H7zm-3-4h16v2H4zm0-8h16v2H4zm3 4h10v2H7z\"}}]})(props);\n};\nexport function BiAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v2H4zm5-4h11v2H9zm-5-4h16v2H4zm0-8h16v2H4zm5 4h11v2H9z\"}}]})(props);\n};\nexport function BiAnalyse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h2a7.986 7.986 0 0 1 2.337-5.663 7.91 7.91 0 0 1 2.542-1.71 8.12 8.12 0 0 1 6.13-.041A2.488 2.488 0 0 0 17.5 7C18.886 7 20 5.886 20 4.5S18.886 2 17.5 2c-.689 0-1.312.276-1.763.725-2.431-.973-5.223-.958-7.635.059a9.928 9.928 0 0 0-3.18 2.139 9.92 9.92 0 0 0-2.14 3.179A10.005 10.005 0 0 0 2 12zm17.373 3.122c-.401.952-.977 1.808-1.71 2.541s-1.589 1.309-2.542 1.71a8.12 8.12 0 0 1-6.13.041A2.488 2.488 0 0 0 6.5 17C5.114 17 4 18.114 4 19.5S5.114 22 6.5 22c.689 0 1.312-.276 1.763-.725A9.965 9.965 0 0 0 12 22a9.983 9.983 0 0 0 9.217-6.102A9.992 9.992 0 0 0 22 12h-2a7.993 7.993 0 0 1-.627 3.122z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7.462c-2.502 0-4.538 2.036-4.538 4.538S9.498 16.538 12 16.538s4.538-2.036 4.538-4.538S14.502 7.462 12 7.462zm0 7.076c-1.399 0-2.538-1.139-2.538-2.538S10.601 9.462 12 9.462s2.538 1.139 2.538 2.538-1.139 2.538-2.538 2.538z\"}}]})(props);\n};\nexport function BiAnchor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m22 15-3-4-3 4h1.906c-.436 2.469-2.438 4.471-4.906 4.906V13h2v-2h-2V9.336c1.543-.459 2.714-1.923 2.714-3.621C15.714 3.666 14.048 2 12 2S8.286 3.666 8.286 5.715c0 1.698 1.171 3.162 2.714 3.621V11H9v2h2v6.906C8.531 19.471 6.529 17.469 6.094 15H8l-3-4-3 4h2.073c.511 3.885 3.929 7 7.927 7s7.416-3.115 7.927-7H22zM10.286 5.715C10.286 4.77 11.055 4 12 4s1.714.77 1.714 1.715c0 .951-.801 1.785-1.714 1.785s-1.714-.834-1.714-1.785z\"}}]})(props);\n};\nexport function BiAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14c-3 0-4 3-4 3h8s-1-3-4-3zm-2.439-2.439c.014-.014.023-.03.037-.044l1.031.413.742-1.857-5-2-.742 1.856 1.373.549L7 10.5a1.499 1.499 0 0 0 2.561 1.061zm3.068-1.49.742 1.857 1.037-.415c.011.011.019.024.029.035a1.488 1.488 0 0 0 2.112 0c.271-.271.438-.644.438-1.056l-.001-.01 1.386-.554-.742-1.857-5.001 2z\"}}]})(props);\n};\nexport function BiAperture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.579 2 2 6.579 2 12s4.579 10 10 10 10-4.579 10-10S17.421 2 12 2zm2.113 13H9.986l-1.723-3.094L10.202 9h3.736l1.871 3.062L14.113 15zM4 12c0-.953.186-1.87.508-2.727L7.696 15H4.61A7.757 7.757 0 0 1 4 12zm12.283-3h3.106A7.74 7.74 0 0 1 20 12c0 .844-.143 1.66-.397 2.432L16.283 9zm1.905-2h-6.653l1.905-2.857c1.886.359 3.562 1.403 4.748 2.857zm-7.095-2.941L9.132 7H9v.197L7.17 9.942 5.65 7.214c1.3-1.703 3.249-2.895 5.443-3.155zM5.812 17h7.147l-1.709 2.961C9.084 19.748 7.141 18.63 5.812 17zm7.828 2.82 3.357-5.815 1.544 2.526c-1.154 1.642-2.901 2.854-4.901 3.289z\"}}]})(props);\n};\nexport function BiArch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22h1v-6.995c.006-.502.177-3.005 3-3.005s2.994 2.503 3 3v7h7v-2h-1V4h1V2H2v2h1v16H2v2h6zM19 4v2H5V4h14zM5 8h14v12h-2v-5c0-1.729-1.045-5-5-5s-5 3.271-5 5v5H5V8z\"}}]})(props);\n};\nexport function BiArchiveIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.706 5.292-2.999-2.999A.996.996 0 0 0 18 2H6a.996.996 0 0 0-.707.293L2.294 5.292A.994.994 0 0 0 2 6v13c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6a.994.994 0 0 0-.294-.708zM6.414 4h11.172l1 1H5.414l1-1zM4 19V7h16l.002 12H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h-4v3H7l5 5 5-5h-3z\"}}]})(props);\n};\nexport function BiArchiveOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.706 5.292-2.999-2.999A.996.996 0 0 0 18 2H6a.996.996 0 0 0-.707.293L2.294 5.292A.994.994 0 0 0 2 6v13c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6a.994.994 0 0 0-.294-.708zM6.414 4h11.172l1 1H5.414l1-1zM4 19V7h16l.002 12H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14h3v3h4v-3h3l-5-5z\"}}]})(props);\n};\nexport function BiArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.706 5.291-2.999-2.998A.996.996 0 0 0 18 2H6a.996.996 0 0 0-.707.293L2.294 5.291A.994.994 0 0 0 2 5.999V19c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5.999a.994.994 0 0 0-.294-.708zM6.414 4h11.172l.999.999H5.415L6.414 4zM4 19V6.999h16L20.002 19H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12H9v-2H7v4h10v-4h-2z\"}}]})(props);\n};\nexport function BiArea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm16.002 14H5V5h14l.002 14z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12h2V7h-5v2h3zm-3 3H9v-3H7v5h5z\"}}]})(props);\n};\nexport function BiArrowBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11H6.414l5.293-5.293-1.414-1.414L2.586 12l7.707 7.707 1.414-1.414L6.414 13H21z\"}}]})(props);\n};\nexport function BiArrowFromBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h12v2H6zm6-14.414-6.707 6.707 1.414 1.414L11 7.414V16h2V7.414l4.293 4.293 1.414-1.414z\"}}]})(props);\n};\nexport function BiArrowFromLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h2v12H4zm4 7h8.586l-4.293 4.293 1.414 1.414L20.414 12l-6.707-6.707-1.414 1.414L16.586 11H8z\"}}]})(props);\n};\nexport function BiArrowFromRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6h2v12h-2zm-2 5H7.414l4.293-4.293-1.414-1.414L3.586 12l6.707 6.707 1.414-1.414L7.414 13H16z\"}}]})(props);\n};\nexport function BiArrowFromTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h12v2H6zm6 16.414 6.707-6.707-1.414-1.414L13 16.586V8h-2v8.586l-4.293-4.293-1.414 1.414z\"}}]})(props);\n};\nexport function BiArrowToBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h12v2H6zm5-14v8.586L6.707 8.293 5.293 9.707 12 16.414l6.707-6.707-1.414-1.414L13 12.586V4z\"}}]})(props);\n};\nexport function BiArrowToLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h2v12H4zm10.293-.707L7.586 12l6.707 6.707 1.414-1.414L11.414 13H20v-2h-8.586l4.293-4.293z\"}}]})(props);\n};\nexport function BiArrowToRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6h2v12h-2zM4 13h8.586l-4.293 4.293 1.414 1.414L16.414 12 9.707 5.293 8.293 6.707 12.586 11H4z\"}}]})(props);\n};\nexport function BiArrowToTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h12v2H6zm.707 11.707L11 11.414V20h2v-8.586l4.293 4.293 1.414-1.414L12 7.586l-6.707 6.707z\"}}]})(props);\n};\nexport function BiAt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10c1.466 0 2.961-.371 4.442-1.104l-.885-1.793C14.353 19.698 13.156 20 12 20c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8v1c0 .692-.313 2-1.5 2-1.396 0-1.494-1.819-1.5-2V8h-2v.025A4.954 4.954 0 0 0 12 7c-2.757 0-5 2.243-5 5s2.243 5 5 5c1.45 0 2.748-.631 3.662-1.621.524.89 1.408 1.621 2.838 1.621 2.273 0 3.5-2.061 3.5-4v-1c0-5.514-4.486-10-10-10zm0 13c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3z\"}}]})(props);\n};\nexport function BiAtom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.102 20.898c.698.699 1.696 1.068 2.887 1.068 1.742 0 3.855-.778 6.012-2.127 2.156 1.35 4.27 2.127 6.012 2.127 1.19 0 2.188-.369 2.887-1.068 1.269-1.269 1.411-3.413.401-6.039-.358-.932-.854-1.895-1.457-2.859a16.792 16.792 0 0 0 1.457-2.859c1.01-2.626.867-4.771-.401-6.039-.698-.699-1.696-1.068-2.887-1.068-1.742 0-3.855.778-6.012 2.127-2.156-1.35-4.27-2.127-6.012-2.127-1.19 0-2.188.369-2.887 1.068C1.833 4.371 1.69 6.515 2.7 9.141c.359.932.854 1.895 1.457 2.859A16.792 16.792 0 0 0 2.7 14.859c-1.01 2.626-.867 4.77.402 6.039zm16.331-5.321c.689 1.79.708 3.251.052 3.907-.32.32-.815.482-1.473.482-1.167 0-2.646-.503-4.208-1.38a26.611 26.611 0 0 0 4.783-4.784c.336.601.623 1.196.846 1.775zM12 17.417a23.568 23.568 0 0 1-2.934-2.483A23.998 23.998 0 0 1 6.566 12 23.74 23.74 0 0 1 12 6.583a23.568 23.568 0 0 1 2.934 2.483 23.998 23.998 0 0 1 2.5 2.934A23.74 23.74 0 0 1 12 17.417zm6.012-13.383c.657 0 1.152.162 1.473.482.656.656.638 2.117-.052 3.907-.223.579-.51 1.174-.846 1.775a26.448 26.448 0 0 0-4.783-4.784c1.562-.876 3.041-1.38 4.208-1.38zM4.567 8.423c-.689-1.79-.708-3.251-.052-3.907.32-.32.815-.482 1.473-.482 1.167 0 2.646.503 4.208 1.38a26.448 26.448 0 0 0-4.783 4.784 13.934 13.934 0 0 1-.846-1.775zm0 7.154c.223-.579.51-1.174.846-1.775a26.448 26.448 0 0 0 4.783 4.784c-1.563.877-3.041 1.38-4.208 1.38-.657 0-1.152-.162-1.473-.482-.656-.656-.637-2.117.052-3.907z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2.574\"}}]})(props);\n};\nexport function BiAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8.999c0 1.902.765 3.627 2 4.89V21a.998.998 0 0 0 1.447.895L12 20.118l3.553 1.776a.992.992 0 0 0 .972-.043c.295-.183.475-.504.475-.851v-7.11a6.976 6.976 0 0 0 2-4.891C19 5.14 15.86 2 12 2S5 5.14 5 8.999zm7.447 9.106a1 1 0 0 0-.895 0L9 19.382v-4.067c.911.434 1.926.685 3 .685s2.089-.25 3-.685v4.066l-2.553-1.276zM12 4c2.756 0 5 2.242 5 4.999A5.006 5.006 0 0 1 12 14c-2.757 0-5-2.243-5-5.001A5.005 5.005 0 0 1 12 4z\"}}]})(props);\n};\nexport function BiBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.035 15.479A3.976 3.976 0 0 0 4 16c0 2.378 2.138 4.284 4.521 3.964C9.214 21.198 10.534 22 12 22s2.786-.802 3.479-2.036C17.857 20.284 20 18.378 20 16c0-.173-.012-.347-.035-.521C21.198 14.786 22 13.465 22 12s-.802-2.786-2.035-3.479C19.988 8.347 20 8.173 20 8c0-2.378-2.143-4.288-4.521-3.964C14.786 2.802 13.466 2 12 2s-2.786.802-3.479 2.036C6.138 3.712 4 5.622 4 8c0 .173.012.347.035.521C2.802 9.214 2 10.535 2 12s.802 2.786 2.035 3.479zm1.442-5.403 1.102-.293-.434-1.053A1.932 1.932 0 0 1 6 8c0-1.103.897-2 2-2 .247 0 .499.05.73.145l1.054.434.293-1.102a1.99 1.99 0 0 1 3.846 0l.293 1.102 1.054-.434C15.501 6.05 15.753 6 16 6c1.103 0 2 .897 2 2 0 .247-.05.5-.145.73l-.434 1.053 1.102.293a1.993 1.993 0 0 1 0 3.848l-1.102.293.434 1.053c.095.23.145.483.145.73 0 1.103-.897 2-2 2-.247 0-.499-.05-.73-.145l-1.054-.434-.293 1.102a1.99 1.99 0 0 1-3.846 0l-.293-1.102-1.054.434A1.935 1.935 0 0 1 8 18c-1.103 0-2-.897-2-2 0-.247.05-.5.145-.73l.434-1.053-1.102-.293a1.993 1.993 0 0 1 0-3.848z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.742 10.71-1.408-1.42-3.331 3.299-1.296-1.296-1.414 1.414 2.704 2.704z\"}}]})(props);\n};\nexport function BiBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.965 8.521C19.988 8.347 20 8.173 20 8c0-2.378-2.143-4.288-4.521-3.964C14.786 2.802 13.466 2 12 2s-2.786.802-3.479 2.036C6.138 3.712 4 5.622 4 8c0 .173.012.347.035.521C2.802 9.214 2 10.535 2 12s.802 2.786 2.035 3.479A3.976 3.976 0 0 0 4 16c0 2.378 2.138 4.284 4.521 3.964C9.214 21.198 10.534 22 12 22s2.786-.802 3.479-2.036C17.857 20.284 20 18.378 20 16c0-.173-.012-.347-.035-.521C21.198 14.786 22 13.465 22 12s-.802-2.786-2.035-3.479zm-1.442 5.403-1.102.293.434 1.053c.095.23.145.483.145.73 0 1.103-.897 2-2 2-.247 0-.499-.05-.73-.145l-1.054-.434-.293 1.102a1.99 1.99 0 0 1-3.846 0l-.293-1.102-1.054.434A1.935 1.935 0 0 1 8 18c-1.103 0-2-.897-2-2 0-.247.05-.5.145-.73l.434-1.053-1.102-.293a1.993 1.993 0 0 1 0-3.848l1.102-.293-.434-1.053A1.932 1.932 0 0 1 6 8c0-1.103.897-2 2-2 .247 0 .499.05.73.145l1.054.434.293-1.102a1.99 1.99 0 0 1 3.846 0l.293 1.102 1.054-.434C15.501 6.05 15.753 6 16 6c1.103 0 2 .897 2 2 0 .247-.05.5-.145.73l-.434 1.053 1.102.293a1.993 1.993 0 0 1 0 3.848z\"}}]})(props);\n};\nexport function BiBaguette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.64 21.71a8 8 0 0 0 5.6-2.47l6-6c2.87-2.87 3.31-7.11 1-9.45s-6.58-1.91-9.45 1l-6 6c-2.87 2.87-3.31 7.11-1 9.45a5.38 5.38 0 0 0 3.85 1.47zm-2-9 2.78 2.79 1.42-1.42-2.79-2.79 1.41-1.41 2.83 2.83 1.42-1.42-2.83-2.83 1.41-1.41 2.83 2.83 1.42-1.42-2.79-2.78c2-1.61 4.65-1.87 6-.47s1.09 4.56-1 6.62l-6 6c-2.06 2.05-5.09 2.5-6.62 1s-1.06-4.07.55-6.08z\"}}]})(props);\n};\nexport function BiBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.76 21a17.68 17.68 0 0 0 4 .43 13.89 13.89 0 0 0 9.93-3.69C23 12.37 21.06 4.11 21 3.76a1 1 0 0 0-.76-.76 17.91 17.91 0 0 0-4-.43 13.82 13.82 0 0 0-9.96 3.71C.94 11.63 2.94 19.89 3 20.24a1 1 0 0 0 .76.76zM7.7 7.7a11.86 11.86 0 0 1 8.49-3.1 17.57 17.57 0 0 1 3 .25c.31 1.87.91 7.67-2.86 11.44a11.91 11.91 0 0 1-8.55 3.11 17.16 17.16 0 0 1-2.93-.25c-.32-1.88-.92-7.67 2.85-11.45z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.29 15.29 1.42 1.42 1.79-1.79 1.79 1.79 1.42-1.42-1.8-1.79 1.59-1.59 1.79 1.8 1.42-1.42-1.8-1.79 1.8-1.79-1.42-1.42-1.79 1.8-1.79-1.8-1.42 1.42 1.8 1.79-1.59 1.59-1.79-1.8-1.42 1.42 1.8 1.79z\"}}]})(props);\n};\nexport function BiBandAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.111 21.889a5.962 5.962 0 0 0 4.242-1.757l7.778-7.778a6.007 6.007 0 0 0 0-8.485 5.965 5.965 0 0 0-4.243-1.757 5.962 5.962 0 0 0-4.242 1.757l-7.778 7.778a6.007 6.007 0 0 0 0 8.485 5.965 5.965 0 0 0 4.243 1.757zm-2.829-8.828 7.778-7.778a3.976 3.976 0 0 1 2.828-1.171c1.069 0 2.073.416 2.829 1.171a4.006 4.006 0 0 1 0 5.657l-7.778 7.778a3.976 3.976 0 0 1-2.828 1.171 3.977 3.977 0 0 1-2.829-1.171 4.008 4.008 0 0 1 0-5.657z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"15\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"9\",\"r\":\"1\"}}]})(props);\n};\nexport function BiBarChartAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7h-4V4c0-1.103-.897-2-2-2h-4c-1.103 0-2 .897-2 2v5H4c-1.103 0-2 .897-2 2v9a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V9c0-1.103-.897-2-2-2zM4 11h4v8H4v-8zm6-1V4h4v15h-4v-9zm10 9h-4V9h4v10z\"}}]})(props);\n};\nexport function BiBarChartAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h2v11h-2zm4-3h2v14h-2zM9 9h2v8H9zM4 19h16v2H4zm1-7h2v5H5z\"}}]})(props);\n};\nexport function BiBarChartSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm16.001 14H5V5h14l.001 14z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7h2v10h-2zm4 3h2v7h-2zm-8 2h2v5H7z\"}}]})(props);\n};\nexport function BiBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h2v14H9zm4 2h2v12h-2zm4-4h2v16h-2zM5 12h2v8H5z\"}}]})(props);\n};\nexport function BiBarcodeReader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7h2v10H5zm9 0h1v10h-1zm-4 0h3v10h-3zM8 7h1v10H8zm8 0h3v10h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5h4V3H4c-1.103 0-2 .897-2 2v4h2V5zm0 16h4v-2H4v-4H2v4c0 1.103.897 2 2 2zM20 3h-4v2h4v4h2V5c0-1.103-.897-2-2-2zm0 16h-4v2h4c1.103 0 2-.897 2-2v-4h-2v4z\"}}]})(props);\n};\nexport function BiBarcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zM4 18V6h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8h2v8H6zm3 0h1v8H9zm8 0h1v8h-1zm-4 0h3v8h-3zm-2 0h1v8h-1z\"}}]})(props);\n};\nexport function BiBaseball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.99 2a9.937 9.937 0 0 0-7.071 2.938c-3.898 3.898-3.898 10.243 0 14.143 1.895 1.895 4.405 2.938 7.071 2.938s5.177-1.043 7.071-2.938c3.899-3.899 3.899-10.244 0-14.143A9.937 9.937 0 0 0 11.99 2zm5.657 15.667a7.957 7.957 0 0 1-3.816 2.129l-.001-.037a6.199 6.199 0 0 1 .421-2.259l-1.863-.729a8.188 8.188 0 0 0-.552 3.239 7.953 7.953 0 0 1-5.503-2.344 7.965 7.965 0 0 1-2.332-5.503c.08.002.16.005.24.005a8.16 8.16 0 0 0 2.988-.558l-.73-1.862a6.156 6.156 0 0 1-2.281.412 7.936 7.936 0 0 1 2.115-3.809 7.963 7.963 0 0 1 3.972-2.168 5.974 5.974 0 0 1-.357 1.95l1.881.681a7.92 7.92 0 0 0 .482-2.701c0-.033-.004-.065-.005-.098 2.013.079 3.9.896 5.342 2.336a7.959 7.959 0 0 1 2.324 5.348 7.908 7.908 0 0 0-2.787.473l.684 1.88a5.91 5.91 0 0 1 1.935-.361 7.953 7.953 0 0 1-2.157 3.976z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.112 14.13a7.599 7.599 0 0 0-.926 1.121l1.656 1.12c.2-.296.43-.574.683-.826a6.428 6.428 0 0 1 1.178-.929l-1.049-1.703a8.408 8.408 0 0 0-1.542 1.217zM8.456 8.474a5.713 5.713 0 0 1-.827.681l1.119 1.658a7.72 7.72 0 0 0 1.122-.926 8.501 8.501 0 0 0 1.217-1.542L9.384 7.297a6.519 6.519 0 0 1-.928 1.177z\"}}]})(props);\n};\nexport function BiBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9h-1.42l-3.712-6.496-1.736.992L17.277 9H6.723l3.146-5.504-1.737-.992L4.42 9H3a1.001 1.001 0 0 0-.965 1.263l2.799 10.264A2.005 2.005 0 0 0 6.764 22h10.473c.898 0 1.692-.605 1.93-1.475l2.799-10.263A.998.998 0 0 0 21 9zm-3.764 11v1-1H6.764L4.31 11h15.38l-2.454 9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13h2v5H9zm4 0h2v5h-2z\"}}]})(props);\n};\nexport function BiBasketball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 19.071c1.895 1.895 4.405 2.938 7.071 2.938s5.177-1.043 7.071-2.938c3.899-3.899 3.899-10.243 0-14.143C17.177 3.034 14.665 1.99 12 1.99S6.823 3.034 4.929 4.929c-3.899 3.898-3.899 10.243 0 14.142zm7.38-15.065a7.912 7.912 0 0 1 4.594 1.678L12 10.586l-1.46-1.46c1.161-1.479 1.792-3.308 1.769-5.12zM9.11 7.696 7.098 5.684a7.929 7.929 0 0 1 3.218-1.51c-.015 1.236-.445 2.477-1.206 3.522zM7.686 9.1a6.065 6.065 0 0 1-3.459 1.057 7.923 7.923 0 0 1 1.458-3.058L7.686 9.1zm-3.675 3.046c.077.002.154.014.231.014a8.05 8.05 0 0 0 4.877-1.626L10.586 12l-4.901 4.901a7.972 7.972 0 0 1-1.674-4.755zm12.294 2.745c1.042-.758 2.28-1.188 3.508-1.206a7.947 7.947 0 0 1-1.497 3.217l-2.011-2.011zm.597 3.425a7.935 7.935 0 0 1-3.059 1.47 6.05 6.05 0 0 1 1.057-3.472l2.002 2.002zm-5.044 1.686a7.922 7.922 0 0 1-4.761-1.686L12 13.414l1.463 1.463c-1.103 1.444-1.659 3.266-1.605 5.125zm8.124-8.31c-1.807-.018-3.633.61-5.108 1.768L13.414 12l4.901-4.901a7.968 7.968 0 0 1 1.667 4.593z\"}}]})(props);\n};\nexport function BiBath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10H7V7c0-1.103.897-2 2-2s2 .897 2 2h2c0-2.206-1.794-4-4-4S5 4.794 5 7v3H3a1 1 0 0 0-1 1v2c0 2.606 1.674 4.823 4 5.65V22h2v-3h8v3h2v-3.35c2.326-.827 4-3.044 4-5.65v-2a1 1 0 0 0-1-1zm-1 3c0 2.206-1.794 4-4 4H8c-2.206 0-4-1.794-4-4v-1h16v1z\"}}]})(props);\n};\nexport function BiBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h14c1.103 0 2-.897 2-2v-2h2v-4h-2V8c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2zM4 8h14l.002 8H4V8z\"}}]})(props);\n};\nexport function BiBed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9.557V3h-2v2H6V3H4v6.557C2.81 10.25 2 11.525 2 13v4a1 1 0 0 0 1 1h1v4h2v-4h12v4h2v-4h1a1 1 0 0 0 1-1v-4c0-1.475-.811-2.75-2-3.443zM18 7v2h-5V7h5zM6 7h5v2H6V7zm14 9H4v-3c0-1.103.897-2 2-2h12c1.103 0 2 .897 2 2v3z\"}}]})(props);\n};\nexport function BiBeenHere (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C7.589 2 4 5.589 4 9.995c-.029 6.445 7.116 11.604 7.42 11.819a.998.998 0 0 0 1.16 0C12.884 21.599 20.029 16.44 20 10c0-4.411-3.589-8-8-8zm0 17.735C10.389 18.427 5.979 14.441 6 10c0-3.309 2.691-6 6-6s6 2.691 6 6.005c.021 4.437-4.388 8.423-6 9.73z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11.586 8.707 9.293l-1.414 1.414L11 14.414l5.707-5.707-1.414-1.414z\"}}]})(props);\n};\nexport function BiBeer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-2V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v15c0 1.654 1.346 3 3 3h10c1.654 0 3-1.346 3-3v-1h2c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zm-4 13c0 .551-.448 1-1 1H5c-.552 0-1-.449-1-1V5h12v14zm4-3h-2V8h2v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7h2v10H6zm6 0h2v10h-2z\"}}]})(props);\n};\nexport function BiBellMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.707 15.293 19 13.586V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.185 4.074 5 6.783 5 10v3.586l-1.707 1.707A.996.996 0 0 0 3 16v2a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-2a.996.996 0 0 0-.293-.707zM19 17H5v-.586l1.707-1.707A.996.996 0 0 0 7 14v-4c0-2.757 2.243-5 5-5s5 2.243 5 5v4c0 .266.105.52.293.707L19 16.414V17zm-7 5a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.037 10h7.926v2H8.037z\"}}]})(props);\n};\nexport function BiBellOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22zm9-4v-2a.996.996 0 0 0-.293-.707L19 13.586V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258c-1.323.364-2.463 1.128-3.346 2.127L3.707 2.293 2.293 3.707l18 18 1.414-1.414-1.362-1.362A.993.993 0 0 0 21 18zM12 5c2.757 0 5 2.243 5 5v4c0 .266.105.52.293.707L19 16.414V17h-.586L8.207 6.793C9.12 5.705 10.471 5 12 5zm-5.293 9.707A.996.996 0 0 0 7 14v-2.879L5.068 9.189C5.037 9.457 5 9.724 5 10v3.586l-1.707 1.707A.996.996 0 0 0 3 16v2a1 1 0 0 0 1 1h10.879l-2-2H5v-.586l1.707-1.707z\"}}]})(props);\n};\nexport function BiBellPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7.037h-2V10H8.037v2H11v2.963h2V12h2.963v-2H13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13.586V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.185 4.074 5 6.783 5 10v3.586l-1.707 1.707A.996.996 0 0 0 3 16v2a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-2a.996.996 0 0 0-.293-.707L19 13.586zM19 17H5v-.586l1.707-1.707A.996.996 0 0 0 7 14v-4c0-2.757 2.243-5 5-5s5 2.243 5 5v4c0 .266.105.52.293.707L19 16.414V17zm-7 5a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22z\"}}]})(props);\n};\nexport function BiBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13.586V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.185 4.074 5 6.783 5 10v3.586l-1.707 1.707A.996.996 0 0 0 3 16v2a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-2a.996.996 0 0 0-.293-.707L19 13.586zM19 17H5v-.586l1.707-1.707A.996.996 0 0 0 7 14v-4c0-2.757 2.243-5 5-5s5 2.243 5 5v4c0 .266.105.52.293.707L19 16.414V17zm-7 5a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22z\"}}]})(props);\n};\nexport function BiBible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h15v-2H6.012C5.55 19.988 5 19.805 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3zM5 8V5c0-.805.55-.988 1-1h13v12H5V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h2v-4h2V8h-2V6h-2v2H9v2h2z\"}}]})(props);\n};\nexport function BiBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13v4H6v2h3v2h2v-2h2v2h2v-2.051c1.968-.249 3.5-1.915 3.5-3.949 0-1.32-.65-2.484-1.64-3.213A3.982 3.982 0 0 0 18 9c0-1.858-1.279-3.411-3-3.858V3h-2v2h-2V3H9v2H6v2h2v6zm6.5 4H10v-4h4.5c1.103 0 2 .897 2 2s-.897 2-2 2zM10 7h4c1.103 0 2 .897 2 2s-.897 2-2 2h-4V7z\"}}]})(props);\n};\nexport function BiBlanket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H7C4.243 2 2 4.243 2 7v10c0 2.757 2.243 5 5 5h12c1.654 0 3-1.346 3-3s-1.346-3-3-3H6v2h13a1 1 0 0 1 0 2H7c-1.654 0-3-1.346-3-3s1.346-3 3-3h13c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 10H7a4.973 4.973 0 0 0-3 1.002V7c0-1.654 1.346-3 3-3h13v8z\"}}]})(props);\n};\nexport function BiBlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM4 12c0-1.846.634-3.542 1.688-4.897l11.209 11.209A7.946 7.946 0 0 1 12 20c-4.411 0-8-3.589-8-8zm14.312 4.897L7.103 5.688A7.948 7.948 0 0 1 12 4c4.411 0 8 3.589 8 8a7.954 7.954 0 0 1-1.688 4.897z\"}}]})(props);\n};\nexport function BiBluetooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4.41 16.192 1.18 1.615L10 14.584V21a1 1 0 0 0 1.541.841l7-4.5a.999.999 0 0 0 .049-1.649L13.537 12l5.053-3.692a1.002 1.002 0 0 0-.049-1.65l-7-4.5a1.002 1.002 0 0 0-1.021-.037c-.32.176-.52.513-.52.879v6.416L5.59 6.192 4.41 7.808 10 11.893v.215l-5.59 4.084zM12 4.832l4.232 2.721L12 10.646V4.832zm0 8.522 4.232 3.093L12 19.168v-5.814z\"}}]})(props);\n};\nexport function BiBody (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 22V9h5V7H4v2h5v13h2v-7h2v7z\"}}]})(props);\n};\nexport function BiBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.061 11.22A4.46 4.46 0 0 0 18 8.5C18 6.019 15.981 4 13.5 4H6v15h8c2.481 0 4.5-2.019 4.5-4.5a4.48 4.48 0 0 0-1.439-3.28zM13.5 7c.827 0 1.5.673 1.5 1.5s-.673 1.5-1.5 1.5H9V7h4.5zm.5 9H9v-3h5c.827 0 1.5.673 1.5 1.5S14.827 16 14 16z\"}}]})(props);\n};\nexport function BiBoltCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 6-6 7h4v5l6-7h-4z\"}}]})(props);\n};\nexport function BiBomb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3.001c-1.4 0-2.584 1.167-2.707 1.293L17.207 5.38l-1.091-1.088a.999.999 0 0 0-1.413.001L13.46 5.537A8.353 8.353 0 0 0 10.5 5C5.813 5 2 8.813 2 13.5S5.813 22 10.5 22s8.5-3.813 8.5-8.5c0-.909-.144-1.8-.428-2.658l1.345-1.345a1.002 1.002 0 0 0-.001-1.415l-1.293-1.29 1.088-1.088c.229-.229.845-.703 1.289-.703h1v-2h-1zm-4.511 7.978c.339.804.511 1.652.511 2.521 0 3.584-2.916 6.5-6.5 6.5S4 17.084 4 13.5 6.916 7 10.5 7c.96 0 1.89.21 2.762.624.381.181.837.103 1.136-.196l1.014-1.014 2.384 2.377-1.092 1.092a.998.998 0 0 0-.215 1.096z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13.5a4.47 4.47 0 0 0 1.318 3.182l1.414-1.414C8.26 14.795 8 14.168 8 13.5s.26-1.295.732-1.768A2.484 2.484 0 0 1 10.5 11V9a4.469 4.469 0 0 0-3.182 1.318A4.47 4.47 0 0 0 6 13.5z\"}}]})(props);\n};\nexport function BiBone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.049 4.951a3.953 3.953 0 0 0-1.028-1.801c-1.51-1.51-4.146-1.51-5.656 0a4.009 4.009 0 0 0-.618 4.86l-3.714 3.714c-1.505-.89-3.591-.649-4.86.618a4.004 4.004 0 0 0 0 5.657 3.946 3.946 0 0 0 1.8 1.028c.178.681.53 1.302 1.028 1.8A3.966 3.966 0 0 0 8.829 22a3.973 3.973 0 0 0 2.828-1.172 4.007 4.007 0 0 0 .617-4.859l3.714-3.714c1.507.891 3.593.65 4.861-.619a4.003 4.003 0 0 0 0-5.656 3.942 3.942 0 0 0-1.8-1.029zm.387 5.271c-.756.755-2.073.756-2.829 0l-.707-.707-6.363 6.364.707.707a2.003 2.003 0 0 1 0 2.828c-.757.757-2.074.755-2.829 0a1.963 1.963 0 0 1-.571-1.31l-.047-.9-.9-.047a1.972 1.972 0 0 1-1.31-.571 2.003 2.003 0 0 1 0-2.829c.377-.377.879-.585 1.413-.585s1.036.208 1.414.585l.707.707 6.364-6.363-.707-.707a2.003 2.003 0 0 1 0-2.829c.756-.754 2.072-.754 2.828 0 .343.343.546.809.572 1.312l.048.897.897.048c.503.026.969.229 1.312.572.377.378.585.88.585 1.414s-.207 1.036-.584 1.414z\"}}]})(props);\n};\nexport function BiBong (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.293 8.293-2.069 2.069A7.017 7.017 0 0 0 15 8.681V4h1V2H8v2h1v4.681A7.01 7.01 0 0 0 5 15c0 3.859 3.141 7 7 7s7-3.141 7-7a6.958 6.958 0 0 0-.652-2.934l2.359-2.359-1.414-1.414zm-8.959 1.998.666-.235V4h2v6.056l.666.235A5.006 5.006 0 0 1 16.886 14H7.114a5.006 5.006 0 0 1 3.22-3.709zM12 20a5.007 5.007 0 0 1-4.898-4h9.797A5.009 5.009 0 0 1 12 20z\"}}]})(props);\n};\nexport function BiBookAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8v11c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19c0-.101.009-.191.024-.273.112-.576.584-.717.988-.727H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3v3zm3-4h13v12H5V5c0-.806.55-.988 1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h2v-3h3V9h-3V6h-2v3H8v2h3z\"}}]})(props);\n};\nexport function BiBookAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2zm0 14H5V5c0-.806.55-.988 1-1h13v12z\"}}]})(props);\n};\nexport function BiBookBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2.01H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.998 5 19.815 5 19.01c0-.101.009-.191.024-.273.112-.575.583-.717.987-.727H20c.018 0 .031-.009.049-.01H21V4.01c0-1.103-.897-2-2-2zm0 14H5v-11c0-.806.55-.988 1-1h7v7l2-1 2 1v-7h2v12z\"}}]})(props);\n};\nexport function BiBookContent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 19V5h7v14H4zm9 0V5h7l.001 14H13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h3v2h-3zm0 4h3v2h-3z\"}}]})(props);\n};\nexport function BiBookHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8v11c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3v3zm3-4h13v12H5V5c0-.806.55-.988 1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11.997 14 3.35-3.289a2.129 2.129 0 0 0 0-3.069 2.225 2.225 0 0 0-3.126 0l-.224.218-.224-.219a2.224 2.224 0 0 0-3.125 0 2.129 2.129 0 0 0 0 3.069L11.997 14z\"}}]})(props);\n};\nexport function BiBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3h-7a2.98 2.98 0 0 0-2 .78A2.98 2.98 0 0 0 10 3H3a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h5.758c.526 0 1.042.214 1.414.586l1.121 1.121c.009.009.021.012.03.021.086.079.182.149.294.196h.002a.996.996 0 0 0 .762 0h.002c.112-.047.208-.117.294-.196.009-.009.021-.012.03-.021l1.121-1.121A2.015 2.015 0 0 1 15.242 20H21a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM8.758 18H4V5h6c.552 0 1 .449 1 1v12.689A4.032 4.032 0 0 0 8.758 18zM20 18h-4.758c-.799 0-1.584.246-2.242.689V6c0-.551.448-1 1-1h6v13z\"}}]})(props);\n};\nexport function BiBookReader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8c-.202 0-4.85.029-9 2.008C7.85 8.029 3.202 8 3 8a1 1 0 0 0-1 1v9.883a1 1 0 0 0 .305.719c.195.188.48.305.729.28l.127-.001c.683 0 4.296.098 8.416 2.025.016.008.034.005.05.011.119.049.244.083.373.083s.254-.034.374-.083c.016-.006.034-.003.05-.011 4.12-1.928 7.733-2.025 8.416-2.025l.127.001c.238.025.533-.092.729-.28.194-.189.304-.449.304-.719V9a1 1 0 0 0-1-1zM4 10.049c1.485.111 4.381.48 7 1.692v7.742c-3-1.175-5.59-1.494-7-1.576v-7.858zm16 7.858c-1.41.082-4 .401-7 1.576v-7.742c2.619-1.212 5.515-1.581 7-1.692v7.858z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"3\"}}]})(props);\n};\nexport function BiBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h15v-2H6.012C5.55 19.988 5 19.805 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3zM5 8V5c0-.805.55-.988 1-1h13v12H5V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6h9v2H8z\"}}]})(props);\n};\nexport function BiBookmarkAltMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-12C4.57 2 3 3.57 3 5.5V22l7-3.5 7 3.5v-9h5V5.5C22 3.57 20.43 2 18.5 2zM15 18.764l-5-2.5-5 2.5V5.5C5 4.673 5.673 4 6.5 4h8.852A3.451 3.451 0 0 0 15 5.5v13.264zM20 11h-3V5.5c0-.827.673-1.5 1.5-1.5s1.5.673 1.5 1.5V11z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9h6v2H7z\"}}]})(props);\n};\nexport function BiBookmarkAltPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-12C4.57 2 3 3.57 3 5.5V22l7-3.5 7 3.5v-9h5V5.5C22 3.57 20.43 2 18.5 2zM15 18.764l-5-2.5-5 2.5V5.5C5 4.673 5.673 4 6.5 4h8.852A3.451 3.451 0 0 0 15 5.5v13.264zM20 11h-3V5.5c0-.827.673-1.5 1.5-1.5s1.5.673 1.5 1.5V11z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7H9v2H7v2h2v2h2v-2h2V9h-2z\"}}]})(props);\n};\nexport function BiBookmarkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-12C4.57 2 3 3.57 3 5.5V22l7-3.5 7 3.5v-9h5V5.5C22 3.57 20.43 2 18.5 2zM15 18.764l-5-2.5-5 2.5V5.5C5 4.673 5.673 4 6.5 4h8.852A3.451 3.451 0 0 0 15 5.5v13.264zM20 11h-3V5.5c0-.827.673-1.5 1.5-1.5s1.5.673 1.5 1.5V11z\"}}]})(props);\n};\nexport function BiBookmarkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22V4c0-1.103-.897-2-2-2H6c-1.103 0-2 .897-2 2v18l8-4.572L20 22zM6 10V4h12v14.553l-6-3.428-6 3.428V10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.409 9.512c.361-.372.585-.888.585-1.456s-.223-1.083-.585-1.456a1.962 1.962 0 0 0-1.412-.603S13.001 5.994 12 7.026c-1.001-1.032-1.997-1.029-1.997-1.029-.552 0-1.051.23-1.412.603-.362.373-.585.887-.585 1.456s.223 1.084.585 1.456L12 13.203l3.409-3.691z\"}}]})(props);\n};\nexport function BiBookmarkMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h8v2H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22V4c0-1.103-.897-2-2-2H6c-1.103 0-2 .897-2 2v18l8-4.572L20 22zM6 10V4h12v14.553l-6-3.428-6 3.428V10z\"}}]})(props);\n};\nexport function BiBookmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 14v-3h3V9h-3V6h-2v3H8v2h3v3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22V4c0-1.103-.897-2-2-2H6c-1.103 0-2 .897-2 2v18l8-4.572L20 22zM6 10V4h12v14.553l-6-3.428-6 3.428V10z\"}}]})(props);\n};\nexport function BiBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6c-1.103 0-2 .897-2 2v18l8-4.572L20 22V4c0-1.103-.897-2-2-2zm0 16.553-6-3.428-6 3.428V4h12v14.553z\"}}]})(props);\n};\nexport function BiBookmarks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 5H6c-1.103 0-2 .897-2 2v16l6-3.601L16 23V7c0-1.103-.897-2-2-2zm0 14.467-4-2.399-4 2.399V7h8v12.467z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 1h-8c-1.103 0-2 .897-2 2h8c1.103 0 2 .897 2 2v10.443l2 2.489V3c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiBorderAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h12V3H3v18h6zm10-4v2h-6v-6h6v4zM15 5h4v6h-6V5h2zM5 7V5h6v6H5V7zm0 12v-6h6v6H5z\"}}]})(props);\n};\nexport function BiBorderBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7h2v2H3zm0 4h2v2H3zm0 4h2v2H3zM3 3h2v2H3zm8 0h2v2h-2zM7 3h2v2H7zm8 0h2v2h-2zm4 0h2v2h-2zm0 12h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2zm-4 4h2v2h-2zm-8 0h2v2H7zm4-4h2v2h-2zm0 8h2v2h-2zm0-4h2v2h-2zm6 8H3v2h18v-2h-2z\"}}]})(props);\n};\nexport function BiBorderInner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19h2v2h-2zM7 19h2v2H7zm8 0h2v2h-2zM3 19h2v2H3zm0-4h2v2H3zm0-8h2v2H3zm0-4h2v2H3zm12 0h2v2h-2zM7 3h2v2H7zm12 0h2v2h-2zm0 12h2v2h-2zm0-8h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13h6v8h2v-8h8v-2h-8V3h-2v8H3v2h1.93z\"}}]})(props);\n};\nexport function BiBorderLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3h2v2h-2zm4 0h2v2h-2zM7 3h2v2H7zm12 0h2v2h-2zm0 8h2v2h-2zm0 4h2v2h-2zm0-8h2v2h-2zm0 12h2v2h-2zm-4 0h2v2h-2zm-8 0h2v2H7zm4 0h2v2h-2zm0-4h2v2h-2zm0-8h2v2h-2zm4 4h2v2h-2zm-8 0h2v2H7zm4 0h2v2h-2zM3 5v16h2V3H3z\"}}]})(props);\n};\nexport function BiBorderNone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19h2v2h-2zm-8 0h2v2h-2zm4 0h2v2h-2zm-8 0h2v2H7zm-4 0h2v2H3zM3 7h2v2H3zm0 8h2v2H3zm0-4h2v2H3zm0-8h2v2H3zm4 0h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm-8-8h2v2h-2zm0 8h2v2h-2zm-4-4h2v2H7zm8 0h2v2h-2zm-4 0h2v2h-2z\"}}]})(props);\n};\nexport function BiBorderOuter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7h2v2h-2zm0 8h2v2h-2zm-4-4h2v2H7zm8 0h2v2h-2zm-4 0h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H3v18h18V3h-2zm0 4v12H5V5h14v2z\"}}]})(props);\n};\nexport function BiBorderRadius (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19h2v2h-2zM7 19h2v2H7zm8 0h2v2h-2zm-4 0h2v2h-2zm-8 0h2v2H3zm0-4h2v2H3zm0-8h2v2H3zm0 4h2v2H3zm0-8h2v2H3zm4 0h2v2H7zm12 12h2v2h-2zM16 3h-5v2h5c1.654 0 3 1.346 3 3v5h2V8c0-2.757-2.243-5-5-5z\"}}]})(props);\n};\nexport function BiBorderRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 19h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2H7zm-4 0h2v2H3zM3 7h2v2H3zm0 8h2v2H3zm0-4h2v2H3zm0-8h2v2H3zm12 0h2v2h-2zm-4 0h2v2h-2zM7 3h2v2H7zm4 4h2v2h-2zm0 8h2v2h-2zm-4-4h2v2H7zm8 0h2v2h-2zm-4 0h2v2h-2zm8-6v16h2V3h-2z\"}}]})(props);\n};\nexport function BiBorderTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 11h2v2h-2zm0 4h2v2h-2zm0-8h2v2h-2zm0 12h2v2h-2zm-8 0h2v2h-2zm4 0h2v2h-2zm-8 0h2v2H7zm-4 0h2v2H3zm0-8h2v2H3zm0 4h2v2H3zm0-8h2v2H3zm4 4h2v2H7zm8 0h2v2h-2zm-4-4h2v2h-2zm0 8h2v2h-2zm0-4h2v2h-2zm10-8H3v2h18z\"}}]})(props);\n};\nexport function BiBot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.928 11.607c-.202-.488-.635-.605-.928-.633V8c0-1.103-.897-2-2-2h-6V4.61c.305-.274.5-.668.5-1.11a1.5 1.5 0 0 0-3 0c0 .442.195.836.5 1.11V6H5c-1.103 0-2 .897-2 2v2.997l-.082.006A1 1 0 0 0 1.99 12v2a1 1 0 0 0 1 1H3v5c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5a1 1 0 0 0 1-1v-1.938a1.006 1.006 0 0 0-.072-.455zM5 20V8h14l.001 3.996L19 12v2l.001.005.001 5.995H5z\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"12\",\"rx\":\"1.5\",\"ry\":\"2\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"12\",\"rx\":\"1.5\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16h8v2H8z\"}}]})(props);\n};\nexport function BiBowlHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10H3a1 1 0 0 0-1 1 10 10 0 0 0 5 8.66V21a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1.34A10 10 0 0 0 22 11a1 1 0 0 0-1-1zm-5.45 8.16a1 1 0 0 0-.55.9V20H9v-.94a1 1 0 0 0-.55-.9A8 8 0 0 1 4.06 12h15.88a8 8 0 0 1-4.39 6.16zM9 9V7.93a4.53 4.53 0 0 0-1.28-3.15A2.49 2.49 0 0 1 7 3V2H5v1a4.53 4.53 0 0 0 1.28 3.17A2.49 2.49 0 0 1 7 7.93V9zm4 0V7.93a4.53 4.53 0 0 0-1.28-3.15A2.49 2.49 0 0 1 11 3V2H9v1a4.53 4.53 0 0 0 1.28 3.15A2.49 2.49 0 0 1 11 7.93V9zm4 0V7.93a4.53 4.53 0 0 0-1.28-3.15A2.49 2.49 0 0 1 15 3V2h-2v1a4.53 4.53 0 0 0 1.28 3.15A2.49 2.49 0 0 1 15 7.93V9z\"}}]})(props);\n};\nexport function BiBowlRice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19.66V21a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1.34A10 10 0 0 0 22 11a1 1 0 0 0-1-1 3.58 3.58 0 0 0-1.8-3 3.66 3.66 0 0 0-3.63-3.13 3.86 3.86 0 0 0-1 .13 3.7 3.7 0 0 0-5.11 0 3.86 3.86 0 0 0-1-.13A3.66 3.66 0 0 0 4.81 7 3.58 3.58 0 0 0 3 10a1 1 0 0 0-1 1 10 10 0 0 0 5 8.66zm-.89-11 .83-.26-.16-.9a1.64 1.64 0 0 1 1.66-1.62 1.78 1.78 0 0 1 .83.2l.81.45.5-.77a1.71 1.71 0 0 1 2.84 0l.5.77.81-.45a1.78 1.78 0 0 1 .83-.2 1.65 1.65 0 0 1 1.67 1.6l-.16.85.82.28A1.59 1.59 0 0 1 19 10H5a1.59 1.59 0 0 1 1.11-1.39zM19.94 12a8 8 0 0 1-4.39 6.16 1 1 0 0 0-.55.9V20H9v-.94a1 1 0 0 0-.55-.9A8 8 0 0 1 4.06 12z\"}}]})(props);\n};\nexport function BiBowlingBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"7.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"11.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a2 2 0 0 0-2 2v2a2 2 0 0 0 1 1.72V19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.72A2 2 0 0 0 22 7V5a2 2 0 0 0-2-2zM4 5h16v2H4zm1 14V9h14v10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11h8v2H8z\"}}]})(props);\n};\nexport function BiBracket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4V2H4v20h6v-2H6V4zm4 16v2h6V2h-6v2h4v16z\"}}]})(props);\n};\nexport function BiBraille (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"7\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"7\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"17\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"20\",\"cy\":\"7\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"17\",\"r\":\"2\"}}]})(props);\n};\nexport function BiBrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.864 8.465a3.505 3.505 0 0 0-3.03-4.449A3.005 3.005 0 0 0 14 2a2.98 2.98 0 0 0-2 .78A2.98 2.98 0 0 0 10 2c-1.301 0-2.41.831-2.825 2.015a3.505 3.505 0 0 0-3.039 4.45A4.028 4.028 0 0 0 2 12c0 1.075.428 2.086 1.172 2.832A4.067 4.067 0 0 0 3 16c0 1.957 1.412 3.59 3.306 3.934A3.515 3.515 0 0 0 9.5 22c.979 0 1.864-.407 2.5-1.059A3.484 3.484 0 0 0 14.5 22a3.51 3.51 0 0 0 3.19-2.06 4.006 4.006 0 0 0 3.138-5.108A4.003 4.003 0 0 0 22 12a4.028 4.028 0 0 0-2.136-3.535zM9.5 20c-.711 0-1.33-.504-1.47-1.198L7.818 18H7c-1.103 0-2-.897-2-2 0-.352.085-.682.253-.981l.456-.816-.784-.51A2.019 2.019 0 0 1 4 12c0-.977.723-1.824 1.682-1.972l1.693-.26-1.059-1.346a1.502 1.502 0 0 1 1.498-2.39L9 6.207V5a1 1 0 0 1 2 0v13.5c0 .827-.673 1.5-1.5 1.5zm9.575-6.308-.784.51.456.816c.168.3.253.63.253.982 0 1.103-.897 2-2.05 2h-.818l-.162.802A1.502 1.502 0 0 1 14.5 20c-.827 0-1.5-.673-1.5-1.5V5c0-.552.448-1 1-1s1 .448 1 1.05v1.207l1.186-.225a1.502 1.502 0 0 1 1.498 2.39l-1.059 1.347 1.693.26A2.002 2.002 0 0 1 20 12c0 .683-.346 1.315-.925 1.692z\"}}]})(props);\n};\nexport function BiBriefcaseAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zm-5-2v2H9V4h6zM4 8h16v4h-3v-2h-2v2H9v-2H7v2H4V8zm0 11v-5h3v2h2v-2h6v2h2v-2h3.001v5H4z\"}}]})(props);\n};\nexport function BiBriefcaseAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zm-4 2v11H8V8h8zm-1-4v2H9V4h6zM4 8h2v11H4V8zm14 11V8h2l.001 11H18z\"}}]})(props);\n};\nexport function BiBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zm-5-2v2H9V4h6zM8 8h12v3H4V8h4zM4 19v-6h6v2h4v-2h6l.001 6H4z\"}}]})(props);\n};\nexport function BiBrightnessHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 11.293-2-2L19 8.586V6a1 1 0 0 0-1-1h-2.586l-.707-.707-2-2a.999.999 0 0 0-1.414 0l-2 2L8.586 5H6a1 1 0 0 0-1 1v2.586l-.707.707-2 2a.999.999 0 0 0 0 1.414l2 2 .707.707V18a1 1 0 0 0 1 1h2.586l.707.707 2 2a.997.997 0 0 0 1.414 0l2-2 .707-.707H18a1 1 0 0 0 1-1v-2.586l.707-.707 2-2a.999.999 0 0 0 0-1.414zm-4.414 3-.293.293V17h-2.414l-.293.293-1 1L12 19.586l-1.293-1.293-1-1L9.414 17H7v-2.414l-.293-.293-1-1L4.414 12l1.293-1.293 1-1L7 9.414V7h2.414l.293-.293 1-1L12 4.414l1.293 1.293 1 1 .293.293H17v2.414l.293.293 1 1L19.586 12l-1.293 1.293-1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v8c2.206 0 4-1.794 4-4s-1.794-4-4-4z\"}}]})(props);\n};\nexport function BiBrightness (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.707 9.293 19 8.586V6a1 1 0 0 0-1-1h-2.586l-.707-.707-2-2a.999.999 0 0 0-1.414 0l-2 2L8.586 5H6a1 1 0 0 0-1 1v2.586l-.707.707-2 2a.999.999 0 0 0 0 1.414l2 2 .707.707V18a1 1 0 0 0 1 1h2.586l.707.707 2 2a.997.997 0 0 0 1.414 0l2-2 .707-.707H18a1 1 0 0 0 1-1v-2.586l.707-.707 2-2a.999.999 0 0 0 0-1.414l-2-2zm-2.414 5-.293.293V17h-2.414l-.293.293-1 1L12 19.586l-1.293-1.293-1-1L9.414 17H7v-2.414l-.293-.293-1-1L4.414 12l1.293-1.293 1-1L7 9.414V7h2.414l.293-.293 1-1L12 4.414l1.293 1.293 1 1 .293.293H17v2.414l.293.293 1 1L19.586 12l-1.293 1.293-1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4z\"}}]})(props);\n};\nexport function BiBroadcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.707 4.293-1.414 1.414c2.733 2.733 2.733 7.353 0 10.086l1.414 1.414c3.5-3.5 3.5-9.414 0-12.914zm-4.414 4.414c.566.566.879 1.292.879 2.043s-.313 1.477-.879 2.043l1.414 1.414c.944-.943 1.465-2.172 1.465-3.457s-.521-2.514-1.465-3.457l-1.414 1.414zm-9.086-3L4.793 4.293c-3.5 3.5-3.5 9.414 0 12.914l1.414-1.414c-2.733-2.733-2.733-7.353 0-10.086z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 7.293c-.944.943-1.465 2.172-1.465 3.457s.521 2.514 1.465 3.457l1.414-1.414c-.566-.566-.879-1.292-.879-2.043s.313-1.477.879-2.043L7.293 7.293zM14 10.5a2 2 0 0 0-4 0 1.993 1.993 0 0 0 .895 1.666L10.002 22h3.996l-.893-9.835c.54-.358.895-.97.895-1.665z\"}}]})(props);\n};\nexport function BiBrushAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8.001h-4V4.999a2.92 2.92 0 0 0-.874-2.108 2.943 2.943 0 0 0-2.39-.879C10.202 2.144 9 3.508 9 5.117V8H5c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-9.999c0-1.103-.897-2-2-2zM5 10h6V5.117c0-.57.407-1.07 1.002-1.117.266 0 .512.103.712.307a.956.956 0 0 1 .286.692V10h.995l.005.001h5V12H5v-2zm0 10v-6h14l.002 6H5z\"}}]})(props);\n};\nexport function BiBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.707 2.293a.999.999 0 0 0-1.414 0l-5.84 5.84c-.015-.001-.029-.009-.044-.009a.997.997 0 0 0-.707.293L4.288 9.831a2.985 2.985 0 0 0-.878 2.122c0 .802.313 1.556.879 2.121l.707.707-2.122 2.122A2.92 2.92 0 0 0 2 19.012a2.968 2.968 0 0 0 1.063 2.308c.519.439 1.188.68 1.885.68.834 0 1.654-.341 2.25-.937l2.04-2.039.707.706c1.134 1.133 3.109 1.134 4.242.001l1.415-1.414a.997.997 0 0 0 .293-.707c0-.026-.013-.05-.015-.076l5.827-5.827a.999.999 0 0 0 0-1.414l-8-8zm-.935 16.024a1.023 1.023 0 0 1-1.414-.001l-1.414-1.413a.999.999 0 0 0-1.414 0l-2.746 2.745a1.19 1.19 0 0 1-.836.352.91.91 0 0 1-.594-.208A.978.978 0 0 1 4 19.01a.959.959 0 0 1 .287-.692l2.829-2.829a.999.999 0 0 0 0-1.414L5.701 12.66a.99.99 0 0 1-.292-.706c0-.268.104-.519.293-.708l.707-.707 7.071 7.072-.708.706zm1.889-2.392L8.075 9.339 13 4.414 19.586 11l-4.925 4.925z\"}}]})(props);\n};\nexport function BiBugAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h6v2H9zm0 4h6v2H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 5.414 1.707-1.707-1.414-1.414-1.563 1.562C15.483 2.708 13.824 2 12 2s-3.483.708-4.73 1.855L5.707 2.293 4.293 3.707 6 5.414A6.937 6.937 0 0 0 5 9H3v2h2v2H3v2h2c0 3.86 3.141 7 7 7s7-3.14 7-7h2v-2h-2v-2h2V9h-2a6.937 6.937 0 0 0-1-3.586zM17 13v2c0 2.757-2.243 5-5 5s-5-2.243-5-5V9c0-2.757 2.243-5 5-5s5 2.243 5 5v4z\"}}]})(props);\n};\nexport function BiBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16.895 6.519 2.813-2.812-1.414-1.414-2.846 2.846a6.575 6.575 0 0 0-.723-.454 5.778 5.778 0 0 0-5.45 0c-.25.132-.488.287-.722.453L5.707 2.293 4.293 3.707l2.813 2.812A8.473 8.473 0 0 0 5.756 9H2v2h2.307c-.065.495-.107.997-.107 1.5 0 .507.042 1.013.107 1.511H2v2h2.753c.013.039.021.08.034.118.188.555.421 1.093.695 1.6.044.081.095.155.141.234l-2.33 2.33 1.414 1.414 2.11-2.111a7.477 7.477 0 0 0 2.068 1.619c.479.253.982.449 1.496.58a6.515 6.515 0 0 0 3.237.001 6.812 6.812 0 0 0 1.496-.58c.465-.246.914-.55 1.333-.904.258-.218.5-.462.734-.716l2.111 2.111 1.414-1.414-2.33-2.33c.047-.08.098-.155.142-.236.273-.505.507-1.043.694-1.599.013-.039.021-.079.034-.118H22v-2h-2.308c.065-.499.107-1.004.107-1.511 0-.503-.042-1.005-.106-1.5H22V9h-3.756a8.494 8.494 0 0 0-1.349-2.481zM8.681 7.748c.445-.558.96-.993 1.528-1.294a3.773 3.773 0 0 1 3.581 0 4.894 4.894 0 0 1 1.53 1.295c.299.373.54.8.753 1.251H7.927c.214-.451.454-.879.754-1.252zM17.8 12.5c0 .522-.042 1.044-.126 1.553-.079.49-.199.973-.355 1.436a8.28 8.28 0 0 1-.559 1.288 7.59 7.59 0 0 1-.733 1.11c-.267.333-.56.636-.869.898-.31.261-.639.484-.979.664s-.695.317-1.057.41c-.04.01-.082.014-.122.023V14h-2v5.881c-.04-.009-.082-.013-.122-.023-.361-.093-.717-.23-1.057-.41s-.669-.403-.978-.664a6.462 6.462 0 0 1-.871-.899 7.402 7.402 0 0 1-.731-1.108 8.337 8.337 0 0 1-.56-1.289 9.075 9.075 0 0 1-.356-1.438A9.61 9.61 0 0 1 6.319 11H17.68c.079.491.12.995.12 1.5z\"}}]})(props);\n};\nexport function BiBuildingHouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H9c-1.103 0-2 .897-2 2v5.586l-4.707 4.707A1 1 0 0 0 3 16v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4c0-1.103-.897-2-2-2zm-8 18H5v-5.586l3-3 3 3V20zm8 0h-6v-4a.999.999 0 0 0 .707-1.707L9 9.586V4h10v16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v2h-2zm4 0h2v2h-2zm0 4.031h2V12h-2zM15 14h2v2h-2zm-8 1h2v2H7z\"}}]})(props);\n};\nexport function BiBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6c-1.103 0-2 .897-2 2v17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4c0-1.103-.897-2-2-2zm0 18H6V4h12v16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6h3v2H8zm5 0h3v2h-3zm-5 4h3v2H8zm5 .031h3V12h-3zM8 14h3v2H8zm5 0h3v2h-3z\"}}]})(props);\n};\nexport function BiBuildings (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H9c-1.103 0-2 .897-2 2v6H5c-1.103 0-2 .897-2 2v9a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4c0-1.103-.897-2-2-2zM5 12h6v8H5v-8zm14 8h-6v-8c0-1.103-.897-2-2-2H9V4h10v16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v2h-2zm4 0h2v2h-2zm0 4.031h2V12h-2zM15 14h2v2h-2zm-8 .001h2v2H7z\"}}]})(props);\n};\nexport function BiBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20h6v2H9zm7.906-6.288C17.936 12.506 19 11.259 19 9c0-3.859-3.141-7-7-7S5 5.141 5 9c0 2.285 1.067 3.528 2.101 4.73.358.418.729.851 1.084 1.349.144.206.38.996.591 1.921H8v2h8v-2h-.774c.213-.927.45-1.719.593-1.925.352-.503.726-.94 1.087-1.363zm-2.724.213c-.434.617-.796 2.075-1.006 3.075h-2.351c-.209-1.002-.572-2.463-1.011-3.08a20.502 20.502 0 0 0-1.196-1.492C7.644 11.294 7 10.544 7 9c0-2.757 2.243-5 5-5s5 2.243 5 5c0 1.521-.643 2.274-1.615 3.413-.373.438-.796.933-1.203 1.512z\"}}]})(props);\n};\nexport function BiBullseye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6c-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6-2.691-6-6-6zm0 10c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.579 2 2 6.579 2 12s4.579 10 10 10 10-4.579 10-10S17.421 2 12 2zm0 18c-4.337 0-8-3.663-8-8s3.663-8 8-8 8 3.663 8 8-3.663 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10c-1.081 0-2 .919-2 2s.919 2 2 2 2-.919 2-2-.919-2-2-2z\"}}]})(props);\n};\nexport function BiBuoy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.411 7H16v.031A5.037 5.037 0 0 0 14.969 8H15V4.589A8.039 8.039 0 0 1 19.411 9zM12 15c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3zm1-10.931v3.032a4.988 4.988 0 0 0-2 0V4.069c.328-.041.66-.069 1-.069s.672.028 1 .069zm-4 .52V8h.031A5.037 5.037 0 0 0 8 9.031V9H4.589C5.402 7 6.999 5.402 9 4.589zM4.069 11h3.032a4.995 4.995 0 0 0 .001 2H4.069C4.028 12.672 4 12.339 4 12s.028-.672.069-1zm.52 4H8v-.031c.284.381.621.718 1 1.005v3.437A8.039 8.039 0 0 1 4.589 15zM11 19.931v-3.032a4.988 4.988 0 0 0 2 0v3.032c-.328.041-.66.069-1 .069s-.672-.028-1-.069zm4-.52v-3.437a5.038 5.038 0 0 0 1-1.005V15h3.411A8.039 8.039 0 0 1 15 19.411zM19.931 13h-3.032a4.995 4.995 0 0 0-.001-2h3.032c.042.328.07.661.07 1s-.028.672-.069 1z\"}}]})(props);\n};\nexport function BiBusSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.259 11.948A.986.986 0 0 0 22 11V8a.999.999 0 0 0-.996-.999V6H21c0-2.206-1.794-4-4-4H7C4.794 2 3 3.794 3 6v1a1 1 0 0 0-1 1v3c0 .461.317.832.742.948a3.953 3.953 0 0 0-.741 2.298l.004 3.757c.001.733.404 1.369.995 1.716V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h12v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.274a2.02 2.02 0 0 0 .421-.313c.377-.378.585-.881.584-1.415l-.004-3.759a3.966 3.966 0 0 0-.742-2.291zM5 18h-.995l-.004-3.757c-.001-.459.161-.89.443-1.243h15.111c.283.353.445.783.446 1.242L20.006 18H5zm6.004-10v3H5V8h6.004zM19 11h-5.996V8H19v3zM7 4h10c1.103 0 2 .897 2 2h-4V5H9v1H5c0-1.103.897-2 2-2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"15.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"15.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiBus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.004 7.975V6c0-2.206-1.794-4-4-4h-10c-2.206 0-4 1.794-4 4v1.998l-.076.004A1 1 0 0 0 2 9v2a1 1 0 0 0 1 1h.004v6c0 .735.403 1.372.996 1.72V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h10v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.276A1.994 1.994 0 0 0 21.004 18v-6a1 1 0 0 0 1-1V9.062a1.006 1.006 0 0 0-.072-.455c-.203-.487-.635-.604-.928-.632zM19.006 18H5.004v-5h14.001l.001 5zM11.004 7v4h-6V7h6zm8 0v4h-6V7h6zm-12-3h10c.736 0 1.375.405 1.722 1H5.282c.347-.595.986-1 1.722-1z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"15.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"15.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiCabinet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V4zM5 4h14v7H5V4zm0 16v-7h14.001v7H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7h-4V6H8v3h8V6h-2zm0 8v1h-4v-1H8v3h8v-3z\"}}]})(props);\n};\nexport function BiCableCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 9.76 9-2.45V10H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-4V6.76l9-2.45V2.24L2 7.69zM11 12v3H7v-3zm6 0v8H7v-3h10v-2h-4v-3z\"}}]})(props);\n};\nexport function BiCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5h-6V2h-2v3H5C3.346 5 2 6.346 2 8v10c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.654-1.346-3-3-3zM5 7h14a1 1 0 0 1 1 1l.001 3.12c-.896.228-1.469.734-1.916 1.132-.507.45-.842.748-1.588.748-.745 0-1.08-.298-1.587-.747-.595-.529-1.409-1.253-2.915-1.253-1.505 0-2.319.724-2.914 1.253-.507.45-.841.747-1.586.747-.743 0-1.077-.297-1.582-.747-.447-.398-1.018-.905-1.913-1.133V8a1 1 0 0 1 1-1zM4 18v-4.714c.191.123.374.274.583.461C5.178 14.276 5.991 15 7.495 15c1.505 0 2.319-.724 2.914-1.253.507-.45.841-.747 1.586-.747s1.08.298 1.587.747c.595.529 1.409 1.253 2.915 1.253s2.321-.724 2.916-1.253c.211-.188.395-.34.588-.464L20.002 18H4z\"}}]})(props);\n};\nexport function BiCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM5 20V4h14l.001 16H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h2v2H7zm0 4h2v2H7zm4-4h2v2h-2zM7 6h10v4H7zm4 10h2v2h-2zm4-4h2v6h-2z\"}}]})(props);\n};\nexport function BiCalendarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7v2H5a2 2 0 0 0-2 2zm16 14H5V8h14z\"}}]})(props);\n};\nexport function BiCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 17.414 5.707-5.707-1.414-1.414L11 14.586l-2.293-2.293-1.414 1.414z\"}}]})(props);\n};\nexport function BiCalendarEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-3V2h-2v2h-4V2H8v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM5 20V7h14V6l.002 14H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.628 12.183-1.8-1.799 1.37-1.371 1.8 1.799zm-7.623 4.018V18h1.799l4.976-4.97-1.799-1.799z\"}}]})(props);\n};\nexport function BiCalendarEvent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12h6v6h-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.001 16H5V8h14l.001 12z\"}}]})(props);\n};\nexport function BiCalendarExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 10h2v5h-2zm0 6h2v2h-2z\"}}]})(props);\n};\nexport function BiCalendarHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.648 14.711 11.997 18l3.35-3.289a2.129 2.129 0 0 0 0-3.069 2.225 2.225 0 0 0-3.126 0l-.224.219-.224-.219a2.224 2.224 0 0 0-3.125 0 2.129 2.129 0 0 0 0 3.069z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}}]})(props);\n};\nexport function BiCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13h8v2H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}}]})(props);\n};\nexport function BiCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h3v3h2v-3h3v-2h-3v-3h-2v3H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}}]})(props);\n};\nexport function BiCalendarStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.981 14.811-.467 2.726 2.449-1.287 2.449 1.287-.468-2.726 1.982-1.932-2.738-.398L11.963 10l-1.225 2.481L8 12.879z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}}]})(props);\n};\nexport function BiCalendarWeek (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-3V2h-2v2h-4V2H8v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM5 20V7h14V6l.002 14H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10v2h10V9H7z\"}}]})(props);\n};\nexport function BiCalendarX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.293 16.293 1.414 1.414L12 15.414l2.293 2.293 1.414-1.414L13.414 14l2.293-2.293-1.414-1.414L12 12.586l-2.293-2.293-1.414 1.414L10.586 14z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm.002 16H5V8h14l.002 12z\"}}]})(props);\n};\nexport function BiCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11h2v2H7zm0 4h2v2H7zm4-4h2v2h-2zm0 4h2v2h-2zm4-4h2v2h-2zm0 4h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM19 8l.001 12H5V8h14z\"}}]})(props);\n};\nexport function BiCameraHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.125 2H5.875A1.877 1.877 0 0 0 4 3.875v12.25C4 17.159 4.841 18 5.875 18H11v2H7v2h10v-2h-4v-2h5.125A1.877 1.877 0 0 0 20 16.125V3.875A1.877 1.877 0 0 0 18.125 2zM18 16H6V4h12v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"}}]})(props);\n};\nexport function BiCameraMovie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11c0-.959-.68-1.761-1.581-1.954C16.779 8.445 17 7.75 17 7c0-2.206-1.794-4-4-4-1.517 0-2.821.857-3.5 2.104C8.821 3.857 7.517 3 6 3 3.794 3 2 4.794 2 7c0 .902.312 1.727.817 2.396A1.994 1.994 0 0 0 2 11v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-2.638l4 2v-7l-4 2V11zm-5-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2zM6 5c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2zM4 19v-8h12l.002 8H4z\"}}]})(props);\n};\nexport function BiCameraOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.014 12.135c.074 2.062 1.789 3.777 3.851 3.851l-3.851-3.851z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h11.879l-2-2H4V8.121L2.144 6.265A1.976 1.976 0 0 0 2 7v11c0 1.103.897 2 2 2zM20 5h-2.586l-2.707-2.707A.996.996 0 0 0 14 2h-4a.997.997 0 0 0-.707.293L6.586 5h-.172L3.707 2.293 2.293 3.707l18 18 1.414-1.414-.626-.626A1.98 1.98 0 0 0 22 18V7c0-1.103-.897-2-2-2zm-6.081 7.505-2.424-2.425c.163-.046.331-.08.505-.08 1.065 0 2 .935 2 2 0 .174-.033.342-.081.505zm1.502 1.501A3.881 3.881 0 0 0 16 12c0-2.168-1.832-4-4-4-.729 0-1.412.22-2.007.579L7.914 6.5l2.5-2.5h3.172l2.707 2.707A.996.996 0 0 0 17 7l3-.001V18h-.586l-3.993-3.994z\"}}]})(props);\n};\nexport function BiCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8c-2.168 0-4 1.832-4 4s1.832 4 4 4 4-1.832 4-4-1.832-4-4-4zm0 6c-1.065 0-2-.935-2-2s.935-2 2-2 2 .935 2 2-.935 2-2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-2.586l-2.707-2.707A.996.996 0 0 0 14 2h-4a.996.996 0 0 0-.707.293L6.586 5H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zM4 18V7h3c.266 0 .52-.105.707-.293L10.414 4h3.172l2.707 2.707A.996.996 0 0 0 17 7h3l.002 11H4z\"}}]})(props);\n};\nexport function BiCandles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19h1v3h2v-3h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H9V2H7v3H6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1zM7 7h2v10H7zm7 10h1v3h2v-3h1a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-1V4h-2v3h-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1zm1-8h2v6h-2z\"}}]})(props);\n};\nexport function BiCapsule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.999 20.133a4.969 4.969 0 0 0 3.536-1.465l7.134-7.133a5.007 5.007 0 0 0-.001-7.072C18.723 3.52 17.467 3 16.132 3s-2.591.52-3.534 1.464l-7.134 7.134a5.009 5.009 0 0 0 0 7.072 4.97 4.97 0 0 0 3.535 1.463zm5.013-14.255A2.979 2.979 0 0 1 16.132 5c.802 0 1.556.313 2.122.878a3.004 3.004 0 0 1 .001 4.243l-2.893 2.892L11.12 8.77l2.892-2.892zm-7.134 7.134 2.828-2.828 4.242 4.243-2.827 2.827c-1.133 1.133-3.11 1.132-4.243.001a3.005 3.005 0 0 1 0-4.243z\"}}]})(props);\n};\nexport function BiCaptions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10v4c0 1.103.897 2 2 2h3v-2H8v-4h3V8H8c-1.103 0-2 .897-2 2zm7 0v4c0 1.103.897 2 2 2h3v-2h-3v-4h3V8h-3c-1.103 0-2 .897-2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM4 18V6h16l.002 12H4z\"}}]})(props);\n};\nexport function BiCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.772 10.156-1.368-4.105A2.995 2.995 0 0 0 16.559 4H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.105A2.003 2.003 0 0 0 2 12v5c0 .753.423 1.402 1.039 1.743-.013.066-.039.126-.039.195V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2h12v2a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2.062c0-.069-.026-.13-.039-.195A1.993 1.993 0 0 0 22 17v-5c0-.829-.508-1.541-1.228-1.844zM4 17v-5h16l.002 5H4zM7.441 6h9.117c.431 0 .813.274.949.684L18.613 10H5.387l1.105-3.316A1 1 0 0 1 7.441 6z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.999 17c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2h-12c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h12zm-12-12h12l.002 10H5.999V5zm-2 14h16v2h-16z\"}}]})(props);\n};\nexport function BiCaretDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 16 5-6H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiCaretDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 16 5-6H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}}]})(props);\n};\nexport function BiCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.998 17 7-8h-14z\"}}]})(props);\n};\nexport function BiCaretLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17V7l-6 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiCaretLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17V7l-6 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}}]})(props);\n};\nexport function BiCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 19V5l-8 7z\"}}]})(props);\n};\nexport function BiCaretRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 17 6-5-6-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiCaretRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 17 6-5-6-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}}]})(props);\n};\nexport function BiCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 19 8-7-8-7z\"}}]})(props);\n};\nexport function BiCaretUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14h10l-5-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiCaretUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14h10l-5-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}}]})(props);\n};\nexport function BiCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15h14l-7-8z\"}}]})(props);\n};\nexport function BiCarousel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h2c0 1.103.897 2 2 2h8c1.103 0 2-.897 2-2h2c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2h-2c0-1.103-.897-2-2-2H8c-1.103 0-2 .897-2 2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2zM20 7v10h-2V7h2zM8 5h8l.001 14H8V5zM4 7h2v10H4V7z\"}}]})(props);\n};\nexport function BiCartAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13h2v-2.99h2.99v-2H15V5.03h-2v2.98h-2.99v2H13V13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 17h8a1 1 0 0 0 .93-.64L21.76 9h-2.14l-2.31 6h-6.64L6.18 4.23A2 2 0 0 0 4.33 3H2v2h2.33l4.75 11.38A1 1 0 0 0 10 17z\"}}]})(props);\n};\nexport function BiCartAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H2v2h2.3l3.28 9a3 3 0 0 0 2.82 2H19v-2h-8.6a1 1 0 0 1-.94-.66L9 13h9.28a2 2 0 0 0 1.92-1.45L22 5.27A1 1 0 0 0 21.27 4 .84.84 0 0 0 21 4zm-2.75 7h-10L6.43 6h13.24z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiCartDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 13.99 4-5h-3v-4h-2v4h-3l4 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.31 15h-6.64L6.18 4.23A2 2 0 0 0 4.33 3H2v2h2.33l4.75 11.38A1 1 0 0 0 10 17h8a1 1 0 0 0 .93-.64L21.76 9h-2.14z\"}}]})(props);\n};\nexport function BiCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.822 7.431A1 1 0 0 0 21 7H7.333L6.179 4.23A1.994 1.994 0 0 0 4.333 3H2v2h2.333l4.744 11.385A1 1 0 0 0 10 17h8c.417 0 .79-.259.937-.648l3-8a1 1 0 0 0-.115-.921zM17.307 15h-6.64l-2.5-6h11.39l-2.25 6z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiCast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 21.001h2C13 14.935 8.065 10 2 10v2c4.962 0 9 4.038 9 9.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21.001h2C9 17.141 5.86 14 2 14v2c2.757 0 5 2.243 5 5.001z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"3.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v2.052c.68.025 1.349.094 2 .217V6h16v13h-5.269c.123.651.191 1.32.217 2H20c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiCategoryAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM9 9H5V5h4v4zm11 4h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm-1 6h-4v-4h4v4zM17 3c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zM7 13c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiCategory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM9 9H5V5h4v4zm11-6h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 6h-4V5h4v4zm-9 4H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm-1 6H5v-4h4v4zm8-6c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiCctv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.916 9.564a.998.998 0 0 0-.513-1.316L7.328 2.492c-.995-.438-2.22.051-2.645 1.042l-2.21 5.154a2.001 2.001 0 0 0 1.052 2.624L9.563 13.9 8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054 5.205 2.23a1 1 0 0 0 1.31-.517l.312-.71 1.701.68 2-5-1.536-.613.523-1.194zm-4.434 5.126L4.313 9.475l2.208-5.152 12.162 5.354-2.201 5.013z\"}}]})(props);\n};\nexport function BiCertification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.06 14.68a1 1 0 0 0 .46.6l1.91 1.11v2.2a1 1 0 0 0 1 1h2.2l1.11 1.91a1 1 0 0 0 .86.5 1 1 0 0 0 .51-.14l1.9-1.1 1.91 1.1a1 1 0 0 0 1.37-.36l1.1-1.91h2.2a1 1 0 0 0 1-1v-2.2l1.91-1.11a1 1 0 0 0 .37-1.36L20.76 12l1.11-1.91a1 1 0 0 0-.37-1.36l-1.91-1.1v-2.2a1 1 0 0 0-1-1h-2.2l-1.1-1.91a1 1 0 0 0-.61-.46 1 1 0 0 0-.76.1L12 3.26l-1.9-1.1a1 1 0 0 0-1.36.36L7.63 4.43h-2.2a1 1 0 0 0-1 1v2.2l-1.9 1.1a1 1 0 0 0-.37 1.37l1.1 1.9-1.1 1.91a1 1 0 0 0-.1.77zm3.22-3.17L4.39 10l1.55-.9a1 1 0 0 0 .49-.86V6.43h1.78a1 1 0 0 0 .87-.5L10 4.39l1.54.89a1 1 0 0 0 1 0l1.55-.89.91 1.54a1 1 0 0 0 .87.5h1.77v1.78a1 1 0 0 0 .5.86l1.54.9-.89 1.54a1 1 0 0 0 0 1l.89 1.54-1.54.9a1 1 0 0 0-.5.86v1.78h-1.83a1 1 0 0 0-.86.5l-.89 1.54-1.55-.89a1 1 0 0 0-1 0l-1.51.89-.89-1.54a1 1 0 0 0-.87-.5H6.43v-1.78a1 1 0 0 0-.49-.81l-1.55-.9.89-1.54a1 1 0 0 0 0-1.05z\"}}]})(props);\n};\nexport function BiChair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13V4c0-1.103-.897-2-2-2H7c-1.103 0-2 .897-2 2v9a1 1 0 0 0-1 1v8h2v-5h12v5h2v-8a1 1 0 0 0-1-1zm-2-9v9h-2V4h2zm-4 0v9h-2V4h2zM7 4h2v9H7V4z\"}}]})(props);\n};\nexport function BiChalkboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h4l-1.8 2.4 1.6 1.2 2.7-3.6h3l2.7 3.6 1.6-1.2L16 18h4c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 16V5h16l.001 11H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h4v2H6z\"}}]})(props);\n};\nexport function BiChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 5h14l.001 14H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.553 11.658-4-2-2.448 4.895 1.79.894 1.552-3.105 4 2 2.448-4.895-1.79-.894z\"}}]})(props);\n};\nexport function BiChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18v3.766l1.515-.909L11.277 18H16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h1zM4 8h12v8h-5.277L7 18.234V16H4V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8c-1.103 0-2 .897-2 2h12c1.103 0 2 .897 2 2v8c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.999 13.587 7.7 11.292l-1.412 1.416 3.713 3.705 6.706-6.706-1.414-1.414z\"}}]})(props);\n};\nexport function BiCheckDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.394 13.742 4.743 3.62 7.616-8.704-1.506-1.316-6.384 7.296-3.257-2.486zm19.359-5.084-1.506-1.316-6.369 7.279-.753-.602-1.25 1.562 2.247 1.798z\"}}]})(props);\n};\nexport function BiCheckShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.995 6.9a.998.998 0 0 0-.548-.795l-8-4a1 1 0 0 0-.895 0l-8 4a1.002 1.002 0 0 0-.547.795c-.011.107-.961 10.767 8.589 15.014a.987.987 0 0 0 .812 0c9.55-4.247 8.6-14.906 8.589-15.014zM12 19.897C5.231 16.625 4.911 9.642 4.966 7.635L12 4.118l7.029 3.515c.037 1.989-.328 9.018-7.029 12.264z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 12.586-2.293-2.293-1.414 1.414L11 15.414l5.707-5.707-1.414-1.414z\"}}]})(props);\n};\nexport function BiCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.933 13.519-2.226-2.226-1.414 1.414 3.774 3.774 5.702-6.84-1.538-1.282z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}}]})(props);\n};\nexport function BiCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z\"}}]})(props);\n};\nexport function BiCheckboxChecked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2H7zm0 12V7h10l.002 10H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.996 12.556 9.7 11.285l-1.4 1.43 2.704 2.647 4.699-4.651-1.406-1.422z\"}}]})(props);\n};\nexport function BiCheckboxMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.01 11h6v2h-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zM7 17V7h10v10z\"}}]})(props);\n};\nexport function BiCheckboxSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h6v6H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17V7c0-1.103-.897-2-2-2H7c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2zM7 7h10l.002 10H7V7z\"}}]})(props);\n};\nexport function BiCheckbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2H7zm0 12V7h10l.002 10H7z\"}}]})(props);\n};\nexport function BiCheese (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.16 2a1 1 0 0 0-.66.13l-12 7a.64.64 0 0 0-.13.1l-.1.08a1.17 1.17 0 0 0-.17.26.84.84 0 0 0-.1.43v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V10a8.08 8.08 0 0 0-6.84-8zm0 2.05A6.07 6.07 0 0 1 19.93 9H6.7zM20 19H4v-8h16z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"16.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"13.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"16\",\"r\":\"2\"}}]})(props);\n};\nexport function BiChevronDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707-1.414-1.414z\"}}]})(props);\n};\nexport function BiChevronDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 5h14l.001 14H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707-1.414-1.414z\"}}]})(props);\n};\nexport function BiChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.293 9.293 12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707z\"}}]})(props);\n};\nexport function BiChevronLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z\"}}]})(props);\n};\nexport function BiChevronLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 5h14l.001 14H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z\"}}]})(props);\n};\nexport function BiChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z\"}}]})(props);\n};\nexport function BiChevronRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 7.707 13.586 12l-4.293 4.293 1.414 1.414L16.414 12l-5.707-5.707z\"}}]})(props);\n};\nexport function BiChevronRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 5h14l.001 14H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 7.707 13.586 12l-4.293 4.293 1.414 1.414L16.414 12l-5.707-5.707z\"}}]})(props);\n};\nexport function BiChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z\"}}]})(props);\n};\nexport function BiChevronUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.293 13.293 1.414 1.414L12 10.414l4.293 4.293 1.414-1.414L12 7.586z\"}}]})(props);\n};\nexport function BiChevronUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 5h14l.001 14H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.293 13.293 1.414 1.414L12 10.414l4.293 4.293 1.414-1.414L12 7.586z\"}}]})(props);\n};\nexport function BiChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.293 13.293 1.414 1.414L12 10.414l4.293 4.293 1.414-1.414L12 7.586z\"}}]})(props);\n};\nexport function BiChevronsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15.586-4.293-4.293-1.414 1.414L12 18.414l5.707-5.707-1.414-1.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.707 7.707-1.414-1.414L12 10.586 7.707 6.293 6.293 7.707 12 13.414z\"}}]})(props);\n};\nexport function BiChevronsLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.707 7.707-1.414-1.414L5.586 12l5.707 5.707 1.414-1.414L8.414 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.293 6.293 10.586 12l5.707 5.707 1.414-1.414L13.414 12l4.293-4.293z\"}}]})(props);\n};\nexport function BiChevronsRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.296 7.71 14.621 12l-4.325 4.29 1.408 1.42L17.461 12l-5.757-5.71z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.704 6.29 5.296 7.71 9.621 12l-4.325 4.29 1.408 1.42L12.461 12z\"}}]})(props);\n};\nexport function BiChevronsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.293 11.293 1.414 1.414L12 8.414l4.293 4.293 1.414-1.414L12 5.586z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.293 16.293 1.414 1.414L12 13.414l4.293 4.293 1.414-1.414L12 10.586z\"}}]})(props);\n};\nexport function BiChild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"6\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h-4a1 1 0 0 0-.8.4l-3 4 1.6 1.2L9 13v7h2v-4h2v4h2v-7l1.2 1.6 1.6-1.2-3-4A1 1 0 0 0 14 9z\"}}]})(props);\n};\nexport function BiChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h6v6H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6c0-1.103-.897-2-2-2h-2V2h-2v2h-4V2H8v2H6c-1.103 0-2 .897-2 2v2H2v2h2v4H2v2h2v2c0 1.103.897 2 2 2h2v2h2v-2h4v2h2v-2h2c1.103 0 2-.897 2-2v-2h2v-2h-2v-4h2V8h-2V6zM6 18V6h12l.002 12H6z\"}}]})(props);\n};\nexport function BiChurch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.447 14.105 18 12.382V12a1 1 0 0 0-.485-.857L13 8.434V6h2V4h-2V2h-2v2H9v2h2v2.434l-4.515 2.709A1 1 0 0 0 6 12v.382l-3.447 1.724A.998.998 0 0 0 2 15v6a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-6c0-.379-.214-.725-.553-.895zM4 15.618l2-1V20H4v-4.382zM12 15a2 2 0 0 0-2 2v3H8v-7.434l4-2.4 4 2.4V20h-2v-3a2 2 0 0 0-2-2zm8 5h-2v-5.382l2 1V20z\"}}]})(props);\n};\nexport function BiCircleHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-1v20h1a10 10 0 0 0 0-20zm1 17.94V4.06a8 8 0 0 1 0 15.88z\"}}]})(props);\n};\nexport function BiCircleQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-1v11h11v-1A10 10 0 0 0 12 2zm1 9V4.06A8 8 0 0 1 19.94 11z\"}}]})(props);\n};\nexport function BiCircleThreeQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-1v9H2v1a10 10 0 0 0 17.07 7.07A10 10 0 0 0 12 2zm5.66 15.66A8 8 0 0 1 4.06 13H13V4.06a8 8 0 0 1 4.66 13.6z\"}}]})(props);\n};\nexport function BiCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12c.001 5.515 4.487 10.001 10 10.001 5.514 0 10-4.486 10.001-10.001 0-5.514-4.486-10-10.001-10zm0 18.001c-4.41 0-7.999-3.589-8-8.001 0-4.411 3.589-8 8-8 4.412 0 8.001 3.589 8.001 8-.001 4.412-3.59 8.001-8.001 8.001z\"}}]})(props);\n};\nexport function BiClinic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.707 2.293a.999.999 0 0 0-1.414 0l-9 9A1 1 0 0 0 3 13h1v7c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7h1a.999.999 0 0 0 .707-1.707l-9-9zM18.001 20H6v-9.586l6-6 6 6V15l.001 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10h-2v3H8v2h3v3h2v-3h3v-2h-3z\"}}]})(props);\n};\nexport function BiClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3h-2.25a1 1 0 0 0-1-1h-7.5a1 1 0 0 0-1 1H5c-1.103 0-2 .897-2 2v15c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm0 17H5V5h2v2h10V5h2v15z\"}}]})(props);\n};\nexport function BiCloset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10.551v-.678A4.005 4.005 0 0 0 16 6c0-2.206-1.794-4-4-4S8 3.794 8 6h2c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2a1 1 0 0 0-1 1v1.551l-8.665 7.702A1.001 1.001 0 0 0 3 20h18a1.001 1.001 0 0 0 .664-1.748L13 10.551zM5.63 18 12 12.338 18.37 18H5.63z\"}}]})(props);\n};\nexport function BiCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.948 11.112C18.511 7.67 15.563 5 12.004 5c-2.756 0-5.15 1.611-6.243 4.15-2.148.642-3.757 2.67-3.757 4.85 0 2.757 2.243 5 5 5h1v-2h-1c-1.654 0-3-1.346-3-3 0-1.404 1.199-2.757 2.673-3.016l.581-.102.192-.558C8.153 8.273 9.898 7 12.004 7c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-2v2h2c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.004 14v-4h-2v4h-3l4 5 4-5z\"}}]})(props);\n};\nexport function BiCloudDrizzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13h2v3H8zm0 4h2v3H8zm3-2h2v3h-2zm0 4h2v3h-2zm3-6h2v3h-2zm0 4h2v3h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.112C18.507 6.67 15.56 4 12 4 9.245 4 6.85 5.611 5.757 8.15 3.609 8.792 2 10.819 2 13c0 2.757 2.243 5 5 5v-2c-1.654 0-3-1.346-3-3 0-1.403 1.199-2.756 2.673-3.015l.582-.103.191-.559C8.149 7.273 9.895 6 12 6c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-1v2h1c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888z\"}}]})(props);\n};\nexport function BiCloudLightRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13h2v4H8zm0 5h2v2H8zm3-3h2v4h-2zm0 5h2v2h-2zm3-7h2v4h-2zm0 5h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.112C18.507 6.67 15.56 4 12 4 9.244 4 6.85 5.611 5.757 8.15 3.609 8.792 2 10.819 2 13c0 2.757 2.243 5 5 5v-2c-1.654 0-3-1.346-3-3 0-1.403 1.199-2.756 2.673-3.015l.581-.103.192-.559C8.149 7.273 9.895 6 12 6c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-1v2h1c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888z\"}}]})(props);\n};\nexport function BiCloudLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 13-1 5h2v4l3.975-6H13l1-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.112C18.507 6.67 15.56 4 12 4 9.244 4 6.85 5.611 5.757 8.15 3.609 8.792 2 10.819 2 13c0 2.757 2.243 5 5 5v-2c-1.654 0-3-1.346-3-3 0-1.403 1.199-2.756 2.673-3.015l.581-.103.192-.559C8.149 7.273 9.895 6 12 6c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-1v2h1c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888z\"}}]})(props);\n};\nexport function BiCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13h2v7H8zm3 2h2v7h-2zm3-2h2v7h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.113C18.507 6.671 15.56 4.001 12 4.001c-2.756 0-5.15 1.611-6.243 4.15C3.609 8.793 2 10.82 2 13.001c0 2.757 2.243 5 5 5v-2c-1.654 0-3-1.346-3-3 0-1.403 1.199-2.756 2.673-3.015l.581-.103.192-.559C8.149 7.274 9.895 6.001 12 6.001c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-1v2h1c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888z\"}}]})(props);\n};\nexport function BiCloudSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.112C18.507 6.67 15.56 4 12 4 9.244 4 6.85 5.611 5.757 8.15 3.609 8.792 2 10.819 2 13c0 2.757 2.243 5 5 5v-2c-1.654 0-3-1.346-3-3 0-1.403 1.199-2.756 2.673-3.015l.581-.103.192-.559C8.149 7.273 9.895 6 12 6c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-1v2h1c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"16\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"19\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"21\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"19\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"16\",\"r\":\"1\"}}]})(props);\n};\nexport function BiCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 19v-4h3l-4-5-4 5h3v4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19h2v-2H7c-1.654 0-3-1.346-3-3 0-1.404 1.199-2.756 2.673-3.015l.581-.102.192-.558C8.149 8.274 9.895 7 12 7c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2h-3v2h3c2.206 0 4-1.794 4-4a4.01 4.01 0 0 0-3.056-3.888C18.507 7.67 15.56 5 12 5 9.244 5 6.85 6.611 5.757 9.15 3.609 9.792 2 11.82 2 14c0 2.757 2.243 5 5 5z\"}}]})(props);\n};\nexport function BiCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 11.112C18.507 7.67 15.56 5 12 5 9.244 5 6.85 6.611 5.757 9.15 3.609 9.792 2 11.82 2 14c0 2.757 2.243 5 5 5h11c2.206 0 4-1.794 4-4a4.01 4.01 0 0 0-3.056-3.888zM18 17H7c-1.654 0-3-1.346-3-3 0-1.404 1.199-2.756 2.673-3.015l.581-.102.192-.558C8.149 8.274 9.895 7 12 7c2.757 0 5 2.243 5 5v1h1c1.103 0 2 .897 2 2s-.897 2-2 2z\"}}]})(props);\n};\nexport function BiCodeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.375 16.781 1.25-1.562L4.601 12l4.024-3.219-1.25-1.562-5 4a1 1 0 0 0 0 1.562l5 4zm9.25-9.562-1.25 1.562L19.399 12l-4.024 3.219 1.25 1.562 5-4a1 1 0 0 0 0-1.562l-5-4zm-1.649-4.003-4 18-1.953-.434 4-18z\"}}]})(props);\n};\nexport function BiCodeBlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 19V7h16l.002 12H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 9.293 5.586 13l3.707 3.707 1.414-1.414L8.414 13l2.293-2.293zm5.414 0-1.414 1.414L15.586 13l-2.293 2.293 1.414 1.414L18.414 13z\"}}]})(props);\n};\nexport function BiCodeCurly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 22h1v-2h-.989C8.703 19.994 6 19.827 6 16c0-1.993-.665-3.246-1.502-4C5.335 11.246 6 9.993 6 8c0-3.827 2.703-3.994 3-4h1V2H8.998C7.269 2.004 4 3.264 4 8c0 2.8-1.678 2.99-2.014 3L2 13c.082 0 2 .034 2 3 0 4.736 3.269 5.996 5 6zm13-11c-.082 0-2-.034-2-3 0-4.736-3.269-5.996-5-6h-1v2h.989c.308.006 3.011.173 3.011 4 0 1.993.665 3.246 1.502 4-.837.754-1.502 2.007-1.502 4 0 3.827-2.703 3.994-3 4h-1v2h1.002C16.731 21.996 20 20.736 20 16c0-2.8 1.678-2.99 2.014-3L22 11z\"}}]})(props);\n};\nexport function BiCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.293 6.293 2.586 12l5.707 5.707 1.414-1.414L5.414 12l4.293-4.293zm7.414 11.414L21.414 12l-5.707-5.707-1.414 1.414L18.586 12l-4.293 4.293z\"}}]})(props);\n};\nexport function BiCoffeeTogo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22h10a1 1 0 0 0 .99-.858L19.867 8H21V6h-1.382l-1.724-3.447A.998.998 0 0 0 17 2H7c-.379 0-.725.214-.895.553L4.382 6H3v2h1.133L6.01 21.142A1 1 0 0 0 7 22zm10.418-11H6.582l-.429-3h11.693l-.428 3zm-9.551 9-.429-3h9.123l-.429 3H7.867zM7.618 4h8.764l1 2H6.618l1-2z\"}}]})(props);\n};\nexport function BiCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h2v3H5zm4 0h2v3H9zm4 0h2v3h-2zm6 7h-2V7H3v11c0 1.654 1.346 3 3 3h8c1.654 0 3-1.346 3-3h2c1.103 0 2-.897 2-2v-5c0-1.103-.897-2-2-2zm-4 9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9h10v9zm2-2v-5h2l.002 5H17z\"}}]})(props);\n};\nexport function BiCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.084 0 2 .916 2 2s-.916 2-2 2-2-.916-2-2 .916-2 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.845 16.136 1 1.73c.531.917 1.809 1.261 2.73.73l.529-.306A8.1 8.1 0 0 0 9 19.402V20c0 1.103.897 2 2 2h2c1.103 0 2-.897 2-2v-.598a8.132 8.132 0 0 0 1.896-1.111l.529.306c.923.53 2.198.188 2.731-.731l.999-1.729a2.001 2.001 0 0 0-.731-2.732l-.505-.292a7.718 7.718 0 0 0 0-2.224l.505-.292a2.002 2.002 0 0 0 .731-2.732l-.999-1.729c-.531-.92-1.808-1.265-2.731-.732l-.529.306A8.1 8.1 0 0 0 15 4.598V4c0-1.103-.897-2-2-2h-2c-1.103 0-2 .897-2 2v.598a8.132 8.132 0 0 0-1.896 1.111l-.529-.306c-.924-.531-2.2-.187-2.731.732l-.999 1.729a2.001 2.001 0 0 0 .731 2.732l.505.292a7.683 7.683 0 0 0 0 2.223l-.505.292a2.003 2.003 0 0 0-.731 2.733zm3.326-2.758A5.703 5.703 0 0 1 6 12c0-.462.058-.926.17-1.378a.999.999 0 0 0-.47-1.108l-1.123-.65.998-1.729 1.145.662a.997.997 0 0 0 1.188-.142 6.071 6.071 0 0 1 2.384-1.399A1 1 0 0 0 11 5.3V4h2v1.3a1 1 0 0 0 .708.956 6.083 6.083 0 0 1 2.384 1.399.999.999 0 0 0 1.188.142l1.144-.661 1 1.729-1.124.649a1 1 0 0 0-.47 1.108c.112.452.17.916.17 1.378 0 .461-.058.925-.171 1.378a1 1 0 0 0 .471 1.108l1.123.649-.998 1.729-1.145-.661a.996.996 0 0 0-1.188.142 6.071 6.071 0 0 1-2.384 1.399A1 1 0 0 0 13 18.7l.002 1.3H11v-1.3a1 1 0 0 0-.708-.956 6.083 6.083 0 0 1-2.384-1.399.992.992 0 0 0-1.188-.141l-1.144.662-1-1.729 1.124-.651a1 1 0 0 0 .471-1.108z\"}}]})(props);\n};\nexport function BiCoinStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c3.976 0 8-1.374 8-4V6c0-2.626-4.024-4-8-4S4 3.374 4 6v12c0 2.626 4.024 4 8 4zm0-2c-3.722 0-6-1.295-6-2v-1.268C7.541 17.57 9.777 18 12 18s4.459-.43 6-1.268V18c0 .705-2.278 2-6 2zm0-16c3.722 0 6 1.295 6 2s-2.278 2-6 2-6-1.295-6-2 2.278-2 6-2zM6 8.732C7.541 9.57 9.777 10 12 10s4.459-.43 6-1.268V10c0 .705-2.278 2-6 2s-6-1.295-6-2V8.732zm0 4C7.541 13.57 9.777 14 12 14s4.459-.43 6-1.268V14c0 .705-2.278 2-6 2s-6-1.295-6-2v-1.268z\"}}]})(props);\n};\nexport function BiCoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6C7.03 6 2 7.546 2 10.5v4C2 17.454 7.03 19 12 19s10-1.546 10-4.5v-4C22 7.546 16.97 6 12 6zm-8 8.5v-1.197a9.989 9.989 0 0 0 2 .86v1.881c-1.312-.514-2-1.126-2-1.544zm12 .148v1.971c-.867.179-1.867.31-3 .358v-2a21.75 21.75 0 0 0 3-.329zm-5 2.33a18.788 18.788 0 0 1-3-.358v-1.971c.959.174 1.972.287 3 .33v1.999zm7-.934v-1.881a9.931 9.931 0 0 0 2-.86V14.5c0 .418-.687 1.03-2 1.544zM12 13c-5.177 0-8-1.651-8-2.5S6.823 8 12 8s8 1.651 8 2.5-2.823 2.5-8 2.5z\"}}]})(props);\n};\nexport function BiCollapseAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15h7v7h2v-9H2v2zM15 2h-2v9h9V9h-7V2z\"}}]})(props);\n};\nexport function BiCollapseHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.95 5.64 13.59 12l6.36 6.36 1.41-1.41L16.41 12l4.95-4.95-1.41-1.41zM2.64 7.05 7.59 12l-4.95 4.95 1.41 1.41L10.41 12 4.05 5.64 2.64 7.05z\"}}]})(props);\n};\nexport function BiCollapseVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7.59 7.05 2.64 5.64 4.05 12 10.41l6.36-6.36-1.41-1.41L12 7.59zM5.64 19.95l1.41 1.41L12 16.41l4.95 4.95 1.41-1.41L12 13.59l-6.36 6.36z\"}}]})(props);\n};\nexport function BiCollapse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.121 6.465 14 4.344V10h5.656l-2.121-2.121 3.172-3.172-1.414-1.414zM4.707 3.293 3.293 4.707l3.172 3.172L4.344 10H10V4.344L7.879 6.465zM19.656 14H14v5.656l2.121-2.121 3.172 3.172 1.414-1.414-3.172-3.172zM6.465 16.121l-3.172 3.172 1.414 1.414 3.172-3.172L10 19.656V14H4.344z\"}}]})(props);\n};\nexport function BiCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10H5c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-8c0-1.103-.897-2-2-2zM5 20v-8h14l.002 8H5zM5 6h14v2H5zm2-4h10v2H7z\"}}]})(props);\n};\nexport function BiColorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13.998c-.092.065-2 2.083-2 3.5 0 1.494.949 2.448 2 2.5.906.044 2-.891 2-2.5 0-1.5-1.908-3.435-2-3.5zm-16.586-1c0 .534.208 1.036.586 1.414l5.586 5.586c.378.378.88.586 1.414.586s1.036-.208 1.414-.586l7-7-.707-.707L11 4.584 8.707 2.291 7.293 3.705l2.293 2.293L4 11.584c-.378.378-.586.88-.586 1.414zM11 7.412l5.586 5.586L11 18.584h.001l-.001 1v-1l-5.586-5.586L11 7.412z\"}}]})(props);\n};\nexport function BiColor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 13a3 3 0 1 1 3-3 3 3 0 0 1-3 3zm2.75-7.17A5 5 0 0 0 13 7.1v-3a7.94 7.94 0 0 1 3.9 1.62zM11 7.1a5 5 0 0 0-1.75.73L7.1 5.69A7.94 7.94 0 0 1 11 4.07zM7.83 9.25A5 5 0 0 0 7.1 11h-3a7.94 7.94 0 0 1 1.59-3.9zM7.1 13a5 5 0 0 0 .73 1.75L5.69 16.9A7.94 7.94 0 0 1 4.07 13zm2.15 3.17a5 5 0 0 0 1.75.73v3a7.94 7.94 0 0 1-3.9-1.62zm3.75.73a5 5 0 0 0 1.75-.73l2.15 2.14a7.94 7.94 0 0 1-3.9 1.62zm3.17-2.15A5 5 0 0 0 16.9 13h3a7.94 7.94 0 0 1-1.62 3.9zM16.9 11a5 5 0 0 0-.73-1.75l2.14-2.15a7.94 7.94 0 0 1 1.62 3.9z\"}}]})(props);\n};\nexport function BiColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.893 3.001H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h15.893c1.103 0 2-.897 2-2V5a2.003 2.003 0 0 0-2-1.999zM8 19.001H4V8h4v11.001zm6 0h-4V8h4v11.001zm2 0V8h3.893l.001 11.001H16z\"}}]})(props);\n};\nexport function BiCommand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14c-2.206 0-4 1.794-4 4s1.794 4 4 4a4.003 4.003 0 0 0 3.998-3.98H10V16h4v2.039h.004A4.002 4.002 0 0 0 18 22c2.206 0 4-1.794 4-4s-1.794-4-4-4h-2v-4h2c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4v2h-4V5.98h-.002A4.003 4.003 0 0 0 6 2C3.794 2 2 3.794 2 6s1.794 4 4 4h2v4H6zm2 4c0 1.122-.879 2-2 2s-2-.878-2-2 .879-2 2-2h2v2zm10-2c1.121 0 2 .878 2 2s-.879 2-2 2-2-.878-2-2v-2h2zM16 6c0-1.122.879-2 2-2s2 .878 2 2-.879 2-2 2h-2V6zM6 8c-1.121 0-2-.878-2-2s.879-2 2-2 2 .878 2 2v2H6zm4 2h4v4h-4v-4z\"}}]})(props);\n};\nexport function BiCommentAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h2v-3h3V9h-3V6h-2v3H8v2h3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCommentCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17.207 8.207-1.414-1.414L11 11.586 8.707 9.293l-1.414 1.414L11 14.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCommentDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10v2H7zm0 4h7v2H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCommentDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"10\",\"r\":\"2\"}}]})(props);\n};\nexport function BiCommentEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.771 9.123-1.399-1.398-3.869 3.864v1.398h1.398zM14.098 6l1.398 1.398-1.067 1.067-1.398-1.398z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCommentError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v5h-2zm0 6h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCommentMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h8v2H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCommentX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.707 13.707 12 11.414l2.293 2.293 1.414-1.414L13.414 10l2.293-2.293-1.414-1.414L12 8.586 9.707 6.293 8.293 7.707 10.586 10l-2.293 2.293z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l5.333-4H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14H6.667L4 18V4h16v12z\"}}]})(props);\n};\nexport function BiCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 16 5.991-2L16 8l-6 2z\"}}]})(props);\n};\nexport function BiConfused (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.124 16.992-.248-1.984 8-1 .248 1.984z\"}}]})(props);\n};\nexport function BiConversation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14h.5c.827 0 1.5-.673 1.5-1.5v-9c0-.827-.673-1.5-1.5-1.5h-13C2.673 2 2 2.673 2 3.5V18l5.333-4H16zm-9.333-2L4 14V4h12v8H6.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 8H20v6.001c0 1.1-.893 1.993-1.99 1.999H8v.5c0 .827.673 1.5 1.5 1.5h7.167L22 22V9.5c0-.827-.673-1.5-1.5-1.5z\"}}]})(props);\n};\nexport function BiCookie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.598 11.064a1.006 1.006 0 0 0-.854-.172A2.938 2.938 0 0 1 20 11c-1.654 0-3-1.346-3.003-2.937.005-.034.016-.136.017-.17a.998.998 0 0 0-1.254-1.006A2.963 2.963 0 0 1 15 7c-1.654 0-3-1.346-3-3 0-.217.031-.444.099-.716a1 1 0 0 0-1.067-1.236A9.956 9.956 0 0 0 2 12c0 5.514 4.486 10 10 10s10-4.486 10-10c0-.049-.003-.097-.007-.16a1.004 1.004 0 0 0-.395-.776zM12 20c-4.411 0-8-3.589-8-8a7.962 7.962 0 0 1 6.006-7.75A5.006 5.006 0 0 0 15 9l.101-.001a5.007 5.007 0 0 0 4.837 4C19.444 16.941 16.073 20 12 20z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12.5\",\"cy\":\"11.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"8.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"12.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"15.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"16.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiCool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.683 14.828a4.055 4.055 0 0 1-1.272.858 4.002 4.002 0 0 1-4.875-1.45l-1.658 1.119a6.063 6.063 0 0 0 1.621 1.62 5.963 5.963 0 0 0 2.148.903 6.035 6.035 0 0 0 3.542-.35 6.048 6.048 0 0 0 1.907-1.284c.272-.271.52-.571.734-.889l-1.658-1.119a4.147 4.147 0 0 1-.489.592z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 2c2.953 0 5.531 1.613 6.918 4H5.082C6.469 5.613 9.047 4 12 4zm0 16c-4.411 0-8-3.589-8-8 0-.691.098-1.359.264-2H5v1a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2h2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-1h.736c.166.641.264 1.309.264 2 0 4.411-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiCopyAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H10c-1.103 0-2 .897-2 2v4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2v-4h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 20V10h10l.002 10H4zm16-6h-4v-4c0-1.103-.897-2-2-2h-4V4h10v10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h6v2H6zm0 4h6v2H6z\"}}]})(props);\n};\nexport function BiCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H10c-1.103 0-2 .897-2 2v4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2v-4h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 20V10h10l.002 10H4zm16-6h-4v-4c0-1.103-.897-2-2-2h-4V4h10v10z\"}}]})(props);\n};\nexport function BiCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.421 0 10-4.579 10-10S17.421 2 12 2 2 6.579 2 12s4.579 10 10 10zm0-18c4.337 0 8 3.663 8 8s-3.663 8-8 8-8-3.663-8-8 3.663-8 8-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17c.901 0 2.581-.168 3.707-1.292l-1.414-1.416C13.85 14.735 12.992 15 12 15c-1.626 0-3-1.374-3-3s1.374-3 3-3c.993 0 1.851.265 2.293.707l1.414-1.414C14.582 7.168 12.901 7 12 7c-2.757 0-5 2.243-5 5s2.243 5 5 5z\"}}]})(props);\n};\nexport function BiCreditCardAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"13.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.5c0-.815.396-1.532 1-1.988A2.47 2.47 0 0 0 11.5 11a2.5 2.5 0 1 0 0 5 2.47 2.47 0 0 0 1.5-.512 2.486 2.486 0 0 1-1-1.988z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM4 18V6h16l.002 12H4z\"}}]})(props);\n};\nexport function BiCreditCardFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM4 18V6h16l.001 12H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 11h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5zM6 14h6v2.001H6zm7 0h5v2.001h-5z\"}}]})(props);\n};\nexport function BiCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM4 6h16v2H4V6zm0 12v-6h16.001l.001 6H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14h6v2H6z\"}}]})(props);\n};\nexport function BiCricketBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.07 4.93A10 10 0 0 0 4.93 19.07 10 10 0 0 0 19.07 4.93zM6.34 6.34a8 8 0 0 1 8.78-1.71l-.29.3.71.71.52-.53a9.53 9.53 0 0 1 .84.57L5.68 16.9a9.53 9.53 0 0 1-.57-.84l.53-.52-.71-.71-.29.29a8 8 0 0 1 1.7-8.78zm11.32 11.32a8 8 0 0 1-8.78 1.71l.29-.3-.71-.71-.52.53a9.53 9.53 0 0 1-.84-.57L18.32 7.1a9.53 9.53 0 0 1 .57.84l-.53.52.71.71.29-.29a8 8 0 0 1-1.7 8.78zm-6.37-2.12.71.7-1.41 1.42-.71-.66zm2.83-2.83.71.7-1.42 1.42-.7-.71zM17 9.88l.71.71L16.24 12l-.7-.71zm-4.29-1.42-.71-.7 1.41-1.42.71.71zm-2.83 2.83-.71-.7 1.42-1.42.7.71zm-2.83 2.83-.71-.71L7.76 12l.7.71z\"}}]})(props);\n};\nexport function BiCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7c0-1.103-.897-2-2-2H7V2H5v3H2v2h15v15h2v-3h3v-2h-3V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9v8c0 1.103.897 2 2 2h8v-2H7V9H5z\"}}]})(props);\n};\nexport function BiCross (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2h2v7h-2zm0 13h2v7h-2zm4-4h7v2h-7zM2 11h7v2H2z\"}}]})(props);\n};\nexport function BiCrosshair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm1 17.931V17h-2v2.931A8.008 8.008 0 0 1 4.069 13H7v-2H4.069A8.008 8.008 0 0 1 11 4.069V7h2V4.069A8.007 8.007 0 0 1 19.931 11H17v2h2.931A8.008 8.008 0 0 1 13 19.931z\"}}]})(props);\n};\nexport function BiCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.219 3.375 8 7.399 4.781 3.375A1.002 1.002 0 0 0 3 4v15c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V4a1.002 1.002 0 0 0-1.781-.625L16 7.399l-3.219-4.024c-.381-.474-1.181-.474-1.562 0zM5 19v-2h14.001v2H5zm10.219-9.375c.381.475 1.182.475 1.563 0L19 6.851 19.001 15H5V6.851l2.219 2.774c.381.475 1.182.475 1.563 0L12 5.601l3.219 4.024z\"}}]})(props);\n};\nexport function BiCubeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.895 3.553A1.001 1.001 0 0 0 17 3H7c-.379 0-.725.214-.895.553l-4 8a1 1 0 0 0 0 .895l4 8c.17.338.516.552.895.552h10c.379 0 .725-.214.895-.553l4-8a1 1 0 0 0 0-.895l-4-7.999zM19.382 11h-7.764l-3-6h7.764l3 6zM4.118 12 7 6.236 9.882 12 7 17.764 4.118 12zm12.264 7H8.618l3-6h7.764l-3 6z\"}}]})(props);\n};\nexport function BiCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.406 6.086-9-4a1.001 1.001 0 0 0-.813 0l-9 4c-.02.009-.034.024-.054.035-.028.014-.058.023-.084.04-.022.015-.039.034-.06.05a.87.87 0 0 0-.19.194c-.02.028-.041.053-.059.081a1.119 1.119 0 0 0-.076.165c-.009.027-.023.052-.031.079A1.013 1.013 0 0 0 2 7v10c0 .396.232.753.594.914l9 4c.13.058.268.086.406.086a.997.997 0 0 0 .402-.096l.004.01 9-4A.999.999 0 0 0 22 17V7a.999.999 0 0 0-.594-.914zM12 4.095 18.538 7 12 9.905l-1.308-.581L5.463 7 12 4.095zM4 16.351V8.539l7 3.111v7.811l-7-3.11zm9 3.11V11.65l7-3.111v7.812l-7 3.11z\"}}]})(props);\n};\nexport function BiCuboid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.707 2.293A.996.996 0 0 0 16 2H8c-.414 0-.785.255-.934.641l-5 13a.999.999 0 0 0 .227 1.066l5 5A.996.996 0 0 0 8 22h8c.414 0 .785-.255.934-.641l5-13a.999.999 0 0 0-.227-1.066l-5-5zM18.585 7h-5.171l-3-3h5.172l2.999 3zM8.381 4.795l3.438 3.438-4.462 10.71-3.19-3.191L8.381 4.795zM15.313 20h-6.23l4.583-11h5.878l-4.231 11z\"}}]})(props);\n};\nexport function BiCurrentLocation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4.069V2h-2v2.069A8.01 8.01 0 0 0 4.069 11H2v2h2.069A8.008 8.008 0 0 0 11 19.931V22h2v-2.069A8.007 8.007 0 0 0 19.931 13H22v-2h-2.069A8.008 8.008 0 0 0 13 4.069zM12 18c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z\"}}]})(props);\n};\nexport function BiCustomize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm1-6h4v4H5V5zm15-2h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 6h-4V5h4v4zm-9 12a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6zm-5-6h4v4H5v-4zm13-1h-2v2h-2v2h2v2h2v-2h2v-2h-2z\"}}]})(props);\n};\nexport function BiCut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6.5C10 4.57 8.43 3 6.5 3S3 4.57 3 6.5 4.57 10 6.5 10a3.45 3.45 0 0 0 1.613-.413l2.357 2.528-2.318 2.318A3.46 3.46 0 0 0 6.5 14C4.57 14 3 15.57 3 17.5S4.57 21 6.5 21s3.5-1.57 3.5-3.5c0-.601-.166-1.158-.434-1.652l2.269-2.268L17 19.121a3 3 0 0 0 2.121.879H22L9.35 8.518c.406-.572.65-1.265.65-2.018zM6.5 8C5.673 8 5 7.327 5 6.5S5.673 5 6.5 5 8 5.673 8 6.5 7.327 8 6.5 8zm0 11c-.827 0-1.5-.673-1.5-1.5S5.673 16 6.5 16s1.5.673 1.5 1.5S7.327 19 6.5 19z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 4.879-3.707 4.414 1.414 1.414L22 4h-2.879A3 3 0 0 0 17 4.879z\"}}]})(props);\n};\nexport function BiCycling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15.414V20h2v-4.586c0-.526-.214-1.042-.586-1.414l-2-2L13 9.414l2 2c.372.372.888.586 1.414.586H20v-2h-3.586l-3.707-3.707a.999.999 0 0 0-1.414 0L8 9.586c-.378.378-.586.88-.586 1.414s.208 1.036.586 1.414l3 3z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"5\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 14c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zM6 22c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"}}]})(props);\n};\nexport function BiCylinder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.131 0 9-1.935 9-4.5V7h-.053c.033-.164.053-.33.053-.5C21 3.935 17.131 2 12 2 7.209 2 3.52 3.688 3.053 6H3v11.5c0 2.565 3.869 4.5 9 4.5zm0-2c-4.273 0-7-1.48-7-2.5V9.394C6.623 10.387 9.111 11 12 11s5.377-.613 7-1.606V17.5c0 1.02-2.727 2.5-7 2.5zm0-16c4.273 0 7 1.48 7 2.5S16.273 9 12 9 5 7.52 5 6.5 7.727 4 12 4z\"}}]})(props);\n};\nexport function BiData (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17V7c0-2.168-3.663-4-8-4S4 4.832 4 7v10c0 2.168 3.663 4 8 4s8-1.832 8-4zM12 5c3.691 0 5.931 1.507 6 1.994C17.931 7.493 15.691 9 12 9S6.069 7.493 6 7.006C6.069 6.507 8.309 5 12 5zM6 9.607C7.479 10.454 9.637 11 12 11s4.521-.546 6-1.393v2.387c-.069.499-2.309 2.006-6 2.006s-5.931-1.507-6-2V9.607zM6 17v-2.393C7.479 15.454 9.637 16 12 16s4.521-.546 6-1.393v2.387c-.069.499-2.309 2.006-6 2.006s-5.931-1.507-6-2z\"}}]})(props);\n};\nexport function BiDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h7v2H8v2h8v-2h-3v-2h7c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 14V5h16l.002 9H4z\"}}]})(props);\n};\nexport function BiDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 19V5h16l.002 14H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7h12v2H6zm0 4h12v2H6zm0 4h6v2H6z\"}}]})(props);\n};\nexport function BiDevices (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H7c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h6c1.103 0 2-.897 2-2h8c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM9.997 19H4V9h6l-.003 10zm10-2H12V9c0-1.103-.897-2-2-2H7V5h13l-.003 12z\"}}]})(props);\n};\nexport function BiDialpadAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"6\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function BiDialpad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3h4v3h-4zm0 5h4v3h-4zm0 5h4v3h-4zm6-10h4v3h-4zm0 5h4v3h-4zm0 5h4v3h-4zM4 3h4v3H4zm0 5h4v3H4zm0 5h4v3H4zm6 5h4v3h-4z\"}}]})(props);\n};\nexport function BiDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.813 3.838A2 2 0 0 0 16.187 3H7.813c-.644 0-1.252.313-1.667.899l-4 6.581a.999.999 0 0 0 .111 1.188l9 10a.995.995 0 0 0 1.486.001l9-10a.997.997 0 0 0 .111-1.188l-4.041-6.643zM12 19.505 5.245 12h13.509L12 19.505zM4.777 10l3.036-5 8.332-.062L19.222 10H4.777z\"}}]})(props);\n};\nexport function BiDice1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiDice2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9.5\",\"cy\":\"12\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14.5\",\"cy\":\"12\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiDice3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"16\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiDice4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"16\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"16\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"8\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiDice5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"16\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"16\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"8\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiDice6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"12\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"12\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"16\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"16\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"8\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiDirections (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.781 13.875-2-2.5A1 1 0 0 0 19 11h-6V9h6c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5a1 1 0 0 0-.781.375l-2 2.5a1.001 1.001 0 0 0 0 1.25l2 2.5A1 1 0 0 0 5 9h6v2H5c-1.103 0-2 .897-2 2v3c0 1.103.897 2 2 2h6v4h2v-4h6a1 1 0 0 0 .781-.375l2-2.5a1.001 1.001 0 0 0 0-1.25zM4.281 5.5 5.48 4H19l.002 3H5.48L4.281 5.5zM18.52 16H5v-3h13.52l1.2 1.5-1.2 1.5z\"}}]})(props);\n};\nexport function BiDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 0 4 4 4 4 0 0 0-4-4zm0 6a2 2 0 1 1 2-2 2 2 0 0 1-2 2z\"}}]})(props);\n};\nexport function BiDish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15c0-4.625-3.507-8.441-8-8.941V4h-2v2.059c-4.493.5-8 4.316-8 8.941v2h18v-2zM5 15c0-3.859 3.141-7 7-7s7 3.141 7 7H5zm-3 3h20v2H2z\"}}]})(props);\n};\nexport function BiDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H6.693A2.01 2.01 0 0 0 4.82 4.298l-2.757 7.351A1 1 0 0 0 2 12v2c0 1.103.897 2 2 2h5.612L8.49 19.367a2.004 2.004 0 0 0 .274 1.802c.376.52.982.831 1.624.831H12c.297 0 .578-.132.769-.36l4.7-5.64H20c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm-8.469 17h-1.145l1.562-4.684A1 1 0 0 0 11 14H4v-1.819L6.693 5H16v9.638L11.531 20zM18 14V5h2l.001 9H18z\"}}]})(props);\n};\nexport function BiDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.707 12.293 9.414 11l1.293-1.293-1.414-1.414L8 9.586 6.707 8.293 5.293 9.707 6.586 11l-1.293 1.293 1.414 1.414L8 12.414l1.293 1.293zm6.586-4L16 9.586l-1.293-1.293-1.414 1.414L14.586 11l-1.293 1.293 1.414 1.414L16 12.414l1.293 1.293 1.414-1.414L17.414 11l1.293-1.293zM10 16h4v2h-4z\"}}]})(props);\n};\nexport function BiDna (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.794 11.09c.332-.263.648-.542.947-.84l.136-.142c.283-.293.552-.598.801-.919l.062-.075c.255-.335.486-.688.702-1.049l.128-.22c.205-.364.395-.737.559-1.123.02-.047.035-.095.055-.142.147-.361.274-.731.383-1.109.021-.07.044-.14.063-.211.107-.402.189-.813.251-1.229.013-.087.021-.175.032-.263.051-.432.087-.869.087-1.311V2h-2v.457c0 .184-.031.361-.042.543H6.022C6.012 2.819 6 2.64 6 2.457V2H4v.457c0 4.876 3.269 9.218 7.952 10.569l.028.009c2.881.823 5.056 3.146 5.769 5.965H6.251l.799-2h7.607a7.416 7.416 0 0 0-2.063-2h-4c.445-.424.956-.774 1.491-1.09a9.922 9.922 0 0 1-2.08-1.014C5.55 14.812 4 17.779 4 21.015V23h2v-1.985L6.001 21h11.998l.001.015V23h2v-1.985c0-3.83-2.159-7.303-5.443-9.07a11.1 11.1 0 0 0 1.072-.729c.055-.042.11-.082.165-.126zm-1.19-1.604a8.945 8.945 0 0 1-2.325 1.348c-.092.036-.185.068-.278.102A8.95 8.95 0 0 1 8.836 9h6.292c-.171.161-.332.333-.517.48l-.007.006zM17.619 5c-.005.016-.007.033-.012.049l-.044.151a9.089 9.089 0 0 1-.513 1.252c-.096.19-.213.365-.321.548h-9.48a9.066 9.066 0 0 1-.871-2h11.241z\"}}]})(props);\n};\nexport function BiDockBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 2v9H5V5zM5 19v-3h14v3z\"}}]})(props);\n};\nexport function BiDockLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM5 5h3v14H5zm5 14V5h9v14z\"}}]})(props);\n};\nexport function BiDockRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM5 5h9v14H5zm11 14V5h3v14z\"}}]})(props);\n};\nexport function BiDockTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 2v3H5V5zM5 19v-9h14v9z\"}}]})(props);\n};\nexport function BiDollarCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11c-2 0-2-.63-2-1s.7-1 2-1 1.39.64 1.4 1h2A3 3 0 0 0 13 7.12V6h-2v1.09C9 7.42 8 8.71 8 10c0 1.12.52 3 4 3 2 0 2 .68 2 1s-.62 1-2 1c-1.84 0-2-.86-2-1H8c0 .92.66 2.55 3 2.92V18h2v-1.08c2-.34 3-1.63 3-2.92 0-1.12-.52-3-4-3z\"}}]})(props);\n};\nexport function BiDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.999 8.5h2c0-2.837-2.755-4.131-5-4.429V2h-2v2.071c-2.245.298-5 1.592-5 4.429 0 2.706 2.666 4.113 5 4.43v4.97c-1.448-.251-3-1.024-3-2.4h-2c0 2.589 2.425 4.119 5 4.436V22h2v-2.07c2.245-.298 5-1.593 5-4.43s-2.755-4.131-5-4.429V6.1c1.33.239 3 .941 3 2.4zm-8 0c0-1.459 1.67-2.161 3-2.4v4.799c-1.371-.253-3-1.002-3-2.399zm8 7c0 1.459-1.67 2.161-3 2.4v-4.8c1.33.239 3 .941 3 2.4z\"}}]})(props);\n};\nexport function BiDonateBlood (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h9.62a3.995 3.995 0 0 0 3.037-1.397l5.102-5.952a1 1 0 0 0-.442-1.6l-1.968-.656a3.043 3.043 0 0 0-2.823.503l-3.185 2.547-.617-1.235A3.98 3.98 0 0 0 9.146 11H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h5.146c.763 0 1.448.423 1.789 1.105l.447.895H7v2h6.014a.996.996 0 0 0 .442-.11l.003-.001.004-.002h.003l.002-.001h.004l.001-.001c.011.003.003-.001.003-.001.012 0 .002-.001.002-.001h.001l.002-.001.003-.001.002-.001.002-.001.003-.001.002-.001.002-.001.003-.002.002-.001.002-.001.003-.001.002-.001h.001l.002-.001h.001l.002-.001.002-.001c.011-.001.003-.001.003-.001l.002-.001a.915.915 0 0 0 .11-.078l4.146-3.317c.261-.208.623-.273.94-.167l.557.186-4.133 4.823a2.029 2.029 0 0 1-1.52.688H4v-6zm9.761-10.674C13.3 2.832 11 5.457 11 7.5c0 1.93 1.57 3.5 3.5 3.5S18 9.43 18 7.5c0-2.043-2.3-4.668-2.761-5.174-.379-.416-1.099-.416-1.478 0zM16 7.5c0 .827-.673 1.5-1.5 1.5S13 8.327 13 7.5c0-.708.738-1.934 1.5-2.934.762 1 1.5 2.226 1.5 2.934z\"}}]})(props);\n};\nexport function BiDonateHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h9.62a3.995 3.995 0 0 0 3.037-1.397l5.102-5.952a1 1 0 0 0-.442-1.6l-1.968-.656a3.043 3.043 0 0 0-2.823.503l-3.185 2.547-.617-1.235A3.98 3.98 0 0 0 9.146 11H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h5.146c.763 0 1.448.423 1.789 1.105l.447.895H7v2h6.014a.996.996 0 0 0 .442-.11l.003-.001.004-.002h.003l.002-.001h.004l.001-.001c.009.003.003-.001.003-.001.01 0 .002-.001.002-.001h.001l.002-.001.003-.001.002-.001.002-.001.003-.001.002-.001c.003 0 .001-.001.002-.001l.003-.002.002-.001.002-.001.003-.001.002-.001h.001l.002-.001h.001l.002-.001.002-.001c.009-.001.003-.001.003-.001l.002-.001a.915.915 0 0 0 .11-.078l4.146-3.317c.262-.208.623-.273.94-.167l.557.186-4.133 4.823a2.029 2.029 0 0 1-1.52.688H4v-6zM16 2h-.017c-.163.002-1.006.039-1.983.705-.951-.648-1.774-.7-1.968-.704L12.002 2h-.004c-.801 0-1.555.313-2.119.878C9.313 3.445 9 4.198 9 5s.313 1.555.861 2.104l3.414 3.586a1.006 1.006 0 0 0 1.45-.001l3.396-3.568C18.688 6.555 19 5.802 19 5s-.313-1.555-.878-2.121A2.978 2.978 0 0 0 16.002 2H16zm1 3c0 .267-.104.518-.311.725L14 8.55l-2.707-2.843C11.104 5.518 11 5.267 11 5s.104-.518.294-.708A.977.977 0 0 1 11.979 4c.025.001.502.032 1.067.485.081.065.163.139.247.222l.707.707.707-.707c.084-.083.166-.157.247-.222.529-.425.976-.478 1.052-.484a.987.987 0 0 1 .701.292c.189.189.293.44.293.707z\"}}]})(props);\n};\nexport function BiDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.385 21.788a.997.997 0 0 0 .857.182l8-2A.999.999 0 0 0 20 19V5a1 1 0 0 0-.758-.97l-8-2A1.003 1.003 0 0 0 10 3v1H6a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h4v1c0 .308.142.599.385.788zM12 4.281l6 1.5v12.438l-6 1.5V4.281zM7 18V6h3v12H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.242 13.159c.446-.112.758-.512.758-.971v-.377a1 1 0 1 0-2 .001v.377a1 1 0 0 0 1.242.97z\"}}]})(props);\n};\nexport function BiDotsHorizontalRounded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}}]})(props);\n};\nexport function BiDotsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10h4v4h-4zm6 0h4v4h-4zM4 10h4v4H4z\"}}]})(props);\n};\nexport function BiDotsVerticalRounded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 12c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}}]})(props);\n};\nexport function BiDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10h4v4h-4zm0-6h4v4h-4zm0 12h4v4h-4z\"}}]})(props);\n};\nexport function BiDoughnutChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.931 9h-3.032A5.013 5.013 0 0 0 13 7.102V4.069A8.008 8.008 0 0 1 19.931 11zM12 9c1.654 0 3 1.346 3 3s-1.346 3-3 3-3-1.346-3-3 1.346-3 3-3zm0 11c-4.411 0-8-3.589-8-8 0-4.072 3.061-7.436 7-7.931v3.032A5.009 5.009 0 0 0 7 12c0 2.757 2.243 5 5 5a5.007 5.007 0 0 0 4.898-4h3.032c-.494 3.939-3.858 7-7.93 7z\"}}]})(props);\n};\nexport function BiDownArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18.707 12.707-1.414-1.414L13 15.586V6h-2v9.586l-4.293-4.293-1.414 1.414L12 19.414z\"}}]})(props);\n};\nexport function BiDownArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1.993C6.486 1.994 2 6.48 2 11.994c0 5.513 4.486 9.999 10 10 5.514 0 10-4.486 10-10s-4.485-10-10-10.001zm0 18.001c-4.411-.001-8-3.59-8-8 0-4.411 3.589-8 8-8.001 4.411.001 8 3.59 8 8.001s-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8h-2v4H7.991l4.005 4.005L16 12h-3z\"}}]})(props);\n};\nexport function BiDownArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.886 5.536A1.002 1.002 0 0 0 21 5H3a1.002 1.002 0 0 0-.822 1.569l9 13a.998.998 0 0 0 1.644 0l9-13a.998.998 0 0 0 .064-1.033zM12 17.243 4.908 7h14.184L12 17.243z\"}}]})(props);\n};\nexport function BiDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 16 4-5h-3V4h-2v7H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18H4v-7H2v7c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-7h-2v7z\"}}]})(props);\n};\nexport function BiDownvote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.901 10.566A1.001 1.001 0 0 0 20 10h-4V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v7H4a1.001 1.001 0 0 0-.781 1.625l8 10a1 1 0 0 0 1.562 0l8-10c.24-.301.286-.712.12-1.059zM12 19.399 6.081 12H10V4h4v8h3.919L12 19.399z\"}}]})(props);\n};\nexport function BiDrink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.832 4.555A1 1 0 0 0 20 3H4a1 1 0 0 0-.832 1.554L11 16.303V20H8v2h8v-2h-3v-3.697l7.832-11.748zM12 14.197 8.535 9h6.93L12 14.197zM18.132 5l-1.333 2H7.201L5.868 5h12.264z\"}}]})(props);\n};\nexport function BiDroplet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c4.636 0 8-3.468 8-8.246C20 7.522 12.882 2.4 12.579 2.185a1 1 0 0 0-1.156-.001C11.12 2.397 4 7.503 4 13.75 4 18.53 7.364 22 12 22zm-.001-17.74C13.604 5.55 18 9.474 18 13.754 18 17.432 15.532 20 12 20s-6-2.57-6-6.25c0-4.29 4.394-8.203 5.999-9.49z\"}}]})(props);\n};\nexport function BiDumbbell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5v14h3v-6h6v6h3V5h-3v6H9V5zM3 15a1 1 0 0 0 1 1h1V8H4a1 1 0 0 0-1 1v2H2v2h1v2zm18-6a1 1 0 0 0-1-1h-1v8h1a1 1 0 0 0 1-1v-2h1v-2h-1V9z\"}}]})(props);\n};\nexport function BiDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 10H9v3H6v2h3v3h2v-3h3v-2h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h12c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2zM4 8h12l.002 12H4V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8v2h12v12h2V4c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiEditAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.045 7.401c.378-.378.586-.88.586-1.414s-.208-1.036-.586-1.414l-1.586-1.586c-.378-.378-.88-.586-1.414-.586s-1.036.208-1.413.585L4 13.585V18h4.413L19.045 7.401zm-3-3 1.587 1.585-1.59 1.584-1.586-1.585 1.589-1.584zM6 16v-1.585l7.04-7.018 1.586 1.586L7.587 16H6zm-2 4h16v2H4z\"}}]})(props);\n};\nexport function BiEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 17.013 4.413-.015 9.632-9.54c.378-.378.586-.88.586-1.414s-.208-1.036-.586-1.414l-1.586-1.586c-.756-.756-2.075-.752-2.825-.003L7 12.583v4.43zM18.045 4.458l1.589 1.583-1.597 1.582-1.586-1.585 1.594-1.58zM9 13.417l6.03-5.973 1.586 1.586-6.029 5.971L9 15.006v-1.589z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2v-8.668l-2 2V19H8.158c-.026 0-.053.01-.079.01-.033 0-.066-.009-.1-.01H5V5h6.847l2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.555 8.168-9-6a1 1 0 0 0-1.109 0l-9 6A1 1 0 0 0 2 9v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V9c0-.334-.167-.646-.445-.832zM12 4.202 19.197 9 12 13.798 4.803 9 12 4.202zM4 20v-9.131l7.445 4.963a1 1 0 0 0 1.11 0L20 10.869 19.997 20H4z\"}}]})(props);\n};\nexport function BiEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm0 2v.511l-8 6.223-8-6.222V6h16zM4 18V9.044l7.386 5.745a.994.994 0 0 0 1.228 0L20 9.044 20.002 18H4z\"}}]})(props);\n};\nexport function BiEqualizer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9h2v6h-2zm4-3h2v12h-2zM7 4h2v16H7zm12 7h2v2h-2zM3 10h2v4H3z\"}}]})(props);\n};\nexport function BiEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.586 15.408 4.299 4.299a.996.996 0 0 0 .707.293h12.001v-2h-6.958l7.222-7.222c.78-.779.78-2.049 0-2.828L14.906 3a2.003 2.003 0 0 0-2.828 0l-4.75 4.749-4.754 4.843a2.007 2.007 0 0 0 .012 2.816zM13.492 4.414l4.95 4.95-2.586 2.586L10.906 7l2.586-2.586zM8.749 9.156l.743-.742 4.95 4.95-4.557 4.557a1.026 1.026 0 0 0-.069.079h-1.81l-4.005-4.007 4.748-4.837z\"}}]})(props);\n};\nexport function BiErrorAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7h2v7h-2zm0 8h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 7.293-5-5A.996.996 0 0 0 16 2H8a.996.996 0 0 0-.707.293l-5 5A.996.996 0 0 0 2 8v8c0 .266.105.52.293.707l5 5A.996.996 0 0 0 8 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0 0 22 16V8a.996.996 0 0 0-.293-.707zM20 15.586 15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z\"}}]})(props);\n};\nexport function BiErrorCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.953 2C6.465 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.493 2 11.953 2zM12 20c-4.411 0-8-3.589-8-8s3.567-8 7.953-8C16.391 4 20 7.589 20 12s-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7h2v7h-2zm0 8h2v2h-2z\"}}]})(props);\n};\nexport function BiError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.001 10h2v5h-2zM11 16h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.768 4.2C13.42 3.545 12.742 3.138 12 3.138s-1.42.407-1.768 1.063L2.894 18.064a1.986 1.986 0 0 0 .054 1.968A1.984 1.984 0 0 0 4.661 21h14.678c.708 0 1.349-.362 1.714-.968a1.989 1.989 0 0 0 .054-1.968L13.768 4.2zM4.661 19 12 5.137 19.344 19H4.661z\"}}]})(props);\n};\nexport function BiEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.464 6c1.43 0 2.779.613 3.799 1.726l1.475-1.352C17.334 4.843 15.461 4 13.464 4c-1.998 0-3.87.843-5.272 2.375A8.034 8.034 0 0 0 6.589 9H4v2h2.114c-.038.33-.064.663-.064 1s.026.67.064 1H4v2h2.589c.362.97.901 1.861 1.603 2.626C9.594 19.157 11.466 20 13.464 20c1.997 0 3.87-.843 5.273-2.374l-1.475-1.352C16.243 17.387 14.894 18 13.464 18s-2.778-.612-3.798-1.726A5.937 5.937 0 0 1 8.801 15H13v-2H8.139c-.05-.328-.089-.66-.089-1s.039-.672.089-1H13V9H8.801c.24-.457.516-.893.865-1.274C10.686 6.613 12.034 6 13.464 6z\"}}]})(props);\n};\nexport function BiExclude (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8h-3V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h3v3c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2zm-4 7H9V9h6v6z\"}}]})(props);\n};\nexport function BiExitFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4H8v4H4v2h6zM8 20h2v-6H4v2h4zm12-6h-6v6h2v-4h4zm0-6h-4V4h-2v6h6z\"}}]})(props);\n};\nexport function BiExit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.002 3h-14c-1.103 0-2 .897-2 2v4h2V5h14v14h-14v-4h-2v4c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.898-2-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 16 5-4-5-4v3.001H3v2h8z\"}}]})(props);\n};\nexport function BiExpandAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12H3v9h9v-2H5zm7-7h7v7h2V3h-9z\"}}]})(props);\n};\nexport function BiExpandHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.29 5.64 1.93 12l6.36 6.36 1.42-1.41L4.76 12l4.95-4.95-1.42-1.41zm6 1.41L19.24 12l-4.95 4.95 1.42 1.41L22.07 12l-6.36-6.36-1.42 1.41z\"}}]})(props);\n};\nexport function BiExpandVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 19.24-4.95-4.95-1.41 1.42L12 22.07l6.36-6.36-1.41-1.42L12 19.24zM5.64 8.29l1.41 1.42L12 4.76l4.95 4.95 1.41-1.42L12 1.93 5.64 8.29z\"}}]})(props);\n};\nexport function BiExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15.344-2.121 2.121-3.172-3.172-1.414 1.414 3.172 3.172L15.344 21H21zM3 8.656l2.121-2.121 3.172 3.172 1.414-1.414-3.172-3.172L8.656 3H3zM21 3h-5.656l2.121 2.121-3.172 3.172 1.414 1.414 3.172-3.172L21 8.656zM3 21h5.656l-2.121-2.121 3.172-3.172-1.414-1.414-3.172 3.172L3 15.344z\"}}]})(props);\n};\nexport function BiExport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16h2V7h3l-4-5-4 5h3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiExtension (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10V7c0-1.103-.897-2-2-2h-3c0-1.654-1.346-3-3-3S8 3.346 8 5H5c-1.103 0-2 .897-2 2v3.881l.659.239C4.461 11.41 5 12.166 5 13s-.539 1.59-1.341 1.88L3 15.119V19c0 1.103.897 2 2 2h3.881l.239-.659C9.41 19.539 10.166 19 11 19s1.59.539 1.88 1.341l.239.659H17c1.103 0 2-.897 2-2v-3c1.654 0 3-1.346 3-3s-1.346-3-3-3zm0 4h-2l-.003 5h-2.545c-.711-1.22-2.022-2-3.452-2s-2.741.78-3.452 2H5v-2.548C6.22 15.741 7 14.43 7 13s-.78-2.741-2-3.452V7h5V5a1 1 0 0 1 2 0v2h5v5h2a1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiFace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 2c3.213 0 5.982 1.908 7.254 4.648a7.8 7.8 0 0 1-.895-.498c-.409-.258-.873-.551-1.46-.772-.669-.255-1.4-.378-2.234-.378s-1.565.123-2.234.377c-.587.223-1.051.516-1.472.781-.378.237-.703.443-1.103.594C9.41 8.921 8.926 9 8.33 9c-.595 0-1.079-.079-1.524-.248-.4-.151-.728-.358-1.106-.598-.161-.101-.34-.208-.52-.313C6.587 5.542 9.113 4 12 4zm0 16c-4.411 0-8-3.589-8-8 0-.81.123-1.59.348-2.327.094.058.185.11.283.173.411.26.876.554 1.466.776.669.255 1.399.378 2.233.378.833 0 1.564-.123 2.235-.377.587-.223 1.051-.516 1.472-.781.378-.237.703-.443 1.103-.595.445-.168.929-.247 1.525-.247s1.08.079 1.525.248c.399.15.725.356 1.114.602.409.258.873.551 1.46.773.363.138.748.229 1.153.291.049.357.083.717.083 1.086 0 4.411-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"13.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"13.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiFastForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 16 5-4-5-4zm-6 0 5-4-5-4z\"}}]})(props);\n};\nexport function BiFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 12-7-5v10zM5 7v10l7-5z\"}}]})(props);\n};\nexport function BiFemaleSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C8.691 2 6 4.691 6 8c0 2.967 2.167 5.432 5 5.91V17H8v2h3v2.988h2V19h3v-2h-3v-3.09c2.833-.479 5-2.943 5-5.91 0-3.309-2.691-6-6-6zm0 10c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4z\"}}]})(props);\n};\nexport function BiFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.948 7.684A.997.997 0 0 0 14 7h-4a.998.998 0 0 0-.948.684l-2 6 1.775.593L8 18h2v4h4v-4h2l-.827-3.724 1.775-.593-2-5.999z\"}}]})(props);\n};\nexport function BiFileBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.937 8.68c-.011-.032-.02-.063-.033-.094a.997.997 0 0 0-.196-.293l-6-6a.997.997 0 0 0-.293-.196c-.03-.014-.062-.022-.094-.033a.991.991 0 0 0-.259-.051C13.04 2.011 13.021 2 13 2H6c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V9c0-.021-.011-.04-.013-.062a.99.99 0 0 0-.05-.258zM16.586 8H14V5.414L16.586 8zM6 20V4h6v5a1 1 0 0 0 1 1h5l.002 10H6z\"}}]})(props);\n};\nexport function BiFileFind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.707 2.293A.996.996 0 0 0 13 2H6c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V9a.996.996 0 0 0-.293-.707l-6-6zM6 4h6.586L18 9.414l.002 9.174-2.568-2.568c.35-.595.566-1.281.566-2.02 0-2.206-1.794-4-4-4s-4 1.794-4 4 1.794 4 4 4c.739 0 1.425-.216 2.02-.566L16.586 20H6V4zm6 12c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.903 8.586a.997.997 0 0 0-.196-.293l-6-6a.997.997 0 0 0-.293-.196c-.03-.014-.062-.022-.094-.033a.991.991 0 0 0-.259-.051C13.04 2.011 13.021 2 13 2H6c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V9c0-.021-.011-.04-.013-.062a.952.952 0 0 0-.051-.259c-.01-.032-.019-.063-.033-.093zM16.586 8H14V5.414L16.586 8zM6 20V4h6v5a1 1 0 0 0 1 1h5l.002 10H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8v2H8zm0 4h8v2H8zm0-8h2v2H8z\"}}]})(props);\n};\nexport function BiFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM9 11V5h6v6H9zm6 2v6H9v-6h6zM5 5h2v2H5V5zm0 4h2v2H5V9zm0 4h2v2H5v-2zm0 4h2v2H5v-2zm14.002 2H17v-2h2.002v2zm-.001-4H17v-2h2.001v2zm0-4H17V9h2.001v2zM17 7V5h2v2h-2z\"}}]})(props);\n};\nexport function BiFilterAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3H5a1 1 0 0 0-1 1v2.59c0 .523.213 1.037.583 1.407L10 13.414V21a1.001 1.001 0 0 0 1.447.895l4-2c.339-.17.553-.516.553-.895v-5.586l5.417-5.417c.37-.37.583-.884.583-1.407V4a1 1 0 0 0-1-1zm-6.707 9.293A.996.996 0 0 0 14 13v5.382l-2 1V13a.996.996 0 0 0-.293-.707L6 6.59V5h14.001l.002 1.583-5.71 5.71z\"}}]})(props);\n};\nexport function BiFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11h10v2H7zM4 7h16v2H4zm6 8h4v2h-4z\"}}]})(props);\n};\nexport function BiFingerprint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.962 17.674C7 19.331 7 20.567 7 22h2c0-1.521 0-3.244-1.343-5.389l-1.695 1.063zM16.504 3.387C13.977 1.91 7.55.926 4.281 4.305c-3.368 3.481-2.249 9.072.001 11.392.118.122.244.229.369.333.072.061.146.116.205.184l1.494-1.33a3.918 3.918 0 0 0-.419-.391c-.072-.06-.146-.119-.214-.188-1.66-1.711-2.506-6.017.001-8.608 2.525-2.611 8.068-1.579 9.777-.581 2.691 1.569 4.097 4.308 4.109 4.333l1.789-.895c-.065-.135-1.668-3.289-4.889-5.167z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.34 12.822c-1.03-1.26-1.787-2.317-1.392-3.506.263-.785.813-1.325 1.637-1.604 1.224-.41 2.92-.16 4.04.601l1.123-1.654c-1.648-1.12-3.982-1.457-5.804-.841-1.408.476-2.435 1.495-2.892 2.866-.776 2.328.799 4.254 1.74 5.405.149.183.29.354.409.512C11 18.323 11 20.109 11 22h2c0-2.036 0-4.345-3.201-8.601a19.71 19.71 0 0 0-.459-.577zm5.791-3.344c1.835 1.764 3.034 4.447 3.889 8.701l1.961-.395c-.939-4.678-2.316-7.685-4.463-9.748l-1.387 1.442z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11.556 9.169-1.115 1.66c.027.019 2.711 1.88 3.801 5.724l1.924-.545c-1.299-4.582-4.476-6.749-4.61-6.839zm3.132 9.29c.21 1.168.312 2.326.312 3.541h2c0-1.335-.112-2.608-.343-3.895l-1.969.354z\"}}]})(props);\n};\nexport function BiFirstAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zM9 4h6v2H9V4zM4 18V8h16l.001 10H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h-2v3H8v2h3v3h2v-3h3v-2h-3z\"}}]})(props);\n};\nexport function BiFirstPage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16.293 17.707 1.414-1.414L13.414 12l4.293-4.293-1.414-1.414L10.586 12zM7 6h2v12H7z\"}}]})(props);\n};\nexport function BiFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4H6V2H4v18H3v2h4v-2H6v-5h13a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zm-1 9H6V6h12v7z\"}}]})(props);\n};\nexport function BiFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-8.586L9.707 3.293A.996.996 0 0 0 9 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zM4 19V7h16l.002 12H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.874 12h8v2h-8z\"}}]})(props);\n};\nexport function BiFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.165 19.551c.186.28.499.449.835.449h15c.4 0 .762-.238.919-.606l3-7A.998.998 0 0 0 21 11h-1V7c0-1.103-.897-2-2-2h-6.1L9.616 3.213A.997.997 0 0 0 9 3H4c-1.103 0-2 .897-2 2v14h.007a1 1 0 0 0 .158.551zM17.341 18H4.517l2.143-5h12.824l-2.143 5zM18 7v4H6c-.4 0-.762.238-.919.606L4 14.129V7h14z\"}}]})(props);\n};\nexport function BiFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h-2v3H8v2h3v3h2v-3h3v-2h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-8.586L9.707 3.293A.996.996 0 0 0 9 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zM4 19V7h16l.002 12H4z\"}}]})(props);\n};\nexport function BiFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-8.586L9.707 3.293A.997.997 0 0 0 9 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zM4 19V7h16l.002 12H4z\"}}]})(props);\n};\nexport function BiFontColor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18h14v3H5zm7.5-14h-1c-.401 0-.764.24-.921.609L5.745 16h2.173l1.273-3h5.604l1.268 3h2.171L13.421 4.61A1 1 0 0 0 12.5 4zm-2.46 7 1.959-4.616L13.95 11h-3.91z\"}}]})(props);\n};\nexport function BiFontFamily (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4h7v2h-7zm1 4h6v2h-6zm2 4h4v2h-4zM9.307 4l-6 16h2.137l1.875-5h6.363l1.875 5h2.137l-6-16H9.307zm-1.239 9L10.5 6.515 12.932 13H8.068z\"}}]})(props);\n};\nexport function BiFontSize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m22 6-3-4-3 4h2v4h-2l3 4 3-4h-2V6zM9.307 4l-6 16h2.137l1.875-5h6.363l1.875 5h2.137l-6-16H9.307zm-1.239 9L10.5 6.515 12.932 13H8.068z\"}}]})(props);\n};\nexport function BiFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.307 4-6 16h2.137l1.875-5h6.363l1.875 5h2.137l-6-16h-2.387zm-1.239 9L12.5 6.515 14.932 13h-4.864z\"}}]})(props);\n};\nexport function BiFoodMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2h2v20H3zm7 4h7v2h-7zm0 4h7v2h-7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H6v20h13c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 18H8V4h11v16z\"}}]})(props);\n};\nexport function BiFoodTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 16H5V5h14v14z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"5\"}}]})(props);\n};\nexport function BiFootball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 4.929a9.936 9.936 0 0 0-7.07-2.938 9.943 9.943 0 0 0-7.072 2.938c-3.899 3.898-3.899 10.243 0 14.142a9.94 9.94 0 0 0 7.073 2.938 9.936 9.936 0 0 0 7.07-2.937c3.899-3.898 3.899-10.243-.001-14.143zM12.181 4h-.359c.061-.001.119-.009.18-.009s.118.008.179.009zm6.062 13H16l-1.258 2.516a7.956 7.956 0 0 1-2.741.493 7.96 7.96 0 0 1-2.746-.494L8 17.01H5.765a7.96 7.96 0 0 1-1.623-3.532L6 11 4.784 8.567a7.936 7.936 0 0 1 1.559-2.224 7.994 7.994 0 0 1 3.22-1.969L12 6l2.438-1.625a8.01 8.01 0 0 1 3.22 1.968 7.94 7.94 0 0 1 1.558 2.221L18 11l1.858 2.478A7.952 7.952 0 0 1 18.243 17z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 11 1.5 4h4l1.5-4L12 8.5z\"}}]})(props);\n};\nexport function BiFork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.47 13.77-1.41-1.42 5.66-5.65-1.42-1.42-5.65 5.66-1.42-1.41 5.66-5.66-1.42-1.42-6.36 6.37a3 3 0 0 0 0 4.24l.71.71-6.37 6.36 1.42 1.42 6.36-6.37.71.71a3 3 0 0 0 4.24 0l6.37-6.36-1.42-1.42z\"}}]})(props);\n};\nexport function BiFridge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 2 .001 5H10V7H8v2H6V4h12zM6 20v-9h2v3h2v-3h8.001l.001 9H6z\"}}]})(props);\n};\nexport function BiFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5h5V3H3v7h2zm5 14H5v-5H3v7h7zm11-5h-2v5h-5v2h7zm-2-4h2V3h-7v2h5z\"}}]})(props);\n};\nexport function BiGame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.937 7.53C19.227 4.119 15.803 2 12 2 6.486 2 2 6.486 2 12s4.486 10 10 10c3.803 0 7.227-2.119 8.937-5.53a1 1 0 0 0-.397-1.316L15.017 12l5.522-3.153c.461-.264.636-.842.398-1.317zm-8.433 3.602a.999.999 0 0 0 0 1.736l6.173 3.525A7.949 7.949 0 0 1 12 20c-4.411 0-8-3.589-8-8s3.589-8 8-8a7.95 7.95 0 0 1 6.677 3.606l-6.173 3.526z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"7.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiGasPump (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.616 6.48.014-.017-4-3.24-1.26 1.554 2.067 1.674a2.99 2.99 0 0 0-1.395 3.058c.149.899.766 1.676 1.565 2.112.897.49 1.685.446 2.384.197L18.976 18a.996.996 0 0 1-1.39.922.995.995 0 0 1-.318-.217.996.996 0 0 1-.291-.705L17 16a2.98 2.98 0 0 0-.877-2.119A3 3 0 0 0 14 13h-1V5c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-4h1c.136 0 .267.027.391.078a1.028 1.028 0 0 1 .531.533A.994.994 0 0 1 15 16l-.024 2c0 .406.079.799.236 1.168.151.359.368.68.641.951a2.97 2.97 0 0 0 2.123.881c.406 0 .798-.078 1.168-.236.358-.15.68-.367.951-.641A2.983 2.983 0 0 0 20.976 18L21 9a2.997 2.997 0 0 0-1.384-2.52zM4 5h7l.001 4H4V5zm0 14v-8h7.001l.001 8H4zm14-9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c-4.963 0-9 4.038-9 9v8h.051c.245 1.691 1.69 3 3.449 3 1.174 0 2.074-.417 2.672-1.174a3.99 3.99 0 0 0 5.668-.014c.601.762 1.504 1.188 2.66 1.188 1.93 0 3.5-1.57 3.5-3.5V11c0-4.962-4.037-9-9-9zm7 16.5c0 .827-.673 1.5-1.5 1.5-.449 0-1.5 0-1.5-2v-1h-2v1c0 1.103-.897 2-2 2s-2-.897-2-2v-1H8v1c0 1.845-.774 2-1.5 2-.827 0-1.5-.673-1.5-1.5V11c0-3.86 3.141-7 7-7s7 3.14 7 7v7.5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"10\",\"r\":\"2\"}}]})(props);\n};\nexport function BiGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7h-1.209A4.92 4.92 0 0 0 19 5.5C19 3.57 17.43 2 15.5 2c-1.622 0-2.705 1.482-3.404 3.085C11.407 3.57 10.269 2 8.5 2 6.57 2 5 3.57 5 5.5c0 .596.079 1.089.209 1.5H4c-1.103 0-2 .897-2 2v2c0 1.103.897 2 2 2v7c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7c1.103 0 2-.897 2-2V9c0-1.103-.897-2-2-2zm-4.5-3c.827 0 1.5.673 1.5 1.5C17 7 16.374 7 16 7h-2.478c.511-1.576 1.253-3 1.978-3zM7 5.5C7 4.673 7.673 4 8.5 4c.888 0 1.714 1.525 2.198 3H8c-.374 0-1 0-1-1.5zM4 9h7v2H4V9zm2 11v-7h5v7H6zm12 0h-5v-7h5v7zm-5-9V9.085L13.017 9H20l.001 2H13z\"}}]})(props);\n};\nexport function BiGitBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 4C15.57 4 14 5.57 14 7.5c0 1.554 1.025 2.859 2.43 3.315-.146.932-.547 1.7-1.23 2.323-1.946 1.773-5.527 1.935-7.2 1.907V8.837c1.44-.434 2.5-1.757 2.5-3.337C10.5 3.57 8.93 2 7 2S3.5 3.57 3.5 5.5c0 1.58 1.06 2.903 2.5 3.337v6.326c-1.44.434-2.5 1.757-2.5 3.337C3.5 20.43 5.07 22 7 22s3.5-1.57 3.5-3.5c0-.551-.14-1.065-.367-1.529 2.06-.186 4.657-.757 6.409-2.35 1.097-.997 1.731-2.264 1.904-3.768C19.915 10.438 21 9.1 21 7.5 21 5.57 19.43 4 17.5 4zm-12 1.5C5.5 4.673 6.173 4 7 4s1.5.673 1.5 1.5S7.827 7 7 7s-1.5-.673-1.5-1.5zM7 20c-.827 0-1.5-.673-1.5-1.5a1.5 1.5 0 0 1 1.482-1.498l.13.01A1.495 1.495 0 0 1 7 20zM17.5 9c-.827 0-1.5-.673-1.5-1.5S16.673 6 17.5 6s1.5.673 1.5 1.5S18.327 9 17.5 9z\"}}]})(props);\n};\nexport function BiGitCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6c-2.967 0-5.431 2.167-5.909 5H2v2h4.092c.479 2.832 2.942 4.998 5.909 4.998s5.43-2.166 5.909-4.998H22v-2h-4.09c-.478-2.833-2.942-5-5.91-5zm0 9.998c-2.205 0-3.999-1.794-3.999-3.999S9.795 8 12 8c2.206 0 4 1.794 4 3.999s-1.794 3.999-4 3.999z\"}}]})(props);\n};\nexport function BiGitCompare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.01 2c-1.93 0-3.5 1.57-3.5 3.5 0 1.58 1.06 2.903 2.5 3.337v7.16c-.001.179.027 1.781 1.174 2.931C6.892 19.64 7.84 20 9 20v2l4-3-4-3v2c-1.823 0-1.984-1.534-1.99-2V8.837c1.44-.434 2.5-1.757 2.5-3.337 0-1.93-1.571-3.5-3.5-3.5zm0 5c-.827 0-1.5-.673-1.5-1.5S5.183 4 6.01 4s1.5.673 1.5 1.5S6.837 7 6.01 7zm13 8.163V7.997C19.005 6.391 17.933 4 15 4V2l-4 3 4 3V6c1.829 0 2.001 1.539 2.01 2v7.163c-1.44.434-2.5 1.757-2.5 3.337 0 1.93 1.57 3.5 3.5 3.5s3.5-1.57 3.5-3.5c0-1.58-1.06-2.903-2.5-3.337zm-1 4.837c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5 1.5.673 1.5 1.5-.673 1.5-1.5 1.5z\"}}]})(props);\n};\nexport function BiGitMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 18.5C2.5 20.43 4.07 22 6 22s3.5-1.57 3.5-3.5c0-1.58-1.06-2.903-2.5-3.337v-3.488c.244.273.509.527.813.744 1.18.844 2.617 1.098 3.918 1.098.966 0 1.853-.14 2.506-.281a3.5 3.5 0 0 0 3.264 2.265c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5a3.5 3.5 0 0 0-3.404 2.718c-1.297.321-3.664.616-5.119-.426-.666-.477-1.09-1.239-1.306-2.236C8.755 7.96 9.5 6.821 9.5 5.5 9.5 3.57 7.93 2 6 2S2.5 3.57 2.5 5.5c0 1.58 1.06 2.903 2.5 3.337v6.326c-1.44.434-2.5 1.757-2.5 3.337zm15-8c.827 0 1.5.673 1.5 1.5s-.673 1.5-1.5 1.5S16 12.827 16 12s.673-1.5 1.5-1.5zm-10 8c0 .827-.673 1.5-1.5 1.5s-1.5-.673-1.5-1.5S5.173 17 6 17s1.5.673 1.5 1.5zm-3-13C4.5 4.673 5.173 4 6 4s1.5.673 1.5 1.5S6.827 7 6 7s-1.5-.673-1.5-1.5z\"}}]})(props);\n};\nexport function BiGitPullRequest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.01 15.163V7.997C19.005 6.391 17.933 4 15 4V2l-4 3 4 3V6c1.829 0 2.001 1.539 2.01 2v7.163c-1.44.434-2.5 1.757-2.5 3.337 0 1.93 1.57 3.5 3.5 3.5s3.5-1.57 3.5-3.5c0-1.58-1.06-2.903-2.5-3.337zm-1 4.837c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5 1.5.673 1.5 1.5-.673 1.5-1.5 1.5zM9.5 5.5C9.5 3.57 7.93 2 6 2S2.5 3.57 2.5 5.5c0 1.58 1.06 2.903 2.5 3.337v6.326c-1.44.434-2.5 1.757-2.5 3.337C2.5 20.43 4.07 22 6 22s3.5-1.57 3.5-3.5c0-1.58-1.06-2.903-2.5-3.337V8.837C8.44 8.403 9.5 7.08 9.5 5.5zm-5 0C4.5 4.673 5.173 4 6 4s1.5.673 1.5 1.5S6.827 7 6 7s-1.5-.673-1.5-1.5zm3 13c0 .827-.673 1.5-1.5 1.5s-1.5-.673-1.5-1.5S5.173 17 6 17s1.5.673 1.5 1.5z\"}}]})(props);\n};\nexport function BiGitRepoForked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.559 8.855c.166 1.183.789 3.207 3.087 4.079C11 13.829 11 14.534 11 15v.163c-1.44.434-2.5 1.757-2.5 3.337 0 1.93 1.57 3.5 3.5 3.5s3.5-1.57 3.5-3.5c0-1.58-1.06-2.903-2.5-3.337V15c0-.466 0-1.171 2.354-2.065 2.298-.872 2.921-2.896 3.087-4.079C19.912 8.441 21 7.102 21 5.5 21 3.57 19.43 2 17.5 2S14 3.57 14 5.5c0 1.552 1.022 2.855 2.424 3.313-.146.735-.565 1.791-1.778 2.252-1.192.452-2.053.953-2.646 1.536-.593-.583-1.453-1.084-2.646-1.536-1.213-.461-1.633-1.517-1.778-2.252C8.978 8.355 10 7.052 10 5.5 10 3.57 8.43 2 6.5 2S3 3.57 3 5.5c0 1.602 1.088 2.941 2.559 3.355zM17.5 4c.827 0 1.5.673 1.5 1.5S18.327 7 17.5 7 16 6.327 16 5.5 16.673 4 17.5 4zm-4 14.5c0 .827-.673 1.5-1.5 1.5s-1.5-.673-1.5-1.5.673-1.5 1.5-1.5 1.5.673 1.5 1.5zM6.5 4C7.327 4 8 4.673 8 5.5S7.327 7 6.5 7 5 6.327 5 5.5 5.673 4 6.5 4z\"}}]})(props);\n};\nexport function BiGlassesAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.948 11.684-2-6A.997.997 0 0 0 19 5h-3v2h2.279l1.334 4H15c-1.103 0-2 .897-2 2h-2c0-1.103-.897-2-2-2H4.387l1.334-4H8V5H5a.998.998 0 0 0-.948.684l-2 6 .012.004A.928.928 0 0 0 2 12v4c0 1.654 1.346 3 3 3h3c1.654 0 3-1.346 3-3v-1h2v1c0 1.654 1.346 3 3 3h3c1.654 0 3-1.346 3-3v-4a.964.964 0 0 0-.063-.313l.011-.003zM9 16c0 .551-.448 1-1 1H5c-.552 0-1-.449-1-1v-3h5v3zm11 0c0 .551-.448 1-1 1h-3c-.552 0-1-.449-1-1v-3h5v3z\"}}]})(props);\n};\nexport function BiGlasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.977 13.783-2-9A1.002 1.002 0 0 0 19 4h-3v2h2.198l.961 4.326A4.467 4.467 0 0 0 17.5 10c-1.953 0-3.603 1.258-4.224 3h-2.553c-.621-1.742-2.271-3-4.224-3-.587 0-1.145.121-1.659.326L5.802 6H8V4H5a1 1 0 0 0-.976.783l-2 9 .047.011A4.552 4.552 0 0 0 2 14.5C2 16.981 4.019 19 6.5 19c2.31 0 4.197-1.756 4.449-4h2.102c.252 2.244 2.139 4 4.449 4 2.481 0 4.5-2.019 4.5-4.5 0-.242-.034-.475-.071-.706l.048-.011zM6.5 17C5.122 17 4 15.878 4 14.5S5.122 12 6.5 12 9 13.122 9 14.5 7.878 17 6.5 17zm11 0c-1.379 0-2.5-1.122-2.5-2.5s1.121-2.5 2.5-2.5 2.5 1.122 2.5 2.5-1.121 2.5-2.5 2.5z\"}}]})(props);\n};\nexport function BiGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 18.791V20H9v2h6v-2h-2v-1.845a9.934 9.934 0 0 0 3.071-2.084c3.898-3.898 3.898-10.243 0-14.143l-1.414 1.414c3.119 3.12 3.119 8.195 0 11.314-3.119 3.118-8.195 3.12-11.314 0L1.929 16.07A9.971 9.971 0 0 0 9 18.994a9.98 9.98 0 0 0 2-.203z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9c0 3.309 2.691 6 6 6s6-2.691 6-6-2.691-6-6-6-6 2.691-6 6zm10 0c0 2.206-1.794 4-4 4s-4-1.794-4-4 1.794-4 4-4 4 1.794 4 4z\"}}]})(props);\n};\nexport function BiGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.931 9h-2.764a14.67 14.67 0 0 0-1.792-6.243A8.013 8.013 0 0 1 19.931 11zM12.53 4.027c1.035 1.364 2.427 3.78 2.627 6.973H9.03c.139-2.596.994-5.028 2.451-6.974.172-.01.344-.026.519-.026.179 0 .354.016.53.027zm-3.842.7C7.704 6.618 7.136 8.762 7.03 11H4.069a8.013 8.013 0 0 1 4.619-6.273zM4.069 13h2.974c.136 2.379.665 4.478 1.556 6.23A8.01 8.01 0 0 1 4.069 13zm7.381 6.973C10.049 18.275 9.222 15.896 9.041 13h6.113c-.208 2.773-1.117 5.196-2.603 6.972-.182.012-.364.028-.551.028-.186 0-.367-.016-.55-.027zm4.011-.772c.955-1.794 1.538-3.901 1.691-6.201h2.778a8.005 8.005 0 0 1-4.469 6.201z\"}}]})(props);\n};\nexport function BiGridAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM9 9H5V5h4v4zm5 2h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm1-6h4v4h-4V5zM3 20a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6zm2-5h4v4H5v-4zm8 5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6zm2-5h4v4h-4v-4z\"}}]})(props);\n};\nexport function BiGridHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7h4v4h-4zm6 0h4v4h-4zM4 7h4v4H4zm6 6h4v4h-4zm6 0h4v4h-4zM4 13h4v4H4z\"}}]})(props);\n};\nexport function BiGridSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h4v4H7zm0 6h4v4H7zm6-6h4v4h-4zm0 6h4v4h-4z\"}}]})(props);\n};\nexport function BiGridVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h4v4H7zm0-6h4v4H7zm0 12h4v4H7zm6-6h4v4h-4zm0-6h4v4h-4zm0 12h4v4h-4z\"}}]})(props);\n};\nexport function BiGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3H4.984c-1.103 0-2 .897-2 2v14.016c0 1.103.897 2 2 2H19c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2h-4zm4 5h-3V5h3v3zM4.984 10h3v4.016h-3V10zm5 0H14v4.016H9.984V10zM16 10h3v4.016h-3V10zm-2-5v3H9.984V5H14zM7.984 5v3h-3V5h3zm-3 11.016h3v3h-3v-3zm5 3v-3H14v3H9.984zm6.016 0v-3h3.001v3H16z\"}}]})(props);\n};\nexport function BiGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.604 11.048a5.67 5.67 0 0 0 .751-3.44c-.179-1.784-1.175-3.361-2.803-4.44l-1.105 1.666c1.119.742 1.8 1.799 1.918 2.974a3.693 3.693 0 0 1-1.072 2.986l-1.192 1.192 1.618.475C18.951 13.701 19 17.957 19 18h2c0-1.789-.956-5.285-4.396-6.952z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2zm1.5 7H8c-3.309 0-6 2.691-6 6v1h2v-1c0-2.206 1.794-4 4-4h3c2.206 0 4 1.794 4 4v1h2v-1c0-3.309-2.691-6-6-6z\"}}]})(props);\n};\nexport function BiHandicap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.98 14.804A1 1 0 0 0 16 14h-4.133l-.429-3H16V9h-4.847l-.163-1.142A1 1 0 0 0 10 7H9a1.003 1.003 0 0 0-.99 1.142l.877 6.142A2.009 2.009 0 0 0 10.867 16h4.313l.839 4.196c.094.467.504.804.981.804h3v-2h-2.181l-.839-4.196z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.51 17.5c-.739 1.476-2.25 2.5-4.01 2.5A4.505 4.505 0 0 1 4 15.5a4.503 4.503 0 0 1 2.817-4.167l-.289-2.025C3.905 10.145 2 12.604 2 15.5 2 19.084 4.916 22 8.5 22a6.497 6.497 0 0 0 5.545-3.126l-.274-1.374H12.51z\"}}]})(props);\n};\nexport function BiHappyAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"9.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"9.493\",\"r\":\"1.493\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c5 0 6-5 6-5H6s1 5 6 5z\"}}]})(props);\n};\nexport function BiHappyBeaming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c4 0 5-4 5-4H7s1 4 5 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 12 2 .012c.012-.462.194-1.012 1-1.012s.988.55 1 1h2c0-1.206-.799-3-3-3s-3 1.794-3 3zm-5-1c.806 0 .988.55 1 1h2c0-1.206-.799-3-3-3s-3 1.794-3 3l2 .012C7.012 11.55 7.194 11 8 11z\"}}]})(props);\n};\nexport function BiHappyHeartEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c4 0 5-4 5-4H7s1 4 5 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zm0-18c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.535 12.634 2.05-2.083a1.485 1.485 0 0 0-.018-2.118 1.49 1.49 0 0 0-2.065-.034 1.488 1.488 0 0 0-2.067.068c-.586.6-.579 1.53.019 2.117l2.081 2.05zm7 0 2.05-2.083a1.485 1.485 0 0 0-.018-2.118 1.49 1.49 0 0 0-2.065-.034 1.488 1.488 0 0 0-2.068.067c-.586.6-.579 1.53.019 2.117l2.082 2.051z\"}}]})(props);\n};\nexport function BiHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c4 0 5-4 5-4H7s1 4 5 4z\"}}]})(props);\n};\nexport function BiHardHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15a9.11 9.11 0 0 0-.18-1.81 8.53 8.53 0 0 0-.53-1.69 8.08 8.08 0 0 0-.83-1.5 8.73 8.73 0 0 0-1.1-1.33A8.27 8.27 0 0 0 17 7.54a8.08 8.08 0 0 0-1.53-.83L15 6.52V5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1.52l-.5.19a8.08 8.08 0 0 0-1.5.83 8.27 8.27 0 0 0-1.33 1.1A8.27 8.27 0 0 0 4.54 10a8.08 8.08 0 0 0-.83 1.53 9 9 0 0 0-.53 1.69A9.11 9.11 0 0 0 3 15v3H2v2h20v-2h-1zM5 15a7.33 7.33 0 0 1 .14-1.41 6.64 6.64 0 0 1 .41-1.31 7.15 7.15 0 0 1 .64-1.19 7.15 7.15 0 0 1 1.9-1.9A7.33 7.33 0 0 1 9 8.68V15h2V6h2v9h2V8.68a8.13 8.13 0 0 1 .91.51 7.09 7.09 0 0 1 1 .86 6.44 6.44 0 0 1 .85 1 6 6 0 0 1 .65 1.19 7.13 7.13 0 0 1 .41 1.31A7.33 7.33 0 0 1 19 15v3H5z\"}}]})(props);\n};\nexport function BiHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.018 3.815 15.232 8h-4.966l.716-3.815-1.964-.37L8.232 8H4v2h3.857l-.751 4H3v2h3.731l-.714 3.805 1.965.369L8.766 16h4.966l-.714 3.805 1.965.369.783-4.174H20v-2h-3.859l.751-4H21V8h-3.733l.716-3.815-1.965-.37zM14.106 14H9.141l.751-4h4.966l-.752 4z\"}}]})(props);\n};\nexport function BiHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.983 13.821-1.851-10.18A1.998 1.998 0 0 0 18.165 2H5.835a2 2 0 0 0-1.968 1.643l-1.85 10.178.019.003c-.012.06-.036.114-.036.176v5c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-5c0-.063-.024-.116-.035-.176l.018-.003zM5.835 4h12.331l1.637 9H4.198l1.637-9zM4 19v-4h16l.002 4H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16h2v2h-2zm-3 0h2v2h-2z\"}}]})(props);\n};\nexport function BiHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20V4h-3v6H9V4H6v16h3v-7h6v7z\"}}]})(props);\n};\nexport function BiHeadphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12v-1.707c0-4.442-3.479-8.161-7.755-8.29-2.204-.051-4.251.736-5.816 2.256A7.933 7.933 0 0 0 4 10v2c-1.103 0-2 .897-2 2v4c0 1.103.897 2 2 2h2V10a5.95 5.95 0 0 1 1.821-4.306 5.977 5.977 0 0 1 4.363-1.691C15.392 4.099 18 6.921 18 10.293V20h2c1.103 0 2-.897 2-2v-4c0-1.103-.897-2-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h2v8H7zm8 0h2v8h-2z\"}}]})(props);\n};\nexport function BiHealth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.649 5.286 14 8.548V2.025h-4v6.523L4.351 5.286l-2 3.465 5.648 3.261-5.648 3.261 2 3.465L10 15.477V22h4v-6.523l5.649 3.261 2-3.465-5.648-3.261 5.648-3.261z\"}}]})(props);\n};\nexport function BiHeartCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.279 8.833 12 9.112l-.279-.279a2.745 2.745 0 0 0-3.906 0 2.745 2.745 0 0 0 0 3.907L12 16.926l4.186-4.186a2.745 2.745 0 0 0 0-3.907 2.746 2.746 0 0 0-3.907 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiHeartSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.998 17 4.186-4.186a2.745 2.745 0 0 0 0-3.907 2.746 2.746 0 0 0-3.907 0l-.278.279-.279-.279a2.746 2.746 0 0 0-3.907 0 2.746 2.746 0 0 0 0 3.907L11.998 17z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4zm-2 15H5V5h14v14z\"}}]})(props);\n};\nexport function BiHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4.595a5.904 5.904 0 0 0-3.996-1.558 5.942 5.942 0 0 0-4.213 1.758c-2.353 2.363-2.352 6.059.002 8.412l7.332 7.332c.17.299.498.492.875.492a.99.99 0 0 0 .792-.409l7.415-7.415c2.354-2.354 2.354-6.049-.002-8.416a5.938 5.938 0 0 0-4.209-1.754A5.906 5.906 0 0 0 12 4.595zm6.791 1.61c1.563 1.571 1.564 4.025.002 5.588L12 18.586l-6.793-6.793c-1.562-1.563-1.561-4.017-.002-5.584.76-.756 1.754-1.172 2.799-1.172s2.035.416 2.789 1.17l.5.5a.999.999 0 0 0 1.414 0l.5-.5c1.512-1.509 4.074-1.505 5.584-.002z\"}}]})(props);\n};\nexport function BiHelpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6a3.939 3.939 0 0 0-3.934 3.934h2C10.066 8.867 10.934 8 12 8s1.934.867 1.934 1.934c0 .598-.481 1.032-1.216 1.626a9.208 9.208 0 0 0-.691.599c-.998.997-1.027 2.056-1.027 2.174V15h2l-.001-.633c.001-.016.033-.386.441-.793.15-.15.339-.3.535-.458.779-.631 1.958-1.584 1.958-3.182A3.937 3.937 0 0 0 12 6zm-1 10h2v2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiHide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 0 1 1.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 0 0 0 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 0 0 0-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0 1 12 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z\"}}]})(props);\n};\nexport function BiHighlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.707 5.826-3.535-3.533a.999.999 0 0 0-1.408-.006L7.096 10.82a1.01 1.01 0 0 0-.273.488l-1.024 4.437L4 18h2.828l1.142-1.129 3.588-.828c.18-.042.345-.133.477-.262l8.667-8.535a1 1 0 0 0 .005-1.42zm-9.369 7.833-2.121-2.12 7.243-7.131 2.12 2.12-7.242 7.131zM4 20h16v2H4z\"}}]})(props);\n};\nexport function BiHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v5h5v-2h-3V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.292 8.497a8.957 8.957 0 0 0-1.928-2.862 9.004 9.004 0 0 0-4.55-2.452 9.09 9.09 0 0 0-3.626 0 8.965 8.965 0 0 0-4.552 2.453 9.048 9.048 0 0 0-1.928 2.86A8.963 8.963 0 0 0 4 12l.001.025H2L5 16l3-3.975H6.001L6 12a6.957 6.957 0 0 1 1.195-3.913 7.066 7.066 0 0 1 1.891-1.892 7.034 7.034 0 0 1 2.503-1.054 7.003 7.003 0 0 1 8.269 5.445 7.117 7.117 0 0 1 0 2.824 6.936 6.936 0 0 1-1.054 2.503c-.25.371-.537.72-.854 1.036a7.058 7.058 0 0 1-2.225 1.501 6.98 6.98 0 0 1-1.313.408 7.117 7.117 0 0 1-2.823 0 6.957 6.957 0 0 1-2.501-1.053 7.066 7.066 0 0 1-1.037-.855l-1.414 1.414A8.985 8.985 0 0 0 13 21a9.05 9.05 0 0 0 3.503-.707 9.009 9.009 0 0 0 3.959-3.26A8.968 8.968 0 0 0 22 12a8.928 8.928 0 0 0-.708-3.503z\"}}]})(props);\n};\nexport function BiHive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.895 7.553-2-4A1.001 1.001 0 0 0 18 3h-5c-.379 0-.725.214-.895.553L10.382 7H6c-.379 0-.725.214-.895.553l-2 4a1 1 0 0 0 0 .895l2 4c.17.338.516.552.895.552h4.382l1.724 3.447A.998.998 0 0 0 13 21h5c.379 0 .725-.214.895-.553l2-4a1 1 0 0 0 0-.895L19.118 12l1.776-3.553a1 1 0 0 0 .001-.894zM13.618 5h3.764l1.5 3-1.5 3h-3.764l-1.5-3 1.5-3zm-8.5 7 1.5-3h3.764l1.5 3-1.5 3H6.618l-1.5-3zm12.264 7h-3.764l-1.5-3 1.5-3h3.764l1.5 3-1.5 3z\"}}]})(props);\n};\nexport function BiHomeAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.71 2.29a1 1 0 0 0-1.42 0l-9 9a1 1 0 0 0 0 1.42A1 1 0 0 0 3 13h1v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7h1a1 1 0 0 0 1-1 1 1 0 0 0-.29-.71zM6 20v-9.59l6-6 6 6V20z\"}}]})(props);\n};\nexport function BiHomeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14a2 2 0 0 0 2-2v-9a1 1 0 0 0-.29-.71l-8-8a1 1 0 0 0-1.41 0l-8 8A1 1 0 0 0 3 11v9a2 2 0 0 0 2 2zm5-2v-5h4v5zm-5-8.59 7-7 7 7V20h-3v-5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v5H5z\"}}]})(props);\n};\nexport function BiHomeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13h1v7c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7h1a1 1 0 0 0 .707-1.707l-9-9a.999.999 0 0 0-1.414 0l-9 9A1 1 0 0 0 3 13zm9-8.586 6 6V15l.001 5H6v-9.585l6-6.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"}}]})(props);\n};\nexport function BiHomeHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.223 11.641-.223.22-.224-.22a2.224 2.224 0 0 0-3.125 0 2.13 2.13 0 0 0 0 3.07L12 18l3.349-3.289a2.13 2.13 0 0 0 0-3.07 2.225 2.225 0 0 0-3.126 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 11.293-9-9a.999.999 0 0 0-1.414 0l-9 9A1 1 0 0 0 3 13h1v7c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7h1a1 1 0 0 0 .707-1.707zM18.001 20H6v-9.585l6-6 6 6V15l.001 5z\"}}]})(props);\n};\nexport function BiHomeSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13h1v7c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7h1a1 1 0 0 0 .707-1.707l-9-9a.999.999 0 0 0-1.414 0l-9 9A1 1 0 0 0 3 13zm9-8.586 6 6V15l.001 5H6v-9.586l6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c3.703 0 4.901-3.539 4.95-3.689l-1.9-.621c-.008.023-.781 2.31-3.05 2.31-2.238 0-3.02-2.221-3.051-2.316l-1.899.627C7.099 14.461 8.297 18 12 18z\"}}]})(props);\n};\nexport function BiHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13h1v7c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7h1a1 1 0 0 0 .707-1.707l-9-9a.999.999 0 0 0-1.414 0l-9 9A1 1 0 0 0 3 13zm7 7v-5h4v5h-4zm2-15.586 6 6V15l.001 5H16v-5c0-1.103-.897-2-2-2h-4c-1.103 0-2 .897-2 2v5H6v-9.586l6-6z\"}}]})(props);\n};\nexport function BiHorizontalCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5.005 15.995 4-4-4-4v3h-3v2h3zm14-5v-3l-4 4 4 4v-3h3v-2h-2.072zm-8 7h2v3h-2zm0-5h2v3h-2zm0-5h2v3h-2zm0-5h2v3h-2z\"}}]})(props);\n};\nexport function BiHorizontalLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11 8-4 4 4 4v-3h8v-2h-8V8zM3 18h2v3H3zM3 13h2v3H3zM3 8h2v3H3zM3 3h2v3H3z\"}}]})(props);\n};\nexport function BiHorizontalRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 11H5v2h8v3l4-4-4-4v3zM19 3h2v3h-2zM19 8h2v3h-2zM19 13h2v3h-2zM19 18h2v3h-2z\"}}]})(props);\n};\nexport function BiHotel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"11.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.205 7H12a1 1 0 0 0-1 1v7H4V6H2v14h2v-3h16v3h2v-8.205A4.8 4.8 0 0 0 17.205 7zM13 15V9h4.205A2.798 2.798 0 0 1 20 11.795V15h-7z\"}}]})(props);\n};\nexport function BiHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.566 11.021A7.016 7.016 0 0 0 19 5V4h1V2H4v2h1v1a7.016 7.016 0 0 0 3.434 6.021c.354.208.566.545.566.9v.158c0 .354-.212.69-.566.9A7.016 7.016 0 0 0 5 19v1H4v2h16v-2h-1v-1a7.014 7.014 0 0 0-3.433-6.02c-.355-.21-.567-.547-.567-.901v-.158c0-.355.212-.692.566-.9zm-1.015 3.681A5.008 5.008 0 0 1 17 19v1H7v-1a5.01 5.01 0 0 1 2.45-4.299c.971-.573 1.55-1.554 1.55-2.622v-.158c0-1.069-.58-2.051-1.551-2.623A5.008 5.008 0 0 1 7 5V4h10v1c0 1.76-.938 3.406-2.449 4.298C13.58 9.87 13 10.852 13 11.921v.158c0 1.068.579 2.049 1.551 2.623z\"}}]})(props);\n};\nexport function BiIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.715 12c1.151 0 2-.849 2-2s-.849-2-2-2-2 .849-2 2 .848 2 2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .841-2 1.875v12.25C2 19.159 2.897 20 4 20h16c1.103 0 2-.841 2-1.875V5.875C22 4.841 21.103 4 20 4zm0 14-16-.011V6l16 .011V18z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h4v2h-4zm1 4h3v2h-3zm-1.57 2.536c0-1.374-1.676-2.786-3.715-2.786S6 14.162 6 15.536V16h7.43v-.464z\"}}]})(props);\n};\nexport function BiImageAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5h13v7h2V5c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h8v-2H4V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 11-3 4h11l-4-6-3 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14h-2v3h-3v2h3v3h2v-3h3v-2h-3z\"}}]})(props);\n};\nexport function BiImageAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 14-1-1-3 4h12l-5-7z\"}}]})(props);\n};\nexport function BiImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.499\",\"cy\":\"9.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.499 14-1.5-2-3 4h12l-4.5-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.999 4h-16c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-16 14V6h16l.002 12H3.999z\"}}]})(props);\n};\nexport function BiImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM8 16V4h12l.002 12H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8H2v12c0 1.103.897 2 2 2h12v-2H4V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 12-1-1-2 3h10l-4-6z\"}}]})(props);\n};\nexport function BiImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 18 4-5h-3V2h-2v11H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiInfinite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7c-2.094 0-3.611 1.567-5.001 3.346C10.609 8.567 9.093 7 7 7c-2.757 0-5 2.243-5 5a4.98 4.98 0 0 0 1.459 3.534A4.956 4.956 0 0 0 6.99 17h.012c2.089-.005 3.605-1.572 4.996-3.351C13.389 15.431 14.906 17 17 17c2.757 0 5-2.243 5-5s-2.243-5-5-5zM6.998 15l-.008 1v-1c-.799 0-1.55-.312-2.114-.878A3.004 3.004 0 0 1 7 9c1.33 0 2.56 1.438 3.746 2.998C9.558 13.557 8.328 14.997 6.998 15zM17 15c-1.33 0-2.561-1.44-3.749-3.002C14.438 10.438 15.668 9 17 9c1.654 0 3 1.346 3 3s-1.346 3-3 3z\"}}]})(props);\n};\nexport function BiInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11h2v6h-2zm0-4h2v2h-2z\"}}]})(props);\n};\nexport function BiInfoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 16H5V5h14v14z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2z\"}}]})(props);\n};\nexport function BiInjection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.84 7.4 22.25 6 18 1.75l-1.4 1.41L18 4.58 16.6 6l-2.13-2.13-1.41-1.42-1.41 1.42.7.71L3 13.92a2 2 0 0 0-.3 2.45L4 18.56l-2.25 2.28 1.41 1.41L5.44 20l2.19 1.31a2 2 0 0 0 1 .28 2 2 0 0 0 1.45-.59l9.34-9.34.71.7 1.42-1.41-1.42-1.42L18 7.4 19.42 6zM18 10.23l-9.34 9.35L6 18l-1.58-2.66.86-.87 2.83 2.83 1.42-1.41-2.83-2.83 1.41-1.41 2.83 2.82 1.41-1.41-2.83-2.83 1.42-1.41 2.83 2.83 1.41-1.42-2.83-2.83L13.77 6z\"}}]})(props);\n};\nexport function BiIntersect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16h3v3c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-3V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2zm9.001-2L14 10h.001v4zM19 10l.001 9H10v-3h4c1.103 0 2-.897 2-2v-4h3zM5 5h9v3h-4c-1.103 0-2 .897-2 2v4H5V5z\"}}]})(props);\n};\nexport function BiItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7V4H9v3h2.868L9.012 17H5v3h10v-3h-2.868l2.856-10z\"}}]})(props);\n};\nexport function BiJoystickAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"13\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"11\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9H8v2H6v2h2v2h2v-2h2v-2h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5H9a7 7 0 0 0-7 7 7 7 0 0 0 7 7h6a7 7 0 0 0 7-7 7 7 0 0 0-7-7zm0 12H9A5 5 0 1 1 9 7h6a5 5 0 1 1 0 10z\"}}]})(props);\n};\nexport function BiJoystickButton (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v3H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2h3v3c0 1.103.897 2 2 2h6c1.103 0 2-.897 2-2v-3h3c1.103 0 2-.897 2-2V9c0-1.103-.897-2-2-2zm0 8h-5v4h.001v1H9v-5H4V9h5V4h6v5h5v6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14v-4l-3 2zm8 0 3-2-3-2zm-6-6h4l-2-3zm2 11 2-3h-4z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function BiJoystick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8.65A5 5 0 0 0 17 4H7a5 5 0 0 0-5 4.74A2 2 0 0 0 2 9v7.5A3.48 3.48 0 0 0 5.5 20c1.43 0 2.32-1.06 3.19-2.09.32-.37.65-.76 1-1.1a4.81 4.81 0 0 1 1.54-.75 6.61 6.61 0 0 1 1.54 0 4.81 4.81 0 0 1 1.54.75c.35.34.68.73 1 1.1.87 1 1.76 2.09 3.19 2.09a3.48 3.48 0 0 0 3.5-3.5V9a2.09 2.09 0 0 0 0-.26zm-2 7.85a1.5 1.5 0 0 1-1.5 1.5c-.5 0-1-.64-1.66-1.38-.34-.39-.72-.85-1.15-1.26a6.68 6.68 0 0 0-2.46-1.25 6.93 6.93 0 0 0-2.46 0 6.68 6.68 0 0 0-2.46 1.25c-.43.41-.81.87-1.15 1.26C6.54 17.36 6 18 5.5 18A1.5 1.5 0 0 1 4 16.5V9a.77.77 0 0 0 0-.15A3 3 0 0 1 7 6h10a3 3 0 0 1 3 2.72v.12A.86.86 0 0 0 20 9z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"10\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"8\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14\",\"cy\":\"10\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"10\",\"r\":\"2\"}}]})(props);\n};\nexport function BiKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17a5.007 5.007 0 0 0 4.898-4H14v2h2v-2h2v3h2v-3h1v-2h-9.102A5.007 5.007 0 0 0 7 7c-2.757 0-5 2.243-5 5s2.243 5 5 5zm0-8c1.654 0 3 1.346 3 3s-1.346 3-3 3-3-1.346-3-3 1.346-3 3-3z\"}}]})(props);\n};\nexport function BiKnife (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.66 3.6a3 3 0 0 0-4.24 0l-.71.71-7.07 7.07 2.12 2.12-6.36 6.36 1.41 1.42L19.66 6.43c1.1-1.1 1.1-1.73.71-2.12z\"}}]})(props);\n};\nexport function BiLabel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.813 4.419A.997.997 0 0 0 16 4H3a1 1 0 0 0-.813 1.581L6.771 12l-4.585 6.419A1 1 0 0 0 3 20h13a.997.997 0 0 0 .813-.419l5-7a.997.997 0 0 0 0-1.162l-5-7zM15.485 18H4.943l3.87-5.419a.997.997 0 0 0 0-1.162L4.943 6h10.542l4.286 6-4.286 6z\"}}]})(props);\n};\nexport function BiLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20h18a1 1 0 0 0 .864-1.504l-7-12c-.359-.615-1.369-.613-1.729 0L9.866 12.1l-1.02-1.632A.998.998 0 0 0 8 10h-.001a1 1 0 0 0-.847.47l-5 8A1 1 0 0 0 3 20zM14 8.985 19.259 18h-5.704l-2.486-3.987L14 8.985zm-5.999 3.9L11.197 18H4.805l3.196-5.115zM6 8c1.654 0 3-1.346 3-3S7.654 2 6 2 3 3.346 3 5s1.346 3 3 3zm0-4a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BiLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17.722c.595-.347 1-.985 1-1.722V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v11c0 .736.405 1.375 1 1.722V18H2v2h20v-2h-2v-.278zM5 16V5h14l.002 11H5z\"}}]})(props);\n};\nexport function BiLastPage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z\"}}]})(props);\n};\nexport function BiLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c4 0 5-4 5-4H7s1 4 5 4zm5.555-9.168-1.109-1.664-3 2a1.001 1.001 0 0 0 .108 1.727l4 2 .895-1.789-2.459-1.229 1.565-1.045zm-6.557 1.23a1 1 0 0 0-.443-.894l-3-2-1.11 1.664 1.566 1.044-2.459 1.229.895 1.789 4-2a.998.998 0 0 0 .551-.832z\"}}]})(props);\n};\nexport function BiLayerMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.513 12.833 9.022 5.04a.995.995 0 0 0 .973.001l8.978-5a1 1 0 0 0-.002-1.749l-9.022-5a1 1 0 0 0-.968-.001l-8.978 4.96a1 1 0 0 0-.003 1.749zm9.464-4.69 6.964 3.859-6.917 3.853-6.964-3.89 6.917-3.822z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.485 15.126-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.971-1.748L12 19.856l-8.515-4.73zM16 4h6v2h-6z\"}}]})(props);\n};\nexport function BiLayerPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.484 11.125-9.022-5a1 1 0 0 0-.968-.001l-8.978 4.96a1 1 0 0 0-.003 1.749l9.022 5.04a.995.995 0 0 0 .973.001l8.978-5a1 1 0 0 0-.002-1.749zm-9.461 4.73-6.964-3.89 6.917-3.822 6.964 3.859-6.917 3.853z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a.994.994 0 0 0 .485-.126l9-5-.971-1.748L12 19.856l-8.515-4.73-.971 1.748 9 5A1 1 0 0 0 12 22zm8-20h-2v2h-2v2h2v2h2V6h2V4h-2z\"}}]})(props);\n};\nexport function BiLayer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7.999a1 1 0 0 0-.516-.874l-9.022-5a1.003 1.003 0 0 0-.968 0l-8.978 4.96a1 1 0 0 0-.003 1.748l9.022 5.04a.995.995 0 0 0 .973.001l8.978-5A1 1 0 0 0 22 7.999zm-9.977 3.855L5.06 7.965l6.917-3.822 6.964 3.859-6.918 3.852z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.515 11.126 12 15.856l-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.97-1.748z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.515 15.126 12 19.856l-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.97-1.748z\"}}]})(props);\n};\nexport function BiLayout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm0 2 .001 4H5V5h14zM5 11h8v8H5v-8zm10 8v-8h4.001l.001 8H15z\"}}]})(props);\n};\nexport function BiLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.88 2.15-1.2.4a13.84 13.84 0 0 1-6.41.64 11.87 11.87 0 0 0-6.68.9A7.23 7.23 0 0 0 3.3 9.5a8.65 8.65 0 0 0 1.47 6.6c-.06.21-.12.42-.17.63A22.6 22.6 0 0 0 4 22h2a30.69 30.69 0 0 1 .59-4.32 9.25 9.25 0 0 0 4.52 1.11 11 11 0 0 0 4.28-.87C23 14.67 22 3.86 22 3.41zm-7.27 13.93c-2.61 1.11-5.73.92-7.48-.45a13.79 13.79 0 0 1 1.21-2.84A10.17 10.17 0 0 1 9.73 11a9 9 0 0 1 1.81-1.42A12 12 0 0 1 16 8V7a11.43 11.43 0 0 0-5.26 1.08 10.28 10.28 0 0 0-4.12 3.65 15.07 15.07 0 0 0-1 1.87 7 7 0 0 1-.38-3.73 5.24 5.24 0 0 1 3.14-4 8.93 8.93 0 0 1 3.82-.84c.62 0 1.23.06 1.87.11a16.2 16.2 0 0 0 6-.35C20 7.55 19.5 14 14.61 16.08z\"}}]})(props);\n};\nexport function BiLeftArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.707 17.293 8.414 13H18v-2H8.414l4.293-4.293-1.414-1.414L4.586 12l6.707 6.707z\"}}]})(props);\n};\nexport function BiLeftArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.999 1.993C6.486 1.994 2 6.48 1.999 11.994c0 5.514 4.486 10 10.001 10 5.514-.001 10-4.487 10-10 0-5.514-4.486-10-10.001-10.001zM12 19.994c-4.412 0-8.001-3.589-8.001-8 .001-4.411 3.59-8 8-8.001C16.411 3.994 20 7.583 20 11.994c0 4.41-3.589 7.999-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.012 7.989-4.005 4.005 4.005 4.004v-3.004h3.994v-2h-3.994z\"}}]})(props);\n};\nexport function BiLeftArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.464 2.114a.998.998 0 0 0-1.033.063l-13 9a1.003 1.003 0 0 0 0 1.645l13 9A1 1 0 0 0 19 21V3a1 1 0 0 0-.536-.886zM17 19.091 6.757 12 17 4.909v14.182z\"}}]})(props);\n};\nexport function BiLeftDownArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.006 2.007A9.93 9.93 0 0 0 4.935 4.93c-3.898 3.898-3.898 10.242 0 14.142 1.885 1.885 4.396 2.923 7.071 2.923s5.187-1.038 7.071-2.923c3.898-3.899 3.898-10.243 0-14.142a9.931 9.931 0 0 0-7.071-2.923zm5.657 15.65c-1.507 1.507-3.516 2.337-5.657 2.337s-4.15-.83-5.657-2.337c-3.118-3.119-3.118-8.194 0-11.313 1.507-1.507 3.517-2.337 5.657-2.337s4.15.83 5.657 2.337c3.118 3.119 3.118 8.194 0 11.313z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.346 8.247-3.215 3.215-2.125-2.125V15h5.663l-2.124-2.124 3.215-3.215z\"}}]})(props);\n};\nexport function BiLeftIndent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7h10v2H4zm0-4h16v2H4zm0 8h10v2H4zm0 4h10v2H4zm0 4h16v2H4zm16-3V8l-4 4z\"}}]})(props);\n};\nexport function BiLeftTopArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.993 2.007a9.928 9.928 0 0 0-7.071 2.922c-3.899 3.899-3.899 10.243 0 14.143a9.931 9.931 0 0 0 7.071 2.923 9.928 9.928 0 0 0 7.071-2.923c3.899-3.899 3.899-10.243 0-14.143a9.927 9.927 0 0 0-7.071-2.922zm5.657 15.65a7.945 7.945 0 0 1-5.657 2.337c-2.141 0-4.15-.83-5.657-2.337-3.119-3.119-3.119-8.195 0-11.314a7.946 7.946 0 0 1 5.657-2.336c2.142 0 4.15.829 5.657 2.336 3.12 3.119 3.12 8.195 0 11.314z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.657 9H8.993v5.663l2.125-2.124 3.215 3.214 1.414-1.414-3.215-3.214z\"}}]})(props);\n};\nexport function BiLemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a9.83 9.83 0 0 1-3.26-.55 2.23 2.23 0 0 0-1.7.19 3.51 3.51 0 0 1-2.47.24 3.55 3.55 0 0 1-2.45-2.45A3.51 3.51 0 0 1 2.36 17a2.23 2.23 0 0 0 .19-1.7 10.07 10.07 0 0 1 0-6.53 9.87 9.87 0 0 1 6.18-6.23 10.07 10.07 0 0 1 6.53 0A2.23 2.23 0 0 0 17 2.36a3.51 3.51 0 0 1 2.47-.24 3.55 3.55 0 0 1 2.45 2.45A3.51 3.51 0 0 1 21.64 7a2.23 2.23 0 0 0-.19 1.7 10.07 10.07 0 0 1 0 6.53 9.87 9.87 0 0 1-6.19 6.19A10.33 10.33 0 0 1 12 22zm-3.84-2.64a3.91 3.91 0 0 1 1.23.2 8 8 0 0 0 5.24 0 7.84 7.84 0 0 0 4.94-4.93 8 8 0 0 0 0-5.24 4.19 4.19 0 0 1 .29-3.23 1.53 1.53 0 0 0 .09-1.08 1.49 1.49 0 0 0-1-1 1.53 1.53 0 0 0-1.08.09 4.19 4.19 0 0 1-3.23.29 8 8 0 0 0-5.24 0 7.84 7.84 0 0 0-4.97 4.91 8 8 0 0 0 0 5.24 4.19 4.19 0 0 1-.29 3.23 1.53 1.53 0 0 0-.09 1.08 1.49 1.49 0 0 0 1 1 1.53 1.53 0 0 0 1.08-.09 4.47 4.47 0 0 1 2.03-.47z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12H6a6 6 0 0 1 6-6v2a4 4 0 0 0-4 4z\"}}]})(props);\n};\nexport function BiLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3h2v18H7zM4 3h2v18H4zm6 0h2v18h-2zm9.062 17.792-6.223-16.89 1.877-.692 6.223 16.89z\"}}]})(props);\n};\nexport function BiLike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8h-5.612l1.123-3.367c.202-.608.1-1.282-.275-1.802S14.253 2 13.612 2H12c-.297 0-.578.132-.769.36L6.531 8H4c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h13.307a2.01 2.01 0 0 0 1.873-1.298l2.757-7.351A1 1 0 0 0 22 12v-2c0-1.103-.897-2-2-2zM4 10h2v9H4v-9zm16 1.819L17.307 19H8V9.362L12.468 4h1.146l-1.562 4.683A.998.998 0 0 0 13 10h7v1.819z\"}}]})(props);\n};\nexport function BiLineChartDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3H3v18h18v-2H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12.586 8.707 8.293 7.293 9.707 13 15.414l3-3 4.293 4.293 1.414-1.414L16 9.586z\"}}]})(props);\n};\nexport function BiLineChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v17a1 1 0 0 0 1 1h17v-2H5V3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.293 14.707a.999.999 0 0 0 1.414 0l5-5-1.414-1.414L16 12.586l-2.293-2.293a.999.999 0 0 0-1.414 0l-5 5 1.414 1.414L13 12.414l2.293 2.293z\"}}]})(props);\n};\nexport function BiLinkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.222 19.778a4.983 4.983 0 0 0 3.535 1.462 4.986 4.986 0 0 0 3.536-1.462l2.828-2.829-1.414-1.414-2.828 2.829a3.007 3.007 0 0 1-4.243 0 3.005 3.005 0 0 1 0-4.243l2.829-2.828-1.414-1.414-2.829 2.828a5.006 5.006 0 0 0 0 7.071zm15.556-8.485a5.008 5.008 0 0 0 0-7.071 5.006 5.006 0 0 0-7.071 0L9.879 7.051l1.414 1.414 2.828-2.829a3.007 3.007 0 0 1 4.243 0 3.005 3.005 0 0 1 0 4.243l-2.829 2.828 1.414 1.414 2.829-2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.464 16.95-1.415-1.414 8.487-8.486 1.414 1.415z\"}}]})(props);\n};\nexport function BiLinkExternal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z\"}}]})(props);\n};\nexport function BiLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.465 11.293c1.133-1.133 3.109-1.133 4.242 0l.707.707 1.414-1.414-.707-.707c-.943-.944-2.199-1.465-3.535-1.465s-2.592.521-3.535 1.465L4.929 12a5.008 5.008 0 0 0 0 7.071 4.983 4.983 0 0 0 3.535 1.462A4.982 4.982 0 0 0 12 19.071l.707-.707-1.414-1.414-.707.707a3.007 3.007 0 0 1-4.243 0 3.005 3.005 0 0 1 0-4.243l2.122-2.121z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 4.929-.707.707 1.414 1.414.707-.707a3.007 3.007 0 0 1 4.243 0 3.005 3.005 0 0 1 0 4.243l-2.122 2.121c-1.133 1.133-3.109 1.133-4.242 0L10.586 12l-1.414 1.414.707.707c.943.944 2.199 1.465 3.535 1.465s2.592-.521 3.535-1.465L19.071 12a5.008 5.008 0 0 0 0-7.071 5.006 5.006 0 0 0-7.071 0z\"}}]})(props);\n};\nexport function BiLira (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h2c4.411 0 8-4.038 8-9h-2c0 3.86-2.691 7-6 7v-7.358l6-1.385V8.204l-6 1.385V7.642l6-1.385V4.204l-6 1.385V3H9v3.05l-3 .693v2.053l3-.692v1.947l-3 .692v2.053l3-.692V21z\"}}]})(props);\n};\nexport function BiListCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7h11v2H4zm0 4h11v2H4zm0 4h7v2H4zm15.299-2.708-4.3 4.291-1.292-1.291-1.414 1.415 2.706 2.704 5.712-5.703z\"}}]})(props);\n};\nexport function BiListMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.063 15H13v2h9v-2zM4 7h11v2H4zm0 4h11v2H4zm0 4h7v2H4z\"}}]})(props);\n};\nexport function BiListOl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.282 12.064c-.428.328-.72.609-.875.851-.155.24-.249.498-.279.768h2.679v-.748H5.413c.081-.081.152-.151.212-.201.062-.05.182-.142.361-.27.303-.218.511-.42.626-.604.116-.186.173-.375.173-.578a.898.898 0 0 0-.151-.512.892.892 0 0 0-.412-.341c-.174-.076-.419-.111-.733-.111-.3 0-.537.038-.706.114a.889.889 0 0 0-.396.338c-.094.143-.159.346-.194.604l.894.076c.025-.188.074-.317.147-.394a.375.375 0 0 1 .279-.108c.11 0 .2.035.272.108a.344.344 0 0 1 .108.258.55.55 0 0 1-.108.297c-.074.102-.241.254-.503.453zm.055 6.386a.398.398 0 0 1-.282-.105c-.074-.07-.128-.195-.162-.378L4 18.085c.059.204.142.372.251.506.109.133.248.235.417.306.168.069.399.103.692.103.3 0 .541-.047.725-.14a1 1 0 0 0 .424-.403c.098-.175.146-.354.146-.544a.823.823 0 0 0-.088-.393.708.708 0 0 0-.249-.261 1.015 1.015 0 0 0-.286-.11.943.943 0 0 0 .345-.299.673.673 0 0 0 .113-.383.747.747 0 0 0-.281-.596c-.187-.159-.49-.238-.909-.238-.365 0-.648.072-.847.219-.2.143-.334.353-.404.626l.844.151c.023-.162.067-.274.133-.338s.151-.098.257-.098a.33.33 0 0 1 .241.089c.059.06.087.139.087.238 0 .104-.038.193-.117.27s-.177.112-.293.112a.907.907 0 0 1-.116-.011l-.045.649a1.13 1.13 0 0 1 .289-.056c.132 0 .237.041.313.126.077.082.115.199.115.352 0 .146-.04.266-.119.354a.394.394 0 0 1-.301.134zm.948-10.083V5h-.739a1.47 1.47 0 0 1-.394.523c-.168.142-.404.262-.708.365v.754a2.595 2.595 0 0 0 .937-.48v2.206h.904zM9 6h11v2H9zm0 5h11v2H9zm0 5h11v2H9z\"}}]})(props);\n};\nexport function BiListPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 15v-3h-2v3h-3v2h3v3h2v-3h3v-2h-.937zM4 7h11v2H4zm0 4h11v2H4zm0 4h8v2H4z\"}}]})(props);\n};\nexport function BiListUl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h2v2H4zm0 5h2v2H4zm0 5h2v2H4zm16-8V6H8.023v2H18.8zM8 11h12v2H8zm0 5h12v2H8z\"}}]})(props);\n};\nexport function BiLoaderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.421 0 10-4.579 10-10h-2c0 4.337-3.663 8-8 8s-8-3.663-8-8c0-4.336 3.663-8 8-8V2C6.579 2 2 6.58 2 12c0 5.421 4.579 10 10 10z\"}}]})(props);\n};\nexport function BiLoaderCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"20\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.343\",\"cy\":\"17.657\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.657\",\"cy\":\"6.343\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"12\",\"r\":\"2.001\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"20\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.343\",\"cy\":\"6.344\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.657\",\"cy\":\"17.658\",\"r\":\"2\"}}]})(props);\n};\nexport function BiLoader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h5v2H2zm15 0h5v2h-5zm-6 6h2v5h-2zm0-15h2v5h-2zM4.222 5.636l1.414-1.414 3.536 3.536-1.414 1.414zm15.556 12.728-1.414 1.414-3.536-3.536 1.414-1.414zm-12.02-3.536 1.414 1.414-3.536 3.536-1.414-1.414zm7.07-7.071 3.536-3.535 1.414 1.415-3.536 3.535z\"}}]})(props);\n};\nexport function BiLocationPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.42 21.815a1.004 1.004 0 0 0 1.16 0C12.884 21.598 20.029 16.44 20 10c0-4.411-3.589-8-8-8S4 5.589 4 9.996c-.029 6.444 7.116 11.602 7.42 11.819zM12 4c3.309 0 6 2.691 6 6.004.021 4.438-4.388 8.423-6 9.731-1.611-1.308-6.021-5.293-6-9.735 0-3.309 2.691-6 6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h2v-3h3V9h-3V6h-2v3H8v2h3z\"}}]})(props);\n};\nexport function BiLockAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C9.243 2 7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8c0-1.103-.897-2-2-2h-1V7c0-2.757-2.243-5-5-5zm6 10 .002 8H6v-8h12zm-9-2V7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9z\"}}]})(props);\n};\nexport function BiLockOpenAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8V7c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8c0-1.103-.897-2-2-2H9V7c0-1.654 1.346-3 3-3s3 1.346 3 3v1h2zm1 4 .002 8H6v-8h12z\"}}]})(props);\n};\nexport function BiLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c1.654 0 3 1.346 3 3h2c0-2.757-2.243-5-5-5S7 4.243 7 7v2H6c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2H9V7c0-1.654 1.346-3 3-3zm6.002 16H13v-2.278c.595-.347 1-.985 1-1.722 0-1.103-.897-2-2-2s-2 .897-2 2c0 .736.405 1.375 1 1.722V20H6v-9h12l.002 9z\"}}]})(props);\n};\nexport function BiLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C9.243 2 7 4.243 7 7v2H6c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-1V7c0-2.757-2.243-5-5-5zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v2H9V7zm9.002 13H13v-2.278c.595-.347 1-.985 1-1.722 0-1.103-.897-2-2-2s-2 .897-2 2c0 .736.405 1.375 1 1.722V20H6v-9h12l.002 9z\"}}]})(props);\n};\nexport function BiLogInCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.998 16 5-4-5-4v3h-9v2h9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.999 2.999a8.938 8.938 0 0 0-6.364 2.637L8.049 7.05c1.322-1.322 3.08-2.051 4.95-2.051s3.628.729 4.95 2.051S20 10.13 20 12s-.729 3.628-2.051 4.95-3.08 2.051-4.95 2.051-3.628-.729-4.95-2.051l-1.414 1.414c1.699 1.7 3.959 2.637 6.364 2.637s4.665-.937 6.364-2.637C21.063 16.665 22 14.405 22 12s-.937-4.665-2.637-6.364a8.938 8.938 0 0 0-6.364-2.637z\"}}]})(props);\n};\nexport function BiLogIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13 16 5-4-5-4v3H4v2h9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3h-9c-1.103 0-2 .897-2 2v4h2V5h9v14h-9v-4H9v4c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiLogOutCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 12 5 4v-3h9v-2H7V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.001 2.999a8.938 8.938 0 0 0-6.364 2.637L8.051 7.05c1.322-1.322 3.08-2.051 4.95-2.051s3.628.729 4.95 2.051 2.051 3.08 2.051 4.95-.729 3.628-2.051 4.95-3.08 2.051-4.95 2.051-3.628-.729-4.95-2.051l-1.414 1.414c1.699 1.7 3.959 2.637 6.364 2.637s4.665-.937 6.364-2.637c1.7-1.699 2.637-3.959 2.637-6.364s-.937-4.665-2.637-6.364a8.938 8.938 0 0 0-6.364-2.637z\"}}]})(props);\n};\nexport function BiLogOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13v-2H7V8l-5 4 5 4v-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3h-9c-1.103 0-2 .897-2 2v4h2V5h9v14h-9v-4H9v4c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiLowVision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4.998c-1.836 0-3.356.389-4.617.971L3.707 2.293 2.293 3.707l3.315 3.316c-2.613 1.952-3.543 4.618-3.557 4.66l-.105.316.105.316C2.073 12.382 4.367 19 12 19c1.835 0 3.354-.389 4.615-.971l3.678 3.678 1.414-1.414-3.317-3.317c2.614-1.952 3.545-4.618 3.559-4.66l.105-.316-.105-.316c-.022-.068-2.316-6.686-9.949-6.686zM4.074 12c.103-.236.274-.586.521-.989l5.867 5.867C6.249 16.23 4.523 13.035 4.074 12zm9.247 4.907-7.48-7.481a8.138 8.138 0 0 1 1.188-.982l8.055 8.054a8.835 8.835 0 0 1-1.763.409zm3.648-1.352-1.541-1.541c.354-.596.572-1.28.572-2.015 0-.474-.099-.924-.255-1.349A.983.983 0 0 1 15 11a1 1 0 0 1-1-1c0-.439.288-.802.682-.936A3.97 3.97 0 0 0 12 7.999c-.735 0-1.419.218-2.015.572l-1.07-1.07A9.292 9.292 0 0 1 12 6.998c5.351 0 7.425 3.847 7.926 5a8.573 8.573 0 0 1-2.957 3.557z\"}}]})(props);\n};\nexport function BiMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3h-3c-1.103 0-2 .897-2 2v8c0 1.103-.897 2-2 2s-2-.897-2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v8c0 4.963 4.037 9 9 9s9-4.037 9-9V5c0-1.103-.897-2-2-2zm-3 2h3v3h-3V5zM5 5h3v3H5V5zm7 15c-3.859 0-7-3.141-7-7v-3h3v3c0 2.206 1.794 4 4 4s4-1.794 4-4v-3h3v3c0 3.859-3.141 7-7 7z\"}}]})(props);\n};\nexport function BiMailSend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H6c-1.103 0-2 .897-2 2v5h2V8l6.4 4.8a1.001 1.001 0 0 0 1.2 0L20 8v9h-8v2h8c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-7 6.75L6.666 6h12.668L13 10.75z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h7v2H2zm2 3h6v2H4zm3 3h4v2H7z\"}}]})(props);\n};\nexport function BiMaleFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7H3a1 1 0 0 0-1 1v7h2v7h4v-7h2V8a1 1 0 0 0-1-1z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.21 7.73a1 1 0 0 0-1-.73h-4.5a1 1 0 0 0-1 .73L12 14h2l-1 4h2v4h4v-4h2l-1-4h2z\"}}]})(props);\n};\nexport function BiMaleSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11V4h-7l2.793 2.793-4.322 4.322A5.961 5.961 0 0 0 8 10c-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6c0-1.294-.416-2.49-1.115-3.471l4.322-4.322L20 11zM8 20c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4z\"}}]})(props);\n};\nexport function BiMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7H9a1 1 0 0 0-1 1v7h2v7h4v-7h2V8a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiMapAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.447 6.105-6-3a1 1 0 0 0-.895 0L9 5.882 3.447 3.105A1 1 0 0 0 2 4v13c0 .379.214.725.553.895l6 3a1 1 0 0 0 .895 0L15 18.118l5.553 2.776a.992.992 0 0 0 .972-.043c.295-.183.475-.504.475-.851V7c0-.379-.214-.725-.553-.895zM10 7.618l4-2v10.764l-4 2V7.618zm-6-2 4 2v10.764l-4-2V5.618zm16 12.764-4-2V5.618l4 2v10.764z\"}}]})(props);\n};\nexport function BiMapPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 17 1-2V9.858c1.721-.447 3-2 3-3.858 0-2.206-1.794-4-4-4S8 3.794 8 6c0 1.858 1.279 3.411 3 3.858V15l1 2zM10 6c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.267 10.563-.533 1.928C18.325 13.207 20 14.584 20 16c0 1.892-3.285 4-8 4s-8-2.108-8-4c0-1.416 1.675-2.793 4.267-3.51l-.533-1.928C4.197 11.54 2 13.623 2 16c0 3.364 4.393 6 10 6s10-2.636 10-6c0-2.377-2.197-4.46-5.733-5.437z\"}}]})(props);\n};\nexport function BiMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.42 21.814a.998.998 0 0 0 1.16 0C12.884 21.599 20.029 16.44 20 10c0-4.411-3.589-8-8-8S4 5.589 4 9.995c-.029 6.445 7.116 11.604 7.42 11.819zM12 4c3.309 0 6 2.691 6 6.005.021 4.438-4.388 8.423-6 9.73-1.611-1.308-6.021-5.294-6-9.735 0-3.309 2.691-6 6-6z\"}}]})(props);\n};\nexport function BiMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6H5C3.346 6 2 7.346 2 9v5c0 2.206 1.794 4 4 4h1.637c1.166 0 2.28-.557 2.981-1.491.66-.879 2.104-.88 2.764.001A3.744 3.744 0 0 0 16.363 18H18c2.206 0 4-1.794 4-4V9c0-1.654-1.346-3-3-3zm1 8c0 1.103-.897 2-2 2h-1.637c-.54 0-1.057-.259-1.382-.69-.71-.948-1.797-1.492-2.981-1.492s-2.271.544-2.981 1.491A1.741 1.741 0 0 1 7.637 16H6c-1.103 0-2-.897-2-2V9c0-.551.448-1 1-1h14c.552 0 1 .449 1 1v5z\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"11.5\",\"rx\":\"2.5\",\"ry\":\"1.5\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"11.5\",\"rx\":\"2.5\",\"ry\":\"1.5\"}}]})(props);\n};\nexport function BiMath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2H5v3H2v2h3v3h2V7h3V5H7V2zm7 3h8v2h-8zm0 10h8v2h-8zm0 4h8v2h-8zm-5.71-4.71L6 16.59l-2.29-2.3-1.42 1.42L4.59 18l-2.3 2.29 1.42 1.42L6 19.41l2.29 2.3 1.42-1.42L7.41 18l2.3-2.29-1.42-1.42z\"}}]})(props);\n};\nexport function BiMedal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c3.859 0 7-3.141 7-7s-3.141-7-7-7c-3.86 0-7 3.141-7 7s3.14 7 7 7zm0-12c2.757 0 5 2.243 5 5s-2.243 5-5 5-5-2.243-5-5 2.243-5 5-5zm-1-8H7v5.518a8.957 8.957 0 0 1 4-1.459V2zm6 0h-4v4.059a8.957 8.957 0 0 1 4 1.459V2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.019 15.811-.468 2.726L12 17.25l2.449 1.287-.468-2.726 1.982-1.932-2.738-.398L12 11l-1.225 2.481-2.738.398z\"}}]})(props);\n};\nexport function BiMehAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10h4v2h-4zm-6.026 5H16v2H7.974zM6 10h4v2H6z\"}}]})(props);\n};\nexport function BiMehBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}}]})(props);\n};\nexport function BiMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.974 15H16v2H7.974z\"}}]})(props);\n};\nexport function BiMemoryCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V8a.997.997 0 0 0-.293-.707l-5-5A.996.996 0 0 0 14 2H6c-1.103 0-2 .897-2 2zm14 4.414L18.001 20H6V4h7.586L18 8.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6h2v4H8zm4 0h2v4h-2z\"}}]})(props);\n};\nexport function BiMenuAltLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11h12v2H4zm0-5h16v2H4zm0 12h7.235v-2H4z\"}}]})(props);\n};\nexport function BiMenuAltRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h16v2H4zm4 5h12v2H8zm5 5h7v2h-7z\"}}]})(props);\n};\nexport function BiMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z\"}}]})(props);\n};\nexport function BiMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19v-9a2 2 0 0 0-2-2h-1v8a2 2 0 0 1-2 2H8v1a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2z\"}}]})(props);\n};\nexport function BiMessageAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h2v-3h3V9h-3V6h-2v3H8v2h3z\"}}]})(props);\n};\nexport function BiMessageAltAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16c0 1.103.897 2 2 2h3.586L12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12zM5 4h14v12h-4.414L12 18.586 9.414 16H5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h2v-3h3V9h-3V6h-2v3H8v2h3z\"}}]})(props);\n};\nexport function BiMessageAltCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4v12c0 1.103.897 2 2 2h3.586L12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm2 0h14v12h-4.414L12 18.586 9.414 16H5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.207 7.207-1.414-1.414L11 10.586 8.707 8.293 7.293 9.707 11 13.414z\"}}]})(props);\n};\nexport function BiMessageAltDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586L12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5zm14 14h-4.414L12 18.586 9.414 16H5V4h14v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10v2H7zm0 4h7v2H7z\"}}]})(props);\n};\nexport function BiMessageAltDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586L12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-4.414L12 18.586 9.414 16H5V4h14v12z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"10\",\"r\":\"2\"}}]})(props);\n};\nexport function BiMessageAltEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.586 18 12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586zM5 4h14v12h-4.414L12 18.586 9.414 16H5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.479 7.219-4.977 4.969v1.799h1.8l4.975-4.969zm2.219-2.22 1.8 1.8-1.37 1.37-1.8-1.799z\"}}]})(props);\n};\nexport function BiMessageAltError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586L12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5zm14 14h-4.414L12 18.586 9.414 16H5V4h14v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v6h-2zm0 7h2v2h-2z\"}}]})(props);\n};\nexport function BiMessageAltMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.586 18 12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586zM5 4h14v12h-4.414L12 18.586 9.414 16H5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h8v2H8z\"}}]})(props);\n};\nexport function BiMessageAltX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.586 18 12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586zM5 4h14v12h-4.414L12 18.586 9.414 16H5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.707 13.707 12 11.414l2.293 2.293 1.414-1.414L13.414 10l2.293-2.293-1.414-1.414L12 8.586 9.707 6.293 8.293 7.707 10.586 10l-2.293 2.293z\"}}]})(props);\n};\nexport function BiMessageAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.586L12 21.414 15.414 18H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-4.414L12 18.586 9.414 16H5V4h14v12z\"}}]})(props);\n};\nexport function BiMessageCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.207 7.207-1.414-1.414L11 10.586 8.707 8.293 7.293 9.707 11 13.414z\"}}]})(props);\n};\nexport function BiMessageDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10v2H7zm0 4h7v2H7z\"}}]})(props);\n};\nexport function BiMessageDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.766L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.234V16H4V4h16v12z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"10\",\"r\":\"2\"}}]})(props);\n};\nexport function BiMessageEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.803 9.189-1.399-1.398-3.869 3.864v1.399h1.399zm.327-3.123 1.398 1.399-1.066 1.066-1.399-1.398z\"}}]})(props);\n};\nexport function BiMessageError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v5h-2zm0 6h2v2h-2z\"}}]})(props);\n};\nexport function BiMessageMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h8v2H8z\"}}]})(props);\n};\nexport function BiMessageRoundedAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h-2v3H8v2h3v3h2v-3h3V9h-3z\"}}]})(props);\n};\nexport function BiMessageRoundedCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.339-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11.586 8.707 9.293l-1.414 1.414L11 14.414l6.207-6.207-1.414-1.414z\"}}]})(props);\n};\nexport function BiMessageRoundedDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10v2H7zm0 4h7v2H7z\"}}]})(props);\n};\nexport function BiMessageRoundedDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9.5\",\"cy\":\"9.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14.5\",\"cy\":\"9.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.897 5.515 5 6.934V22l5.34-4.004C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.671 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}}]})(props);\n};\nexport function BiMessageRoundedEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.503 11.589v1.398h1.398l3.87-3.864-1.399-1.398zm5.927-3.125-1.398-1.398 1.067-1.067 1.398 1.398z\"}}]})(props);\n};\nexport function BiMessageRoundedError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v5h-2zm0 6h2v2h-2z\"}}]})(props);\n};\nexport function BiMessageRoundedMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h8v2H8z\"}}]})(props);\n};\nexport function BiMessageRoundedX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.293 6.293 12 8.586 9.707 6.293 8.293 7.707 10.586 10l-2.293 2.293 1.414 1.414L12 11.414l2.293 2.293 1.414-1.414L13.414 10l2.293-2.293z\"}}]})(props);\n};\nexport function BiMessageRounded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.516 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm0 14h-.333L9 18v-2.417l-.641-.247C5.67 14.301 4 12.256 4 10c0-3.309 3.589-6 8-6s8 2.691 8 6-3.589 6-8 6z\"}}]})(props);\n};\nexport function BiMessageSquareAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4z\"}}]})(props);\n};\nexport function BiMessageSquareCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 13.586-2.293-2.293-1.414 1.414L11 16.414l6.207-6.207-1.414-1.414z\"}}]})(props);\n};\nexport function BiMessageSquareDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9h10v2H7zm0 4h7v2H7z\"}}]})(props);\n};\nexport function BiMessageSquareDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v12a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 13c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v7z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9.5\",\"cy\":\"11.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14.5\",\"cy\":\"11.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiMessageSquareEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14.987v1.999h1.999l5.529-5.522-1.998-1.998zm8.47-4.465-1.998-2L14.995 7l2 1.999z\"}}]})(props);\n};\nexport function BiMessageSquareError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v8h-2zm0 10h2v2h-2z\"}}]})(props);\n};\nexport function BiMessageSquareMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11h8v2H8z\"}}]})(props);\n};\nexport function BiMessageSquareX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.292 7.295 12 10.587 8.708 7.295 7.294 8.709l3.292 3.292-3.292 3.292 1.414 1.414L12 13.415l3.292 3.292 1.414-1.414-3.292-3.292 3.292-3.292z\"}}]})(props);\n};\nexport function BiMessageSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v12a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 13c0 2.206-1.794 4-4 4H4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v7z\"}}]})(props);\n};\nexport function BiMessageX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.707 13.707 12 11.414l2.293 2.293 1.414-1.414L13.414 10l2.293-2.293-1.414-1.414L12 8.586 9.707 6.293 8.293 7.707 10.586 10l-2.293 2.293z\"}}]})(props);\n};\nexport function BiMessage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3v3.767L13.277 18H20c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm0 14h-7.277L9 18.233V16H4V4h16v12z\"}}]})(props);\n};\nexport function BiMeteor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 22c2.003 0 3.887-.78 5.313-2.207l6.904-7.096A1 1 0 0 0 21 11h-3.301l4.175-7.514a1.001 1.001 0 0 0-1.359-1.36l-7.11 3.95.576-2.879a1 1 0 0 0-1.629-.957L4.196 9.197c-2.924 2.924-2.924 7.682 0 10.606A7.452 7.452 0 0 0 9.5 22zM5.552 10.665l5.902-5.031-.248 1.24-.186.93v.001l-.424 2.119 7.83-4.35-3.3 5.94-.001.001L14.301 13h4.331l-5.243 5.389C12.35 19.428 10.969 20 9.5 20s-2.851-.572-3.89-1.611c-2.143-2.144-2.143-5.634-.058-7.724z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 18a3.492 3.492 0 0 0 1.484-6.659c.005.053.016.105.016.159a1.5 1.5 0 1 1-3 0c0-.054.011-.106.016-.159A3.492 3.492 0 0 0 9.5 18z\"}}]})(props);\n};\nexport function BiMicrochip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h8c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM8 20V4h8l.001 16H8zM3 7h2V5H3v.5H2v1h1zm18-2h-2v2h2v-.5h1v-1h-1zM3 11h2V9H3v.5H2v1h1zm18-2h-2v2h2v-.5h1v-1h-1zM3 15h2v-2H3v.5H2v1h1zm18-2h-2v2h2v-.5h1v-1h-1zM3 19h2v-2H3v.5H2v1h1zm18-2h-2v2h2v-.5h1v-1h-1z\"}}]})(props);\n};\nexport function BiMicrophoneOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 20.293-3.388-3.388A7.942 7.942 0 0 0 20 12.021h-2a5.95 5.95 0 0 1-1.109 3.456l-1.452-1.452c.348-.591.561-1.27.561-2.004v-6C16 3.804 14.215 2 12.021 2c-.07 0-.14.009-.209.025A4.005 4.005 0 0 0 8 6.021v.565L3.707 2.293 2.293 3.707l18 18 1.414-1.414zM10 6.021c0-1.103.897-2 2-2a.918.918 0 0 0 .164-.015C13.188 4.08 14 4.956 14 6.021v6c0 .172-.029.335-.071.494L10 8.586V6.021zm-4 6H4c0 4.072 3.06 7.436 7 7.931v2.069h2v-2.07a7.993 7.993 0 0 0 2.218-.611l-1.558-1.558a5.979 5.979 0 0 1-1.66.239c-3.309 0-6-2.692-6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.011 12.132a3.993 3.993 0 0 0 3.877 3.877l-3.877-3.877z\"}}]})(props);\n};\nexport function BiMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12V6c0-2.217-1.785-4.021-3.979-4.021a.933.933 0 0 0-.209.025A4.006 4.006 0 0 0 8 6v6c0 2.206 1.794 4 4 4s4-1.794 4-4zm-6 0V6c0-1.103.897-2 2-2a.89.89 0 0 0 .163-.015C13.188 4.06 14 4.935 14 6v6c0 1.103-.897 2-2 2s-2-.897-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12H4c0 4.072 3.061 7.436 7 7.931V22h2v-2.069c3.939-.495 7-3.858 7-7.931h-2c0 3.309-2.691 6-6 6s-6-2.691-6-6z\"}}]})(props);\n};\nexport function BiMinusBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h3v3c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-3V5c0-1.103-.897-2-2-2zM5 5h9l-.003 9H5V5z\"}}]})(props);\n};\nexport function BiMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11h10v2H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiMinusFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16h3v3c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-3V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2zm13.997 3H10v-9h9l-.003 9z\"}}]})(props);\n};\nexport function BiMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h14v2H5z\"}}]})(props);\n};\nexport function BiMobileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.75 2h-10c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-10 18V4h10l.002 16H6.75z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.75\",\"cy\":\"18\",\"r\":\"1\"}}]})(props);\n};\nexport function BiMobileLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zM7.001 7H19v10H7.001V7z\"}}]})(props);\n};\nexport function BiMobileVibration (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.535 2.808c-.756-.756-2.072-.756-2.828 0l-9.899 9.899a2.001 2.001 0 0 0 0 2.828l5.657 5.657c.378.378.88.586 1.414.586s1.036-.208 1.414-.586l9.899-9.899c.378-.378.586-.88.586-1.414s-.208-1.036-.586-1.414l-5.657-5.657zm-5.656 16.97v1-1l-5.657-5.657 9.899-9.899 5.657 5.657-9.899 9.899z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"15\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.707 21.707-1.414-1.414 6-6 1.414 1.415zM8.293 2.293l1.414 1.414-6 6-1.414-1.415z\"}}]})(props);\n};\nexport function BiMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2H7c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM7 16.999V5h10l.002 11.999H7z\"}}]})(props);\n};\nexport function BiMoneyWithdraw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15c-1.84 0-2-.86-2-1H8c0 .92.66 2.55 3 2.92V18h2v-1.08c2-.34 3-1.63 3-2.92 0-1.12-.52-3-4-3-2 0-2-.63-2-1s.7-1 2-1 1.39.64 1.4 1h2A3 3 0 0 0 13 7.12V6h-2v1.09C9 7.42 8 8.71 8 10c0 1.12.52 3 4 3 2 0 2 .68 2 1s-.62 1-2 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2H2v2h2v17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4h2V2H5zm13 18H6V4h12z\"}}]})(props);\n};\nexport function BiMoney (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zm-1 11a3 3 0 0 0-3 3H7a3 3 0 0 0-3-3V9a3 3 0 0 0 3-3h10a3 3 0 0 0 3 3v6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.742 13.045a8.088 8.088 0 0 1-2.077.271c-2.135 0-4.14-.83-5.646-2.336a8.025 8.025 0 0 1-2.064-7.723A1 1 0 0 0 9.73 2.034a10.014 10.014 0 0 0-4.489 2.582c-3.898 3.898-3.898 10.243 0 14.143a9.937 9.937 0 0 0 7.072 2.93 9.93 9.93 0 0 0 7.07-2.929 10.007 10.007 0 0 0 2.583-4.491 1.001 1.001 0 0 0-1.224-1.224zm-2.772 4.301a7.947 7.947 0 0 1-5.656 2.343 7.953 7.953 0 0 1-5.658-2.344c-3.118-3.119-3.118-8.195 0-11.314a7.923 7.923 0 0 1 2.06-1.483 10.027 10.027 0 0 0 2.89 7.848 9.972 9.972 0 0 0 7.848 2.891 8.036 8.036 0 0 1-1.484 2.059z\"}}]})(props);\n};\nexport function BiMouseAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2h-2C7.691 2 5 4.691 5 8v8c0 3.309 2.691 6 6 6h2c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm-2 2v6H7V8c0-2.206 1.794-4 4-4zm6 12c0 2.206-1.794 4-4 4h-2c-2.206 0-4-1.794-4-4v-4h10v4zm-4-6V4c2.206 0 4 1.794 4 4v2h-4z\"}}]})(props);\n};\nexport function BiMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.975 22H12c3.859 0 7-3.14 7-7V9c0-3.841-3.127-6.974-6.981-7h-.06C8.119 2.022 5 5.157 5 9v6c0 3.86 3.129 7 6.975 7zM7 9a5.007 5.007 0 0 1 4.985-5C14.75 4.006 17 6.249 17 9v6c0 2.757-2.243 5-5 5h-.025C9.186 20 7 17.804 7 15V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h2v6h-2z\"}}]})(props);\n};\nexport function BiMoveHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 11H7V7l-5 5 5 5v-4h10v4l5-5-5-5z\"}}]})(props);\n};\nexport function BiMoveVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 17 5 5 5-5h-4V7h4l-5-5-5 5h4v10z\"}}]})(props);\n};\nexport function BiMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11h-5V6h3l-4-4-4 4h3v5H6V8l-4 4 4 4v-3h5v5H8l4 4 4-4h-3v-5h5v3l4-4-4-4z\"}}]})(props);\n};\nexport function BiMoviePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm.001 6c-.001 0-.001 0 0 0h-.465l-2.667-4H20l.001 4zM9.536 9 6.869 5h2.596l2.667 4H9.536zm5 0-2.667-4h2.596l2.667 4h-2.596zM4 5h.465l2.667 4H4V5zm0 14v-8h16l.002 8H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 18 5.5-3-5.5-3z\"}}]})(props);\n};\nexport function BiMovie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm.001 6c-.001 0-.001 0 0 0h-.466l-2.667-4H20l.001 4zM9.535 9 6.868 5h2.597l2.667 4H9.535zm5 0-2.667-4h2.597l2.667 4h-2.597zM4 5h.465l2.667 4H4V5zm0 14v-8h16l.002 8H4z\"}}]})(props);\n};\nexport function BiMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.684 5.821-9-3.272A1.998 1.998 0 0 0 8 4.428v6.129A3.953 3.953 0 0 0 6 10c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4V4.428L19 7.7v6.856A3.962 3.962 0 0 0 17 14c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4V7.7c0-.838-.529-1.594-1.316-1.879zM6 16c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm11 4c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiNavigation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.002 9.63c-.023.411.207.794.581.966l7.504 3.442 3.442 7.503c.164.356.52.583.909.583l.057-.002a1 1 0 0 0 .894-.686l5.595-17.032c.117-.358.023-.753-.243-1.02s-.66-.358-1.02-.243L2.688 8.736a1 1 0 0 0-.686.894zm16.464-3.971-4.182 12.73-2.534-5.522a.998.998 0 0 0-.492-.492L5.734 9.841l12.732-4.182z\"}}]})(props);\n};\nexport function BiNetworkChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3c-1.654 0-3 1.346-3 3 0 .502.136.968.354 1.385l-1.116 1.302A3.976 3.976 0 0 0 13 8c-.739 0-1.425.216-2.02.566L9.566 7.152A3.449 3.449 0 0 0 10 5.5C10 3.57 8.43 2 6.5 2S3 3.57 3 5.5 4.57 9 6.5 9c.601 0 1.158-.166 1.652-.434L9.566 9.98A3.972 3.972 0 0 0 9 12c0 .997.38 1.899.985 2.601l-1.692 1.692.025.025A2.962 2.962 0 0 0 7 16c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3c0-.476-.121-.919-.318-1.318l.025.025 1.954-1.954c.421.15.867.247 1.339.247 2.206 0 4-1.794 4-4a3.96 3.96 0 0 0-.439-1.785l1.253-1.462c.364.158.764.247 1.186.247 1.654 0 3-1.346 3-3s-1.346-3-3-3zM7 20a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM5 5.5C5 4.673 5.673 4 6.5 4S8 4.673 8 5.5 7.327 7 6.5 7 5 6.327 5 5.5zm8 8.5c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm6-7a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiNews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.875 3H4.125C2.953 3 2 3.897 2 5v14c0 1.103.953 2 2.125 2h15.75C21.047 21 22 20.103 22 19V5c0-1.103-.953-2-2.125-2zm0 16H4.125c-.057 0-.096-.016-.113-.016-.007 0-.011.002-.012.008L3.988 5.046c.007-.01.052-.046.137-.046h15.75c.079.001.122.028.125.008l.012 13.946c-.007.01-.052.046-.137.046z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7h6v6H6zm7 8H6v2h12v-2h-4zm1-4h4v2h-4zm0-4h4v2h-4z\"}}]})(props);\n};\nexport function BiNoEntry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h10v4H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiNoSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h2v5H3zm4-3h2v8H7zM21 3h-2v14.59l-2-2V7h-2v6.59l-2-2V10h-1.59l-7.7-7.71-1.42 1.42 18 18 1.42-1.42-.71-.7V3zm-6 18h1.88L15 19.12V21zm-4 0h2v-3.88l-2-2V21z\"}}]})(props);\n};\nexport function BiNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h8a.996.996 0 0 0 .707-.293l7-7a.997.997 0 0 0 .196-.293c.014-.03.022-.061.033-.093a.991.991 0 0 0 .051-.259c.002-.021.013-.041.013-.062V5c0-1.103-.897-2-2-2zM5 5h14v7h-6a1 1 0 0 0-1 1v6H5V5zm9 12.586V14h3.586L14 17.586z\"}}]})(props);\n};\nexport function BiNotepad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-3V2h-2v2h-4V2H8v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM5 20V7h14V6l.002 14H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9h10v2H7zm0 4h5v2H7z\"}}]})(props);\n};\nexport function BiNotificationOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.71 20.296-1.786-1.786c.045-.163.076-.332.076-.51v-7h-2v5.586L7.414 6H13V4H6c-.178 0-.347.031-.51.076l-1.78-1.78L2.296 3.71l18 18 1.414-1.414zM4 8.121V18c0 1.103.897 2 2 2h9.879l-2-2H6v-7.879l-2-2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}}]})(props);\n};\nexport function BiNotification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19H5V6h8c0-.712.153-1.387.422-2H5c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h13c1.103 0 2-.897 2-2v-8.422A4.962 4.962 0 0 1 18 11v8z\"}}]})(props);\n};\nexport function BiObjectsHorizontalCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20h6v2h2v-2h6a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-6v-2h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4V2h-2v2H7a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4v2H5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1zM8 6h8v3H8zm-2 9h12v3H6z\"}}]})(props);\n};\nexport function BiObjectsHorizontalLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h2v20H2zM21 13H7a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1zm-1 5H8v-3h12zM7 11h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1zm1-5h8v3H8z\"}}]})(props);\n};\nexport function BiObjectsHorizontalRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2h2v20h-2zM18 14a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1zm-2 4H4v-3h12zM7 11h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1zm1-5h8v3H8z\"}}]})(props);\n};\nexport function BiObjectsVerticalBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h20v2H2zM4 3v14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1zm2 1h3v12H6zM13 17a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1zm2-9h3v8h-3z\"}}]})(props);\n};\nexport function BiObjectsVerticalCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v4h-2V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v6H2v2h2v6a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-6h2v4a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-4h2v-2h-2zM9 18H6V6h3zm9-2h-3V8h3z\"}}]})(props);\n};\nexport function BiObjectsVerticalTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h20v2H2zM11 21V7a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1zm-2-1H6V8h3zM19 6h-5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zm-1 10h-3V8h3z\"}}]})(props);\n};\nexport function BiOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19v-9c0-1.103-.897-2-2-2h-3V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h3v3c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2zM5 14V5h9v3h-4c-1.103 0-2 .897-2 2v4H5zm9.001 0H10v-4h4.001v4zM10 16h4c1.103 0 2-.897 2-2v-4h3l.001 9H10v-3z\"}}]})(props);\n};\nexport function BiPackage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8a.76.76 0 0 0 0-.21v-.08a.77.77 0 0 0-.07-.16.35.35 0 0 0-.05-.08l-.1-.13-.08-.06-.12-.09-9-5a1 1 0 0 0-1 0l-9 5-.09.07-.11.08a.41.41 0 0 0-.07.11.39.39 0 0 0-.08.1.59.59 0 0 0-.06.14.3.3 0 0 0 0 .1A.76.76 0 0 0 2 8v8a1 1 0 0 0 .52.87l9 5a.75.75 0 0 0 .13.06h.1a1.06 1.06 0 0 0 .5 0h.1l.14-.06 9-5A1 1 0 0 0 22 16V8zm-10 3.87L5.06 8l2.76-1.52 6.83 3.9zm0-7.72L18.94 8 16.7 9.25 9.87 5.34zM4 9.7l7 3.92v5.68l-7-3.89zm9 9.6v-5.68l3-1.68V15l2-1v-3.18l2-1.11v5.7z\"}}]})(props);\n};\nexport function BiPaintRoll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H7c-1.103 0-2 .897-2 2v3c0 1.103.897 2 2 2h11c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM7 7V4h11l.002 3H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 15v-2c0-1.103-.897-2-2-2H4V5c-1.103 0-2 .897-2 2v4c0 1.103.897 2 2 2h7v2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiPaint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.061 22c1.523 0 2.84-.543 3.91-1.613 1.123-1.123 1.707-2.854 1.551-4.494l8.564-8.564a3.123 3.123 0 0 0-.002-4.414c-1.178-1.18-3.234-1.18-4.412 0l-8.884 8.884c-1.913.169-3.807 1.521-3.807 3.919 0 .303.021.588.042.86.08 1.031.109 1.418-1.471 2.208a1.001 1.001 0 0 0-.122 1.717C2.52 20.563 4.623 22 7.061 22c-.001 0-.001 0 0 0zM18.086 4.328a1.144 1.144 0 0 1 1.586.002 1.12 1.12 0 0 1 0 1.584L12 13.586 10.414 12l7.672-7.672zM6.018 16.423c-.018-.224-.037-.458-.037-.706 0-1.545 1.445-1.953 2.21-1.953.356 0 .699.073.964.206.945.475 1.26 1.293 1.357 1.896.177 1.09-.217 2.368-.956 3.107C8.865 19.664 8.049 20 7.061 20H7.06c-.75 0-1.479-.196-2.074-.427 1.082-.973 1.121-1.989 1.032-3.15z\"}}]})(props);\n};\nexport function BiPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.4 2.096a10.08 10.08 0 0 0-8.937 3.331A10.054 10.054 0 0 0 2.096 13.4c.53 3.894 3.458 7.207 7.285 8.246a9.982 9.982 0 0 0 2.618.354l.142-.001a3.001 3.001 0 0 0 2.516-1.426 2.989 2.989 0 0 0 .153-2.879l-.199-.416a1.919 1.919 0 0 1 .094-1.912 2.004 2.004 0 0 1 2.576-.755l.412.197c.412.198.85.299 1.301.299A3.022 3.022 0 0 0 22 12.14a9.935 9.935 0 0 0-.353-2.76c-1.04-3.826-4.353-6.754-8.247-7.284zm5.158 10.909-.412-.197c-1.828-.878-4.07-.198-5.135 1.494-.738 1.176-.813 2.576-.204 3.842l.199.416a.983.983 0 0 1-.051.961.992.992 0 0 1-.844.479h-.112a8.061 8.061 0 0 1-2.095-.283c-3.063-.831-5.403-3.479-5.826-6.586-.321-2.355.352-4.623 1.893-6.389a8.002 8.002 0 0 1 7.16-2.664c3.107.423 5.755 2.764 6.586 5.826.198.73.293 1.474.282 2.207-.012.807-.845 1.183-1.441.894z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"7.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14.5\",\"cy\":\"7.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.56,3.34a1,1,0,0,0-1-.08l-17,8a1,1,0,0,0-.57.92,1,1,0,0,0,.6.9L8,15.45v6.72L13.84,18l4.76,2.08a.93.93,0,0,0,.4.09,1,1,0,0,0,.52-.15,1,1,0,0,0,.48-.79l1-15A1,1,0,0,0,20.56,3.34ZM18.1,17.68l-5.27-2.31L16,9.17,8.35,13.42,5.42,12.13,18.89,5.79Z\"}}]})(props);\n};\nexport function BiPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.004 5H9c-1.838 0-3.586.737-4.924 2.076C2.737 8.415 2 10.163 2 12c0 1.838.737 3.586 2.076 4.924C5.414 18.263 7.162 19 9 19h8v-2H9c-1.303 0-2.55-.529-3.51-1.49C4.529 14.55 4 13.303 4 12c0-1.302.529-2.549 1.49-3.51C6.45 7.529 7.697 7 9 7h8V6l.001 1h.003c.79 0 1.539.314 2.109.886.571.571.886 1.322.887 2.116a2.966 2.966 0 0 1-.884 2.11A2.988 2.988 0 0 1 17 13H9a.99.99 0 0 1-.698-.3A.991.991 0 0 1 8 12c0-.252.11-.507.301-.698A.987.987 0 0 1 9 11h8V9H9c-.79 0-1.541.315-2.114.889C6.314 10.461 6 11.211 6 12s.314 1.54.888 2.114A2.974 2.974 0 0 0 9 15h8.001a4.97 4.97 0 0 0 3.528-1.473 4.967 4.967 0 0 0-.001-7.055A4.95 4.95 0 0 0 17.004 5z\"}}]})(props);\n};\nexport function BiParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 16h2v4h2V6h2v14h2V6h3V4H9c-3.309 0-6 2.691-6 6s2.691 6 6 6zM9 6h2v8H9c-2.206 0-4-1.794-4-4s1.794-4 4-4z\"}}]})(props);\n};\nexport function BiParty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8.31c-.36-.41-.73-.82-1.12-1.21l-.29-.27.14-.12a3.15 3.15 0 0 0 .9-3.49A3.91 3.91 0 0 0 14 1v2a2 2 0 0 1 1.76 1c.17.4 0 .84-.47 1.31-.07.08-.15.13-.22.2-3-2.41-6.29-3.77-7.9-2.16a2.16 2.16 0 0 0-.41.59v.1l-.18.53-4.41 13.1A3.28 3.28 0 0 0 5.28 22a3.21 3.21 0 0 0 1-.17L20 17.28a1 1 0 0 0 .43-.31l.21-.18c1.43-1.44.51-4.21-1.41-6.9A6.63 6.63 0 0 1 23 9V7a8.44 8.44 0 0 0-5 1.31zM5.7 19.93a1.29 1.29 0 0 1-1.63-1.63l1.36-4.1a10.7 10.7 0 0 0 4.29 4.39zm7-2.33a8.87 8.87 0 0 1-6.3-6.29l1-3 .06.09c.11.22.25.45.39.68s.16.29.26.44.33.48.51.73.19.28.3.42.43.55.66.82l.29.35c.34.39.7.77 1.08 1.16s.68.64 1 1l.33.28.78.63.37.28c.28.2.55.4.83.58l.31.2c.36.22.72.43 1.07.61h.05zm6.51-2.23h-.06c-.69.38-3.56-.57-6.79-3.81-.34-.34-.66-.67-.95-1l-.29-.35-.53-.64-.29-.4c-.13-.19-.27-.37-.39-.55l-.26-.42-.29-.47c-.08-.14-.14-.27-.21-.4s-.15-.26-.21-.4a3.31 3.31 0 0 1-.14-.36c-.05-.13-.11-.26-.15-.38S8.6 6 8.57 5.88s-.05-.22-.07-.32a2.26 2.26 0 0 1 0-.26 1 1 0 0 1 0-.24l.11-.31c.36-.36 2.23 0 4.73 1.9A4.13 4.13 0 0 1 12 7v2a6.45 6.45 0 0 0 3-.94l.48.46c.42.42.81.85 1.18 1.28a5.32 5.32 0 0 0-.6 3.4l2-.39a3.57 3.57 0 0 1 0-1.12 11.3 11.3 0 0 1 .81 1.45c.56 1.32.52 2.06.34 2.23z\"}}]})(props);\n};\nexport function BiPaste (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11V5c0-1.103-.897-2-2-2h-3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1H4c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h7c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-7c0-1.103-.897-2-2-2zm-9 2v5H4V5h3v2h8V5h3v6h-5c-1.103 0-2 .897-2 2zm2 7v-7h7l.001 7H13z\"}}]})(props);\n};\nexport function BiPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h2v6h-2zM9 9h2v6H9z\"}}]})(props);\n};\nexport function BiPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7h3v10H8zm5 0h3v10h-3z\"}}]})(props);\n};\nexport function BiPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.404 2.998c-.757-.754-2.077-.751-2.828.005l-1.784 1.791L11.586 7H7a.998.998 0 0 0-.939.658l-4 11c-.133.365-.042.774.232 1.049l2 2a.997.997 0 0 0 1.049.232l11-4A.998.998 0 0 0 17 17v-4.586l2.207-2.207v-.001h.001L21 8.409c.378-.378.586-.881.585-1.415 0-.535-.209-1.038-.588-1.415l-2.593-2.581zm-3.111 8.295A.996.996 0 0 0 15 12v4.3l-9.249 3.363 4.671-4.671c.026.001.052.008.078.008A1.5 1.5 0 1 0 9 13.5c0 .026.007.052.008.078l-4.671 4.671L7.7 9H12c.266 0 .52-.105.707-.293L14.5 6.914 17.086 9.5l-1.793 1.793zm3.206-3.208-2.586-2.586 1.079-1.084 2.593 2.581-1.086 1.089z\"}}]})(props);\n};\nexport function BiPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21a1 1 0 0 0 .24 0l4-1a1 1 0 0 0 .47-.26L21 7.41a2 2 0 0 0 0-2.82L19.42 3a2 2 0 0 0-2.83 0L4.3 15.29a1.06 1.06 0 0 0-.27.47l-1 4A1 1 0 0 0 3.76 21 1 1 0 0 0 4 21zM18 4.41 19.59 6 18 7.59 16.42 6zM5.91 16.51 15 7.41 16.59 9l-9.1 9.1-2.11.52z\"}}]})(props);\n};\nexport function BiPhoneCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.57 22a2 2 0 0 0 1.43-.59l2.71-2.71a1 1 0 0 0 0-1.41l-4-4a1 1 0 0 0-1.41 0l-1.6 1.59a7.55 7.55 0 0 1-3-1.59 7.62 7.62 0 0 1-1.59-3l1.59-1.6a1 1 0 0 0 0-1.41l-4-4a1 1 0 0 0-1.41 0L2.59 6A2 2 0 0 0 2 7.43 15.28 15.28 0 0 0 6.3 17.7 15.28 15.28 0 0 0 16.57 22zM6 5.41 8.59 8 7.3 9.29a1 1 0 0 0-.3.91 10.12 10.12 0 0 0 2.3 4.5 10.08 10.08 0 0 0 4.5 2.3 1 1 0 0 0 .91-.27L16 15.41 18.59 18l-2 2a13.28 13.28 0 0 1-8.87-3.71A13.28 13.28 0 0 1 4 7.41zM20 11h2a8.81 8.81 0 0 0-9-9v2a6.77 6.77 0 0 1 7 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c2.1 0 3 .9 3 3h2c0-3.22-1.78-5-5-5z\"}}]})(props);\n};\nexport function BiPhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.712 13.288a.999.999 0 0 0-1.414 0l-1.597 1.596c-.824-.245-2.166-.771-2.99-1.596-.874-.874-1.374-2.253-1.594-2.992l1.594-1.594a.999.999 0 0 0 0-1.414l-4-4a1.03 1.03 0 0 0-1.414 0l-2.709 2.71c-.382.38-.597.904-.588 1.437.022 1.423.396 6.367 4.297 10.268C10.195 21.6 15.142 21.977 16.566 22h.028c.528 0 1.027-.208 1.405-.586l2.712-2.712a.999.999 0 0 0 0-1.414l-3.999-4zM16.585 20c-1.248-.021-5.518-.356-8.874-3.712C4.343 12.92 4.019 8.636 4 7.414l2.004-2.005L8.59 7.995 7.297 9.288c-.238.238-.34.582-.271.912.024.115.611 2.842 2.271 4.502s4.387 2.247 4.502 2.271a.994.994 0 0 0 .912-.271l1.293-1.293 2.586 2.586L16.585 20z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.795 6.791 13.005 4v6.995H20l-2.791-2.79 4.503-4.503-1.414-1.414z\"}}]})(props);\n};\nexport function BiPhoneOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.09 12.5a8.92 8.92 0 0 1-1-2.2l1.59-1.59a1 1 0 0 0 0-1.42l-4-4a1 1 0 0 0-1.41 0L2.59 6A2 2 0 0 0 2 7.44 15.44 15.44 0 0 0 5.62 17L2.3 20.29l1.41 1.42 18-18-1.41-1.42zM7 15.55a13.36 13.36 0 0 1-3-8.13l2-2L8.59 8 7.3 9.29a1 1 0 0 0-.27.92 11 11 0 0 0 1.62 3.73zm9.71-2.26a1 1 0 0 0-1.41 0l-1.6 1.6-.34-.12-1.56 1.55a12.06 12.06 0 0 0 2 .66 1 1 0 0 0 .91-.27l1.3-1.3L18.59 18l-2 2A13.61 13.61 0 0 1 10 18.1l-1.43 1.45a15.63 15.63 0 0 0 8 2.45 2 2 0 0 0 1.43-.58l2.71-2.71a1 1 0 0 0 0-1.42z\"}}]})(props);\n};\nexport function BiPhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.712 13.288a.999.999 0 0 0-1.414 0l-1.594 1.594c-.739-.22-2.118-.72-2.992-1.594s-1.374-2.253-1.594-2.992l1.594-1.594a.999.999 0 0 0 0-1.414l-4-4a.999.999 0 0 0-1.414 0L2.586 6c-.38.38-.594.902-.586 1.435.023 1.424.4 6.37 4.298 10.268S15.142 21.977 16.566 22h.028c.528 0 1.027-.208 1.405-.586l2.712-2.712a.999.999 0 0 0 0-1.414l-3.999-4zM16.585 20c-1.248-.021-5.518-.356-8.873-3.712C4.346 12.922 4.02 8.637 4 7.414l2.005-2.005 2.586 2.586-1.293 1.293a1 1 0 0 0-.272.912c.024.115.611 2.842 2.271 4.502s4.387 2.247 4.502 2.271a.993.993 0 0 0 .912-.271l1.293-1.293 2.586 2.586L16.585 20z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.795 5.791-4.497 4.497 1.414 1.414 4.497-4.497L21.005 10V2.995H14z\"}}]})(props);\n};\nexport function BiPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.707 12.293a.999.999 0 0 0-1.414 0l-1.594 1.594c-.739-.22-2.118-.72-2.992-1.594s-1.374-2.253-1.594-2.992l1.594-1.594a.999.999 0 0 0 0-1.414l-4-4a.999.999 0 0 0-1.414 0L3.581 5.005c-.38.38-.594.902-.586 1.435.023 1.424.4 6.37 4.298 10.268s8.844 4.274 10.269 4.298h.028c.528 0 1.027-.208 1.405-.586l2.712-2.712a.999.999 0 0 0 0-1.414l-4-4.001zm-.127 6.712c-1.248-.021-5.518-.356-8.873-3.712-3.366-3.366-3.692-7.651-3.712-8.874L7 4.414 9.586 7 8.293 8.293a1 1 0 0 0-.272.912c.024.115.611 2.842 2.271 4.502s4.387 2.247 4.502 2.271a.991.991 0 0 0 .912-.271L17 14.414 19.586 17l-2.006 2.005z\"}}]})(props);\n};\nexport function BiPhotoAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.024 11.536 10 10l-2 3h9l-3.5-5z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9.503\",\"cy\":\"7.497\",\"r\":\"1.503\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2zm0 14H5V5c0-.806.55-.988 1-1h13v12z\"}}]})(props);\n};\nexport function BiPieChartAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.931 9H13V4.069A8.008 8.008 0 0 1 19.931 11zM4 12c0-4.072 3.061-7.436 7-7.931V12a.996.996 0 0 0 .111.438c.015.03.022.063.041.093l4.202 6.723A7.949 7.949 0 0 1 12 20c-4.411 0-8-3.589-8-8zm13.052 6.196L13.805 13h6.126a7.992 7.992 0 0 1-2.879 5.196z\"}}]})(props);\n};\nexport function BiPieChartAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a9.936 9.936 0 0 0-7.071 2.929C3.04 6.818 2 9.33 2 12s1.04 5.182 2.929 7.071C6.818 20.96 9.33 22 12 22s5.182-1.04 7.071-2.929C20.96 17.182 22 14.67 22 12s-1.04-5.182-2.929-7.071A9.936 9.936 0 0 0 12 2zm5.657 15.657C16.146 19.168 14.137 20 12 20s-4.146-.832-5.657-2.343C4.832 16.146 4 14.137 4 12s.832-4.146 2.343-5.657A7.927 7.927 0 0 1 11 4.069V12a1 1 0 0 0 1 1h7.931a7.927 7.927 0 0 1-2.274 4.657zM13 11V4.062a7.945 7.945 0 0 1 4.657 2.281A7.934 7.934 0 0 1 19.938 11H13z\"}}]})(props);\n};\nexport function BiPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5.166V12h6.834A6.817 6.817 0 0 0 12 5.166z\"}}]})(props);\n};\nexport function BiPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 22 1-2v-3h5a1 1 0 0 0 1-1v-1.586c0-.526-.214-1.042-.586-1.414L17 11.586V8a1 1 0 0 0 1-1V4c0-1.103-.897-2-2-2H8c-1.103 0-2 .897-2 2v3a1 1 0 0 0 1 1v3.586L5.586 13A2.01 2.01 0 0 0 5 14.414V16a1 1 0 0 0 1 1h5v3l1 2zM8 4h8v2H8V4zM7 14.414l1.707-1.707A.996.996 0 0 0 9 12V8h6v4c0 .266.105.52.293.707L17 14.414V15H7v-.586z\"}}]})(props);\n};\nexport function BiPlanet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.76 20.2a2.73 2.73 0 0 0 2.15.85 8.86 8.86 0 0 0 3.37-.86 9 9 0 0 0 12.27-10.9c1.31-2.23 1.75-4.26.67-5.48a2.94 2.94 0 0 0-2.57-1A5 5 0 0 0 16.1 4 9 9 0 0 0 3.58 15.14c-1.06 1.21-2.05 3.68-.82 5.06zm1.5-1.32c-.22-.25 0-1.07.37-1.76a9.26 9.26 0 0 0 1.57 1.74c-1.03.3-1.71.28-1.94.02zm14.51-5.17A7 7 0 0 1 15.58 18 7.12 7.12 0 0 1 12 19a6.44 6.44 0 0 1-1.24-.13 30.73 30.73 0 0 0 4.42-3.29 31.5 31.5 0 0 0 3.8-4 6.88 6.88 0 0 1-.21 2.13zm.09-8.89a.94.94 0 0 1 .87.32c.23.26.16.94-.26 1.93a9.2 9.2 0 0 0-1.61-1.86 2.48 2.48 0 0 1 1-.39zM5.22 10.31A6.94 6.94 0 0 1 8.41 6 7 7 0 0 1 12 5a6.9 6.9 0 0 1 6 3.41 5.19 5.19 0 0 1 .35.66 27.43 27.43 0 0 1-4.49 5A27.35 27.35 0 0 1 8.35 18a7 7 0 0 1-3.13-7.65z\"}}]})(props);\n};\nexport function BiPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 17 8-5-8-5z\"}}]})(props);\n};\nexport function BiPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6v12l10-6z\"}}]})(props);\n};\nexport function BiPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8h2v5c0 2.206 1.794 4 4 4h2v5h2v-5h2c2.206 0 4-1.794 4-4V8h2V6H3v2zm4 0h10v5c0 1.103-.897 2-2 2H9c-1.103 0-2-.897-2-2V8zm0-6h2v3H7zm8 0h2v3h-2z\"}}]})(props);\n};\nexport function BiPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}}]})(props);\n};\nexport function BiPlusMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2.013H9V9H2v6h7v6.987h6V15h7V9h-7z\"}}]})(props);\n};\nexport function BiPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z\"}}]})(props);\n};\nexport function BiPodcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12.01\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.01 22h2l.5-7h-3l.5 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 0 0-2.45 19.68l-.15-2.12a8 8 0 1 1 5.21 0l-.15 2.12A10 10 0 0 0 12 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.32 9.61a3.44 3.44 0 0 1 .37.68 3.83 3.83 0 0 1 .23.75 3.57 3.57 0 0 1 .09.8 3.66 3.66 0 0 1-.09.81 3.83 3.83 0 0 1-.23.75 3.44 3.44 0 0 1-.37.68 4.7 4.7 0 0 1-.35.43l-.19 2.62a5.33 5.33 0 0 0 .58-.31A5.86 5.86 0 0 0 17 15.2a5.57 5.57 0 0 0 .55-1 5.89 5.89 0 0 0 .35-1.13 6.06 6.06 0 0 0 .1-1.23 6.22 6.22 0 0 0-.13-1.21A6.09 6.09 0 0 0 17 8.49a6.29 6.29 0 0 0-.73-.89 5.67 5.67 0 0 0-.89-.73 6.3 6.3 0 0 0-1-.56A6.17 6.17 0 0 0 13.21 6a6.11 6.11 0 0 0-2.41 0 5.51 5.51 0 0 0-1.13.36 5.57 5.57 0 0 0-1 .55 5.67 5.67 0 0 0-.89.73 6.29 6.29 0 0 0-.78.85 6.09 6.09 0 0 0-.9 2.14 6.21 6.21 0 0 0-.1 1.21 6.06 6.06 0 0 0 .12 1.21 5.89 5.89 0 0 0 .35 1.13 5.57 5.57 0 0 0 .55 1 6.24 6.24 0 0 0 1.62 1.62 5.33 5.33 0 0 0 .58.31L9 14.51a4.7 4.7 0 0 1-.35-.43 3.44 3.44 0 0 1-.37-.68 3.83 3.83 0 0 1-.23-.75 3.65 3.65 0 0 1-.05-.81 3.56 3.56 0 0 1 .08-.8 3.83 3.83 0 0 1 .23-.75 3.44 3.44 0 0 1 .37-.68 4 4 0 0 1 .5-.61 3.87 3.87 0 0 1 .59-.48 3.44 3.44 0 0 1 .68-.37 3.86 3.86 0 0 1 .75-.24 4.36 4.36 0 0 1 1.61 0 3.86 3.86 0 0 1 .75.24 3.58 3.58 0 0 1 1.27.85 3.49 3.49 0 0 1 .49.61z\"}}]})(props);\n};\nexport function BiPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.978 13.21a1 1 0 0 0-.396-1.024l-14-10a.999.999 0 0 0-1.575.931l2 17a1 1 0 0 0 1.767.516l3.612-4.416 3.377 5.46 1.701-1.052-3.357-5.428 6.089-1.218a.995.995 0 0 0 .782-.769zm-8.674.31a1 1 0 0 0-.578.347l-3.008 3.677L7.257 5.127l10.283 7.345-5.236 1.048z\"}}]})(props);\n};\nexport function BiPoll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11h7v2H7zm0-4h10.97v2H7zm0 8h13v2H7zM4 4h2v16H4z\"}}]})(props);\n};\nexport function BiPolygon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.707 2.293A.996.996 0 0 0 16 2H8a.996.996 0 0 0-.707.293l-5 5A.996.996 0 0 0 2 8v8c0 .266.105.52.293.707l5 5A.996.996 0 0 0 8 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0 0 22 16V8a.996.996 0 0 0-.293-.707l-5-5zM20 15.586 15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z\"}}]})(props);\n};\nexport function BiPopsicle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2a7 7 0 0 0-4.94 2l-7.78 7.82a1 1 0 0 0 0 1.41l3.54 3.54-3.54 3.53 1.42 1.42 3.53-3.54 3.54 3.54a1 1 0 0 0 1.41 0L20 13.94A7 7 0 0 0 15 2zm3.54 10.54-7.07 7.06-2.82-2.83-1.42-1.42-2.83-2.83 7.07-7.07a5 5 0 0 1 7.08 7.08z\"}}]})(props);\n};\nexport function BiPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5.553 19.105.764 1.843C7.498 20.555 9.422 20 10 20c.838 0 1.462.208 2.184.448.775.259 1.654.552 2.816.552 1.177 0 3.078-.921 3.447-1.105l-.895-1.789c-.721.36-2.031.894-2.552.894-.838 0-1.462-.208-2.184-.448C12.041 18.293 11.162 18 10 18c-.229 0-.526.037-.857.099C9.702 16.95 10 15.561 10 14h3v-2H9.626c-.042-.107-.084-.216-.125-.317C9.243 11.052 9 10.455 9 9c0-1.369.521-3 3-3 2.224 0 3.021 2.227 3.052 2.316l1.896-.633C16.898 7.533 15.679 4 12 4 8.313 4 7 6.583 7 9c0 1.491.234 2.35.478 3H5v2h3c0 2.467-.892 4.328-2.447 5.105z\"}}]})(props);\n};\nexport function BiPowerOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21c4.411 0 8-3.589 8-8 0-3.35-2.072-6.221-5-7.411v2.223A6 6 0 0 1 18 13c0 3.309-2.691 6-6 6s-6-2.691-6-6a5.999 5.999 0 0 1 3-5.188V5.589C6.072 6.779 4 9.65 4 13c0 4.411 3.589 8 8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2h2v10h-2z\"}}]})(props);\n};\nexport function BiPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7h-1V2H6v5H5c-1.654 0-3 1.346-3 3v7c0 1.103.897 2 2 2h2v3h12v-3h2c1.103 0 2-.897 2-2v-7c0-1.654-1.346-3-3-3zM8 4h8v3H8V4zm8 16H8v-4h8v4zm4-3h-2v-3H6v3H4v-7c0-.551.449-1 1-1h14c.552 0 1 .449 1 1v7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10h4v2h-4z\"}}]})(props);\n};\nexport function BiPulse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.97 4.757a.999.999 0 0 0-1.918-.073l-3.186 9.554-2.952-6.644a1.002 1.002 0 0 0-1.843.034L5.323 12H2v2h3.323c.823 0 1.552-.494 1.856-1.257l.869-2.172 3.037 6.835c.162.363.521.594.915.594l.048-.001a.998.998 0 0 0 .9-.683l2.914-8.742.979 3.911A1.995 1.995 0 0 0 18.781 14H22v-2h-3.22l-1.81-7.243z\"}}]})(props);\n};\nexport function BiPurchaseTagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.707 2.293A.997.997 0 0 0 11 2H6a.997.997 0 0 0-.707.293l-3 3A.996.996 0 0 0 2 6v5c0 .266.105.52.293.707l10 10a.997.997 0 0 0 1.414 0l8-8a.999.999 0 0 0 0-1.414l-10-10zM13 19.586l-9-9V6.414L6.414 4h4.172l9 9L13 19.586z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.353\",\"cy\":\"8.353\",\"r\":\"1.647\"}}]})(props);\n};\nexport function BiPurchaseTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.707 3.293A.996.996 0 0 0 13 3H4a1 1 0 0 0-1 1v9c0 .266.105.52.293.707l8 8a.997.997 0 0 0 1.414 0l9-9a.999.999 0 0 0 0-1.414l-8-8zM12 19.586l-7-7V5h7.586l7 7L12 19.586z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.496\",\"cy\":\"8.495\",\"r\":\"1.505\"}}]})(props);\n};\nexport function BiPyramid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.445 21.832a1 1 0 0 0 1.11 0l9-6A.998.998 0 0 0 21.8 14.4l-9-12c-.377-.504-1.223-.504-1.6 0l-9 12a1 1 0 0 0 .245 1.432l9 6zM13 19.131V6l6.565 8.754L13 19.131zM11 6v13.131l-6.565-4.377L11 6z\"}}]})(props);\n};\nexport function BiQrScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h4.01V2H2v6h2V4zm0 12H2v6h6.01v-2H4v-4zm16 4h-4v2h6v-6h-2v4zM16 4h4v4h2V2h-6v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h6V5H5zm2-4h2v2H7zM5 19h6v-6H5zm2-4h2v2H7zM19 5h-6v6h6zm-2 4h-2V7h2zm-3.99 4h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm0-4h2v2h-2z\"}}]})(props);\n};\nexport function BiQr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11h8V3H3zm2-6h4v4H5zM3 21h8v-8H3zm2-6h4v4H5zm8-12v8h8V3zm6 6h-4V5h4zm-5.99 4h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm4 0h2v2h-2zm2 2h2v2h-2zm-4 0h2v2h-2zm2-6h2v2h-2zm2 2h2v2h-2z\"}}]})(props);\n};\nexport function BiQuestionMark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C9.243 4 7 6.243 7 9h2c0-1.654 1.346-3 3-3s3 1.346 3 3c0 1.069-.454 1.465-1.481 2.255-.382.294-.813.626-1.226 1.038C10.981 13.604 10.995 14.897 11 15v2h2v-2.009c0-.024.023-.601.707-1.284.32-.32.682-.598 1.031-.867C15.798 12.024 17 11.1 17 9c0-2.757-2.243-5-5-5zm-1 14h2v2h-2z\"}}]})(props);\n};\nexport function BiRadar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.579 2 2 6.58 2 12s4.579 10 10 10 10-4.58 10-10S17.421 2 12 2zm0 18c-4.337 0-8-3.664-8-8 0-3.998 3.115-7.417 7-7.927V6.09C8.167 6.569 6 9.033 6 12c0 3.309 2.691 6 6 6 1.595 0 3.1-.626 4.237-1.763l-1.414-1.415A3.97 3.97 0 0 1 12 16c-2.206 0-4-1.794-4-4 0-1.858 1.279-3.411 3-3.858v2.146c-.59.353-1 .993-1 1.712 0 1.081.919 2 2 2s2-.919 2-2c0-.719-.41-1.359-1-1.712V4.073c3.885.51 7 3.929 7 7.927 0 4.336-3.663 8-8 8z\"}}]})(props);\n};\nexport function BiRadioCircleMarked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c-3.859 0-7 3.141-7 7s3.141 7 7 7 7-3.141 7-7-3.141-7-7-7zm0 12c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9c-1.627 0-3 1.373-3 3s1.373 3 3 3 3-1.373 3-3-1.373-3-3-3z\"}}]})(props);\n};\nexport function BiRadioCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12c0 3.859 3.14 7 7 7 3.859 0 7-3.141 7-7s-3.141-7-7-7c-3.86 0-7 3.141-7 7zm12 0c0 2.757-2.243 5-5 5s-5-2.243-5-5 2.243-5 5-5 5 2.243 5 5z\"}}]})(props);\n};\nexport function BiRadio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.25 5.025-7.898-2.962-.703 1.873L14.484 5H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.018-.767-1.85-1.75-1.975zM4 19v-7h16v-2H4V7h16l.001 12H4z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"15.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15h4.999v2H6z\"}}]})(props);\n};\nexport function BiReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11h-3V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14c0 1.654 1.346 3 3 3h14c1.654 0 3-1.346 3-3v-6a1 1 0 0 0-1-1zM5 19a1 1 0 0 1-1-1V5h12v13c0 .351.061.688.171 1H5zm15-1a1 1 0 0 1-2 0v-5h2v5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7h8v2H6zm0 4h8v2H6zm5 4h3v2h-3z\"}}]})(props);\n};\nexport function BiRectangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 19V5h16l.001 14H4z\"}}]})(props);\n};\nexport function BiRecycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.224 15.543-.813-1.464-1.748.972.812 1.461c.048.085.082.173.104.264a1.024 1.024 0 0 1-.014.5.988.988 0 0 1-.104.235 1 1 0 0 1-.347.352.978.978 0 0 1-.513.137H14v-2l-4 3 4 3v-2h4.601c.278 0 .552-.037.811-.109a2.948 2.948 0 0 0 1.319-.776c.178-.179.332-.38.456-.593a2.992 2.992 0 0 0 .336-2.215 3.163 3.163 0 0 0-.299-.764zM5.862 11.039l-2.31 4.62a3.06 3.06 0 0 0-.261.755 2.997 2.997 0 0 0 .851 2.735c.178.174.376.326.595.453A3.022 3.022 0 0 0 6.236 20H8v-2H6.236a1.016 1.016 0 0 1-.5-.13.974.974 0 0 1-.353-.349 1 1 0 0 1-.149-.468.933.933 0 0 1 .018-.245c.018-.087.048-.173.089-.256l2.256-4.512 1.599.923L8.598 8 4 9.964l1.862 1.075zm12.736 1.925L19.196 8l-1.638.945-2.843-5.117a2.95 2.95 0 0 0-1.913-1.459 3.227 3.227 0 0 0-.772-.083 3.003 3.003 0 0 0-1.498.433A2.967 2.967 0 0 0 9.41 3.944l-.732 1.464 1.789.895.732-1.465c.045-.09.101-.171.166-.242a.933.933 0 0 1 .443-.27 1.053 1.053 0 0 1 .53-.011.963.963 0 0 1 .63.485l2.858 5.146L14 11l4.598 1.964z\"}}]})(props);\n};\nexport function BiRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18h3v-2H9c-1.654 0-3-1.346-3-3s1.346-3 3-3h6v3l5-4-5-4v3H9c-2.757 0-5 2.243-5 5s2.243 5 5 5z\"}}]})(props);\n};\nexport function BiReflectHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21h12l-6-6-6 6zM18 3H6l6 6 6-6zM3 11h3v2H3zm5 0h3v2H8zm5 0h3v2h-3zm5 0h3v2h-3z\"}}]})(props);\n};\nexport function BiReflectVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 18 6-6-6-6v12zm12-6 6 6V6l-6 6zm-4-9h2v3h-2zm0 5h2v3h-2zm0 5h2v3h-2zm0 5h2v3h-2z\"}}]})(props);\n};\nexport function BiRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11H7.101l.001-.009a4.956 4.956 0 0 1 .752-1.787 5.054 5.054 0 0 1 2.2-1.811c.302-.128.617-.226.938-.291a5.078 5.078 0 0 1 2.018 0 4.978 4.978 0 0 1 2.525 1.361l1.416-1.412a7.036 7.036 0 0 0-2.224-1.501 6.921 6.921 0 0 0-1.315-.408 7.079 7.079 0 0 0-2.819 0 6.94 6.94 0 0 0-1.316.409 7.04 7.04 0 0 0-3.08 2.534 6.978 6.978 0 0 0-1.054 2.505c-.028.135-.043.273-.063.41H2l4 4 4-4zm4 2h2.899l-.001.008a4.976 4.976 0 0 1-2.103 3.138 4.943 4.943 0 0 1-1.787.752 5.073 5.073 0 0 1-2.017 0 4.956 4.956 0 0 1-1.787-.752 5.072 5.072 0 0 1-.74-.61L7.05 16.95a7.032 7.032 0 0 0 2.225 1.5c.424.18.867.317 1.315.408a7.07 7.07 0 0 0 2.818 0 7.031 7.031 0 0 0 4.395-2.945 6.974 6.974 0 0 0 1.053-2.503c.027-.135.043-.273.063-.41H22l-4-4-4 4z\"}}]})(props);\n};\nexport function BiRegistered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.14 2a10 10 0 1 0 10 10 10 10 0 0 0-10-10zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.14 10a3 3 0 0 0-3-3h-5v10h2v-4h1.46l2.67 4h2.4l-2.75-4.12A3 3 0 0 0 16.14 10zm-3 1h-3V9h3a1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiRename (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.005 5.995h-1v2h1v8h-1v2h1c1.103 0 2-.897 2-2v-8c0-1.102-.898-2-2-2zm-14 4H15v4H6.005z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.005 17.995V4H20V2h-8v2h3.005v1.995h-11c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h11V20H12v2h8v-2h-2.995v-2.005zm-13-2v-8h11v8h-11z\"}}]})(props);\n};\nexport function BiRepeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6h-5v2h4v9H4V8h5v3l5-4-5-4v3H3a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiReplyAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18v-8a1 1 0 0 0-1-1h-6V6l-5 4 5 4v-3h5v7h2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12.4 6 10l3-2.4V6l-5 4 5 4z\"}}]})(props);\n};\nexport function BiReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11h6v7h2v-8a1 1 0 0 0-1-1h-7V6l-5 4 5 4v-3z\"}}]})(props);\n};\nexport function BiRepost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7a1 1 0 0 0-1-1h-8v2h7v5h-3l3.969 5L22 13h-3V7zM5 17a1 1 0 0 0 1 1h8v-2H7v-5h3L6 6l-4 5h3v6z\"}}]})(props);\n};\nexport function BiReset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z\"}}]})(props);\n};\nexport function BiRestaurant (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10h-2V3H8v7H6V3H4v8c0 1.654 1.346 3 3 3h1v7h2v-7h1c1.654 0 3-1.346 3-3V3h-2v7zm7-7h-1c-1.159 0-2 1.262-2 3v8h2v7h2V4a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiRevision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.89 10.105a8.696 8.696 0 0 0-.789-1.456l-1.658 1.119a6.606 6.606 0 0 1 .987 2.345 6.659 6.659 0 0 1 0 2.648 6.495 6.495 0 0 1-.384 1.231 6.404 6.404 0 0 1-.603 1.112 6.654 6.654 0 0 1-1.776 1.775 6.606 6.606 0 0 1-2.343.987 6.734 6.734 0 0 1-2.646 0 6.55 6.55 0 0 1-3.317-1.788 6.605 6.605 0 0 1-1.408-2.088 6.613 6.613 0 0 1-.382-1.23 6.627 6.627 0 0 1 .382-3.877A6.551 6.551 0 0 1 7.36 8.797 6.628 6.628 0 0 1 9.446 7.39c.395-.167.81-.296 1.23-.382.107-.022.216-.032.324-.049V10l5-4-5-4v2.938a8.805 8.805 0 0 0-.725.111 8.512 8.512 0 0 0-3.063 1.29A8.566 8.566 0 0 0 4.11 16.77a8.535 8.535 0 0 0 1.835 2.724 8.614 8.614 0 0 0 2.721 1.833 8.55 8.55 0 0 0 5.061.499 8.576 8.576 0 0 0 6.162-5.056c.22-.52.389-1.061.5-1.608a8.643 8.643 0 0 0 0-3.45 8.684 8.684 0 0 0-.499-1.607z\"}}]})(props);\n};\nexport function BiRewindCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16V8l-5 4zm6 0V8l-5 4z\"}}]})(props);\n};\nexport function BiRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12V7l-7 5 7 5zm7-5-7 5 7 5z\"}}]})(props);\n};\nexport function BiRfid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h16a1 1 0 0 0 1-1v-8h-2v7H5V4h5V2H4a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"11\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11h2a5 5 0 0 0-5-5v2a3 3 0 0 1 3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 11h2a9 9 0 0 0-9-9v2a7 7 0 0 1 7 7zM9.65 15.67a1 1 0 0 0-.14-.51.76.76 0 0 0-.38-.31 2.3 2.3 0 0 0-.75-.09H7V18h.65v-1.35h.14a1.31 1.31 0 0 1 .33 0 .58.58 0 0 1 .19.14 4.72 4.72 0 0 1 .35.48l.47.7h.78l-.39-.63a3.56 3.56 0 0 0-.38-.53 1.25 1.25 0 0 0-.35-.27 1 1 0 0 0 .64-.3.84.84 0 0 0 .22-.57zm-.74.33a.4.4 0 0 1-.18.14 2.36 2.36 0 0 1-.59 0h-.49v-.82h1a.4.4 0 0 1 .25.13.36.36 0 0 1 .09.26.43.43 0 0 1-.08.29zM10.92 16.62h1.36v-.54h-1.36v-.77h1.57v-.55h-2.22V18h.65v-1.38zM13.01 14.76h.65V18h-.65zM16.1 14.82a2.48 2.48 0 0 0-.62-.06h-1.2V18h1.24a1.76 1.76 0 0 0 .57-.07 1.07 1.07 0 0 0 .46-.26 1.35 1.35 0 0 0 .35-.57 2 2 0 0 0 .1-.69 2.35 2.35 0 0 0-.11-.76 1.33 1.33 0 0 0-.31-.53 1.09 1.09 0 0 0-.48-.3zm.16 2.18a.74.74 0 0 1-.17.31.57.57 0 0 1-.27.13 1.79 1.79 0 0 1-.39 0h-.49v-2.13h.29a3.06 3.06 0 0 1 .54 0 .71.71 0 0 1 .3.15.82.82 0 0 1 .19.32 2.05 2.05 0 0 1 .06.57 2.41 2.41 0 0 1-.06.65z\"}}]})(props);\n};\nexport function BiRightArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.293 17.293 1.414 1.414L19.414 12l-6.707-6.707-1.414 1.414L15.586 11H6v2h9.586z\"}}]})(props);\n};\nexport function BiRightArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.999 1.993c-5.514.001-10 4.487-10 10.001s4.486 10 10.001 10c5.513 0 9.999-4.486 10-10 0-5.514-4.486-10-10.001-10.001zM12 19.994c-4.412 0-8.001-3.589-8.001-8s3.589-8 8-8.001C16.411 3.994 20 7.583 20 11.994c-.001 4.411-3.59 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10.994H8v2h4V16l4.005-4.005L12 7.991z\"}}]})(props);\n};\nexport function BiRightArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.536 21.886a1.004 1.004 0 0 0 1.033-.064l13-9a1 1 0 0 0 0-1.644l-13-9A.998.998 0 0 0 5 3v18a1 1 0 0 0 .536.886zM7 4.909 17.243 12 7 19.091V4.909z\"}}]})(props);\n};\nexport function BiRightDownArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.007a9.928 9.928 0 0 0-7.071 2.922c-3.899 3.899-3.899 10.243 0 14.143A9.93 9.93 0 0 0 12 21.995a9.93 9.93 0 0 0 7.071-2.923c3.899-3.899 3.899-10.243 0-14.143A9.928 9.928 0 0 0 12 2.007zm5.657 15.65A7.946 7.946 0 0 1 12 19.994c-2.141 0-4.15-.83-5.657-2.337-3.119-3.119-3.119-8.195 0-11.314A7.944 7.944 0 0 1 12 4.007c2.141 0 4.15.829 5.657 2.336 3.119 3.119 3.119 8.195 0 11.314z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.661 8.247 8.247 9.661l3.214 3.214L9.336 15H15V9.337l-2.125 2.124z\"}}]})(props);\n};\nexport function BiRightIndent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 15h10v2H10zm-6 4h16v2H4zm6-8h10v2H10zm0-4h10v2H10zM4 3h16v2H4zm0 5v8l4-4z\"}}]})(props);\n};\nexport function BiRightTopArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.006 2.007a9.927 9.927 0 0 0-7.071 2.922c-3.898 3.899-3.898 10.243 0 14.142 1.885 1.885 4.396 2.923 7.071 2.923s5.187-1.038 7.071-2.923c3.898-3.898 3.898-10.242 0-14.142a9.928 9.928 0 0 0-7.071-2.922zm5.657 15.649c-1.507 1.507-3.517 2.337-5.657 2.337s-4.15-.83-5.657-2.337c-3.118-3.119-3.118-8.194 0-11.313 1.507-1.507 3.516-2.336 5.657-2.336s4.15.829 5.657 2.336c3.118 3.119 3.118 8.194 0 11.313z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11.467 11.125-3.214 3.214 1.414 1.414 3.214-3.214 2.125 2.124V9H9.343z\"}}]})(props);\n};\nexport function BiRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.92 2.38A15.72 15.72 0 0 0 17.5 2a8.26 8.26 0 0 0-6 2.06Q9.89 5.67 8.31 7.27c-1.21-.13-4.08-.2-6 1.74a1 1 0 0 0 0 1.41l11.3 11.32a1 1 0 0 0 1.41 0c1.95-2 1.89-4.82 1.77-6l3.21-3.2c3.19-3.19 1.74-9.18 1.68-9.43a1 1 0 0 0-.76-.73zm-2.36 8.75L15 14.67a1 1 0 0 0-.27.9 6.81 6.81 0 0 1-.54 3.94L4.52 9.82a6.67 6.67 0 0 1 4-.5A1 1 0 0 0 9.39 9s1.4-1.45 3.51-3.56A6.61 6.61 0 0 1 17.5 4a14.51 14.51 0 0 1 2.33.2c.24 1.43.62 5.04-1.27 6.93z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.73\",\"cy\":\"8.3\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16c-2 1-2 5-2 5a7.81 7.81 0 0 0 5-2z\"}}]})(props);\n};\nexport function BiRotateLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.758 8.758 5.344 7.344a8.048 8.048 0 0 0-1.841 2.859l1.873.701a6.048 6.048 0 0 1 1.382-2.146zM19 12.999a7.935 7.935 0 0 0-2.344-5.655A7.917 7.917 0 0 0 12 5.069V2L7 6l5 4V7.089a5.944 5.944 0 0 1 3.242 1.669A5.956 5.956 0 0 1 17 13v.002c0 .33-.033.655-.086.977-.007.043-.011.088-.019.131a6.053 6.053 0 0 1-1.138 2.536c-.16.209-.331.412-.516.597a5.954 5.954 0 0 1-.728.613 5.906 5.906 0 0 1-2.277 1.015c-.142.03-.285.05-.43.069-.062.009-.122.021-.184.027a6.104 6.104 0 0 1-1.898-.103L9.3 20.819a8.087 8.087 0 0 0 2.534.136c.069-.007.138-.021.207-.03.205-.026.409-.056.61-.098l.053-.009-.001-.005a7.877 7.877 0 0 0 2.136-.795l.001.001.028-.019a7.906 7.906 0 0 0 1.01-.67c.27-.209.532-.43.777-.675.248-.247.47-.513.681-.785.021-.028.049-.053.07-.081l-.006-.004a7.899 7.899 0 0 0 1.093-1.997l.008.003c.029-.078.05-.158.076-.237.037-.11.075-.221.107-.333.04-.14.073-.281.105-.423.022-.099.048-.195.066-.295.032-.171.056-.344.076-.516.01-.076.023-.15.03-.227.023-.249.037-.5.037-.753.002-.002.002-.004.002-.008zM6.197 16.597l-1.6 1.201a8.045 8.045 0 0 0 2.569 2.225l.961-1.754a6.018 6.018 0 0 1-1.93-1.672zM5 13c0-.145.005-.287.015-.429l-1.994-.143a7.977 7.977 0 0 0 .483 3.372l1.873-.701A5.975 5.975 0 0 1 5 13z\"}}]})(props);\n};\nexport function BiRotateRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.242 17.242a6.04 6.04 0 0 1-1.37 1.027l.961 1.754a8.068 8.068 0 0 0 2.569-2.225l-1.6-1.201a5.938 5.938 0 0 1-.56.645zm1.743-4.671a5.975 5.975 0 0 1-.362 2.528l1.873.701a7.977 7.977 0 0 0 .483-3.371l-1.994.142zm1.512-2.368a8.048 8.048 0 0 0-1.841-2.859l-1.414 1.414a6.071 6.071 0 0 1 1.382 2.146l1.873-.701zm-8.128 8.763c-.047-.005-.094-.015-.141-.021a6.701 6.701 0 0 1-.468-.075 5.923 5.923 0 0 1-2.421-1.122 5.954 5.954 0 0 1-.583-.506 6.138 6.138 0 0 1-.516-.597 5.91 5.91 0 0 1-.891-1.634 6.086 6.086 0 0 1-.247-.902c-.008-.043-.012-.088-.019-.131A6.332 6.332 0 0 1 6 13.002V13c0-1.603.624-3.109 1.758-4.242A5.944 5.944 0 0 1 11 7.089V10l5-4-5-4v3.069a7.917 7.917 0 0 0-4.656 2.275A7.936 7.936 0 0 0 4 12.999v.009c0 .253.014.504.037.753.007.076.021.15.03.227.021.172.044.345.076.516.019.1.044.196.066.295.032.142.065.283.105.423.032.112.07.223.107.333.026.079.047.159.076.237l.008-.003A7.948 7.948 0 0 0 5.6 17.785l-.007.005c.021.028.049.053.07.081.211.272.433.538.681.785a8.236 8.236 0 0 0 .966.816c.265.192.537.372.821.529l.028.019.001-.001a7.877 7.877 0 0 0 2.136.795l-.001.005.053.009c.201.042.405.071.61.098.069.009.138.023.207.03a8.038 8.038 0 0 0 2.532-.137l-.424-1.955a6.11 6.11 0 0 1-1.904.102z\"}}]})(props);\n};\nexport function BiRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20.001C19 11.729 12.271 5 4 5v2c7.168 0 13 5.832 13 13.001h2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20.001h2C14 14.486 9.514 10 4 10v2c4.411 0 8 3.589 8 8.001z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function BiRuble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h2v-3h6v-2h-6v-2h4.5c2.757 0 5-2.243 5-5s-2.243-5-5-5H9a1 1 0 0 0-1 1v7H5v2h3v2H5v2h3v3zm2-15h4.5c1.654 0 3 1.346 3 3s-1.346 3-3 3H10V6z\"}}]})(props);\n};\nexport function BiRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.875 7H3.125C1.953 7 1 7.897 1 9v6c0 1.103.953 2 2.125 2h17.75C22.047 17 23 16.103 23 15V9c0-1.103-.953-2-2.125-2zm0 8H3.125c-.057 0-.096-.016-.113-.016-.007 0-.011.002-.012.008l-.012-5.946c.007-.01.052-.046.137-.046H5v3h2V9h2v4h2V9h2v3h2V9h2v4h2V9h1.875c.079.001.122.028.125.008l.012 5.946c-.007.01-.052.046-.137.046z\"}}]})(props);\n};\nexport function BiRun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.777 10.969a2.007 2.007 0 0 0 2.148.83l3.316-.829-.483-1.94-3.316.829-1.379-2.067a2.01 2.01 0 0 0-1.272-.854l-3.846-.77a1.998 1.998 0 0 0-2.181 1.067l-1.658 3.316 1.789.895 1.658-3.317 1.967.394L7.434 17H3v2h4.434c.698 0 1.355-.372 1.715-.971l1.918-3.196 5.169 1.034 1.816 5.449 1.896-.633-1.815-5.448a2.007 2.007 0 0 0-1.506-1.33l-3.039-.607 1.772-2.954.417.625z\"}}]})(props);\n};\nexport function BiRupee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6V4H6v2h3.5c1.302 0 2.401.838 2.815 2H6v2h6.315A2.994 2.994 0 0 1 9.5 12H6v2.414L11.586 20h2.828l-6-6H9.5a5.007 5.007 0 0 0 4.898-4H17V8h-2.602a4.933 4.933 0 0 0-.924-2H17z\"}}]})(props);\n};\nexport function BiSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14c-3 0-4 3-4 3h8s-1-3-4-3z\"}}]})(props);\n};\nexport function BiSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14a2 2 0 0 0 2-2V8a1 1 0 0 0-.29-.71l-4-4A1 1 0 0 0 16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2zm10-2H9v-5h6zM13 7h-2V5h2zM5 5h2v4h8V5h.59L19 8.41V19h-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5H5z\"}}]})(props);\n};\nexport function BiScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4v5h2V5h4V3H4a1 1 0 0 0-1 1zm18 5V4a1 1 0 0 0-1-1h-5v2h4v4h2zm-2 10h-4v2h5a1 1 0 0 0 1-1v-5h-2v4zM9 21v-2H5v-4H3v5a1 1 0 0 0 1 1h5zM2 11h20v2H2z\"}}]})(props);\n};\nexport function BiScatterChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h17v-2H5V3H3v17a1 1 0 0 0 1 1z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10\",\"cy\":\"8\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"13.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"6.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiScreenshot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14h-2v3h-3v2h3v3h2v-3h3v-2h-3zM4 19h3v-2H5v-2H3v3a1 1 0 0 0 1 1zM19 4a1 1 0 0 0-1-1h-3v2h2v2h2V4zM5 5h2V3H4a1 1 0 0 0-1 1v3h2V5zM3 9h2v4H3zm14 0h2v3h-2zM9 3h4v2H9zm0 14h3v2H9z\"}}]})(props);\n};\nexport function BiSearchAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.023 16.977a35.13 35.13 0 0 1-1.367-1.384c-.372-.378-.596-.653-.596-.653l-2.8-1.337A6.962 6.962 0 0 0 16 9c0-3.859-3.14-7-7-7S2 5.141 2 9s3.14 7 7 7c1.763 0 3.37-.66 4.603-1.739l1.337 2.8s.275.224.653.596c.387.363.896.854 1.384 1.367l1.358 1.392.604.646 2.121-2.121-.646-.604c-.379-.372-.885-.866-1.391-1.36zM9 14c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\"}}]})(props);\n};\nexport function BiSearchAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8 3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.412 8.586c.379.38.588.882.588 1.414h2a3.977 3.977 0 0 0-1.174-2.828c-1.514-1.512-4.139-1.512-5.652 0l1.412 1.416c.76-.758 2.07-.756 2.826-.002z\"}}]})(props);\n};\nexport function BiSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8 3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z\"}}]})(props);\n};\nexport function BiSelectMultiple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM8 16V4h12l.002 12H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8H2v12c0 1.103.897 2 2 2h12v-2H4V8zm8.933 3.519-1.726-1.726-1.414 1.414 3.274 3.274 5.702-6.84-1.538-1.282z\"}}]})(props);\n};\nexport function BiSelection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1H9V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1v6H4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1h6v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1V9h1zm-3-4h2v2h-2V5zM5 5h2v2H5V5zm2 14H5v-2h2v2zm12 0h-2v-2h2v2zm-2-4h-1a1 1 0 0 0-1 1v1H9v-1a1 1 0 0 0-1-1H7V9h1a1 1 0 0 0 1-1V7h6v1a1 1 0 0 0 1 1h1v6z\"}}]})(props);\n};\nexport function BiSend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.426 11.095-17-8A.999.999 0 0 0 3.03 4.242L4.969 12 3.03 19.758a.998.998 0 0 0 1.396 1.147l17-8a1 1 0 0 0 0-1.81zM5.481 18.197l.839-3.357L12 12 6.32 9.16l-.839-3.357L18.651 12l-13.17 6.197z\"}}]})(props);\n};\nexport function BiServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM4 9V5h16v4zm16 4H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zM4 19v-4h16v4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6h2v2h-2zm-3 0h2v2h-2zm3 10h2v2h-2zm-3 0h2v2h-2z\"}}]})(props);\n};\nexport function BiShapeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.494 9.05a8.14 8.14 0 0 0-4.544-4.544C14.713 3.088 13.485 2 12 2S9.287 3.088 9.05 4.506A8.136 8.136 0 0 0 4.506 9.05C3.088 9.287 2 10.515 2 12s1.088 2.713 2.506 2.95a8.14 8.14 0 0 0 4.544 4.544C9.287 20.912 10.515 22 12 22s2.713-1.088 2.95-2.506a8.14 8.14 0 0 0 4.544-4.544C20.912 14.713 22 13.485 22 12s-1.088-2.713-2.506-2.95zM12 4a1 1 0 0 1 1 1c0 .06-.023.11-.034.167a1.015 1.015 0 0 1-.083.279c-.014.027-.034.049-.051.075a1.062 1.062 0 0 1-.16.209c-.04.037-.09.062-.136.092-.054.036-.104.078-.165.103-.115.047-.239.075-.371.075s-.256-.028-.371-.075c-.061-.024-.111-.066-.165-.103-.046-.03-.096-.055-.136-.092a1.062 1.062 0 0 1-.16-.209c-.017-.026-.037-.048-.051-.075a1.026 1.026 0 0 1-.083-.279C11.023 5.11 11 5.06 11 5a1 1 0 0 1 1-1zm-7 7c.06 0 .11.023.167.034.099.017.194.041.279.083.027.014.049.034.075.051.075.047.149.097.209.16.037.04.062.09.092.136.036.054.078.104.103.165.047.115.075.239.075.371s-.028.256-.075.371c-.024.061-.066.111-.103.165-.03.046-.055.096-.092.136-.06.063-.134.113-.209.16-.026.017-.048.037-.075.051a1.026 1.026 0 0 1-.279.083C5.11 12.977 5.06 13 5 13a1 1 0 0 1 0-2zm7 9a1 1 0 0 1-1-1c0-.06.023-.11.034-.167.017-.099.041-.194.083-.279.014-.027.034-.049.051-.075.047-.075.097-.149.16-.209.04-.037.09-.062.136-.092.054-.036.104-.078.165-.103.115-.047.239-.075.371-.075s.256.028.371.075c.061.024.111.066.165.103.046.03.096.055.136.092.063.06.113.134.16.209.017.026.037.048.051.075.042.085.066.181.083.279.011.057.034.107.034.167a1 1 0 0 1-1 1zm2.583-2.512c-.006-.011-.017-.019-.022-.029a3.007 3.007 0 0 0-.996-1.007c-.054-.033-.109-.06-.166-.09a2.902 2.902 0 0 0-.486-.205c-.064-.021-.128-.044-.194-.061-.233-.057-.471-.096-.719-.096s-.486.039-.718.097c-.066.017-.13.039-.195.061a2.928 2.928 0 0 0-.485.205c-.056.029-.112.057-.166.09a3.007 3.007 0 0 0-.996 1.007c-.006.011-.017.019-.022.029a6.15 6.15 0 0 1-2.905-2.905c.011-.006.019-.017.029-.022a3.007 3.007 0 0 0 1.007-.996c.033-.054.061-.11.09-.166.083-.154.15-.316.205-.485.021-.065.044-.129.061-.195.056-.234.095-.472.095-.72s-.039-.486-.097-.718a2.568 2.568 0 0 0-.061-.194 2.902 2.902 0 0 0-.205-.486c-.03-.057-.057-.112-.09-.166A3.007 3.007 0 0 0 6.54 9.44c-.01-.006-.018-.017-.028-.023a6.15 6.15 0 0 1 2.905-2.905c.006.01.017.018.022.029.248.411.588.755.996 1.007.054.033.11.061.166.09.155.083.316.15.486.205.064.021.128.044.194.061.233.057.47.096.719.096a2.94 2.94 0 0 0 .912-.158c.17-.055.331-.122.486-.205.056-.029.112-.057.166-.09.408-.252.748-.596.996-1.007.006-.011.017-.019.022-.029a6.15 6.15 0 0 1 2.905 2.905c-.011.006-.019.017-.029.022a3.007 3.007 0 0 0-1.007.996c-.033.054-.061.11-.09.166-.083.155-.15.316-.205.486-.021.064-.044.128-.061.194A3.07 3.07 0 0 0 16 12a2.94 2.94 0 0 0 .158.912c.055.17.122.331.205.486.029.056.057.112.09.166.252.408.596.748 1.007.996.011.006.019.017.029.022a6.145 6.145 0 0 1-2.906 2.906zM19 13c-.06 0-.11-.023-.167-.034a1.015 1.015 0 0 1-.279-.083c-.027-.014-.049-.034-.075-.051a1.062 1.062 0 0 1-.209-.16c-.037-.04-.062-.09-.092-.136-.036-.054-.078-.104-.103-.165-.047-.115-.075-.239-.075-.371s.028-.256.075-.371c.024-.061.066-.111.103-.165.03-.046.055-.096.092-.136.06-.063.134-.113.209-.16.026-.017.048-.037.075-.051.085-.042.181-.066.279-.083.057-.011.107-.034.167-.034a1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiShapePolygon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14.185v-2.369A2.997 2.997 0 0 0 22 9c0-1.654-1.346-3-3-3a2.99 2.99 0 0 0-2.116.876L12.969 5.31c.01-.103.031-.204.031-.31 0-1.654-1.346-3-3-3S7 3.346 7 5c0 .762.295 1.451.765 1.981L6.091 9.212A2.977 2.977 0 0 0 5 9c-1.654 0-3 1.346-3 3s1.346 3 3 3c.159 0 .313-.023.465-.047L7.4 17.532c-.248.436-.4.932-.4 1.468 0 1.654 1.346 3 3 3a2.994 2.994 0 0 0 2.863-2.153l3.962-.792A2.987 2.987 0 0 0 19 20c1.654 0 3-1.346 3-3a2.995 2.995 0 0 0-2-2.815zM19 8a1.001 1.001 0 1 1-1 1c0-.551.448-1 1-1zm-9-4a1.001 1.001 0 1 1-1 1c0-.551.448-1 1-1zm-6 8a1.001 1.001 0 1 1 1 1c-.552 0-1-.449-1-1zm6 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm2.761-2.172A3.005 3.005 0 0 0 10 16c-.386 0-.752.079-1.091.213l-1.674-2.231C7.705 13.451 8 12.762 8 12c0-.536-.152-1.032-.399-1.467l1.935-2.58c.152.024.305.047.464.047a2.99 2.99 0 0 0 2.116-.876l3.915 1.566c-.01.103-.031.204-.031.31 0 1.302.839 2.401 2 2.815v2.369a2.996 2.996 0 0 0-2 2.815c0 .061.015.117.018.177l-3.257.652zM19 18a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiShapeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6c0-1.654-1.346-3-3-3a2.993 2.993 0 0 0-2.815 2h-6.37A2.993 2.993 0 0 0 6 3C4.346 3 3 4.346 3 6c0 1.302.839 2.401 2 2.815v6.369A2.997 2.997 0 0 0 3 18c0 1.654 1.346 3 3 3a2.993 2.993 0 0 0 2.815-2h6.369a2.994 2.994 0 0 0 2.815 2c1.654 0 3-1.346 3-3a2.997 2.997 0 0 0-2-2.816V8.816A2.996 2.996 0 0 0 21 6zm-3-1a1.001 1.001 0 1 1-1 1c0-.551.448-1 1-1zm-2.815 12h-6.37A2.99 2.99 0 0 0 7 15.184V8.816A2.99 2.99 0 0 0 8.815 7h6.369A2.99 2.99 0 0 0 17 8.815v6.369A2.99 2.99 0 0 0 15.185 17zM6 5a1.001 1.001 0 1 1-1 1c0-.551.448-1 1-1zm0 14a1.001 1.001 0 0 1 0-2 1.001 1.001 0 0 1 0 2zm12 0a1.001 1.001 0 0 1 0-2 1.001 1.001 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiShapeTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 15c-.183 0-.358.022-.532.054L8.946 6.532C8.978 6.359 9 6.182 9 6c0-1.654-1.346-3-3-3S3 4.346 3 6c0 1.302.839 2.401 2 2.815v6.369A2.997 2.997 0 0 0 3 18c0 1.654 1.346 3 3 3a2.993 2.993 0 0 0 2.815-2h6.369a2.994 2.994 0 0 0 2.815 2c1.654 0 3-1.346 3-3S19.654 15 18 15zm-11 .184V8.816c.329-.118.629-.291.894-.508l7.799 7.799a2.961 2.961 0 0 0-.508.894h-6.37A2.99 2.99 0 0 0 7 15.184zM6 5a1.001 1.001 0 1 1-1 1c0-.551.448-1 1-1zm0 14a1.001 1.001 0 0 1 0-2 1.001 1.001 0 0 1 0 2zm12 0a1.001 1.001 0 0 1 0-2 1.001 1.001 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiShareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 15a3.51 3.51 0 0 0 2.36-.93l6.26 3.58a3.06 3.06 0 0 0-.12.85 3.53 3.53 0 1 0 1.14-2.57l-6.26-3.58a2.74 2.74 0 0 0 .12-.76l6.15-3.52A3.49 3.49 0 1 0 14 5.5a3.35 3.35 0 0 0 .12.85L8.43 9.6A3.5 3.5 0 1 0 5.5 15zm12 2a1.5 1.5 0 1 1-1.5 1.5 1.5 1.5 0 0 1 1.5-1.5zm0-13A1.5 1.5 0 1 1 16 5.5 1.5 1.5 0 0 1 17.5 4zm-12 6A1.5 1.5 0 1 1 4 11.5 1.5 1.5 0 0 1 5.5 10z\"}}]})(props);\n};\nexport function BiShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.05V4a1 1 0 0 0-1-1 1 1 0 0 0-.7.29l-7 7a1 1 0 0 0 0 1.42l7 7A1 1 0 0 0 11 18v-3.1h.85a10.89 10.89 0 0 1 8.36 3.72 1 1 0 0 0 1.11.35A1 1 0 0 0 22 18c0-9.12-8.08-10.68-11-10.95zm.85 5.83a14.74 14.74 0 0 0-2 .13A1 1 0 0 0 9 14v1.59L4.42 11 9 6.41V8a1 1 0 0 0 1 1c.91 0 8.11.2 9.67 6.43a13.07 13.07 0 0 0-7.82-2.55z\"}}]})(props);\n};\nexport function BiShekel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8v8h2V8c0-2.206-1.794-4-4-4H5v16h2V6h4c1.103 0 2 .897 2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16c0 1.103-.897 2-2 2h-4V8H9v12h6c2.206 0 4-1.794 4-4V4h-2v12z\"}}]})(props);\n};\nexport function BiShieldAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.438 5.089a1.002 1.002 0 0 0-.959.015c-.684.389-1.355.577-2.053.577-2.035 0-3.952-1.629-5.722-3.39-.375-.373-1.063-.373-1.438 0C9.592 3.959 7.598 5.663 5.51 5.663c-.69 0-1.351-.184-2.018-.561-.298-.166-.658-.171-.96-.012s-.501.461-.528.801c-.011.129-.944 12.872 9.683 16.041a.99.99 0 0 0 .286.042H12c.097 0 .192-.014.285-.041 10.657-3.17 9.695-15.916 9.684-16.044a1 1 0 0 0-.531-.8zm-9.452 14.842c-6.979-2.255-7.934-9.412-8.014-12.477.505.14 1.019.209 1.537.209 2.492 0 4.65-1.567 6.476-3.283 1.893 1.788 3.983 3.301 6.442 3.301.53 0 1.057-.074 1.575-.22-.074 3.065-1.021 10.217-8.016 12.47z\"}}]})(props);\n};\nexport function BiShieldAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.342 8.447 1.105-.553A.998.998 0 0 0 21.8 6.4l-3-4A1 1 0 0 0 18 2H6a1 1 0 0 0-.8.4l-3 4a1 1 0 0 0 .352 1.494l1.105.553-1.131 2.262A5.052 5.052 0 0 0 2 12.944v.591a6.028 6.028 0 0 0 3.894 5.618l3.431 1.286a5.488 5.488 0 0 1 1.969 1.268.997.997 0 0 0 1.413 0 5.486 5.486 0 0 1 1.969-1.267l3.432-1.287A6.03 6.03 0 0 0 22 13.535v-.591c0-.771-.183-1.545-.527-2.236l-1.131-2.261zM20 13.535a4.019 4.019 0 0 1-2.596 3.745l-3.431 1.287a7.5 7.5 0 0 0-1.974 1.101 7.515 7.515 0 0 0-1.974-1.102L6.596 17.28A4.019 4.019 0 0 1 4 13.535v-.591c0-.463.109-.928.316-1.342l1.131-2.261a2.003 2.003 0 0 0-.895-2.684l-.033-.015L6.5 4h11l1.981 2.642-.034.017a2.004 2.004 0 0 0-.895 2.684l1.131 2.26c.208.414.317.878.317 1.341v.591z\"}}]})(props);\n};\nexport function BiShieldMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.41 6.11-8-4a.94.94 0 0 0-.89 0l-8 4A1 1 0 0 0 3 6.9c0 .11-1 10.77 8.59 15a1 1 0 0 0 .41.1.93.93 0 0 0 .4-.09C21.92 17.67 21 7 21 6.9a1 1 0 0 0-.59-.79zM12 19.9C5.2 16.63 4.88 9.64 4.93 7.63l7-3.51 7 3.51c.13 2.01-.19 9-6.93 12.27z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11h8v2H8z\"}}]})(props);\n};\nexport function BiShieldPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.63 21.91A.9.9 0 0 0 12 22a1 1 0 0 0 .41-.09C22 17.67 21 7 21 6.9a1 1 0 0 0-.55-.79l-8-4a1 1 0 0 0-.9 0l-8 4A1 1 0 0 0 3 6.9c0 .1-.92 10.77 8.63 15.01zM5 7.63l7-3.51 7 3.51c.05 2-.27 9-7 12.27C5.26 16.63 4.94 9.64 5 7.63z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.06 16h2v-3h3.01v-2h-3.01V8h-2v3h-3v2h3v3z\"}}]})(props);\n};\nexport function BiShieldQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.995 6.9a.998.998 0 0 0-.548-.795l-8-4a1 1 0 0 0-.895 0l-8 4a1.002 1.002 0 0 0-.547.795c-.011.107-.961 10.767 8.589 15.014a.987.987 0 0 0 .812 0c9.55-4.247 8.6-14.906 8.589-15.014zM12 19.897V12H5.51a15.473 15.473 0 0 1-.544-4.365L12 4.118V12h6.46c-.759 2.74-2.498 5.979-6.46 7.897z\"}}]})(props);\n};\nexport function BiShieldX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.48 6.105-8-4a1 1 0 0 0-.895 0l-8 4a1.002 1.002 0 0 0-.547.795c-.011.107-.961 10.767 8.589 15.014a.99.99 0 0 0 .812 0c9.55-4.247 8.6-14.906 8.589-15.014a1.001 1.001 0 0 0-.548-.795zm-8.447 13.792C5.265 16.625 4.944 9.642 4.999 7.635l7.034-3.517 7.029 3.515c.038 1.989-.328 9.018-7.029 12.264z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.293 8.293 12 10.586 9.707 8.293 8.293 9.707 10.586 12l-2.293 2.293 1.414 1.414L12 13.414l2.293 2.293 1.414-1.414L13.414 12l2.293-2.293z\"}}]})(props);\n};\nexport function BiShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.995 6.903a.997.997 0 0 0-.547-.797l-7.973-4a.997.997 0 0 0-.895-.002l-8.027 4c-.297.15-.502.437-.544.767-.013.097-1.145 9.741 8.541 15.008a.995.995 0 0 0 .969-.009c9.307-5.259 8.514-14.573 8.476-14.967zm-8.977 12.944c-6.86-4.01-7.14-10.352-7.063-12.205l7.071-3.523 6.998 3.511c.005 1.87-.481 8.243-7.006 12.217z\"}}]})(props);\n};\nexport function BiShocked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12\",\"cy\":\"15.5\",\"rx\":\"3\",\"ry\":\"2.5\"}}]})(props);\n};\nexport function BiShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V9a1 1 0 0 0-1-1h-3V7c0-2.757-2.243-5-5-5S7 4.243 7 7v1H4a1 1 0 0 0-1 1v11c0 1.103.897 2 2 2zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v1H9V7zm-4 3h2v2h2v-2h6v2h2v-2h2l.002 10H5V10z\"}}]})(props);\n};\nexport function BiShowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12c-1.095 0-2-.905-2-2 0-.354.103-.683.268-.973C12.178 9.02 12.092 9 12 9a3.02 3.02 0 0 0-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-.092-.02-.178-.027-.268-.29.165-.619.268-.973.268z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z\"}}]})(props);\n};\nexport function BiShow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9a3.02 3.02 0 0 0-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z\"}}]})(props);\n};\nexport function BiShower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18.33A6.78 6.78 0 0 0 19.5 15a6.73 6.73 0 0 0-1.5 3.33 1.51 1.51 0 1 0 3 0zM11 20.33A6.78 6.78 0 0 0 9.5 17 6.73 6.73 0 0 0 8 20.33 1.59 1.59 0 0 0 9.5 22a1.59 1.59 0 0 0 1.5-1.67zM14.5 22a1.59 1.59 0 0 0 1.5-1.67A6.78 6.78 0 0 0 14.5 17a6.73 6.73 0 0 0-1.5 3.33A1.59 1.59 0 0 0 14.5 22zM3 18.33A1.59 1.59 0 0 0 4.5 20 1.59 1.59 0 0 0 6 18.33 6.78 6.78 0 0 0 4.5 15 6.73 6.73 0 0 0 3 18.33zM13 4.07V2h-2v2.07A8 8 0 0 0 4 12H2v2h20v-2h-2a8 8 0 0 0-7-7.93zM6 12a6 6 0 0 1 12 0z\"}}]})(props);\n};\nexport function BiShuffle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17h-1.559l-9.7-10.673A1 1 0 0 0 5.001 6H2v2h2.559l4.09 4.5-4.09 4.501H2v2h3.001a1 1 0 0 0 .74-.327L10 13.987l4.259 4.686a1 1 0 0 0 .74.327H17v3l5-4-5-4v3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.441 8H17v3l5-3.938L17 3v3h-2.001a1 1 0 0 0-.74.327l-3.368 3.707 1.48 1.346L15.441 8z\"}}]})(props);\n};\nexport function BiSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 19V7h6v12H4zm8 0V7h8V5l.002 14H12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10h2v2H6zm0 4h2v2H6z\"}}]})(props);\n};\nexport function BiSignal1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h2v5H3z\"}}]})(props);\n};\nexport function BiSignal2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h2v5H3zm4-3h2v8H7z\"}}]})(props);\n};\nexport function BiSignal3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h2v5H3zm4-3h2v8H7zm4-3h2v11h-2z\"}}]})(props);\n};\nexport function BiSignal4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h2v5H3zm4-3h2v8H7zm4-3h2v11h-2zm4-3h2v14h-2z\"}}]})(props);\n};\nexport function BiSignal5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h2v5H3zm4-3h2v8H7zm4-3h2v11h-2zm4-3h2v14h-2zm4-3h2v17h-2z\"}}]})(props);\n};\nexport function BiSitemap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13.01h-7V10h1c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2h-4c-1.103 0-2 .897-2 2v4c0 1.103.897 2 2 2h1v3.01H4V18H3v4h4v-4H6v-2.99h5V18h-1v4h4v-4h-1v-2.99h5V18h-1v4h4v-4h-1v-4.99zM10 8V4h4l.002 4H10z\"}}]})(props);\n};\nexport function BiSkipNextCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 16 5-4-5-4zm5-4v4h2V8h-2z\"}}]})(props);\n};\nexport function BiSkipNext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7v10l7-5zm9 10V7h-2v10z\"}}]})(props);\n};\nexport function BiSkipPreviousCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16V8l-5 4zM9 8v8h2V8z\"}}]})(props);\n};\nexport function BiSkipPrevious (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 7-7 5 7 5zm-7 5V7H7v10h2z\"}}]})(props);\n};\nexport function BiSleepy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12\",\"cy\":\"15.5\",\"rx\":\"3\",\"ry\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7c-2.905 0-3.983 2.386-4 3.99l2 .021C8.002 10.804 8.076 9 10 9V7zm4 0v2c1.826 0 1.992 1.537 2 2.007L17 11h1c0-1.608-1.065-4-4-4z\"}}]})(props);\n};\nexport function BiSliderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 14.5c-1.58 0-2.903 1.06-3.337 2.5H2v2h2.163c.434 1.44 1.757 2.5 3.337 2.5s2.903-1.06 3.337-2.5H22v-2H10.837c-.434-1.44-1.757-2.5-3.337-2.5zm0 5c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5S9 17.173 9 18s-.673 1.5-1.5 1.5zm9-11c-1.58 0-2.903 1.06-3.337 2.5H2v2h11.163c.434 1.44 1.757 2.5 3.337 2.5s2.903-1.06 3.337-2.5H22v-2h-2.163c-.434-1.44-1.757-2.5-3.337-2.5zm0 5c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5 1.5.673 1.5 1.5-.673 1.5-1.5 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.837 5C12.403 3.56 11.08 2.5 9.5 2.5S6.597 3.56 6.163 5H2v2h4.163C6.597 8.44 7.92 9.5 9.5 9.5s2.903-1.06 3.337-2.5h9.288V5h-9.288zM9.5 7.5C8.673 7.5 8 6.827 8 6s.673-1.5 1.5-1.5S11 5.173 11 6s-.673 1.5-1.5 1.5z\"}}]})(props);\n};\nexport function BiSlider (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5h9v2h-9zM2 7h7v2h2V3H9v2H2zm7 10h13v2H9zm10-6h3v2h-3zm-2 4V9.012h-2V11H2v2h13v2zM7 21v-6H5v2H2v2h3v2z\"}}]})(props);\n};\nexport function BiSlideshow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h7v3H8v2h8v-2h-3v-3h7c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 15V5h16l.001 10H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 13 5-3-5-3z\"}}]})(props);\n};\nexport function BiSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.829 14.828a4.055 4.055 0 0 1-1.272.858 4.002 4.002 0 0 1-4.875-1.45l-1.658 1.119a6.063 6.063 0 0 0 1.621 1.62 5.963 5.963 0 0 0 2.148.903 6.042 6.042 0 0 0 2.415 0 5.972 5.972 0 0 0 2.148-.903c.313-.212.612-.458.886-.731.272-.271.52-.571.734-.889l-1.658-1.119a4.017 4.017 0 0 1-.489.592z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.493\",\"cy\":\"10.493\",\"r\":\"1.493\"}}]})(props);\n};\nexport function BiSortAZ (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.707 14.707A1 1 0 0 0 19 13h-7v2h4.586l-4.293 4.293A1 1 0 0 0 13 21h7v-2h-4.586l4.293-4.293zM7 3.99H5v12H2l4 4 4-4H7zM17 3h-2c-.417 0-.79.259-.937.649l-2.75 7.333h2.137L14.193 9h3.613l.743 1.981h2.137l-2.75-7.333A1 1 0 0 0 17 3zm-2.057 4 .75-2h.613l.75 2h-2.113z\"}}]})(props);\n};\nexport function BiSortAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20h2V8h3L8 4 4 8h3zm13-4h-3V4h-2v12h-3l4 4z\"}}]})(props);\n};\nexport function BiSortDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 20 4-4H7V4H5v12H2zm5-12h9v2h-9zm0 4h7v2h-7zm0-8h11v2H11zm0 12h5v2h-5z\"}}]})(props);\n};\nexport function BiSortUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9h9v2h-9zm0 4h7v2h-7zm0-8h11v2H11zm0 12h5v2h-5zm-6 3h2V8h3L6 4 2 8h3z\"}}]})(props);\n};\nexport function BiSortZA (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.707 14.707A1 1 0 0 0 19 13h-7v2h4.586l-4.293 4.293A1 1 0 0 0 13 21h7v-2h-4.586l4.293-4.293zM6 3.99l-4 4h3v12h2v-12h3zM17 3h-2c-.417 0-.79.259-.937.649l-2.75 7.333h2.137L14.193 9h3.613l.743 1.981h2.137l-2.75-7.333A1 1 0 0 0 17 3zm-2.057 4 .75-2h.613l.75 2h-2.113z\"}}]})(props);\n};\nexport function BiSort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16H4l6 6V2H8zm6-11v17h2V8h4l-6-6z\"}}]})(props);\n};\nexport function BiSpa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.787 9.023c-.125.027-1.803.418-3.953 1.774-.323-1.567-1.279-4.501-4.108-7.485L12 2.546l-.726.767C8.435 6.308 7.483 9.25 7.163 10.827 5.005 9.448 3.34 9.052 3.218 9.024L2 8.752V10c0 7.29 3.925 12 10 12 5.981 0 10-4.822 10-12V8.758l-1.213.265zM8.999 12.038c.002-.033.152-3.1 3.001-6.532C14.814 8.906 14.999 12 15 12v.125a18.933 18.933 0 0 0-3.01 3.154 19.877 19.877 0 0 0-2.991-3.113v-.128zM12 20c-5.316 0-7.549-4.196-7.937-8.564 1.655.718 4.616 2.426 7.107 6.123l.841 1.249.825-1.26c2.426-3.708 5.425-5.411 7.096-6.122C19.534 15.654 17.304 20 12 20z\"}}]})(props);\n};\nexport function BiSpaceBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13H7V9H5v6h14V9h-2z\"}}]})(props);\n};\nexport function BiSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 18H6V4h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12.01\",\"cy\":\"7\",\"r\":\"2\"}}]})(props);\n};\nexport function BiSprayCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.002 2h-4a1 1 0 0 0-1 1v3.812a5.998 5.998 0 0 0-3 5.188v.988L3 13l.002.072V21a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-9a5.999 5.999 0 0 0-3-5.188V3a1 1 0 0 0-1-1zm-3 4V4h2v2h-2zm5.001 14h-8v-6h8v6zm-8.001-8c0-2.206 1.794-4 4-4s4 1.794 4 4h-8zm8.001-9h2v2h-2zM16 3h2v2h-2zm0 3h2v2h-2zm3-3h2v2h-2zm0 3h2v2h-2zm0 3h2v2h-2z\"}}]})(props);\n};\nexport function BiSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5zM5 19V5h14l.002 14H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h1.998v2H7zm4 0h6v2h-6zm-4 4h1.998v2H7zm4 0h6v2h-6zm-4 4h1.998v2H7zm4 0h6v2h-6z\"}}]})(props);\n};\nexport function BiSquareRounded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2H7C4.243 2 2 4.243 2 7v10c0 2.757 2.243 5 5 5h10c2.757 0 5-2.243 5-5V7c0-2.757-2.243-5-5-5zm3 15c0 1.654-1.346 3-3 3H7c-1.654 0-3-1.346-3-3V7c0-1.654 1.346-3 3-3h10c1.654 0 3 1.346 3 3v10z\"}}]})(props);\n};\nexport function BiSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 16H5V5h14v14z\"}}]})(props);\n};\nexport function BiStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.516 14.323-1.49 6.452a.998.998 0 0 0 1.529 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082a1 1 0 0 0-.59-1.74l-5.701-.454-2.467-5.461a.998.998 0 0 0-1.822 0L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.214 4.107zm2.853-4.326a.998.998 0 0 0 .832-.586L12 5.43l1.799 3.981a.998.998 0 0 0 .832.586l3.972.315-3.271 2.944c-.284.256-.397.65-.293 1.018l1.253 4.385-3.736-2.491a.995.995 0 0 0-1.109 0l-3.904 2.603 1.05-4.546a1 1 0 0 0-.276-.94l-3.038-2.962 4.09-.326z\"}}]})(props);\n};\nexport function BiStation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.758 16.243 1.414-1.415a3.97 3.97 0 0 1-1.173-2.831c0-1.068.417-2.071 1.173-2.825L7.758 7.756a5.957 5.957 0 0 0-1.76 4.24c0 1.604.625 3.112 1.76 4.247zm8.484 0A5.96 5.96 0 0 0 18 12a5.96 5.96 0 0 0-1.758-4.243l-1.414 1.414C15.584 9.927 16 10.932 16 12s-.416 2.073-1.172 2.829l1.414 1.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.344 17.657a7.953 7.953 0 0 1-2.345-5.659c0-2.137.833-4.145 2.345-5.654L4.93 4.929c-1.89 1.886-2.931 4.397-2.931 7.069s1.041 5.183 2.931 7.073l1.414-1.414zM17.657 6.343A7.948 7.948 0 0 1 20 12a7.948 7.948 0 0 1-2.343 5.657l1.414 1.414A9.932 9.932 0 0 0 22 12a9.934 9.934 0 0 0-2.929-7.071l-1.414 1.414z\"}}]})(props);\n};\nexport function BiStats (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12a2 2 0 0 0-.703.133l-2.398-1.963c.059-.214.101-.436.101-.67C17 8.114 15.886 7 14.5 7S12 8.114 12 9.5c0 .396.1.765.262 1.097l-2.909 3.438A2.06 2.06 0 0 0 9 14c-.179 0-.348.03-.512.074l-2.563-2.563C5.97 11.348 6 11.179 6 11c0-1.108-.892-2-2-2s-2 .892-2 2 .892 2 2 2c.179 0 .348-.03.512-.074l2.563 2.563A1.906 1.906 0 0 0 7 16c0 1.108.892 2 2 2s2-.892 2-2c0-.237-.048-.46-.123-.671l2.913-3.442c.227.066.462.113.71.113a2.48 2.48 0 0 0 1.133-.281l2.399 1.963A2.077 2.077 0 0 0 18 14c0 1.108.892 2 2 2s2-.892 2-2-.892-2-2-2z\"}}]})(props);\n};\nexport function BiSticker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.796 9.982C20.849 5.357 16.729 2 12 2 6.486 2 2 6.486 2 12c0 4.729 3.357 8.849 7.982 9.796a.988.988 0 0 0 .908-.272l10.633-10.633c.238-.238.34-.578.273-.909zM11 18a7.93 7.93 0 0 1 1.365-4.471 8.18 8.18 0 0 1 .978-1.186 8.211 8.211 0 0 1 1.184-.977 8.128 8.128 0 0 1 1.36-.738c.481-.203.986-.36 1.501-.466a8.112 8.112 0 0 1 2.17-.134l-8.529 8.529c-.013-.185-.029-.37-.029-.557zm-7-6c0-4.411 3.589-8 8-8 2.909 0 5.528 1.589 6.929 4.005a9.99 9.99 0 0 0-1.943.198c-.643.132-1.274.328-1.879.583a10.15 10.15 0 0 0-1.699.923c-.533.361-1.03.771-1.479 1.22s-.858.945-1.221 1.48c-.359.533-.67 1.104-.922 1.698A10.013 10.013 0 0 0 9 18c0 .491.048.979.119 1.461C6.089 18.288 4 15.336 4 12z\"}}]})(props);\n};\nexport function BiStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h6v6H9z\"}}]})(props);\n};\nexport function BiStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10v10H7z\"}}]})(props);\n};\nexport function BiStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c-4.411 0-8 3.589-8 8s3.589 8 8 8 8-3.589 8-8-3.589-8-8-8zm0 14c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9h2v5h-2zM9 2h6v2H9zm10.293 5.707-2-2 1.414-1.414 2 2z\"}}]})(props);\n};\nexport function BiStoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 5c0-1.654-1.346-3-3-3H5C3.346 2 2 3.346 2 5v2.831c0 1.053.382 2.01 1 2.746V19c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-8.424c.618-.735 1-1.692 1-2.746V5zm-2 0v2.831c0 1.14-.849 2.112-1.891 2.167L18 10c-1.103 0-2-.897-2-2V4h3c.552 0 1 .449 1 1zM10 4h4v4c0 1.103-.897 2-2 2s-2-.897-2-2V4zM4 5c0-.551.448-1 1-1h3v4c0 1.103-.897 2-2 2l-.109-.003C4.849 9.943 4 8.971 4 7.831V5zm6 14v-3h4v3h-4zm6 0v-3c0-1.103-.897-2-2-2h-4c-1.103 0-2 .897-2 2v3H5v-7.131c.254.067.517.111.787.125A3.988 3.988 0 0 0 9 10.643c.733.832 1.807 1.357 3 1.357s2.267-.525 3-1.357a3.988 3.988 0 0 0 3.213 1.351c.271-.014.533-.058.787-.125V19h-3z\"}}]})(props);\n};\nexport function BiStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.148 2.971A2.008 2.008 0 0 0 17.434 2H6.566c-.698 0-1.355.372-1.714.971L2.143 7.485A.995.995 0 0 0 2 8a3.97 3.97 0 0 0 1 2.618V19c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-8.382A3.97 3.97 0 0 0 22 8a.995.995 0 0 0-.143-.515l-2.709-4.514zm.836 5.28A2.003 2.003 0 0 1 18 10c-1.103 0-2-.897-2-2 0-.068-.025-.128-.039-.192l.02-.004L15.22 4h2.214l2.55 4.251zM10.819 4h2.361l.813 4.065C13.958 9.137 13.08 10 12 10s-1.958-.863-1.993-1.935L10.819 4zM6.566 4H8.78l-.76 3.804.02.004C8.025 7.872 8 7.932 8 8c0 1.103-.897 2-2 2a2.003 2.003 0 0 1-1.984-1.749L6.566 4zM10 19v-3h4v3h-4zm6 0v-3c0-1.103-.897-2-2-2h-4c-1.103 0-2 .897-2 2v3H5v-7.142c.321.083.652.142 1 .142a3.99 3.99 0 0 0 3-1.357c.733.832 1.807 1.357 3 1.357s2.267-.525 3-1.357A3.99 3.99 0 0 0 18 12c.348 0 .679-.059 1-.142V19h-3z\"}}]})(props);\n};\nexport function BiStreetView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h2v-5h2V9c0-1.103-.897-2-2-2h-4c-1.103 0-2 .897-2 2v4h2v5h2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18.446 11.386-.893 1.789C19.108 13.95 20 14.98 20 16c0 1.892-3.285 4-8 4s-8-2.108-8-4c0-1.02.892-2.05 2.446-2.825l-.893-1.789C3.295 12.512 2 14.193 2 16c0 3.364 4.393 6 10 6s10-2.636 10-6c0-1.807-1.295-3.488-3.554-4.614z\"}}]})(props);\n};\nexport function BiStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11h-8c-4 0-4-1.816-4-2.5C8 7.882 8 6 12 6c2.8 0 2.99 1.678 3 2.014L16 8h1c0-1.384-1.045-4-5-4-5.416 0-6 3.147-6 4.5 0 .728.148 1.667.736 2.5H4v2h16v-2zm-8 7c-3.793 0-3.99-1.815-4-2H6c0 .04.069 4 6 4 5.221 0 6-2.819 6-4.5 0-.146-.009-.317-.028-.5h-2.006c.032.2.034.376.034.5 0 .684 0 2.5-4 2.5z\"}}]})(props);\n};\nexport function BiSubdirectoryLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13h-6v-3l-5 4 5 4v-3h7a1 1 0 0 0 1-1V5h-2v8z\"}}]})(props);\n};\nexport function BiSubdirectoryRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13H8V5H6v9a1 1 0 0 0 1 1h7v3l5-4-5-4v3z\"}}]})(props);\n};\nexport function BiSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.993 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007S14.761 6.993 12 6.993 6.993 9.239 6.993 12zM12 8.993c1.658 0 3.007 1.349 3.007 3.007S13.658 15.007 12 15.007 8.993 13.658 8.993 12 10.342 8.993 12 8.993zM10.998 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2h-3zm17 0h3v2h-3zM4.219 18.363l2.12-2.122 1.415 1.414-2.12 2.122zM16.24 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.342 7.759 4.22 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z\"}}]})(props);\n};\nexport function BiSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12v4.143C2 17.167 2.897 18 4 18h1a1 1 0 0 0 1-1v-5.143a1 1 0 0 0-1-1h-.908C4.648 6.987 7.978 4 12 4s7.352 2.987 7.908 6.857H19a1 1 0 0 0-1 1V18c0 1.103-.897 2-2 2h-2v-1h-4v3h6c2.206 0 4-1.794 4-4 1.103 0 2-.833 2-1.857V12c0-5.514-4.486-10-10-10z\"}}]})(props);\n};\nexport function BiSushi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C7.51 2 4 4.2 4 7v10c0 2.8 3.51 5 8 5s8-2.2 8-5V7c0-2.8-3.51-5-8-5zm0 18c-3.54 0-6-1.58-6-3v-6.67A10.52 10.52 0 0 0 12 12a10.52 10.52 0 0 0 6-1.67V17c0 1.42-2.46 3-6 3zm0-10c-3.54 0-6-1.58-6-3s2.46-3 6-3 6 1.58 6 3-2.46 3-6 3z\"}},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12\",\"cy\":\"7\",\"rx\":\"3\",\"ry\":\"1.71\"}}]})(props);\n};\nexport function BiSwim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"19.003\",\"cy\":\"6.002\",\"r\":\"2.002\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.875 13.219c-.567.453-.978.781-1.878.781-.899 0-1.288-.311-1.876-.781-.68-.543-1.525-1.219-3.127-1.219-1.601 0-2.445.676-3.124 1.219-.588.47-.975.781-1.875.781-.898 0-1.286-.311-1.873-.78C4.443 12.676 3.6 12 2 12v2c.897 0 1.285.311 1.872.78.679.544 1.523 1.22 3.123 1.22s2.446-.676 3.125-1.22c.587-.47.976-.78 1.874-.78.9 0 1.311.328 1.878.781.679.543 1.524 1.219 3.125 1.219 1.602 0 2.447-.676 3.127-1.219.588-.47.977-.781 1.876-.781v-2c-1.601 0-2.446.676-3.125 1.219zM16.997 19c-.899 0-1.288-.311-1.876-.781-.68-.543-1.525-1.219-3.127-1.219-1.601 0-2.445.676-3.124 1.219-.588.47-.975.781-1.875.781-.898 0-1.286-.311-1.873-.78C4.443 17.676 3.6 17 2 17v2c.897 0 1.285.311 1.872.78.679.544 1.523 1.22 3.123 1.22s2.446-.676 3.125-1.22c.587-.47.976-.78 1.874-.78.9 0 1.311.328 1.878.781.679.543 1.524 1.219 3.125 1.219 1.602 0 2.447-.676 3.127-1.219.588-.47.977-.781 1.876-.781v-2c-1.601 0-2.446.676-3.125 1.219-.567.453-.978.781-1.878.781zM11 5.419l2.104 2.104-2.057 2.57c.286-.056.596-.093.947-.093 1.602 0 2.447.676 3.127 1.219.588.47.977.781 1.876.781.9 0 1.311-.328 1.878-.781.132-.105.274-.217.423-.326l-2.096-2.09.005-.005-5.5-5.5a.999.999 0 0 0-1.414 0l-4 4 1.414 1.414L11 5.419z\"}}]})(props);\n};\nexport function BiSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13 7.101.01.001a4.978 4.978 0 0 1 2.526 1.362 5.005 5.005 0 0 1 1.363 2.528 5.061 5.061 0 0 1-.001 2.016 4.976 4.976 0 0 1-1.363 2.527l1.414 1.414a7.014 7.014 0 0 0 1.908-3.54 6.98 6.98 0 0 0 0-2.819 6.957 6.957 0 0 0-1.907-3.539 6.97 6.97 0 0 0-2.223-1.5 6.921 6.921 0 0 0-1.315-.408c-.137-.028-.275-.043-.412-.063V2L9 6l4 4V7.101zm-7.45 7.623c.174.412.392.812.646 1.19.249.37.537.718.854 1.034a7.036 7.036 0 0 0 2.224 1.501c.425.18.868.317 1.315.408.167.034.338.056.508.078v2.944l4-4-4-4v3.03c-.035-.006-.072-.003-.107-.011a4.978 4.978 0 0 1-2.526-1.362 4.994 4.994 0 0 1 .001-7.071L7.051 7.05a7.01 7.01 0 0 0-1.5 2.224A6.974 6.974 0 0 0 5 12a6.997 6.997 0 0 0 .55 2.724z\"}}]})(props);\n};\nexport function BiTab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H6zm0 15V5h12l.002 12H6z\"}}]})(props);\n};\nexport function BiTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h15.893c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm0-2v-5h4v5H4zM14 7v5h-4V7h4zM8 7v5H4V7h4zm2 12v-5h4v5h-4zm6 0v-5h3.894v5H16zm3.893-7H16V7h3.893v5z\"}}]})(props);\n};\nexport function BiTachometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C6.486 4 2 8.486 2 14a9.89 9.89 0 0 0 1.051 4.445c.17.34.516.555.895.555h16.107c.379 0 .726-.215.896-.555A9.89 9.89 0 0 0 22 14c0-5.514-4.486-10-10-10zm7.41 13H4.59A7.875 7.875 0 0 1 4 14c0-4.411 3.589-8 8-8s8 3.589 8 8a7.875 7.875 0 0 1-.59 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.939 12.939a1.53 1.53 0 0 0 0 2.561 1.53 1.53 0 0 0 2.121-.44l3.962-6.038a.034.034 0 0 0 0-.035.033.033 0 0 0-.045-.01l-6.038 3.962z\"}}]})(props);\n};\nexport function BiTagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.868 4.504A1 1 0 0 0 17 4H3a1 1 0 0 0-.868 1.496L5.849 12l-3.717 6.504A1 1 0 0 0 3 20h14a1 1 0 0 0 .868-.504l4-7a.998.998 0 0 0 0-.992l-4-7zM16.42 18H4.724l3.145-5.504a.998.998 0 0 0 0-.992L4.724 6H16.42l3.429 6-3.429 6z\"}}]})(props);\n};\nexport function BiTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H8.515a2 2 0 0 0-1.627.838l-4.701 6.581a.997.997 0 0 0 0 1.162l4.701 6.581A2 2 0 0 0 8.515 20H20c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm0 14H8.515l-4.286-6 4.286-6H20v12z\"}}]})(props);\n};\nexport function BiTargetLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4.069V2h-2v2.069A8.008 8.008 0 0 0 4.069 11H2v2h2.069A8.007 8.007 0 0 0 11 19.931V22h2v-2.069A8.007 8.007 0 0 0 19.931 13H22v-2h-2.069A8.008 8.008 0 0 0 13 4.069zM12 18c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z\"}}]})(props);\n};\nexport function BiTaskX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2h-2a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1H5c-1.103 0-2 .897-2 2v15zM5 5h2v2h10V5h2v15H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.292 10.295 12 12.587l-2.292-2.292-1.414 1.414 2.292 2.292-2.292 2.292 1.414 1.414L12 15.415l2.292 2.292 1.414-1.414-2.292-2.292 2.292-2.292z\"}}]})(props);\n};\nexport function BiTask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2h-2a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1H5c-1.103 0-2 .897-2 2v15c0 1.103.897 2 2 2zM5 5h2v2h10V5h2v15H5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 13.586-1.793-1.793-1.414 1.414L11 16.414l5.207-5.207-1.414-1.414z\"}}]})(props);\n};\nexport function BiTaxi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.772 10.156-1.368-4.105A2.995 2.995 0 0 0 16.559 4H14V2h-4v2H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.105A2.003 2.003 0 0 0 2 12v5c0 .753.423 1.402 1.039 1.743-.013.066-.039.126-.039.195V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2h12v2a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2.062c0-.069-.026-.13-.039-.195A1.993 1.993 0 0 0 22 17v-5c0-.829-.508-1.541-1.228-1.844zM4 17v-5h16l.002 5H4zM7.441 6h9.117c.431 0 .813.274.949.684L18.613 10H5.387l1.105-3.316A1 1 0 0 1 7.441 6z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiTennisBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 19.081c1.895 1.895 4.405 2.938 7.071 2.938s5.177-1.043 7.071-2.938c3.899-3.899 3.899-10.243 0-14.143C17.177 3.044 14.665 2 12 2S6.823 3.044 4.929 4.938c-3.899 3.899-3.899 10.244 0 14.143zm12.728-1.414a7.969 7.969 0 0 1-3.813 2.129c-.009-1.602.586-3.146 1.691-4.251 1.163-1.163 2.732-1.828 4.277-1.851a7.945 7.945 0 0 1-2.155 3.973zm2.325-5.965c-2.124-.021-4.284.853-5.861 2.429-1.532 1.532-2.327 3.68-2.263 5.881a7.946 7.946 0 0 1-5.516-2.345 7.97 7.97 0 0 1-2.332-5.512c.077.002.154.014.231.014 2.115 0 4.16-.804 5.637-2.28 1.58-1.58 2.457-3.739 2.43-5.873a7.948 7.948 0 0 1 5.349 2.337 7.96 7.96 0 0 1 2.325 5.349zM6.343 6.353a7.968 7.968 0 0 1 3.973-2.169c-.018 1.555-.685 3.124-1.851 4.291-1.104 1.103-2.642 1.696-4.238 1.691a7.929 7.929 0 0 1 2.116-3.813z\"}}]})(props);\n};\nexport function BiTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14h6v2h-6zM6.293 9.707 8.586 12l-2.293 2.293 1.414 1.414L11.414 12 7.707 8.293z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM4 18V6h16l.002 12H4z\"}}]})(props);\n};\nexport function BiTestTube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.293 2.707.818.818L3.318 14.318C2.468 15.168 2 16.298 2 17.5s.468 2.332 1.318 3.183C4.169 21.532 5.299 22 6.5 22s2.331-.468 3.182-1.318L20.475 9.889l.818.818 1.414-1.414-8-8-1.414 1.414zm3.182 8.354-2.403-2.404-1.414 1.414 2.403 2.404-1.414 1.415-.99-.99-1.414 1.414.99.99-1.415 1.415-2.403-2.404L7 15.728l2.403 2.404-1.136 1.136c-.945.944-2.59.944-3.535 0C4.26 18.795 4 18.168 4 17.5s.26-1.295.732-1.768L15.525 4.939l3.535 3.535-2.585 2.587z\"}}]})(props);\n};\nexport function BiText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8h2V6h3.252L7.68 18H5v2h8v-2h-2.252L13.32 6H17v2h2V4H5z\"}}]})(props);\n};\nexport function BiTimeFive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7h-2v5.414l3.293 3.293 1.414-1.414L13 11.586z\"}}]})(props);\n};\nexport function BiTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7h-2v6h6v-2h-4z\"}}]})(props);\n};\nexport function BiTimer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.145 8.27 1.563-1.563-1.414-1.414L18.586 7c-1.05-.63-2.274-1-3.586-1-3.859 0-7 3.14-7 7s3.141 7 7 7 7-3.14 7-7a6.966 6.966 0 0 0-1.855-4.73zM15 18c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10h2v4h-2zm-1-7h4v2h-4zM3 8h4v2H3zm0 8h4v2H3zm-1-4h3.99v2H2z\"}}]})(props);\n};\nexport function BiTired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14c-3 0-4 3-4 3h8s-1-3-4-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.555 8.832-1.109-1.664-3 2a1.001 1.001 0 0 0 .108 1.727l4 2 .895-1.789-2.459-1.229 1.565-1.045zm-6.557 1.23a1 1 0 0 0-.443-.894l-3-2-1.11 1.664 1.566 1.044-2.459 1.229.895 1.789 4-2a.998.998 0 0 0 .551-.832z\"}}]})(props);\n};\nexport function BiToggleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9c-1.628 0-3 1.372-3 3s1.372 3 3 3 3-1.372 3-3-1.372-3-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H8c-3.3 0-5.989 2.689-6 6v.016A6.01 6.01 0 0 0 8 18h8a6.01 6.01 0 0 0 6-5.994V12c-.009-3.309-2.699-6-6-6zm0 10H8a4.006 4.006 0 0 1-4-3.99C4.004 9.799 5.798 8 8 8h8c2.202 0 3.996 1.799 4 4.006A4.007 4.007 0 0 1 16 16zm4-3.984.443-.004.557.004h-1z\"}}]})(props);\n};\nexport function BiToggleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9c-1.628 0-3 1.372-3 3s1.372 3 3 3 3-1.372 3-3-1.372-3-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H8c-3.296 0-5.982 2.682-6 5.986v.042A6.01 6.01 0 0 0 8 18h8c3.309 0 6-2.691 6-6s-2.691-6-6-6zm0 10H8a4.006 4.006 0 0 1-4-3.99C4.004 9.799 5.798 8 8 8h8c2.206 0 4 1.794 4 4s-1.794 4-4 4z\"}}]})(props);\n};\nexport function BiTone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1 9H4.069a7.965 7.965 0 0 1 .52-2H11v2zm0 4H4.589a7.965 7.965 0 0 1-.52-2H11v2zm0-10.931V7H5.765A7.996 7.996 0 0 1 11 4.069zM5.765 17H11v2.931A7.996 7.996 0 0 1 5.765 17zM13 19.931V4.069c3.939.495 7 3.858 7 7.931s-3.061 7.436-7 7.931z\"}}]})(props);\n};\nexport function BiTrafficCone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.943 2.667A1 1 0 0 0 13 2h-2a1 1 0 0 0-.943.667L4.292 19H2v2h20v-2h-2.292L13.943 2.667zM15.47 13H8.53l1.06-3h4.82l1.06 3zm-3.763-9h.586l1.412 4h-3.41l1.412-4zM7.825 15h8.35l1.412 4H6.413l1.412-4z\"}}]})(props);\n};\nexport function BiTrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"14.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.87 3.34A3.55 3.55 0 0 0 16.38 2H7.62a3.47 3.47 0 0 0-2.5 1.35A4.32 4.32 0 0 0 4 6v12a1 1 0 0 0 1 1h2l-2 3h2.32L8 21h8l.68 1H19l-2-3h2a1 1 0 0 0 1-1V6a4.15 4.15 0 0 0-1.13-2.66zM7.62 4h8.72a1.77 1.77 0 0 1 1 .66 3.25 3.25 0 0 1 .25.34H6.39a2.3 2.3 0 0 1 .25-.35A1.65 1.65 0 0 1 7.62 4zM6 8V7h12v3H6zm12 9H6v-5h12z\"}}]})(props);\n};\nexport function BiTransferAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.924 10.383a1 1 0 0 0-.217-1.09l-5-5-1.414 1.414L16.586 9H4v2h15a1 1 0 0 0 .924-.617zM4.076 13.617a1 1 0 0 0 .217 1.09l5 5 1.414-1.414L7.414 15H20v-2H5a.999.999 0 0 0-.924.617z\"}}]})(props);\n};\nexport function BiTransfer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15 12 5-4-5-4v2.999H2v2h13zm7 3H9v-3l-5 4 5 4v-3h13z\"}}]})(props);\n};\nexport function BiTrashAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2H9c-1.103 0-2 .897-2 2v2H3v2h2v12c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2V8h2V6h-4V4c0-1.103-.897-2-2-2zM9 4h6v2H9V4zm8 16H7V8h10v12z\"}}]})(props);\n};\nexport function BiTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8h2V6h-4V4a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v2H3v2h2zM9 4h6v2H9zM8 8h9v12H7V8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h2v8H9zm4 0h2v8h-2z\"}}]})(props);\n};\nexport function BiTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14 9.586-4 4-6.293-6.293-1.414 1.414L10 16.414l4-4 4.293 4.293L16 19h6v-6l-2.293 2.293z\"}}]})(props);\n};\nexport function BiTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 10.414 4 4 5.707-5.707L22 11V5h-6l2.293 2.293L14 11.586l-4-4-7.707 7.707 1.414 1.414z\"}}]})(props);\n};\nexport function BiTrim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16h3v3c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-3V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2zm14-6-.003 9H10v-3h4c1.103 0 2-.897 2-2v-4h3zM5 10h5V5h4l-.003 9H5v-4z\"}}]})(props);\n};\nexport function BiTrip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.844 20H6.5C5.121 20 4 18.879 4 17.5S5.121 15 6.5 15h7c1.93 0 3.5-1.57 3.5-3.5S15.43 8 13.5 8H8.639a9.812 9.812 0 0 1-1.354 2H13.5c.827 0 1.5.673 1.5 1.5s-.673 1.5-1.5 1.5h-7C4.019 13 2 15.019 2 17.5S4.019 22 6.5 22h9.593a10.415 10.415 0 0 1-1.249-2zM5 2C3.346 2 2 3.346 2 5c0 3.188 3 5 3 5s3-1.813 3-5c0-1.654-1.346-3-3-3zm0 4.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 5 6.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14c-1.654 0-3 1.346-3 3 0 3.188 3 5 3 5s3-1.813 3-5c0-1.654-1.346-3-3-3zm0 4.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 19 18.5z\"}}]})(props);\n};\nexport function BiTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4h-3V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1H3a1 1 0 0 0-1 1v3c0 4.31 1.799 6.91 4.819 7.012A6.001 6.001 0 0 0 11 17.91V20H9v2h6v-2h-2v-2.09a6.01 6.01 0 0 0 4.181-2.898C20.201 14.91 22 12.31 22 8V5a1 1 0 0 0-1-1zM4 8V6h2v6.83C4.216 12.078 4 9.299 4 8zm8 8c-2.206 0-4-1.794-4-4V4h8v8c0 2.206-1.794 4-4 4zm6-3.17V6h2v2c0 1.299-.216 4.078-2 4.83z\"}}]})(props);\n};\nexport function BiTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-5.586l2.293-2.293-1.414-1.414L12 5.586 8.707 2.293 7.293 3.707 9.586 6H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zM4 19V8h16l.002 11H4z\"}}]})(props);\n};\nexport function BiUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18h14v2H5zM6 4v6c0 3.309 2.691 6 6 6s6-2.691 6-6V4h-2v6c0 2.206-1.794 4-4 4s-4-1.794-4-4V4H6z\"}}]})(props);\n};\nexport function BiUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h6c1.654 0 3 1.346 3 3s-1.346 3-3 3h-3v2h3c2.757 0 5-2.243 5-5s-2.243-5-5-5H9V5L4 9l5 4v-3z\"}}]})(props);\n};\nexport function BiUnite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 16a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16h1V8a2 2 0 0 1 2-2h8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2zm3 3a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-1v8a2 2 0 0 1-2 2H8v1z\"}}]})(props);\n};\nexport function BiUniversalAccess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"7.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 10.5 16 9l-3 1h-2L8 9l-.5 1.5 3 1V13L9 17.25l1.5.75 1.25-3.5h.5L13.5 18l1.5-.75L13.5 13v-1.5l3-1z\"}}]})(props);\n};\nexport function BiUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.949 14.121 19.071 12a5.008 5.008 0 0 0 0-7.071 5.006 5.006 0 0 0-7.071 0l-.707.707 1.414 1.414.707-.707a3.007 3.007 0 0 1 4.243 0 3.005 3.005 0 0 1 0 4.243l-2.122 2.121a2.723 2.723 0 0 1-.844.57L13.414 12l1.414-1.414-.707-.707a4.965 4.965 0 0 0-3.535-1.465c-.235 0-.464.032-.691.066L3.707 2.293 2.293 3.707l18 18 1.414-1.414-5.536-5.536c.277-.184.538-.396.778-.636zm-6.363 3.536a3.007 3.007 0 0 1-4.243 0 3.005 3.005 0 0 1 0-4.243l1.476-1.475-1.414-1.414L4.929 12a5.008 5.008 0 0 0 0 7.071 4.983 4.983 0 0 0 3.535 1.462A4.982 4.982 0 0 0 12 19.071l.707-.707-1.414-1.414-.707.707z\"}}]})(props);\n};\nexport function BiUpArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8.414V18h2V8.414l4.293 4.293 1.414-1.414L12 4.586l-6.707 6.707 1.414 1.414z\"}}]})(props);\n};\nexport function BiUpArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.001 1.993C6.486 1.994 2 6.48 2 11.994c.001 5.514 4.487 10 10 10 5.515 0 10.001-4.486 10.001-10s-4.486-10-10-10.001zM12 19.994c-4.41 0-7.999-3.589-8-8 0-4.411 3.589-8 8.001-8.001 4.411.001 8 3.59 8 8.001s-3.589 8-8.001 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.001 8.001-4.005 4.005h3.005V16h2v-3.994h3.004z\"}}]})(props);\n};\nexport function BiUpArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18a1.002 1.002 0 0 0 .823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 0 0 3 19zm9-12.243L19.092 17H4.908L12 6.757z\"}}]})(props);\n};\nexport function BiUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15h2V9h3l-4-5-4 5h3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18H4v-7H2v7c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-7h-2v7z\"}}]})(props);\n};\nexport function BiUpsideDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.829 9.172c.181.181.346.38.488.592l1.658-1.119a6.063 6.063 0 0 0-1.621-1.62 5.963 5.963 0 0 0-2.148-.903 5.985 5.985 0 0 0-5.448 1.634 5.993 5.993 0 0 0-.733.889l1.657 1.119a4.017 4.017 0 0 1 2.51-1.683 3.989 3.989 0 0 1 3.637 1.091z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"13.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.507\",\"cy\":\"13.507\",\"r\":\"1.493\"}}]})(props);\n};\nexport function BiUpvote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.781 2.375c-.381-.475-1.181-.475-1.562 0l-8 10A1.001 1.001 0 0 0 4 14h4v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-7h4a1.001 1.001 0 0 0 .781-1.625l-8-10zM15 12h-1v8h-4v-8H6.081L12 4.601 17.919 12H15z\"}}]})(props);\n};\nexport function BiUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10h1v2h-4V6h2l-3-4-3 4h2v8H7v-2.277c.596-.347 1-.985 1-1.723a2 2 0 0 0-4 0c0 .738.404 1.376 1 1.723V14c0 1.103.897 2 2 2h4v2.277A1.99 1.99 0 0 0 10 20a2 2 0 0 0 4 0c0-.738-.404-1.376-1-1.723V14h4c1.103 0 2-.897 2-2v-2h1V6h-4v4z\"}}]})(props);\n};\nexport function BiUserCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.29 8.29 16 12.58l-1.3-1.29-1.41 1.42 2.7 2.7 5.72-5.7zM4 8a3.91 3.91 0 0 0 4 4 3.91 3.91 0 0 0 4-4 3.91 3.91 0 0 0-4-4 3.91 3.91 0 0 0-4 4zm6 0a1.91 1.91 0 0 1-2 2 1.91 1.91 0 0 1-2-2 1.91 1.91 0 0 1 2-2 1.91 1.91 0 0 1 2 2zM4 18a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1h2v-1a5 5 0 0 0-5-5H7a5 5 0 0 0-5 5v1h2z\"}}]})(props);\n};\nexport function BiUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2A10.13 10.13 0 0 0 2 12a10 10 0 0 0 4 7.92V20h.1a9.7 9.7 0 0 0 11.8 0h.1v-.08A10 10 0 0 0 22 12 10.13 10.13 0 0 0 12 2zM8.07 18.93A3 3 0 0 1 11 16.57h2a3 3 0 0 1 2.93 2.36 7.75 7.75 0 0 1-7.86 0zm9.54-1.29A5 5 0 0 0 13 14.57h-2a5 5 0 0 0-4.61 3.07A8 8 0 0 1 4 12a8.1 8.1 0 0 1 8-8 8.1 8.1 0 0 1 8 8 8 8 0 0 1-2.39 5.64z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6a3.91 3.91 0 0 0-4 4 3.91 3.91 0 0 0 4 4 3.91 3.91 0 0 0 4-4 3.91 3.91 0 0 0-4-4zm0 6a1.91 1.91 0 0 1-2-2 1.91 1.91 0 0 1 2-2 1.91 1.91 0 0 1 2 2 1.91 1.91 0 0 1-2 2z\"}}]})(props);\n};\nexport function BiUserMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11h8v2h-8zM8 4a3.91 3.91 0 0 0-4 4 3.91 3.91 0 0 0 4 4 3.91 3.91 0 0 0 4-4 3.91 3.91 0 0 0-4-4zm0 6a1.91 1.91 0 0 1-2-2 1.91 1.91 0 0 1 2-2 1.91 1.91 0 0 1 2 2 1.91 1.91 0 0 1-2 2zm-4 8a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1h2v-1a5 5 0 0 0-5-5H7a5 5 0 0 0-5 5v1h2z\"}}]})(props);\n};\nexport function BiUserPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10c1.151 0 2-.848 2-2s-.849-2-2-2c-1.15 0-2 .848-2 2s.85 2 2 2zm0 1c-2.209 0-4 1.612-4 3.6v.386h8V14.6c0-1.988-1.791-3.6-4-3.6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h4l3 3 3-3h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-5 15-2 2-2-2H5V4h14l.002 13H14z\"}}]})(props);\n};\nexport function BiUserPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8h-2v3h-3v2h3v3h2v-3h3v-2h-3zM4 8a3.91 3.91 0 0 0 4 4 3.91 3.91 0 0 0 4-4 3.91 3.91 0 0 0-4-4 3.91 3.91 0 0 0-4 4zm6 0a1.91 1.91 0 0 1-2 2 1.91 1.91 0 0 1-2-2 1.91 1.91 0 0 1 2-2 1.91 1.91 0 0 1 2 2zM4 18a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1h2v-1a5 5 0 0 0-5-5H7a5 5 0 0 0-5 5v1h2z\"}}]})(props);\n};\nexport function BiUserVoice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12c2.28 0 4-1.72 4-4s-1.72-4-4-4-4 1.72-4 4 1.72 4 4 4zm0-6c1.178 0 2 .822 2 2s-.822 2-2 2-2-.822-2-2 .822-2 2-2zm1 7H7c-2.757 0-5 2.243-5 5v1h2v-1c0-1.654 1.346-3 3-3h2c1.654 0 3 1.346 3 3v1h2v-1c0-2.757-2.243-5-5-5zm9.364-10.364L16.95 4.05C18.271 5.373 19 7.131 19 9s-.729 3.627-2.05 4.95l1.414 1.414C20.064 13.663 21 11.403 21 9s-.936-4.663-2.636-6.364z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.535 5.464 14.121 6.88C14.688 7.445 15 8.198 15 9s-.312 1.555-.879 2.12l1.414 1.416C16.479 11.592 17 10.337 17 9s-.521-2.592-1.465-3.536z\"}}]})(props);\n};\nexport function BiUserX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15.71 15.71 2.29-2.3 2.29 2.3 1.42-1.42-2.3-2.29 2.3-2.29-1.42-1.42-2.29 2.3-2.29-2.3-1.42 1.42L16.58 12l-2.29 2.29zM12 8a3.91 3.91 0 0 0-4-4 3.91 3.91 0 0 0-4 4 3.91 3.91 0 0 0 4 4 3.91 3.91 0 0 0 4-4zM6 8a1.91 1.91 0 0 1 2-2 1.91 1.91 0 0 1 2 2 1.91 1.91 0 0 1-2 2 1.91 1.91 0 0 1-2-2zM4 18a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1h2v-1a5 5 0 0 0-5-5H7a5 5 0 0 0-5 5v1h2z\"}}]})(props);\n};\nexport function BiUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a5 5 0 1 0 5 5 5 5 0 0 0-5-5zm0 8a3 3 0 1 1 3-3 3 3 0 0 1-3 3zm9 11v-1a7 7 0 0 0-7-7h-4a7 7 0 0 0-7 7v1h2v-1a5 5 0 0 1 5-5h4a5 5 0 0 1 5 5v1z\"}}]})(props);\n};\nexport function BiVector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.277 8c.347.596.985 1 1.723 1a2 2 0 0 0 0-4c-.738 0-1.376.404-1.723 1H16V4a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v2H5.723C5.376 5.404 4.738 5 4 5a2 2 0 0 0 0 4c.738 0 1.376-.404 1.723-1H8v.369C5.133 9.84 4.318 12.534 4.091 14H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-.877c.197-.959.718-2.406 2.085-3.418A.984.984 0 0 0 9 11h6a.98.98 0 0 0 .792-.419c1.373 1.013 1.895 2.458 2.089 3.419H17a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1.092c-.227-1.466-1.042-4.161-3.908-5.632V8h2.277zM6 18H4v-2h2v2zm14 0h-2v-2h2v2zm-6-9h-4V5h4v4z\"}}]})(props);\n};\nexport function BiVerticalBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19h3v2h-3zM13 19h3v2h-3zM8 19h3v2H8zM3 19h3v2H3zM13 5h-2v8H8l4 4 4-4h-3V5z\"}}]})(props);\n};\nexport function BiVerticalCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5V2h-2v3H8l4 4 4-4zm0 17v-3h3l-4-4-4 4h3v3zM3 11h3v2H3zm5 0h3v2H8zm5 0h3v2h-3zm5 0h3v2h-3z\"}}]})(props);\n};\nexport function BiVerticalTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 7-4 4h3v8h2v-8h3l-4-4zM3 3h3v2H3zM8 3h3v2H8zM13 3h3v2h-3zM18 3h3v2h-3z\"}}]})(props);\n};\nexport function BiVial (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.95 3.564.708.707-9.193 9.193C2.521 14.408 2 15.664 2 17s.521 2.592 1.465 3.535C4.408 21.479 5.664 22 7 22s2.592-.521 3.535-1.465l9.193-9.193.707.708 1.414-1.414-8.485-8.486-1.414 1.414zM9.121 19.121c-1.133 1.133-3.109 1.133-4.242 0C4.313 18.555 4 17.802 4 17s.313-1.555.879-2.121L5.758 14h8.484l-5.121 5.121zM16.242 12H7.758l6.314-6.314 4.242 4.242L16.242 12z\"}}]})(props);\n};\nexport function BiVideoOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7c0-1.103-.897-2-2-2H6.414L3.707 2.293 2.293 3.707l18 18 1.414-1.414L18 16.586v-2.919L22 17V7l-4 3.333V7zm-2 7.586L8.414 7H16v7.586zM4 19h10.879l-2-2H4V8.121L2.145 6.265A1.977 1.977 0 0 0 2 7v10c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiVideoPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8H9v3H6v2h3v3h2v-3h3v-2h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-3.333L22 17V7l-4 3.333V7zm-1.999 10H4V7h12v5l.001 5z\"}}]})(props);\n};\nexport function BiVideoRecording (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9c0-1.103-.897-2-2-2h-1.434l-2.418-4.029A2.008 2.008 0 0 0 10.434 2H5v2h5.434l1.8 3H4c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-3l4 2v-7l-4 2V9zm-1.998 9H4V9h12l.001 4H16v1l.001.001.001 3.999z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14h6v2H6z\"}}]})(props);\n};\nexport function BiVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-3.333L22 17V7l-4 3.333V7zm-1.998 10H4V7h12l.001 4.999L16 12l.001.001.001 4.999z\"}}]})(props);\n};\nexport function BiVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 8a4.505 4.505 0 0 0-4.5 4.5c0 .925.281 1.784.762 2.5h-3.523c.48-.716.761-1.575.761-2.5C11 10.019 8.981 8 6.5 8S2 10.019 2 12.5 4.019 17 6.5 17c.171 0 .334-.032.5-.051V17h11v-.051c2.244-.252 4-2.139 4-4.449 0-2.481-2.019-4.5-4.5-4.5zM4 12.5C4 11.121 5.121 10 6.5 10S9 11.121 9 12.5 7.879 15 6.5 15 4 13.879 4 12.5zM17.5 15c-1.379 0-2.5-1.121-2.5-2.5s1.121-2.5 2.5-2.5 2.5 1.121 2.5 2.5-1.121 2.5-2.5 2.5z\"}}]})(props);\n};\nexport function BiVolumeFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21c3.527-1.547 5.999-4.909 5.999-9S19.527 4.547 16 3v2c2.387 1.386 3.999 4.047 3.999 7S18.387 17.614 16 19v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7v10c1.225-1.1 2-3.229 2-5s-.775-3.9-2-5zM4 17h2.697l5.748 3.832a1.004 1.004 0 0 0 1.027.05A1 1 0 0 0 14 20V4a1 1 0 0 0-1.554-.832L6.697 7H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h3c.033 0 .061-.016.093-.019a1.027 1.027 0 0 0 .38-.116c.026-.015.057-.017.082-.033L12 5.868v12.264l-4.445-2.964c-.025-.017-.056-.02-.082-.033a.986.986 0 0 0-.382-.116C7.059 15.016 7.032 15 7 15H4V9z\"}}]})(props);\n};\nexport function BiVolumeLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17h2.697l5.748 3.832a1.004 1.004 0 0 0 1.027.05A1 1 0 0 0 14 20V4a1 1 0 0 0-1.554-.832L6.697 7H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h3c.033 0 .061-.016.093-.019a1.027 1.027 0 0 0 .379-.116c.026-.014.057-.017.082-.033L12 5.868v12.264l-4.445-2.964c-.025-.018-.056-.02-.082-.033a.977.977 0 0 0-.382-.116C7.059 15.016 7.032 15 7 15H4V9zm12-2v10c1.225-1.1 2-3.229 2-5s-.775-3.9-2-5z\"}}]})(props);\n};\nexport function BiVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 20.293-2.023-2.023A9.566 9.566 0 0 0 21.999 12c0-4.091-2.472-7.453-5.999-9v2c2.387 1.386 3.999 4.047 3.999 7a8.113 8.113 0 0 1-1.672 4.913l-1.285-1.285C17.644 14.536 18 13.19 18 12c0-1.771-.775-3.9-2-5v7.586l-2-2V4a1 1 0 0 0-1.554-.832L7.727 6.313l-4.02-4.02-1.414 1.414 18 18 1.414-1.414zM12 5.868v4.718L9.169 7.755 12 5.868zM4 17h2.697l5.748 3.832a1.004 1.004 0 0 0 1.027.05A1 1 0 0 0 14 20v-1.879l-2-2v2.011l-4.445-2.964c-.025-.017-.056-.02-.082-.033a.986.986 0 0 0-.382-.116C7.059 15.016 7.032 15 7 15H4V9h.879L3.102 7.223A1.995 1.995 0 0 0 2 9v6c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17h2.697l5.748 3.832a1.004 1.004 0 0 0 1.027.05A1 1 0 0 0 14 20V4a1 1 0 0 0-1.554-.832L6.697 7H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h3c.033 0 .061-.016.093-.019a1.027 1.027 0 0 0 .379-.116c.026-.014.057-.017.082-.033L12 5.868v12.264l-4.445-2.964c-.025-.018-.056-.02-.082-.033a.977.977 0 0 0-.382-.116C7.059 15.016 7.032 15 7 15H4V9z\"}}]})(props);\n};\nexport function BiWalk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"13\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.978 12.27c.245.368.611.647 1.031.787l2.675.892.633-1.896-2.675-.892-1.663-2.495a2.016 2.016 0 0 0-.769-.679l-1.434-.717a1.989 1.989 0 0 0-1.378-.149l-3.193.797a2.002 2.002 0 0 0-1.306 1.046l-1.794 3.589 1.789.895 1.794-3.589 2.223-.556-1.804 8.346-3.674 2.527 1.133 1.648 3.675-2.528c.421-.29.713-.725.82-1.225l.517-2.388 2.517 1.888.925 4.625 1.961-.393-.925-4.627a2 2 0 0 0-.762-1.206l-2.171-1.628.647-3.885 1.208 1.813z\"}}]})(props);\n};\nexport function BiWalletAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H5C3.346 3 2 4.346 2 6v12c0 1.654 1.346 3 3 3h15c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM5 19c-.552 0-1-.449-1-1V6c0-.551.448-1 1-1h15v3h-6c-1.103 0-2 .897-2 2v4c0 1.103.897 2 2 2h6.001v3H5zm15-9v4h-6v-4h6z\"}}]})(props);\n};\nexport function BiWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h2v4h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7V5c0-1.103-.897-2-2-2H5C3.346 3 2 4.346 2 6v12c0 2.201 1.794 3 3 3h15c1.103 0 2-.897 2-2V9c0-1.103-.897-2-2-2zM5 5h13v2H5a1.001 1.001 0 0 1 0-2zm15 14H5.012C4.55 18.988 4 18.805 4 18V8.815c.314.113.647.185 1 .185h15v10z\"}}]})(props);\n};\nexport function BiWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.996 9c1.413 0 2.16-.747 2.705-1.293.49-.49.731-.707 1.292-.707s.802.217 1.292.707C11.83 8.253 12.577 9 13.991 9c1.415 0 2.163-.747 2.71-1.293.491-.49.732-.707 1.295-.707s.804.217 1.295.707C19.837 8.253 20.585 9 22 9V7c-.563 0-.804-.217-1.295-.707C20.159 5.747 19.411 5 17.996 5s-2.162.747-2.709 1.292c-.491.491-.731.708-1.296.708-.562 0-.802-.217-1.292-.707C12.154 5.747 11.407 5 9.993 5s-2.161.747-2.706 1.293c-.49.49-.73.707-1.291.707s-.801-.217-1.291-.707C4.16 5.747 3.413 5 2 5v2c.561 0 .801.217 1.291.707C3.836 8.253 4.583 9 5.996 9zm0 5c1.413 0 2.16-.747 2.705-1.293.49-.49.731-.707 1.292-.707s.802.217 1.292.707c.545.546 1.292 1.293 2.706 1.293 1.415 0 2.163-.747 2.71-1.293.491-.49.732-.707 1.295-.707s.804.217 1.295.707C19.837 13.253 20.585 14 22 14v-2c-.563 0-.804-.217-1.295-.707-.546-.546-1.294-1.293-2.709-1.293s-2.162.747-2.709 1.292c-.491.491-.731.708-1.296.708-.562 0-.802-.217-1.292-.707C12.154 10.747 11.407 10 9.993 10s-2.161.747-2.706 1.293c-.49.49-.73.707-1.291.707s-.801-.217-1.291-.707C4.16 10.747 3.413 10 2 10v2c.561 0 .801.217 1.291.707C3.836 13.253 4.583 14 5.996 14zm0 5c1.413 0 2.16-.747 2.705-1.293.49-.49.731-.707 1.292-.707s.802.217 1.292.707c.545.546 1.292 1.293 2.706 1.293 1.415 0 2.163-.747 2.71-1.293.491-.49.732-.707 1.295-.707s.804.217 1.295.707C19.837 18.253 20.585 19 22 19v-2c-.563 0-.804-.217-1.295-.707-.546-.546-1.294-1.293-2.709-1.293s-2.162.747-2.709 1.292c-.491.491-.731.708-1.296.708-.562 0-.802-.217-1.292-.707C12.154 15.747 11.407 15 9.993 15s-2.161.747-2.706 1.293c-.49.49-.73.707-1.291.707s-.801-.217-1.291-.707C4.16 15.747 3.413 15 2 15v2c.561 0 .801.217 1.291.707C3.836 18.253 4.583 19 5.996 19z\"}}]})(props);\n};\nexport function BiWebcam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c-4.963 0-9 4.038-9 9 0 3.328 1.82 6.232 4.513 7.79l-2.067 1.378A1 1 0 0 0 6 22h12a1 1 0 0 0 .555-1.832l-2.067-1.378C19.18 17.232 21 14.328 21 11c0-4.962-4.037-9-9-9zm0 16c-3.859 0-7-3.141-7-7 0-3.86 3.141-7 7-7s7 3.14 7 7c0 3.859-3.141 7-7 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6c-2.757 0-5 2.243-5 5s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5zm0 8c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3z\"}}]})(props);\n};\nexport function BiWifi0 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function BiWifi1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.671 14.307C16.184 12.819 14.17 12 12 12s-4.184.819-5.671 2.307l1.414 1.414c1.11-1.11 2.621-1.722 4.257-1.722 1.636.001 3.147.612 4.257 1.722l1.414-1.414z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function BiWifi2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.671 14.307C16.184 12.819 14.17 12 12 12s-4.184.819-5.671 2.307l1.414 1.414c1.11-1.11 2.621-1.722 4.257-1.722 1.636.001 3.147.612 4.257 1.722l1.414-1.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.437 11.292c-4.572-4.573-12.301-4.573-16.873 0l1.414 1.414c3.807-3.807 10.238-3.807 14.045 0l1.414-1.414z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function BiWifiOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m1.293 8.395 1.414 1.414c.504-.504 1.052-.95 1.622-1.359L2.9 7.021c-.56.422-1.104.87-1.607 1.374zM6.474 5.06 3.707 2.293 2.293 3.707l18 18 1.414-1.414-5.012-5.012.976-.975a7.86 7.86 0 0 0-4.099-2.148L11.294 9.88c2.789-.191 5.649.748 7.729 2.827l1.414-1.414c-2.898-2.899-7.061-3.936-10.888-3.158L8.024 6.61A13.366 13.366 0 0 1 12 6c3.537 0 6.837 1.353 9.293 3.809l1.414-1.414C19.874 5.561 16.071 4 12 4a15.198 15.198 0 0 0-5.526 1.06zm-2.911 6.233 1.414 1.414a9.563 9.563 0 0 1 2.058-1.551L5.576 9.697c-.717.451-1.395.979-2.013 1.596zm2.766 3.014 1.414 1.414c.692-.692 1.535-1.151 2.429-1.428l-1.557-1.557a7.76 7.76 0 0 0-2.286 1.571zm7.66 3.803-2.1-2.1a1.996 1.996 0 1 0 2.1 2.1z\"}}]})(props);\n};\nexport function BiWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6c3.537 0 6.837 1.353 9.293 3.809l1.414-1.414C19.874 5.561 16.071 4 12 4c-4.071.001-7.874 1.561-10.707 4.395l1.414 1.414C5.163 7.353 8.463 6 12 6zm5.671 8.307c-3.074-3.074-8.268-3.074-11.342 0l1.414 1.414c2.307-2.307 6.207-2.307 8.514 0l1.414-1.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.437 11.293c-4.572-4.574-12.301-4.574-16.873 0l1.414 1.414c3.807-3.807 10.238-3.807 14.045 0l1.414-1.414z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function BiWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.5C13 3.57 11.43 2 9.5 2 7.466 2 6.25 3.525 6.25 5h2c0-.415.388-1 1.25-1 .827 0 1.5.673 1.5 1.5S10.327 7 9.5 7H2v2h7.5C11.43 9 13 7.43 13 5.5zm2.5 9.5H8v2h7.5c.827 0 1.5.673 1.5 1.5s-.673 1.5-1.5 1.5c-.862 0-1.25-.585-1.25-1h-2c0 1.475 1.216 3 3.25 3 1.93 0 3.5-1.57 3.5-3.5S17.43 15 15.5 15z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 5c-2.206 0-4 1.794-4 4h2c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2H2v2h16c2.206 0 4-1.794 4-4s-1.794-4-4-4zM2 15h4v2H2z\"}}]})(props);\n};\nexport function BiWindowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm0 2 .001 4H4V5h16zM4 19v-8h16.001l.001 8H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6h2v2h-2zm3 0h2v2h-2z\"}}]})(props);\n};\nexport function BiWindowClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM4 19V7h16l.001 12H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.707 10.707-1.414-1.414L12 11.586 9.707 9.293l-1.414 1.414L10.586 13l-2.293 2.293 1.414 1.414L12 14.414l2.293 2.293 1.414-1.414L13.414 13z\"}}]})(props);\n};\nexport function BiWindowOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h5v-2H4V7h16v12h-5v2h5c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21v-5h3l-4-5-4 5h3v5z\"}}]})(props);\n};\nexport function BiWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm0-2V7h16l.001 12H4z\"}}]})(props);\n};\nexport function BiWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V9c0-1.103-.897-2-2-2zM4 19v-8h12V9l.002 10H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 5c0-1.103-.897-2-2-2H7c-1.103 0-2 .897-2 2h13.001c1.101 0 1.996.895 1.999 1.994L20.002 15H20v2c1.103 0 2-.897 2-2V8.007L22.001 8V6L22 5.99V5z\"}}]})(props);\n};\nexport function BiWine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.713 12.123c.264-.952.312-2.03.143-3.206l-.866-6.059A1 1 0 0 0 18 2H6a1 1 0 0 0-.99.858l-.865 6.058c-.169 1.177-.121 2.255.142 3.206.864 3.134 3.551 5.392 6.713 5.794V20H9v2h6v-2h-2v-2.084c3.162-.402 5.849-2.66 6.713-5.793zM17.133 4l.57 4H6.296l.571-4h10.266zM6.215 11.59c-.132-.474-.181-1.009-.159-1.59h11.889c.021.581-.028 1.116-.159 1.591A6.021 6.021 0 0 1 12 16a6.019 6.019 0 0 1-5.785-4.41z\"}}]})(props);\n};\nexport function BiWinkSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.828 14.828a3.988 3.988 0 0 1-2.02 1.09 4.108 4.108 0 0 1-1.616 0 4.103 4.103 0 0 1-.749-.232 4.161 4.161 0 0 1-.679-.368 4.115 4.115 0 0 1-1.082-1.082l-1.658 1.117c.215.319.462.619.733.889a5.991 5.991 0 0 0 8.485.002c.272-.271.52-.571.734-.891l-1.658-1.117c-.143.211-.307.41-.49.592z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"10.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 10c-2 0-2.5 2-2.5 2h5s-.501-2-2.5-2z\"}}]})(props);\n};\nexport function BiWinkTongue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 9c-2 0-2.5 2-2.5 2h5s-.501-2-2.5-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-2 16v-3h4v3c0 1.103-.897 2-2 2s-2-.897-2-2zm5.856 1.005c.085-.323.144-.656.144-1.005v-1.499C17.589 15.028 18 13 18 13H6s.412 2.028 2 3.501V18c0 .349.059.682.144 1.005A8.005 8.005 0 0 1 4 12c0-4.411 3.589-8 8-8s8 3.589 8 8a8.005 8.005 0 0 1-4.144 7.005z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"9.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiWon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.758 5H19.68l-.844 3h-4.893l-.899-3h-2.088l-.899 3H5.164L4.32 5H2.242l.844 3H2v2h1.648l.563 2H2v2h2.773l1.688 6h2.083l1.8-6h3.313l1.8 6h2.083l1.688-6H22v-2h-2.211l.563-2H22V8h-1.086l.844-3zM5.727 10h3.729l-.6 2H6.289l-.562-2zm1.804 6.417L6.852 14h1.404l-.725 2.417zM10.944 12l.6-2h.912l.6 2h-2.112zm5.525 4.417L15.744 14h1.404l-.679 2.417zM17.711 12h-2.567l-.6-2h3.729l-.562 2z\"}}]})(props);\n};\nexport function BiWorld (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM4 12c0-.899.156-1.762.431-2.569L6 11l2 2v2l2 2 1 1v1.931C7.061 19.436 4 16.072 4 12zm14.33 4.873C17.677 16.347 16.687 16 16 16v-1a2 2 0 0 0-2-2h-4v-3a2 2 0 0 0 2-2V7h1a2 2 0 0 0 2-2v-.411C17.928 5.778 20 8.65 20 12a7.947 7.947 0 0 1-1.67 4.873z\"}}]})(props);\n};\nexport function BiWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.122 21c.378.378.88.586 1.414.586S7.572 21.378 7.95 21l4.336-4.336a7.495 7.495 0 0 0 2.217.333 7.446 7.446 0 0 0 5.302-2.195 7.484 7.484 0 0 0 1.632-8.158l-.57-1.388-4.244 4.243-2.121-2.122 4.243-4.243-1.389-.571A7.478 7.478 0 0 0 14.499 2c-2.003 0-3.886.78-5.301 2.196a7.479 7.479 0 0 0-1.862 7.518L3 16.05a2.001 2.001 0 0 0 0 2.828L5.122 21zm4.548-8.791-.254-.616a5.486 5.486 0 0 1 1.196-5.983 5.46 5.46 0 0 1 4.413-1.585l-3.353 3.353 4.949 4.95 3.355-3.355a5.49 5.49 0 0 1-1.587 4.416c-1.55 1.55-3.964 2.027-5.984 1.196l-.615-.255-5.254 5.256h.001l-.001 1v-1l-2.122-2.122 5.256-5.255z\"}}]})(props);\n};\nexport function BiXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.172 16.242 12 13.414l2.828 2.828 1.414-1.414L13.414 12l2.828-2.828-1.414-1.414L12 10.586 9.172 7.758 7.758 9.172 10.586 12l-2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zm0-18c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8z\"}}]})(props);\n};\nexport function BiX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16.192 6.344-4.243 4.242-4.242-4.242-1.414 1.414L10.535 12l-4.242 4.242 1.414 1.414 4.242-4.242 4.243 4.242 1.414-1.414L13.364 12l4.242-4.242z\"}}]})(props);\n};\nexport function BiYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.2 3.4 12 10.333 6.8 3.4 5.2 4.6 10 11H7v2h4v2H7v2h4v4h2v-4h4v-2h-4v-2h4v-2h-3l4.8-6.4z\"}}]})(props);\n};\nexport function BiZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6H9v3H6v2h3v3h2v-3h3V9h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8zm0 14c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z\"}}]})(props);\n};\nexport function BiZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9h8v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8 3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z\"}}]})(props);\n};\nexport function BiSolidAddToQueue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h12v-2H4V8H2v12c0 1.103.897 2 2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-2 9h-3v3h-2v-3h-3V9h3V6h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidAdjustAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 19.071c3.833-3.833 3.833-10.31 0-14.143s-10.31-3.833-14.143 0-3.833 10.31 0 14.143 10.31 3.833 14.143 0zM7.051 7.051c2.706-2.707 7.191-2.708 9.898 0l-9.898 9.898c-2.708-2.707-2.71-7.19 0-9.898z\"}}]})(props);\n};\nexport function BiSolidAdjust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.579 2 2 6.58 2 12s4.579 10 10 10 10-4.58 10-10S17.421 2 12 2zm0 17V5c3.829 0 7 3.169 7 7 0 3.828-3.171 7-7 7z\"}}]})(props);\n};\nexport function BiSolidAlarmAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c-4.879 0-9 4.121-9 9s4.121 9 9 9 9-4.121 9-9-4.121-9-9-9zm4 10h-3v3h-2v-3H8v-2h3V9h2v3h3v2zm1.284-10.293 1.412-1.416 3.01 3-1.413 1.417zM5.282 2.294 6.7 3.706l-2.99 3-1.417-1.413z\"}}]})(props);\n};\nexport function BiSolidAlarmExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17.284 3.707 1.412-1.416 3.01 3-1.413 1.417zm-10.586 0-2.99 2.999L2.29 5.294l2.99-3zM12 4c-4.879 0-9 4.121-9 9s4.121 9 9 9 9-4.121 9-9-4.121-9-9-9zm1 14h-2v-2h2v2zm0-4h-2V8h2v6z\"}}]})(props);\n};\nexport function BiSolidAlarmOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.292 6.708-3.01-3 1.412-1.417 3.01 3zm1.415 13.585-2.287-2.288C20.409 16.563 21 14.837 21 13c0-4.878-4.121-9-9-9-1.838 0-3.563.59-5.006 1.581L5.91 4.496l.788-.79-1.416-1.412-.786.788-.789-.789-1.414 1.414 18 18 1.414-1.414zM17 14h-1.586l-2-2H17v2zm-6-6h2v3.586l-2-2V8zm1 14c1.658 0 3.224-.485 4.574-1.305L4.305 8.426A8.794 8.794 0 0 0 3 13c0 4.878 4.122 9 9 9z\"}}]})(props);\n};\nexport function BiSolidAlarmSnooze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17.284 3.707 1.412-1.416 3.01 3-1.413 1.417zm-10.586 0-2.99 2.999L2.29 5.294l2.99-3zM12 4c-4.878 0-9 4.121-9 9s4.122 9 9 9c4.879 0 9-4.121 9-9s-4.121-9-9-9zm4 13H8.131l4-6H8V9h7.868l-1.035 1.554-.001.001L11.869 15H16v2z\"}}]})(props);\n};\nexport function BiSolidAlarm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c-4.878 0-9 4.122-9 9s4.122 9 9 9c4.879 0 9-4.122 9-9s-4.121-9-9-9zm5 10h-6V8h2v4h4v2zm3.292-7.292-3.01-3 1.412-1.417 3.01 3zM5.282 2.294 6.7 3.706l-2.99 3-1.417-1.413z\"}}]})(props);\n};\nexport function BiSolidAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-4.607 8.055A4.956 4.956 0 0 0 7 12H5a6.978 6.978 0 0 1 2.051-4.95 6.978 6.978 0 0 1 2.225-1.5l.779 1.842c-.596.252-1.13.612-1.59 1.072s-.82.995-1.072 1.591zm4.6 3.945a2.007 2.007 0 1 1 0-4.014 2.007 2.007 0 0 1 0 4.014z\"}}]})(props);\n};\nexport function BiSolidAmbulance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.86 12.48 19.15 8a2 2 0 0 0-1.72-1H15V5a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v10a2 2 0 0 0 1 1.73 3.49 3.49 0 0 0 7 .27h3.1a3.48 3.48 0 0 0 6.9 0 2 2 0 0 0 2-2v-3a1.07 1.07 0 0 0-.14-.52zM6.5 19A1.5 1.5 0 1 1 8 17.5 1.5 1.5 0 0 1 6.5 19zm5.5-8h-2v2H8v-2H6V9h2V7h2v2h2zm4.5 8a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5zM15 12V9h2.43l1.8 3z\"}}]})(props);\n};\nexport function BiSolidAnalyse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.626 8.878a7.937 7.937 0 0 1 1.71-2.541 7.92 7.92 0 0 1 2.542-1.71 8.12 8.12 0 0 1 6.13-.041A2.49 2.49 0 0 0 17.5 7C18.886 7 20 5.886 20 4.5S18.886 2 17.5 2c-.689 0-1.312.276-1.763.725-2.431-.973-5.223-.958-7.635.059-1.19.5-2.26 1.22-3.18 2.139A9.98 9.98 0 0 0 2 12h2c0-1.086.211-2.136.626-3.122zm14.747 6.244c-.401.952-.977 1.808-1.71 2.541s-1.589 1.309-2.542 1.71a8.12 8.12 0 0 1-6.13.041A2.488 2.488 0 0 0 6.5 17C5.114 17 4 18.114 4 19.5S5.114 22 6.5 22c.689 0 1.312-.276 1.763-.725A9.973 9.973 0 0 0 12 22a9.983 9.983 0 0 0 9.217-6.102A9.992 9.992 0 0 0 22 12h-2a7.993 7.993 0 0 1-.627 3.122z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7.462c-2.502 0-4.538 2.036-4.538 4.538S9.498 16.538 12 16.538c2.502 0 4.538-2.036 4.538-4.538S14.502 7.462 12 7.462z\"}}]})(props);\n};\nexport function BiSolidAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-5 8.5.002-.022-1.373-.549.742-1.857 5 2-.742 1.857-1.031-.413c-.014.014-.023.031-.037.044A1.499 1.499 0 0 1 7 10.5zM8 17s1-3 4-3 4 3 4 3H8zm8.986-6.507c0 .412-.167.785-.438 1.056a1.488 1.488 0 0 1-2.112 0c-.011-.011-.019-.024-.029-.035l-1.037.415-.742-1.857 5-2 .742 1.857-1.386.554a.036.036 0 0 1 .002.01z\"}}]})(props);\n};\nexport function BiSolidArch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8V6H3v14H2v2h6v-7c0-.163.046-4 4-4 3.821 0 3.993 3.602 4 4v7h6v-2h-1V8zM2 2h20v2H2z\"}}]})(props);\n};\nexport function BiSolidArchiveIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.706 5.292-2.999-2.999A.996.996 0 0 0 18 2H6a.997.997 0 0 0-.707.293L2.294 5.292A.996.996 0 0 0 2 6v13c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6a.994.994 0 0 0-.294-.708zM6.414 4h11.172l1 1H5.414l1-1zM12 18l-5-5h3v-3h4v3h3l-5 5z\"}}]})(props);\n};\nexport function BiSolidArchiveOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.706 5.292-2.999-2.999A.996.996 0 0 0 18 2H6a.996.996 0 0 0-.707.293L2.294 5.292A.994.994 0 0 0 2 6v13c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6a.994.994 0 0 0-.294-.708zM6.414 4h11.172l1 1H5.414l1-1zM14 14v3h-4v-3H7l5-5 5 5h-3z\"}}]})(props);\n};\nexport function BiSolidArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.704 5.29-2.997-2.997A.996.996 0 0 0 18 2H6a.996.996 0 0 0-.707.293L2.296 5.29A.994.994 0 0 0 2 5.999V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5.999a.994.994 0 0 0-.296-.709zM6.414 4h11.172l1 1H5.414l1-1zM17 13v1H7v-4h2v2h6v-2h2v3z\"}}]})(props);\n};\nexport function BiSolidArea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14zm9-13h6v6h-2V8h-4V6zm-6 6h2v4h4v2H6v-6z\"}}]})(props);\n};\nexport function BiSolidArrowFromBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h12v2H6zm6-14-6 6h5v6h2v-6h5z\"}}]})(props);\n};\nexport function BiSolidArrowFromLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h2v12H4zm10 5H8v2h6v5l6-6-6-6z\"}}]})(props);\n};\nexport function BiSolidArrowFromRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6h2v12h-2zm-8 12v-5h6v-2h-6V6l-6 6z\"}}]})(props);\n};\nexport function BiSolidArrowFromTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h12v2H6zm5 4v6H6l6 6 6-6h-5V8z\"}}]})(props);\n};\nexport function BiSolidArrowToBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h12v2H6zm5-14v6H6l6 6 6-6h-5V4z\"}}]})(props);\n};\nexport function BiSolidArrowToLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h2v12H4zm10 7h6v-2h-6V6l-6 6 6 6z\"}}]})(props);\n};\nexport function BiSolidArrowToRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6h2v12h-2zm-8 5H4v2h6v5l6-6-6-6z\"}}]})(props);\n};\nexport function BiSolidArrowToTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h12v2H6zm5 10v6h2v-6h5l-6-6-6 6z\"}}]})(props);\n};\nexport function BiSolidAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8.999a6.99 6.99 0 0 0 2.879 5.646l.001.001a6.972 6.972 0 0 0 1.881.979l.051.019a6.906 6.906 0 0 0 1.163.271 6.79 6.79 0 0 0 1.024.085H12c.35 0 .69-.034 1.027-.084l.182-.028c.336-.059.664-.139.981-.243l.042-.016C17 14.693 19 12.078 19 8.999 19 5.14 15.86 2 12 2S5 5.14 5 8.999zM12 4c2.756 0 5 2.242 5 4.999h-2A3.003 3.003 0 0 0 12 6V4zM7.521 16.795V22L12 20.5l4.479 1.5.001-5.205a8.932 8.932 0 0 1-8.959 0z\"}}]})(props);\n};\nexport function BiSolidBabyCarriage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.666 12.277a7.72 7.72 0 0 0 .171-.665c.003-.017.004-.033.008-.05.02-.098.029-.199.045-.298.025-.157.055-.313.07-.471a7.979 7.979 0 0 0-2.303-6.45A7.979 7.979 0 0 0 14 2v8H6.517l-.858-2H2v2h2.341l1.828 4.266A3.504 3.504 0 0 0 4 17.5C4 19.43 5.57 21 7.5 21c1.759 0 3.204-1.309 3.449-3h2.102c.245 1.691 1.69 3 3.449 3 1.93 0 3.5-1.57 3.5-3.5 0-.63-.181-1.213-.473-1.725.042-.041.089-.077.131-.119.36-.361.688-.759.977-1.184.288-.43.536-.886.736-1.359.016-.037.026-.076.041-.113h.001l.015-.042c.088-.22.168-.441.235-.668l.003-.013zM7.5 19c-.827 0-1.5-.673-1.5-1.5S6.673 16 7.5 16s1.5.673 1.5 1.5S8.327 19 7.5 19zm9 0c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5 1.5.673 1.5 1.5-.673 1.5-1.5 1.5z\"}}]})(props);\n};\nexport function BiSolidBackpack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15a1 1 0 0 0-1-1H9c-.551 0-1 .448-1 1v2h8v-2zm-8 4h8v3H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12c0-2.967-2.167-5.432-5-5.91V5c0-1.654-1.346-3-3-3h-2C9.346 2 8 3.346 8 5v1.09C5.167 6.568 3 9.033 3 12v8c0 1.103.897 2 2 2h1v-7c0-1.654 1.346-3 3-3h6c1.654 0 3 1.346 3 3v7h1c1.103 0 2-.897 2-2v-8zM10 5c0-.552.449-1 1-1h2a1 1 0 0 1 1 1v1h-4V5z\"}}]})(props);\n};\nexport function BiSolidBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.965 8.521C19.988 8.347 20 8.173 20 8c0-2.379-2.143-4.288-4.521-3.965C14.786 2.802 13.466 2 12 2s-2.786.802-3.479 2.035C6.138 3.712 4 5.621 4 8c0 .173.012.347.035.521C2.802 9.215 2 10.535 2 12s.802 2.785 2.035 3.479A3.976 3.976 0 0 0 4 16c0 2.379 2.138 4.283 4.521 3.965C9.214 21.198 10.534 22 12 22s2.786-.802 3.479-2.035C17.857 20.283 20 18.379 20 16c0-.173-.012-.347-.035-.521C21.198 14.785 22 13.465 22 12s-.802-2.785-2.035-3.479zm-9.01 7.895-3.667-3.714 1.424-1.404 2.257 2.286 4.327-4.294 1.408 1.42-5.749 5.706z\"}}]})(props);\n};\nexport function BiSolidBadgeDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.047 14.668a.994.994 0 0 0 .465.607l1.91 1.104v2.199a1 1 0 0 0 1 1h2.199l1.104 1.91a1.01 1.01 0 0 0 .866.5c.174 0 .347-.046.501-.135L12 20.75l1.91 1.104a1.001 1.001 0 0 0 1.366-.365l1.103-1.91h2.199a1 1 0 0 0 1-1V16.38l1.91-1.104a1 1 0 0 0 .365-1.367L20.75 12l1.104-1.908a1 1 0 0 0-.365-1.366l-1.91-1.104v-2.2a1 1 0 0 0-1-1H16.38l-1.103-1.909a1.008 1.008 0 0 0-.607-.466.993.993 0 0 0-.759.1L12 3.25l-1.909-1.104a1 1 0 0 0-1.366.365l-1.104 1.91H5.422a1 1 0 0 0-1 1V7.62l-1.91 1.104a1.003 1.003 0 0 0-.365 1.368L3.251 12l-1.104 1.908a1.009 1.009 0 0 0-.1.76zM12 13c-3.48 0-4-1.879-4-3 0-1.287 1.029-2.583 3-2.915V6.012h2v1.109c1.734.41 2.4 1.853 2.4 2.879h-1l-1 .018C13.386 9.638 13.185 9 12 9c-1.299 0-2 .515-2 1 0 .374 0 1 2 1 3.48 0 4 1.879 4 3 0 1.287-1.029 2.583-3 2.915V18h-2v-1.08c-2.339-.367-3-2.003-3-2.92h2c.011.143.159 1 2 1 1.38 0 2-.585 2-1 0-.325 0-1-2-1z\"}}]})(props);\n};\nexport function BiSolidBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.965 8.521C19.988 8.347 20 8.173 20 8c0-2.379-2.143-4.288-4.521-3.965C14.786 2.802 13.466 2 12 2s-2.786.802-3.479 2.035C6.138 3.712 4 5.621 4 8c0 .173.012.347.035.521C2.802 9.215 2 10.535 2 12s.802 2.785 2.035 3.479A3.976 3.976 0 0 0 4 16c0 2.379 2.138 4.283 4.521 3.965C9.214 21.198 10.534 22 12 22s2.786-.802 3.479-2.035C17.857 20.283 20 18.379 20 16c0-.173-.012-.347-.035-.521C21.198 14.785 22 13.465 22 12s-.802-2.785-2.035-3.479z\"}}]})(props);\n};\nexport function BiSolidBaguette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.13 4.41 4.23 4.23L14.3 9.7l-4.24-4.24-1.77 1.77 4.24 4.24-1.06 1.06-4.24-4.24-1.77 1.77L9.7 14.3l-1.06 1.06-4.23-4.23C1.86 14 1.55 18 3.79 20.21a5.38 5.38 0 0 0 3.85 1.5 8 8 0 0 0 5.6-2.47l6-6c2.87-2.87 3.31-7.11 1-9.45s-6.24-1.93-9.11.62z\"}}]})(props);\n};\nexport function BiSolidBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.247 3.034c-.069-.018-1.742-.433-4.052-.433-2.842 0-6.868.64-9.91 3.687-5.34 5.349-3.34 13.61-3.252 13.96a1 1 0 0 0 .728.726c.069.018 1.726.426 4.018.426 2.849 0 6.884-.641 9.932-3.688 5.335-5.335 3.351-13.6 3.264-13.949a1.005 1.005 0 0 0-.728-.729zm-3.537 9.262-1.414 1.414-1.793-1.792-1.586 1.586 1.792 1.793-1.414 1.414-1.792-1.793-1.793 1.793-1.414-1.414 1.793-1.793-1.793-1.794 1.414-1.414 1.793 1.794 1.586-1.586-1.794-1.793 1.414-1.414 1.794 1.793 1.793-1.793 1.414 1.414-1.793 1.793 1.793 1.792z\"}}]})(props);\n};\nexport function BiSolidBalloon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19.91 10 22h4l-1-2.09c4-.65 7-5.28 7-9.91a8 8 0 0 0-16 0c0 4.63 3.08 9.26 7 9.91zm1-15.66v1.5A4.26 4.26 0 0 0 7.75 10h-1.5A5.76 5.76 0 0 1 12 4.25z\"}}]})(props);\n};\nexport function BiSolidBandAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.646 3.868-7.778 7.778a6.007 6.007 0 0 0 0 8.485 5.984 5.984 0 0 0 4.242 1.754 5.984 5.984 0 0 0 4.243-1.754l7.778-7.778a6.007 6.007 0 0 0 0-8.485 6.008 6.008 0 0 0-8.485 0zM9 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm3 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-6a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm3 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiSolidBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8v4.001h1V18H2v3h16l3 .001V21h1v-3h-1v-5.999h1V8L12 2 2 8zm4 10v-5.999h2V18H6zm5 0v-5.999h2V18h-2zm7 0h-2v-5.999h2V18zM14 8a2 2 0 1 1-4.001-.001A2 2 0 0 1 14 8z\"}}]})(props);\n};\nexport function BiSolidBarChartAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21H3a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1zm7 0h-3a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1zm7 0h-3a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1z\"}}]})(props);\n};\nexport function BiSolidBarChartSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2zM9 18H7v-6h2v6zm4 0h-2V7h2v11zm4 0h-2v-8h2v8z\"}}]})(props);\n};\nexport function BiSolidBarcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zM8 17H5V7h3zm2 0H9V7h1zm2 0h-1V7h1zm4 0h-3V7h3zm3 0h-2V7h2z\"}}]})(props);\n};\nexport function BiSolidBaseball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.984 12.236a9.966 9.966 0 0 0-2.913-7.308 9.966 9.966 0 0 0-7.308-2.913 9.04 9.04 0 0 1-.673 4.313l-1.84-.78a7.044 7.044 0 0 0 .526-3.284 9.927 9.927 0 0 0-4.847 2.665 9.924 9.924 0 0 0-2.666 4.852 7.082 7.082 0 0 0 2.576-.276l.575 1.916c-1.1.33-2.257.443-3.398.344a9.964 9.964 0 0 0 2.913 7.307 9.965 9.965 0 0 0 7.307 2.913 9.079 9.079 0 0 1 .344-3.398l1.916.575a7.06 7.06 0 0 0-.276 2.576 9.927 9.927 0 0 0 4.853-2.666 9.926 9.926 0 0 0 2.665-4.848 7.056 7.056 0 0 0-3.284.526l-.78-1.841a9.025 9.025 0 0 1 4.31-.673zM9.17 9.173a9.017 9.017 0 0 1-2.192 1.612l-.927-1.772a7.01 7.01 0 0 0 2.576-2.314l1.663 1.113c-.328.49-.705.948-1.12 1.361zm7.074 7.068a6.991 6.991 0 0 0-1.257 1.708l-1.772-.927a9.025 9.025 0 0 1 2.972-3.312l1.113 1.663a6.987 6.987 0 0 0-1.056.868z\"}}]})(props);\n};\nexport function BiSolidBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.132 2.504 4.42 9H3a1.001 1.001 0 0 0-.965 1.263l2.799 10.263A2.004 2.004 0 0 0 6.764 22h10.473c.898 0 1.692-.605 1.93-1.475l2.799-10.263A.998.998 0 0 0 21 9h-1.42l-3.712-6.496-1.736.992L17.277 9H6.723l3.145-5.504-1.736-.992zM14 13h2v5h-2v-5zm-6 0h2v5H8v-5z\"}}]})(props);\n};\nexport function BiSolidBasketball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.328 4.258a9.953 9.953 0 0 0-5.949-2.235 8.99 8.99 0 0 1-1.835 7.107L12 10.586l6.328-6.328zM7.701 9.115 4.258 5.672a9.938 9.938 0 0 0-2.112 4.704 7.007 7.007 0 0 0 5.555-1.261zm12.041-3.443L13.414 12l1.456 1.456a8.993 8.993 0 0 1 7.107-1.835 9.953 9.953 0 0 0-2.235-5.949zm2.112 7.952a7.007 7.007 0 0 0-5.555 1.261l3.443 3.443a9.924 9.924 0 0 0 2.112-4.704zM9.115 7.701a7.007 7.007 0 0 0 1.261-5.555 9.928 9.928 0 0 0-4.704 2.112l3.443 3.443zm4.509 14.153a9.936 9.936 0 0 0 4.704-2.111L14.885 16.3a7.003 7.003 0 0 0-1.261 5.554zM12 13.414l-6.328 6.328a9.953 9.953 0 0 0 5.949 2.235 8.99 8.99 0 0 1 1.835-7.107L12 13.414zm-7.742 4.914L10.586 12 9.13 10.544a8.993 8.993 0 0 1-7.107 1.835 9.953 9.953 0 0 0 2.235 5.949z\"}}]})(props);\n};\nexport function BiSolidBath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10H7V7.113c0-.997.678-1.923 1.661-2.085A2.003 2.003 0 0 1 11 7h2a4.003 4.003 0 0 0-4.398-3.98C6.523 3.222 5 5.089 5 7.178V10H3a1 1 0 0 0-1 1v2c0 2.606 1.674 4.823 4 5.65V22h2v-3h8v3h2v-3.35c2.326-.827 4-3.044 4-5.65v-2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiSolidBatteryCharging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10V8a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2h2v-4h-2zM9 17l2-3.89L7 12l6-5-1 3.89L16 12l-7 5z\"}}]})(props);\n};\nexport function BiSolidBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h14a2 2 0 0 0 2-2v-2h2v-4h-2V8a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2zm1-9h12v6H5V9z\"}}]})(props);\n};\nexport function BiSolidBatteryLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2h2v-4h-2V8zM5 15V9h3l4 6H5z\"}}]})(props);\n};\nexport function BiSolidBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2h2v-4h-2V8z\"}}]})(props);\n};\nexport function BiSolidBed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9.556V3h-2v2H6V3H4v6.557C2.81 10.25 2 11.526 2 13v4a1 1 0 0 0 1 1h1v4h2v-4h12v4h2v-4h1a1 1 0 0 0 1-1v-4c0-1.474-.811-2.75-2-3.444zM11 9H6V7h5v2zm7 0h-5V7h5v2z\"}}]})(props);\n};\nexport function BiSolidBeenHere (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C7.589 2 4 5.589 4 9.995 3.971 16.44 11.696 21.784 12 22c0 0 8.029-5.56 8-12 0-4.411-3.589-8-8-8zm-1 13.414-3.707-3.707 1.414-1.414L11 12.586l5.293-5.293 1.414 1.414L11 15.414z\"}}]})(props);\n};\nexport function BiSolidBeer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-2V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v15c0 1.654 1.346 3 3 3h10c1.654 0 3-1.346 3-3v-1h2c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zM8 17H6V7h2v10zm6 0h-2V7h2v10zm6-1h-2V8h2v8z\"}}]})(props);\n};\nexport function BiSolidBellMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22zm8.707-5.707L19 14.586V10c0-3.217-2.185-5.926-5.145-6.743C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.185 4.074 5 6.783 5 10v4.586l-1.707 1.707A.997.997 0 0 0 3 17v1a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-1a.997.997 0 0 0-.293-.707zM16 12H8v-2h8v2z\"}}]})(props);\n};\nexport function BiSolidBellOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.345 18.931A.993.993 0 0 0 21 18v-1a.996.996 0 0 0-.293-.707L19 14.586V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258c-1.323.364-2.463 1.128-3.346 2.127L3.707 2.293 2.293 3.707l18 18 1.414-1.414-1.362-1.362zM12 22a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22zM5 10v4.586l-1.707 1.707A.996.996 0 0 0 3 17v1a1 1 0 0 0 1 1h10.879L5.068 9.189C5.037 9.457 5 9.724 5 10z\"}}]})(props);\n};\nexport function BiSolidBellPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22zm8.707-5.707L19 14.586V10c0-3.217-2.185-5.926-5.145-6.743C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.185 4.074 5 6.783 5 10v4.586l-1.707 1.707A.997.997 0 0 0 3 17v1a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-1a.997.997 0 0 0-.293-.707zM16 12h-3v3h-2v-3H8v-2h3V7h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidBellRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5.705 3.71-1.41-1.42C1 5.563 1 7.935 1 11h1l1-.063C3 8.009 3 6.396 5.705 3.71zm13.999-1.42-1.408 1.42C21 6.396 21 8.009 21 11l2-.063c0-3.002 0-5.374-3.296-8.647zM12 22a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22zm7-7.414V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.184 4.073 5 6.783 5 10v4.586l-1.707 1.707A.996.996 0 0 0 3 17v1a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-1a.996.996 0 0 0-.293-.707L19 14.586z\"}}]})(props);\n};\nexport function BiSolidBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a2.98 2.98 0 0 0 2.818-2H9.182A2.98 2.98 0 0 0 12 22zm7-7.414V10c0-3.217-2.185-5.927-5.145-6.742C13.562 2.52 12.846 2 12 2s-1.562.52-1.855 1.258C7.185 4.074 5 6.783 5 10v4.586l-1.707 1.707A.996.996 0 0 0 3 17v1a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-1a.996.996 0 0 0-.293-.707L19 14.586z\"}}]})(props);\n};\nexport function BiSolidBible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h15v-2H6.012C5.55 19.988 5 19.805 5 19s.55-.988 1.012-1H21V4a2 2 0 0 0-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3zM8 7h3V5h2v2h3v2h-3v6h-2V9H8V7z\"}}]})(props);\n};\nexport function BiSolidBinoculars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.447 5.345A3.27 3.27 0 0 0 16.29 3a3.293 3.293 0 0 0-3.277 3h-2.025a3.297 3.297 0 0 0-3.284-3 3.268 3.268 0 0 0-3.151 2.345l-2.511 8.368A1.027 1.027 0 0 0 2 14v1a5.006 5.006 0 0 0 5.001 5 5.003 5.003 0 0 0 4.576-3h.846a5.003 5.003 0 0 0 4.576 3A5.006 5.006 0 0 0 22 14.999V14c0-.098-.015-.194-.042-.287l-2.511-8.368zM7.001 18A3.005 3.005 0 0 1 4 15c0-.076.017-.147.022-.222A2.995 2.995 0 0 1 7 12a3 3 0 0 1 3 3v.009A3.004 3.004 0 0 1 7.001 18zm9.998 0A3.004 3.004 0 0 1 14 15.009V15a3 3 0 0 1 6-.001A3.005 3.005 0 0 1 16.999 18z\"}}]})(props);\n};\nexport function BiSolidBlanket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H7C4.243 2 2 4.243 2 7v10c0 2.757 2.243 5 5 5h12c1.654 0 3-1.346 3-3s-1.346-3-3-3H6v2h13a1 1 0 0 1 0 2H7c-1.654 0-3-1.346-3-3s1.346-3 3-3h13c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 13h.003L4 13.002V13z\"}}]})(props);\n};\nexport function BiSolidBoltCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1 16v-5H7l6-7v5h4l-6 7z\"}}]})(props);\n};\nexport function BiSolidBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.168 8H13l.806-4.835A1 1 0 0 0 12.819 2H7.667a1 1 0 0 0-.986.835l-1.667 10A1 1 0 0 0 6 14h4v8l8.01-12.459A1 1 0 0 0 17.168 8z\"}}]})(props);\n};\nexport function BiSolidBomb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18.293 4.293-1.086 1.086-1.086-1.086a.999.999 0 0 0-1.414 0l-1.249 1.249A8.427 8.427 0 0 0 10.499 5C5.813 5 2 8.813 2 13.5S5.813 22 10.499 22s8.5-3.813 8.5-8.5a8.42 8.42 0 0 0-.431-2.654L19.914 9.5a.999.999 0 0 0 0-1.414l-1.293-1.293 1.09-1.09C19.94 5.474 20.556 5 21 5h1V3h-1c-1.4 0-2.584 1.167-2.707 1.293zM10.499 10c-.935 0-1.813.364-2.475 1.025A3.48 3.48 0 0 0 7 13.5H5c0-1.468.571-2.849 1.609-3.888A5.464 5.464 0 0 1 10.499 8v2z\"}}]})(props);\n};\nexport function BiSolidBone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.852 5.148a3.317 3.317 0 0 0-.96-2.183 3.333 3.333 0 1 0-4.713 4.714l-5.499 5.5a3.333 3.333 0 1 0-4.714 4.713c.606.606 1.39.918 2.183.96.042.793.354 1.576.96 2.183a3.333 3.333 0 1 0 4.713-4.714l5.499-5.499a3.333 3.333 0 1 0 4.714-4.713 3.313 3.313 0 0 0-2.183-.961z\"}}]})(props);\n};\nexport function BiSolidBong (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.293 8.293-2.069 2.069A7.017 7.017 0 0 0 15 8.681V4h1V2H8v2h1v4.681A7.01 7.01 0 0 0 5 15c0 3.859 3.141 7 7 7s7-3.141 7-7a6.958 6.958 0 0 0-.652-2.934l2.359-2.359-1.414-1.414zm-8.959 1.998.666-.235V4h2v6.056l.666.235A5.006 5.006 0 0 1 16.886 14H7.114a5.006 5.006 0 0 1 3.22-3.709z\"}}]})(props);\n};\nexport function BiSolidBookAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.012 18H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1zM8 9h3V6h2v3h3v2h-3v3h-2v-3H8V9z\"}}]})(props);\n};\nexport function BiSolidBookAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3z\"}}]})(props);\n};\nexport function BiSolidBookBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19c0-.101.009-.191.024-.273.112-.576.584-.717.988-.727H21V4a2 2 0 0 0-2-2zm0 9-2-1-2 1V4h4v7z\"}}]})(props);\n};\nexport function BiSolidBookContent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm-1 4v2h-5V7h5zm-5 4h5v2h-5v-2zM4 19V5h7v14H4z\"}}]})(props);\n};\nexport function BiSolidBookHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.012 18H21V4c0-1.103-.897-2-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19c0-.101.009-.191.024-.273.112-.576.584-.717.988-.727zM8.648 7.642a2.224 2.224 0 0 1 3.125 0l.224.219.223-.219a2.225 2.225 0 0 1 3.126 0 2.129 2.129 0 0 1 0 3.069L11.998 14l-3.349-3.289a2.128 2.128 0 0 1-.001-3.069z\"}}]})(props);\n};\nexport function BiSolidBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3h-7a2.98 2.98 0 0 0-2 .78A2.98 2.98 0 0 0 10 3H3a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h5.758a2.01 2.01 0 0 1 1.414.586l1.121 1.121c.009.009.021.012.03.021.086.08.182.15.294.196h.002a.996.996 0 0 0 .762 0h.002c.112-.046.208-.117.294-.196.009-.009.021-.012.03-.021l1.121-1.121A2.01 2.01 0 0 1 15.242 20H21a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 15h-4.758a4.03 4.03 0 0 0-2.242.689V6c0-.551.448-1 1-1h6v13z\"}}]})(props);\n};\nexport function BiSolidBookReader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8v11.529S6.621 19.357 12 22c5.379-2.643 10-2.471 10-2.471V8s-5.454 0-10 2.471C7.454 8 2 8 2 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"3\"}}]})(props);\n};\nexport function BiSolidBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.012 18H21V4a2 2 0 0 0-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.805 5 19s.55-.988 1.012-1zM8 6h9v2H8V6z\"}}]})(props);\n};\nexport function BiSolidBookmarkAltMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-12C4.57 2 3 3.57 3 5.5V22l7-3.5 7 3.5v-9h5V5.5C22 3.57 20.43 2 18.5 2zM13 11H7V9h6v2zm7 0h-3V5.5c0-.827.673-1.5 1.5-1.5s1.5.673 1.5 1.5V11z\"}}]})(props);\n};\nexport function BiSolidBookmarkAltPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-12C4.57 2 3 3.57 3 5.5V22l7-3.5 7 3.5v-9h5V5.5C22 3.57 20.43 2 18.5 2zM13 11h-2v2H9v-2H7V9h2V7h2v2h2v2zm7 0h-3V5.5c0-.827.673-1.5 1.5-1.5s1.5.673 1.5 1.5V11z\"}}]})(props);\n};\nexport function BiSolidBookmarkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-12C4.57 2 3 3.57 3 5.5V22l7-3.5 7 3.5v-9h5V5.5C22 3.57 20.43 2 18.5 2zm1.5 9h-3V5.5c0-.827.673-1.5 1.5-1.5s1.5.673 1.5 1.5V11z\"}}]})(props);\n};\nexport function BiSolidBookmarkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 22V4c0-1.103-.897-2-2-2H7c-1.103 0-2 .897-2 2v18l7-4.666L19 22zM8.006 8.056c0-.568.224-1.083.585-1.456.361-.372.86-.603 1.412-.603 0 0 .996-.003 1.997 1.029 1.001-1.032 1.997-1.029 1.997-1.029.552 0 1.051.23 1.412.603s.585.888.585 1.456-.224 1.084-.585 1.456L12 13.203 8.591 9.512a2.083 2.083 0 0 1-.585-1.456z\"}}]})(props);\n};\nexport function BiSolidBookmarkMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2H7a2 2 0 0 0-2 2v18l7-4.848L19 22V4a2 2 0 0 0-2-2zm-1 9H8V9h8v2z\"}}]})(props);\n};\nexport function BiSolidBookmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2H7a2 2 0 0 0-2 2v18l7-4.848L19 22V4a2 2 0 0 0-2-2zm-1 9h-3v3h-2v-3H8V9h3V6h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidBookmarkStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11.222 14.667 13l-.89-3.111L16 8l-2.667-.333L12 5l-1.333 2.667L8 8l2.223 1.889L9.333 13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21.723V4a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v17.723l7-4.571 7 4.571zM8 8l2.667-.333L12 5l1.333 2.667L16 8l-2.223 1.889.89 3.111L12 11.222 9.333 13l.89-3.111L8 8z\"}}]})(props);\n};\nexport function BiSolidBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10.132v-6c0-1.103-.897-2-2-2H7c-1.103 0-2 .897-2 2V22l7-4.666L19 22V10.132z\"}}]})(props);\n};\nexport function BiSolidBookmarks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.999 23V7c0-1.103-.897-2-2-2h-8c-1.103 0-2 .897-2 2v16l6-3.601 6 3.601z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.585 3h1.414c1.103 0 2 .897 2 2v10.443l2 2.489V3c0-1.103-.897-2-2-2h-8c-1.103 0-2 .897-2 2h6.586z\"}}]})(props);\n};\nexport function BiSolidBot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10.975V8a2 2 0 0 0-2-2h-6V4.688c.305-.274.5-.668.5-1.11a1.5 1.5 0 0 0-3 0c0 .442.195.836.5 1.11V6H5a2 2 0 0 0-2 2v2.998l-.072.005A.999.999 0 0 0 2 12v2a1 1 0 0 0 1 1v5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a1 1 0 0 0 1-1v-1.938a1.004 1.004 0 0 0-.072-.455c-.202-.488-.635-.605-.928-.632zM7 12c0-1.104.672-2 1.5-2s1.5.896 1.5 2-.672 2-1.5 2S7 13.104 7 12zm8.998 6c-1.001-.003-7.997 0-7.998 0v-2s7.001-.002 8.002 0l-.004 2zm-.498-4c-.828 0-1.5-.896-1.5-2s.672-2 1.5-2 1.5.896 1.5 2-.672 2-1.5 2z\"}}]})(props);\n};\nexport function BiSolidBowlHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10H3a1 1 0 0 0-1 1 10 10 0 0 0 5 8.66V21a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1.34A10 10 0 0 0 22 11a1 1 0 0 0-1-1zM9 9V7.93a4.51 4.51 0 0 0-1.28-3.15A2.49 2.49 0 0 1 7 3V2H5v1a4.51 4.51 0 0 0 1.28 3.17A2.49 2.49 0 0 1 7 7.93V9zm4 0V7.93a4.51 4.51 0 0 0-1.28-3.15A2.49 2.49 0 0 1 11 3V2H9v1a4.51 4.51 0 0 0 1.28 3.15A2.49 2.49 0 0 1 11 7.93V9zm4 0V7.93a4.51 4.51 0 0 0-1.28-3.15A2.49 2.49 0 0 1 15 3V2h-2v1a4.51 4.51 0 0 0 1.28 3.15A2.49 2.49 0 0 1 15 7.93V9z\"}}]})(props);\n};\nexport function BiSolidBowlRice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10a3.58 3.58 0 0 0-1.8-3 3.66 3.66 0 0 0-3.63-3.13 3.86 3.86 0 0 0-1 .13 3.7 3.7 0 0 0-5.11 0 3.86 3.86 0 0 0-1-.13A3.66 3.66 0 0 0 4.81 7 3.58 3.58 0 0 0 3 10a1 1 0 0 0-1 1 10 10 0 0 0 5 8.66V21a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1.34A10 10 0 0 0 22 11a1 1 0 0 0-1-1zM5 10a1.59 1.59 0 0 1 1.11-1.39l.83-.26-.16-.85a1.64 1.64 0 0 1 1.66-1.62 1.78 1.78 0 0 1 .83.2l.81.45.5-.77a1.71 1.71 0 0 1 2.84 0l.5.77.81-.45a1.78 1.78 0 0 1 .83-.2 1.65 1.65 0 0 1 1.67 1.6l-.16.85.82.28A1.59 1.59 0 0 1 19 10z\"}}]})(props);\n};\nexport function BiSolidBowlingBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM6.5 12a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 6.5 12zM9 6.5a1.5 1.5 0 1 1 3.001.001A1.5 1.5 0 0 1 9 6.5zm2.5 6.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 11.5 13z\"}}]})(props);\n};\nexport function BiSolidBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h20v4H2zm17 5H3v11a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8h-2zm-3 6H8v-2h8v2z\"}}]})(props);\n};\nexport function BiSolidBrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.299 17.596c.432 1.332 1.745 2.182 3.146 2.182H6.5A2.78 2.78 0 0 0 9.223 22c.457 0 .884-.115 1.262-.313a.992.992 0 0 0 .515-.882V3.027a.997.997 0 0 0-.785-.983 2.324 2.324 0 0 0-1.479.201c-.744.356-1.18 1.151-1.18 1.978v.055a2.778 2.778 0 0 0-2.744 4.433A3.327 3.327 0 0 0 2 12c0 1.178.611 2.211 1.533 2.812-.43.771-.571 1.746-.234 2.784zm15.889-8.885a2.778 2.778 0 0 0-2.744-4.433v-.055c0-.826-.437-1.622-1.181-1.978a2.32 2.32 0 0 0-1.478-.201.998.998 0 0 0-.785.983v17.777c0 .365.192.712.516.882.378.199.804.314 1.261.314a2.78 2.78 0 0 0 2.723-2.223h.056c1.4 0 2.714-.85 3.146-2.182.337-1.038.196-2.013-.234-2.784A3.35 3.35 0 0 0 22 12a3.327 3.327 0 0 0-2.812-3.289z\"}}]})(props);\n};\nexport function BiSolidBriefcaseAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v4h5v-2h2v2h6v-2h2v2h5V8c0-1.103-.897-2-2-2zM9 4h6v2H9V4zm8 11h-2v-2H9v2H7v-2H2v6c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-6h-5v2z\"}}]})(props);\n};\nexport function BiSolidBriefcaseAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zM6 8h2v11H6V8zm12 11h-2V8h2v11zM15 4v2H9V4h6z\"}}]})(props);\n};\nexport function BiSolidBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4c0-1.103-.897-2-2-2H9c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v3h20V8c0-1.103-.897-2-2-2zM9 4h6v2H9V4zm5 10h-4v-2H2v7c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-7h-8v2z\"}}]})(props);\n};\nexport function BiSolidBrightnessHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.546 11.646 19 9.101V5.5a.5.5 0 0 0-.5-.5h-3.601l-2.546-2.546a.5.5 0 0 0-.707 0L9.101 5H5.5a.5.5 0 0 0-.5.5v3.601l-2.546 2.546a.5.5 0 0 0 0 .707L5 14.899V18.5a.5.5 0 0 0 .5.5h3.601l2.546 2.546a.5.5 0 0 0 .707 0L14.899 19H18.5a.5.5 0 0 0 .5-.5v-3.601l2.546-2.546a.5.5 0 0 0 0-.707zM12 8a4 4 0 0 1 0 8\"}}]})(props);\n};\nexport function BiSolidBrightness (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.546 11.646 19 9.101V5.5a.5.5 0 0 0-.5-.5h-3.601l-2.546-2.546a.5.5 0 0 0-.707 0L9.101 5H5.5a.5.5 0 0 0-.5.5v3.601l-2.546 2.546a.5.5 0 0 0 0 .707L5 14.899V18.5a.5.5 0 0 0 .5.5h3.601l2.546 2.546a.5.5 0 0 0 .707 0L14.899 19H18.5a.5.5 0 0 0 .5-.5v-3.601l2.546-2.546a.5.5 0 0 0 0-.707zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BiSolidBrushAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8.001h-2V8h-1V4.999a2.92 2.92 0 0 0-.874-2.108 2.943 2.943 0 0 0-2.39-.879C10.202 2.144 9 3.508 9 5.117V8H6c-1.103 0-2 .897-2 2v11a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V10.001c0-1.103-.897-2-2-2zM6 12v-2h5V5.117c0-.57.407-1.07 1.002-1.117.266 0 .512.103.712.307a.956.956 0 0 1 .286.692V10h.995l.005.001h4V12H6z\"}}]})(props);\n};\nexport function BiSolidBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.207 11.278-2.035-2.035-1.415-1.415-5.035-5.035a.999.999 0 0 0-1.414 0L6.151 7.949 4.736 9.363a2.985 2.985 0 0 0-.878 2.122c0 .802.313 1.556.879 2.121l.707.707-2.122 2.122a2.925 2.925 0 0 0-.873 2.108 2.968 2.968 0 0 0 1.063 2.308 2.92 2.92 0 0 0 1.886.681c.834 0 1.654-.341 2.25-.937l2.039-2.039.707.706c1.133 1.133 3.107 1.134 4.242.001l.708-.707.569-.569.138-.138 5.156-5.157a.999.999 0 0 0 0-1.414zm-7.277 5.865-.708.706a1.021 1.021 0 0 1-1.414 0l-1.414-1.413a.999.999 0 0 0-1.414 0l-2.746 2.745a1.192 1.192 0 0 1-.836.352.914.914 0 0 1-.595-.208.981.981 0 0 1-.354-.782.955.955 0 0 1 .287-.692l2.829-2.829a.999.999 0 0 0 0-1.414l-1.414-1.415c-.189-.188-.293-.438-.293-.706s.104-.519.293-.708l.707-.707 3.536 3.536 3.536 3.535z\"}}]})(props);\n};\nexport function BiSolidBugAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 5.414 1.707-1.707-1.414-1.414-1.563 1.562C15.483 2.708 13.824 2 12 2s-3.483.708-4.73 1.855L5.707 2.293 4.293 3.707 6 5.414A6.937 6.937 0 0 0 5 9H3v2h2v2H3v2h2c0 3.86 3.141 7 7 7s7-3.14 7-7h2v-2h-2v-2h2V9h-2a6.937 6.937 0 0 0-1-3.586zM15 15H9v-2h6v2zm0-4H9V9h6v2z\"}}]})(props);\n};\nexport function BiSolidBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.787 7h10.426c-.108-.158-.201-.331-.318-.481l2.813-2.812-1.414-1.414-2.846 2.846a6.575 6.575 0 0 0-.723-.454 5.778 5.778 0 0 0-5.45 0c-.25.132-.488.287-.722.453L5.707 2.293 4.293 3.707l2.813 2.812c-.118.151-.21.323-.319.481zM5.756 9H2v2h2.307c-.065.495-.107.997-.107 1.5 0 .507.042 1.013.107 1.511H2v2h2.753c.013.039.021.08.034.118.188.555.421 1.093.695 1.6.044.081.095.155.141.234l-2.33 2.33 1.414 1.414 2.11-2.111a7.477 7.477 0 0 0 2.068 1.619c.479.253.982.449 1.496.58.204.052.411.085.618.118V16h2v5.914a6.23 6.23 0 0 0 .618-.118 6.812 6.812 0 0 0 1.496-.58c.465-.246.914-.55 1.333-.904.258-.218.5-.462.734-.716l2.111 2.111 1.414-1.414-2.33-2.33c.047-.08.098-.155.142-.236.273-.505.507-1.043.694-1.599.013-.039.021-.079.034-.118H22v-2h-2.308c.065-.499.107-1.004.107-1.511 0-.503-.042-1.005-.106-1.5H22V9H5.756z\"}}]})(props);\n};\nexport function BiSolidBuildingHouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.991 2H9.01C7.899 2 7 2.899 7 4.01v5.637l-4.702 4.642A1 1 0 0 0 3 16v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4.009C21 2.899 20.102 2 18.991 2zm-8.069 13.111V20H5v-5.568l2.987-2.949 2.935 3.003v.625zM13 9h-2V7h2v2zm4 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15h2v2H7z\"}}]})(props);\n};\nexport function BiSolidBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2H7a2 2 0 0 0-2 2v17a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a2 2 0 0 0-2-2zm-6 14H8v-2h3v2zm0-4H8v-2h3v2zm0-4H8V6h3v2zm5 8h-3v-2h3v2zm0-4h-3v-2h3v2zm0-4h-3V6h3v2z\"}}]})(props);\n};\nexport function BiSolidBuildings (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14.001h2v2H7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2h-8a2 2 0 0 0-2 2v6H5c-1.103 0-2 .897-2 2v9a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a2 2 0 0 0-2-2zM5 20v-8h6v8H5zm9-12h-2V6h2v2zm4 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V6h2v2z\"}}]})(props);\n};\nexport function BiSolidBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20h6v2H9zm7.906-6.288C17.936 12.506 19 11.259 19 9c0-3.859-3.141-7-7-7S5 5.141 5 9c0 2.285 1.067 3.528 2.101 4.73.358.418.729.851 1.084 1.349.144.206.38.996.591 1.921h-.792v2h8.032v-2h-.79c.213-.927.45-1.719.593-1.925.352-.503.726-.94 1.087-1.363z\"}}]})(props);\n};\nexport function BiSolidBullseye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 17c-3.859 0-7-3.14-7-7s3.141-7 7-7 7 3.14 7 7-3.141 7-7 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7c-2.757 0-5 2.243-5 5s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5zm0 7c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiSolidBuoy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.736 8h-3.16A5.02 5.02 0 0 0 14 7.424V4.263A8.015 8.015 0 0 1 19.736 10zM12 15c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3zM10 4.263v3.161A5.02 5.02 0 0 0 7.424 10h-3.16A8.015 8.015 0 0 1 10 4.263zM4.264 14h3.16A5.02 5.02 0 0 0 10 16.576v3.161A8.015 8.015 0 0 1 4.264 14zM14 19.737v-3.161A5.02 5.02 0 0 0 16.576 14h3.16A8.015 8.015 0 0 1 14 19.737z\"}}]})(props);\n};\nexport function BiSolidBusSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11.597V11h1V8h-1V6c0-2.206-1.794-4-4-4H7C4.794 2 3 3.794 3 6v2H2v3h1v.597a3.97 3.97 0 0 0-.999 2.648l.004 3.758c.001.733.404 1.369.995 1.716V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h12v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.274a2.02 2.02 0 0 0 .421-.313c.377-.378.585-.881.584-1.415l-.004-3.759A3.965 3.965 0 0 0 21 11.597zM8 4h8v2H8V4zM6.5 17a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 6.5 17zm4.5-5H5V8h6v4zm6.5 5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 17.5 17zm1.5-5h-6V8h6v4z\"}}]})(props);\n};\nexport function BiSolidBus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6.021c.003-.146-.007-1.465-1.3-2.735C18.427 2.036 17.143 2 17 2H6.996c-.239 0-1.493.063-2.708 1.302C3.036 4.578 3 5.859 3 6v3H2v3h1v6c0 .734.406 1.373 1 1.721V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h10v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.277A1.99 1.99 0 0 0 21 18v-6h1V9h-1V6.021zM9 4h6v2H9V4zM6.5 18a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 6.5 18zm4.5-5H5V8h6v5zm6.5 5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 17.5 18zm1.5-5h-6V8h6v5z\"}}]})(props);\n};\nexport function BiSolidBusiness (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7h-6a1 1 0 0 0-1 1v3h-2V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1zM8 6h2v2H8V6zM6 16H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V6h2v2zm4 8H8v-2h2v2zm0-4H8v-2h2v2zm9 4h-2v-2h2v2zm0-4h-2v-2h2v2z\"}}]})(props);\n};\nexport function BiSolidCabinet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v7h18V4zm-5 4H8V5h2v1h4V5h2v3zM5 22h14c1.103 0 2-.897 2-2v-7H3v7c0 1.103.897 2 2 2zm3-6h2v1h4v-1h2v3H8v-3z\"}}]})(props);\n};\nexport function BiSolidCableCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 9.76 9-2.45V10H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-4V6.76l9-2.45V2.24L2 7.69zM11 12v3H7v-3zm6 0v3h-4v-3z\"}}]})(props);\n};\nexport function BiSolidCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.997 15c-1.601 0-2.446-.676-3.125-1.219-.567-.453-.977-.781-1.878-.781-.898 0-1.287.311-1.874.78-.679.544-1.524 1.22-3.125 1.22s-2.444-.676-3.123-1.22C3.285 13.311 2.897 13 2 13v5c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-5c-.899 0-1.288.311-1.876.781-.68.543-1.525 1.219-3.127 1.219zM19 5h-6V2h-2v3H5C3.346 5 2 6.346 2 8v3c1.6 0 2.443.676 3.122 1.22.587.469.975.78 1.873.78.899 0 1.287-.311 1.875-.781.679-.543 1.524-1.219 3.124-1.219 1.602 0 2.447.676 3.127 1.219.588.47.977.781 1.876.781.9 0 1.311-.328 1.878-.781C19.554 11.676 20.399 11 22 11V8c0-1.654-1.346-3-3-3z\"}}]})(props);\n};\nexport function BiSolidCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2zm3-3H7v-2h2v2zm0-4H7v-2h2v2zm0-4H7V9h2v2zm4 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V9h2v2zm4 8h-2v-6h2v6zm0-8h-2V9h2v2zM6 4h12v3H6V4z\"}}]})(props);\n};\nexport function BiSolidCalendarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 7h14v2H5V7z\"}}]})(props);\n};\nexport function BiSolidCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm6-3.586-3.707-3.707 1.414-1.414L11 15.586l4.293-4.293 1.414 1.414L11 18.414zM5 7h14v2H5V7z\"}}]})(props);\n};\nexport function BiSolidCalendarEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm4.799-2.013H8v-1.799l4.977-4.97 1.799 1.799-4.977 4.97zm5.824-5.817-1.799-1.799L15.196 11l1.799 1.799-1.372 1.371zM5 7h14v2H5V7z\"}}]})(props);\n};\nexport function BiSolidCalendarEvent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-1 15h-6v-6h6v6zm1-10H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidCalendarExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-6 16h-2v-2h2v2zm0-4h-2v-5h2v5zm6-7H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidCalendarHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-3.648 11.711L12.002 19l-3.349-3.289a2.129 2.129 0 0 1 0-3.069 2.224 2.224 0 0 1 3.125 0l.224.219.224-.219a2.225 2.225 0 0 1 3.126 0 2.129 2.129 0 0 1 0 3.069zM19 9H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm11-6H8v-2h8v2zM5 7h14v2H5V7z\"}}]})(props);\n};\nexport function BiSolidCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm11-6h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zM5 7h14v2H5V7z\"}}]})(props);\n};\nexport function BiSolidCalendarStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-4.588 15-2.449-1.288L9.514 19l.468-2.728L8 14.342l2.738-.398 1.225-2.48 1.225 2.48 2.738.398-1.981 1.931.467 2.727zM19 9H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidCalendarWeek (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-2 8v2H7v-3h10v1zm2-3H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidCalendarX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm10.707-4.707-1.414 1.414L12 16.414l-2.293 2.293-1.414-1.414L10.586 15l-2.293-2.293 1.414-1.414L12 13.586l2.293-2.293 1.414 1.414L13.414 15l2.293 2.293zM5 7h14v2H5V7z\"}}]})(props);\n};\nexport function BiSolidCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2zM9 18H7v-2h2v2zm0-4H7v-2h2v2zm4 4h-2v-2h2v2zm0-4h-2v-2h2v2zm4 4h-2v-2h2v2zm0-4h-2v-2h2v2zm2-5H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidCameraHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.125 2H5.875A1.877 1.877 0 0 0 4 3.875v12.25C4 17.159 4.841 18 5.875 18H11v2H7v2h10v-2h-4v-2h5.125A1.877 1.877 0 0 0 20 16.125V3.875A1.877 1.877 0 0 0 18.125 2zM12 15c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\"}}]})(props);\n};\nexport function BiSolidCameraMovie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11c0-.959-.68-1.761-1.581-1.954C16.779 8.445 17 7.75 17 7c0-2.206-1.794-4-4-4-1.516 0-2.822.857-3.5 2.104C8.822 3.857 7.516 3 6 3 3.794 3 2 4.794 2 7c0 .902.312 1.726.817 2.396A1.993 1.993 0 0 0 2 11v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-2.637l4 2v-7l-4 2V11zm-5-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2zM6 5c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"}}]})(props);\n};\nexport function BiSolidCameraOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h11.879l-3.083-3.083A4.774 4.774 0 0 1 12 17c-2.71 0-5-2.29-5-5 0-.271.039-.535.083-.796L2.144 6.265C2.054 6.493 2 6.74 2 7v11c0 1.103.897 2 2 2zM20 5h-2.586l-2.707-2.707A.996.996 0 0 0 14 2h-4a.996.996 0 0 0-.707.293L6.586 5h-.172L3.707 2.293 2.293 3.707l18 18 1.414-1.414-.626-.626A1.98 1.98 0 0 0 22 18V7c0-1.103-.897-2-2-2zm-5.312 8.274A2.86 2.86 0 0 0 15 12c0-1.626-1.374-3-3-3-.456 0-.884.12-1.274.312l-1.46-1.46A4.88 4.88 0 0 1 12 7c2.71 0 5 2.29 5 5a4.88 4.88 0 0 1-.852 2.734l-1.46-1.46z\"}}]})(props);\n};\nexport function BiSolidCameraPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-2.586l-2.707-2.707A.996.996 0 0 0 14 2h-4a.996.996 0 0 0-.707.293L6.586 5H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zm-8 12c-2.71 0-5-2.29-5-5 0-2.711 2.29-5 5-5s5 2.289 5 5c0 2.71-2.29 5-5 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h-2v2H9v2h2v2h2v-2h2v-2h-2z\"}}]})(props);\n};\nexport function BiSolidCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-2.586l-2.707-2.707A.996.996 0 0 0 14 2h-4a.996.996 0 0 0-.707.293L6.586 5H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zm-8 12c-2.71 0-5-2.29-5-5s2.29-5 5-5 5 2.29 5 5-2.29 5-5 5z\"}}]})(props);\n};\nexport function BiSolidCapsule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.434 20.566c1.335 0 2.591-.52 3.535-1.464l7.134-7.133a5.008 5.008 0 0 0-.001-7.072 4.969 4.969 0 0 0-3.536-1.463c-1.335 0-2.59.52-3.534 1.464l-7.134 7.133a5.01 5.01 0 0 0-.001 7.072 4.971 4.971 0 0 0 3.537 1.463zm5.011-14.254a2.979 2.979 0 0 1 2.12-.878c.802 0 1.556.312 2.122.878a3.004 3.004 0 0 1 .001 4.243l-2.893 2.892-4.242-4.244 2.892-2.891z\"}}]})(props);\n};\nexport function BiSolidCaptions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-9 6H8v4h3v2H8c-1.103 0-2-.897-2-2v-4c0-1.103.897-2 2-2h3v2zm7 0h-3v4h3v2h-3c-1.103 0-2-.897-2-2v-4c0-1.103.897-2 2-2h3v2z\"}}]})(props);\n};\nexport function BiSolidCarBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zM9 14H4v-2h5v2zm11 0h-2v2h-2v-2h-2v-2h2v-2h2v2h2v2zM4 3h4v2H4zm12 0h4v2h-4z\"}}]})(props);\n};\nexport function BiSolidCarCrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.634 17.918a1.765 1.765 0 0 0 1.201 1.291l.18.791H4v2h16v-2H6.683a.84.84 0 0 0-.007-.278l-.196-.863 10.357-2.356.196.863a.886.886 0 0 0 1.06.667l.863-.197a.885.885 0 0 0 .667-1.06l-.251-1.103c.446-.416.67-1.046.525-1.683l-.59-2.59a1.76 1.76 0 0 0-1.262-1.307l-2.049-3.378a2.774 2.774 0 0 0-2.982-1.263l-7.868 1.79a2.769 2.769 0 0 0-2.144 2.43l-.387 3.932a1.76 1.76 0 0 0-.57 1.724l.589 2.59zm3.02-.688a1.327 1.327 0 1 1-.59-2.589 1.327 1.327 0 0 1 .59 2.589zm11.222-2.552a1.328 1.328 0 1 1-.59-2.587 1.328 1.328 0 0 1 .59 2.587zM5.589 9.192l7.869-1.791a.773.773 0 0 1 .83.351l1.585 2.613-.566.129-10.046 2.287-.568.129.299-3.042a.772.772 0 0 1 .597-.676zM18.405 4 17 2l-.5 3L19 9l3 1-2-2.539 2-.933-2-.933L22 2z\"}}]})(props);\n};\nexport function BiSolidCarGarage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19.723V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h12v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.277A1.99 1.99 0 0 0 22 18v-3c0-.831-.507-1.542-1.228-1.845l-1.368-4.104A2.995 2.995 0 0 0 16.559 7H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.104A2.001 2.001 0 0 0 2 15v3c0 .738.404 1.376 1 1.723zM5.5 18a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 5.5 18zm13 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 18.5 18zM7.441 9h9.117a1 1 0 0 1 .949.684L18.613 13H5.387l1.105-3.316c.137-.409.519-.684.949-.684z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7.388V5.279l-9.684-3.228a.996.996 0 0 0-.658.009L2 5.572V7.7l10.015-3.642L22 7.388z\"}}]})(props);\n};\nexport function BiSolidCarMechanic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.772 13.155-1.368-4.104A2.995 2.995 0 0 0 16.559 7H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.104A2.001 2.001 0 0 0 2 15v3c0 .738.404 1.376 1 1.723V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h12v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.277A1.99 1.99 0 0 0 22 18v-3c0-.831-.507-1.542-1.228-1.845zM7.441 9h9.117a1 1 0 0 1 .949.684L18.613 13H5.387l1.105-3.316c.137-.409.519-.684.949-.684zM5.5 18a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 5.5 18zm13 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 18.5 18zM5.277 5c.347.595.985 1 1.723 1s1.376-.405 1.723-1h6.555c.346.595.984 1 1.722 1s1.376-.405 1.723-1H17V3h1.723c-.347-.595-.985-1-1.723-1s-1.376.405-1.723 1H8.723C8.376 2.405 7.738 2 7 2s-1.376.405-1.723 1H7v2H5.277z\"}}]})(props);\n};\nexport function BiSolidCarWash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.772 13.155-1.368-4.104A2.995 2.995 0 0 0 16.559 7H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.104A2.001 2.001 0 0 0 2 15v3c0 .738.404 1.376 1 1.723V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h12v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.277A1.99 1.99 0 0 0 22 18v-3c0-.831-.507-1.542-1.228-1.845zM7.441 9h9.117a1 1 0 0 1 .949.684L18.613 13H5.387l1.105-3.316c.137-.409.519-.684.949-.684zM5.5 18a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 5.5 18zm13 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 18.5 18zM9 4.378c.005-1.088-1.037-2.051-1.387-2.344a.176.176 0 0 0-.228 0C7.033 2.325 5.995 3.271 6 4.377 6 5.272 6.673 6 7.5 6S9 5.272 9 4.378zm4.5 0c.005-1.088-1.037-2.052-1.387-2.344a.176.176 0 0 0-.228 0c-.353.291-1.391 1.238-1.386 2.344C10.5 5.272 11.173 6 12 6s1.5-.728 1.5-1.622zm4.5 0c.005-1.088-1.037-2.052-1.387-2.344a.176.176 0 0 0-.228 0c-.352.291-1.39 1.237-1.385 2.343C15 5.272 15.673 6 16.5 6S18 5.272 18 4.378z\"}}]})(props);\n};\nexport function BiSolidCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.772 10.155-1.368-4.104A2.995 2.995 0 0 0 16.559 4H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.104A2 2 0 0 0 2 12v5c0 .738.404 1.376 1 1.723V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2h12v2a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2.277A1.99 1.99 0 0 0 22 17v-5a2 2 0 0 0-1.228-1.845zM7.441 6h9.117c.431 0 .813.274.949.684L18.613 10H5.387l1.105-3.316A1 1 0 0 1 7.441 6zM5.5 16a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 5.5 16zm13 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 18.5 16z\"}}]})(props);\n};\nexport function BiSolidCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H6c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h12zM4 19h16v2H4z\"}}]})(props);\n};\nexport function BiSolidCaretDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10c5.515 0 10-4.486 10-10S17.515 2 12 2zm0 14-5-6h10l-5 6z\"}}]})(props);\n};\nexport function BiSolidCaretDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm12-11-5 6-5-6h10z\"}}]})(props);\n};\nexport function BiSolidCaretLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm2 15-6-5 6-5v10z\"}}]})(props);\n};\nexport function BiSolidCaretLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm9-14v10l-6-5 6-5z\"}}]})(props);\n};\nexport function BiSolidCaretRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zM10 7l6 5-6 5V7z\"}}]})(props);\n};\nexport function BiSolidCaretRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm5-14 6 5-6 5V7z\"}}]})(props);\n};\nexport function BiSolidCaretUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.485 2 2 6.486 2 12s4.485 10 10 10c5.514 0 10-4.486 10-10S17.514 2 12 2zM7 14l5-6 5 6H7z\"}}]})(props);\n};\nexport function BiSolidCaretUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm7-13 5 6H7l5-6z\"}}]})(props);\n};\nexport function BiSolidCarousel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3H8c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h8c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM2 7v10c0 1.103.897 2 2 2V5c-1.103 0-2 .897-2 2zm18-2v14c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidCartAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7H7.334L6.18 4.23A1.995 1.995 0 0 0 4.333 3H2v2h2.334l4.743 11.385c.155.372.52.615.923.615h8c.417 0 .79-.259.937-.648l3-8A1.003 1.003 0 0 0 21 7zm-4 6h-2v2h-2v-2h-2v-2h2V9h2v2h2v2z\"}}]})(props);\n};\nexport function BiSolidCartAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H2v2h2.3l3.521 9.683A2.004 2.004 0 0 0 9.7 17H18v-2H9.7l-.728-2H18c.4 0 .762-.238.919-.606l3-7A.998.998 0 0 0 21 4z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiSolidCartDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7H7.334L6.18 4.23A1.995 1.995 0 0 0 4.333 3H2v2h2.334l4.743 11.385c.155.372.52.615.923.615h8c.417 0 .79-.259.937-.648l3-8A1.003 1.003 0 0 0 21 7zm-7 8-3-3h2V9h2v3h2l-3 3z\"}}]})(props);\n};\nexport function BiSolidCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.822 7.431A1 1 0 0 0 21 7H7.333L6.179 4.23A1.994 1.994 0 0 0 4.333 3H2v2h2.333l4.744 11.385A1 1 0 0 0 10 17h8c.417 0 .79-.259.937-.648l3-8a1 1 0 0 0-.115-.921z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"19.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiSolidCastle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11h-2V6h1V2h-2v2h-1V2h-2v2h-1V2h-2v2h-1V2H8v2H7V2H5v4h1v5H4V9H2v12h7v-5a3 3 0 0 1 6 0v5h7V9h-2zm-10-1H8V7h2zm6 0h-2V7h2z\"}}]})(props);\n};\nexport function BiSolidCat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14a5 5 0 0 0 2.71-.81L20 13a3.16 3.16 0 0 0 .45-.37l.21-.2a4.48 4.48 0 0 0 .48-.58l.06-.08a4.28 4.28 0 0 0 .41-.76 1.57 1.57 0 0 0 .09-.23 4.21 4.21 0 0 0 .2-.63l.06-.25A5.5 5.5 0 0 0 22 9V2l-3 3h-4l-3-3v7a5 5 0 0 0 5 5zm2-7a1 1 0 1 1-1 1 1 1 0 0 1 1-1zm-4 0a1 1 0 1 1-1 1 1 1 0 0 1 1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 22v-5H8v5H5V11.9a3.49 3.49 0 0 1-2.48-1.64A3.59 3.59 0 0 1 2 8.5 3.65 3.65 0 0 1 6 5a1.89 1.89 0 0 0 2-2 1 1 0 0 1 1-1 1 1 0 0 1 1 1 3.89 3.89 0 0 1-4 4C4.19 7 4 8.16 4 8.51S4.18 10 6 10h5.09A6 6 0 0 0 19 14.65V22h-3v-5h-2v5z\"}}]})(props);\n};\nexport function BiSolidCategoryAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm10 10h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zM17 3c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zM7 13c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4z\"}}]})(props);\n};\nexport function BiSolidCategory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm10 0h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zM4 21h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm13 0c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4z\"}}]})(props);\n};\nexport function BiSolidCctv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.618 7.462 6.403 2.085a1.007 1.007 0 0 0-.77-.016 1.002 1.002 0 0 0-.552.537l-3 7a1 1 0 0 0 .525 1.313L9.563 13.9 8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054 3.419 1.465a1 1 0 0 0 1.311-.518l3-6.857a1 1 0 0 0-.513-1.316zm1.312 8.91-1.858-.742 1.998-5 1.858.741z\"}}]})(props);\n};\nexport function BiSolidCertification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.047 14.667a.992.992 0 0 0 .466.607l1.909 1.104v2.199a1 1 0 0 0 1 1h2.199l1.104 1.91a1.002 1.002 0 0 0 1.366.366L12 20.75l1.91 1.104a1.002 1.002 0 0 0 1.366-.366l1.103-1.909h2.199a1 1 0 0 0 1-1V16.38l1.909-1.104a.999.999 0 0 0 .366-1.366L20.75 12l1.104-1.909a1 1 0 0 0-.366-1.366l-1.909-1.104V5.422a1 1 0 0 0-1-1H16.38l-1.103-1.909a1.004 1.004 0 0 0-.607-.466.994.994 0 0 0-.759.1L12 3.25l-1.909-1.104a.998.998 0 0 0-1.366.365l-1.104 1.91H5.422a1 1 0 0 0-1 1V7.62L2.513 8.725a1.001 1.001 0 0 0-.365 1.366L3.251 12l-1.104 1.909a1.003 1.003 0 0 0-.1.758z\"}}]})(props);\n};\nexport function BiSolidChalkboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h4l-1.8 2.4 1.6 1.2 2.7-3.6h3l2.7 3.6 1.6-1.2L16 18h4c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM5 13h4v2H5v-2z\"}}]})(props);\n};\nexport function BiSolidChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14zM9.553 9.658l4 2 1.553-3.105 1.789.895-2.447 4.895-4-2-1.553 3.105-1.789-.895 2.447-4.895z\"}}]})(props);\n};\nexport function BiSolidChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h2v4.081L11.101 18H16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8c-1.103 0-2 .897-2 2h12c1.103 0 2 .897 2 2v8c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1.999 14.413-3.713-3.705L7.7 11.292l2.299 2.295 5.294-5.294 1.414 1.414-6.706 6.706z\"}}]})(props);\n};\nexport function BiSolidCheckShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.488 21.754c.294.157.663.156.957-.001 8.012-4.304 8.581-12.713 8.574-15.104a.988.988 0 0 0-.596-.903l-8.05-3.566a1.005 1.005 0 0 0-.813.001L3.566 5.747a.99.99 0 0 0-.592.892c-.034 2.379.445 10.806 8.514 15.115zM8.674 10.293l2.293 2.293 4.293-4.293 1.414 1.414-5.707 5.707-3.707-3.707 1.414-1.414z\"}}]})(props);\n};\nexport function BiSolidCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm-7.933 13.481-3.774-3.774 1.414-1.414 2.226 2.226 4.299-5.159 1.537 1.28-5.702 6.841z\"}}]})(props);\n};\nexport function BiSolidCheckboxChecked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H7zm4 10.414-2.707-2.707 1.414-1.414L11 12.586l3.793-3.793 1.414 1.414L11 15.414z\"}}]})(props);\n};\nexport function BiSolidCheckboxMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zm-1 8H8v-2h8z\"}}]})(props);\n};\nexport function BiSolidCheckbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2z\"}}]})(props);\n};\nexport function BiSolidCheese (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.16 2a1 1 0 0 0-.66.13l-12 7a.64.64 0 0 0-.13.1l-.1.08a1.17 1.17 0 0 0-.17.26.84.84 0 0 0-.1.43v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V10a8.08 8.08 0 0 0-6.84-8zm0 2.05A6.07 6.07 0 0 1 19.93 9H6.7zM6.5 18A1.5 1.5 0 1 1 8 16.5 1.5 1.5 0 0 1 6.5 18zm5-3a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5zm5.5 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2z\"}}]})(props);\n};\nexport function BiSolidChess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2H3a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zm-1 6h-4v4h4v4h-4v4h-4v-4H8v4H4v-4h4v-4H4V8h4V4h4v4h4V4h4v4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8h4v4H8zm4 4h4v4h-4z\"}}]})(props);\n};\nexport function BiSolidChevronDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 14.414-5.707-5.707 1.414-1.414L12 13.586l4.293-4.293 1.414 1.414L12 16.414z\"}}]})(props);\n};\nexport function BiSolidChevronDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM7.707 9.293 12 13.586l4.293-4.293 1.414 1.414L12 16.414l-5.707-5.707 1.414-1.414z\"}}]})(props);\n};\nexport function BiSolidChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.939 7.939 12 12.879l-4.939-4.94-2.122 2.122L12 17.121l7.061-7.06z\"}}]})(props);\n};\nexport function BiSolidChevronLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm2.707 14.293-1.414 1.414L7.586 12l5.707-5.707 1.414 1.414L10.414 12l4.293 4.293z\"}}]})(props);\n};\nexport function BiSolidChevronLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5zm9.707 13.293-1.414 1.414L7.586 12l5.707-5.707 1.414 1.414L10.414 12l4.293 4.293z\"}}]})(props);\n};\nexport function BiSolidChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.939 4.939 6.879 12l7.06 7.061 2.122-2.122L11.121 12l4.94-4.939z\"}}]})(props);\n};\nexport function BiSolidChevronRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1.293 15.707-1.414-1.414L13.586 12 9.293 7.707l1.414-1.414L16.414 12l-5.707 5.707z\"}}]})(props);\n};\nexport function BiSolidChevronRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm6.293 2.707 1.414-1.414L16.414 12l-5.707 5.707-1.414-1.414L13.586 12 9.293 7.707z\"}}]})(props);\n};\nexport function BiSolidChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.061 19.061 17.121 12l-7.06-7.061-2.122 2.122L12.879 12l-4.94 4.939z\"}}]})(props);\n};\nexport function BiSolidChevronUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm4.293 12.707L12 10.414l-4.293 4.293-1.414-1.414L12 7.586l5.707 5.707-1.414 1.414z\"}}]})(props);\n};\nexport function BiSolidChevronUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zm7-13.414 5.707 5.707-1.414 1.414L12 10.414l-4.293 4.293-1.414-1.414L12 7.586z\"}}]})(props);\n};\nexport function BiSolidChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 6.879-7.061 7.06 2.122 2.122L12 11.121l4.939 4.94 2.122-2.122z\"}}]})(props);\n};\nexport function BiSolidChevronsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.939 10.939 12 15.879l-4.939-4.94-2.122 2.122L12 20.121l7.061-7.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.939 3.939 12 8.879l-4.939-4.94-2.122 2.122L12 13.121l7.061-7.06z\"}}]})(props);\n};\nexport function BiSolidChevronsLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.121 12 4.94-4.939-2.122-2.122L3.879 12l7.06 7.061 2.122-2.122z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.939 4.939 10.879 12l7.06 7.061 2.122-2.122L15.121 12l4.94-4.939z\"}}]})(props);\n};\nexport function BiSolidChevronsRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.061 4.939-2.122 2.122L15.879 12l-4.94 4.939 2.122 2.122L20.121 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.061 19.061 13.121 12l-7.06-7.061-2.122 2.122L8.879 12l-4.94 4.939z\"}}]})(props);\n};\nexport function BiSolidChevronsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 3.879-7.061 7.06 2.122 2.122L12 8.121l4.939 4.94 2.122-2.122z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.939 17.939 2.122 2.122L12 15.121l4.939 4.94 2.122-2.122L12 10.879z\"}}]})(props);\n};\nexport function BiSolidChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7a2 2 0 0 0-2-2h-1V2h-2v3h-4V2H8v3H7a2 2 0 0 0-2 2v1H2v2h3v4H2v2h3v1a2 2 0 0 0 2 2h1v3h2v-3h4v3h2v-3h1a2 2 0 0 0 2-2v-1h3v-2h-3v-4h3V8h-3V7zm-4 8H9V9h6v6z\"}}]})(props);\n};\nexport function BiSolidChurch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22v-4a2 2 0 0 1 4 0v4h4V12a1 1 0 0 0-.485-.857L13 8.434V6h2V4h-2V2h-2v2H9v2h2v2.434l-4.515 2.709A1 1 0 0 0 6 12v10h4zm-7 0h2v-8.118l-2.447 1.224A.998.998 0 0 0 2 16v5a1 1 0 0 0 1 1zm18.447-6.895L19 13.882V22h2a1 1 0 0 0 1-1v-5c0-.379-.214-.725-.553-.895z\"}}]})(props);\n};\nexport function BiSolidCircleHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-1v20h1a10 10 0 0 0 0-20z\"}}]})(props);\n};\nexport function BiSolidCircleQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-1v11h11v-1A10 10 0 0 0 12 2z\"}}]})(props);\n};\nexport function BiSolidCircleThreeQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-1v9H2v1a10 10 0 0 0 17.07 7.07A10 10 0 0 0 12 2z\"}}]})(props);\n};\nexport function BiSolidCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2z\"}}]})(props);\n};\nexport function BiSolidCity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6h-4V3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zM6 18H4v-2h2v2zm0-4H4v-2h2v2zm5 4H9v-2h2v2zm0-4H9v-2h2v2zm0-4H9V8h2v2zm0-4H9V4h2v2zm4 12h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V8h2v2zm0-4h-2V4h2v2zm5 12h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V8h2v2z\"}}]})(props);\n};\nexport function BiSolidClinic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.743 12.331-9-10c-.379-.422-1.107-.422-1.486 0l-9 10a.998.998 0 0 0-.17 1.076c.16.361.518.593.913.593h2v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7h2a.998.998 0 0 0 .743-1.669zM16 15h-3v3h-2v-3H8v-2h3v-3h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 11.112C18.507 7.67 15.56 5 12 5 9.244 5 6.85 6.61 5.757 9.149 3.609 9.792 2 11.82 2 14c0 2.657 2.089 4.815 4.708 4.971V19H17.99v-.003L18 19c2.206 0 4-1.794 4-4a4.008 4.008 0 0 0-3.056-3.888zM8 12h3V9h2v3h3l-4 5-4-5z\"}}]})(props);\n};\nexport function BiSolidCloudLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.112C18.507 6.67 15.56 4 12 4 9.244 4 6.85 5.611 5.757 8.15 3.609 8.792 2 10.82 2 13c0 2.757 2.243 5 5 5h1.333L10 13h4l-2 3h2.975l-1.325 2H18c2.206 0 4-1.794 4-4a4.01 4.01 0 0 0-3.056-3.888zM11 18H8.333L8 19h3v3l2.649-4H11.5z\"}}]})(props);\n};\nexport function BiSolidCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 10.112C18.507 6.67 15.56 4 12 4 9.244 4 6.85 5.611 5.757 8.15 3.609 8.792 2 10.82 2 13c0 2.757 2.243 5 5 5h1v3h2v-3h4v3h2v-3h2c2.206 0 4-1.794 4-4a4.01 4.01 0 0 0-3.056-3.888z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19h2v3h-2z\"}}]})(props);\n};\nexport function BiSolidCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 11.112C18.507 7.67 15.56 5 12 5 9.244 5 6.85 6.611 5.757 9.15 3.609 9.792 2 11.82 2 14c0 2.757 2.243 5 5 5h11c2.206 0 4-1.794 4-4a4.01 4.01 0 0 0-3.056-3.888zM13 14v3h-2v-3H8l4-5 4 5h-3z\"}}]})(props);\n};\nexport function BiSolidCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.944 11.112C18.507 7.67 15.56 5 12 5 9.244 5 6.85 6.611 5.757 9.15 3.609 9.792 2 11.82 2 14c0 2.757 2.243 5 5 5h11c2.206 0 4-1.794 4-4a4.01 4.01 0 0 0-3.056-3.888z\"}}]})(props);\n};\nexport function BiSolidCoffeeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5h-1V4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v9a4 4 0 0 0 4 4h6c1.858 0 3.411-1.279 3.858-3H19a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3zm1 6a1 1 0 0 1-1 1h-1V7h1a1 1 0 0 1 1 1v3zm-2 8H3c0 1.654 1.346 3 3 3h11c1.654 0 3-1.346 3-3h-2z\"}}]})(props);\n};\nexport function BiSolidCoffeeBean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18a6.06 6.06 0 0 0 5.17-6 7.62 7.62 0 0 1 6.52-7.51l2.59-.37c-.07-.08-.13-.16-.21-.24-3.26-3.26-9.52-2.28-14 2.18C2.28 9.9 1 15 2.76 18.46z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.73 12a7.63 7.63 0 0 1-6.51 7.52l-2.46.35.15.17c3.26 3.26 9.52 2.29 14-2.17C21.68 14.11 23 9 21.25 5.59l-3.34.48A6.05 6.05 0 0 0 12.73 12z\"}}]})(props);\n};\nexport function BiSolidCoffeeTogo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18.5 5-1.224-2.447A1 1 0 0 0 16.382 2H7.618a1 1 0 0 0-.894.553L5.5 5H3v2h18V5h-2.5zM6.734 21.142c.071.492.493.858.991.858h8.551a1 1 0 0 0 .99-.858L19 9H5l1.734 12.142zM16 12l-.714 5H8.714L8 12h8z\"}}]})(props);\n};\nexport function BiSolidCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h2v3H5zm4 0h2v3H9zm4 0h2v3h-2zm6 7h-2V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3h2c1.103 0 2-.897 2-2v-5c0-1.103-.897-2-2-2zm-2 7v-5h2l.002 5H17z\"}}]})(props);\n};\nexport function BiSolidCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.344 15.271 2 3.46a1 1 0 0 0 1.366.365l1.396-.806c.58.457 1.221.832 1.895 1.112V21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1.598a8.094 8.094 0 0 0 1.895-1.112l1.396.806c.477.275 1.091.11 1.366-.365l2-3.46a1.004 1.004 0 0 0-.365-1.366l-1.372-.793a7.683 7.683 0 0 0-.002-2.224l1.372-.793c.476-.275.641-.89.365-1.366l-2-3.46a1 1 0 0 0-1.366-.365l-1.396.806A8.034 8.034 0 0 0 15 4.598V3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1.598A8.094 8.094 0 0 0 7.105 5.71L5.71 4.904a.999.999 0 0 0-1.366.365l-2 3.46a1.004 1.004 0 0 0 .365 1.366l1.372.793a7.683 7.683 0 0 0 0 2.224l-1.372.793c-.476.275-.641.89-.365 1.366zM12 8c2.206 0 4 1.794 4 4s-1.794 4-4 4-4-1.794-4-4 1.794-4 4-4z\"}}]})(props);\n};\nexport function BiSolidCoinStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10c3.976 0 8-1.374 8-4s-4.024-4-8-4-8 1.374-8 4 4.024 4 8 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10c0 2.626 4.024 4 8 4s8-1.374 8-4V8c0 2.626-4.024 4-8 4s-8-1.374-8-4v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14c0 2.626 4.024 4 8 4s8-1.374 8-4v-2c0 2.626-4.024 4-8 4s-8-1.374-8-4v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18c0 2.626 4.024 4 8 4s8-1.374 8-4v-2c0 2.626-4.024 4-8 4s-8-1.374-8-4v2z\"}}]})(props);\n};\nexport function BiSolidCoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5C7.031 5 2 6.546 2 9.5S7.031 14 12 14c4.97 0 10-1.546 10-4.5S16.97 5 12 5zm-5 9.938v3c1.237.299 2.605.482 4 .541v-3a21.166 21.166 0 0 1-4-.541zm6 .54v3a20.994 20.994 0 0 0 4-.541v-3a20.994 20.994 0 0 1-4 .541zm6-1.181v3c1.801-.755 3-1.857 3-3.297v-3c0 1.44-1.199 2.542-3 3.297zm-14 3v-3C3.2 13.542 2 12.439 2 11v3c0 1.439 1.2 2.542 3 3.297z\"}}]})(props);\n};\nexport function BiSolidCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10H5c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-8c0-1.103-.897-2-2-2zM5 6h14v2H5zm2-4h10v2H7z\"}}]})(props);\n};\nexport function BiSolidColorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14c-.092.064-2 2.083-2 3.5 0 1.494.949 2.448 2 2.5.906.044 2-.891 2-2.5 0-1.5-1.908-3.436-2-3.5zM9.586 20c.378.378.88.586 1.414.586s1.036-.208 1.414-.586l7-7-.707-.707L11 4.586 8.707 2.293 7.293 3.707 9.586 6 4 11.586c-.378.378-.586.88-.586 1.414s.208 1.036.586 1.414L9.586 20zM11 7.414 16.586 13H5.414L11 7.414z\"}}]})(props);\n};\nexport function BiSolidColor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.08 11.25A4.84 4.84 0 0 1 8 9.05L4.43 5.49A9.88 9.88 0 0 0 2 11.25zM9.05 8a4.84 4.84 0 0 1 2.2-.91V2a9.88 9.88 0 0 0-5.76 2.43zm3.7-6v5A4.84 4.84 0 0 1 15 8l3.56-3.56A9.88 9.88 0 0 0 12.75 2zM8 15a4.84 4.84 0 0 1-.91-2.2H2a9.88 9.88 0 0 0 2.39 5.76zm3.25 1.92a4.84 4.84 0 0 1-2.2-.92l-3.56 3.57A9.88 9.88 0 0 0 11.25 22zM16 9.05a4.84 4.84 0 0 1 .91 2.2h5a9.88 9.88 0 0 0-2.39-5.76zM15 16a4.84 4.84 0 0 1-2.2.91v5a9.88 9.88 0 0 0 5.76-2.39zm1.92-3.25A4.84 4.84 0 0 1 16 15l3.56 3.56A9.88 9.88 0 0 0 22 12.75z\"}}]})(props);\n};\nexport function BiSolidCommentAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-3 9h-4v4h-2v-4H7V9h4V5h2v4h4v2z\"}}]})(props);\n};\nexport function BiSolidCommentCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-9 11.914-3.707-3.707 1.414-1.414L11 11.086l4.793-4.793 1.414 1.414L11 13.914z\"}}]})(props);\n};\nexport function BiSolidCommentDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 1.999H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2v-12c0-1.103-.897-2-2-2zm-6 11H7v-2h7v2zm3-4H7v-2h10v2z\"}}]})(props);\n};\nexport function BiSolidCommentDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM9 12a2 2 0 1 1 .001-4.001A2 2 0 0 1 9 12zm6 0a2 2 0 1 1 .001-4.001A2 2 0 0 1 15 12z\"}}]})(props);\n};\nexport function BiSolidCommentEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM8.999 14.987H7v-1.999l5.53-5.522 1.998 1.999-5.529 5.522zm6.472-6.464-1.999-1.999 1.524-1.523L16.995 7l-1.524 1.523z\"}}]})(props);\n};\nexport function BiSolidCommentError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-7 13h-2v-2h2v2zm0-4h-2V5h2v6z\"}}]})(props);\n};\nexport function BiSolidCommentMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-4 9H8V9h8v2z\"}}]})(props);\n};\nexport function BiSolidCommentX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-3.294 11.543-1.414 1.414-3.293-3.292-3.292 3.292-1.414-1.414 3.292-3.292-3.292-3.293 1.414-1.414 3.292 3.292 3.293-3.292 1.414 1.414-3.292 3.293 3.292 3.292z\"}}]})(props);\n};\nexport function BiSolidComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .897-2 2v18l4-4h14c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm3 13-8 2 2-8 8-2-2 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function BiSolidComponent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.553 18.895 4 2a1.001 1.001 0 0 0 .894 0L12 19.118l3.553 1.776a.99.99 0 0 0 .894.001l4-2c.339-.17.553-.516.553-.895v-5c0-.379-.214-.725-.553-.895L17 10.382V6c0-.379-.214-.725-.553-.895l-4-2a1 1 0 0 0-.895 0l-4 2C7.214 5.275 7 5.621 7 6v4.382l-3.447 1.724A.998.998 0 0 0 3 13v5c0 .379.214.725.553.895zM8 12.118l2.264 1.132-2.913 1.457-2.264-1.132L8 12.118zm4-2.5 3-1.5v2.264l-3 1.5V9.618zm6.264 3.632-2.882 1.441-2.264-1.132L16 12.118l2.264 1.132zM8 18.882l-.062-.031V16.65L11 15.118v2.264l-3 1.5zm8 0v-2.264l3-1.5v2.264l-3 1.5zM12 5.118l2.264 1.132-2.882 1.441-2.264-1.132L12 5.118z\"}}]})(props);\n};\nexport function BiSolidConfused (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-5 8.5a1.5 1.5 0 1 1 3.001.001A1.5 1.5 0 0 1 7 10.5zm1.124 6.492-.248-1.984 8-1 .248 1.984-8 1zm7.369-5.006a1.494 1.494 0 1 1 .001-2.987 1.494 1.494 0 0 1-.001 2.987z\"}}]})(props);\n};\nexport function BiSolidContact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2H6a2 2 0 0 0-2 2v3H2v2h2v2H2v2h2v2H2v2h2v3a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zm-8 2.999c1.648 0 3 1.351 3 3A3.012 3.012 0 0 1 13 11c-1.647 0-3-1.353-3-3.001 0-1.649 1.353-3 3-3zM19 18H7v-.75c0-2.219 2.705-4.5 6-4.5s6 2.281 6 4.5V18z\"}}]})(props);\n};\nexport function BiSolidConversation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 14h3.5c.827 0 1.5-.673 1.5-1.5v-9c0-.827-.673-1.5-1.5-1.5h-13C2.673 2 2 2.673 2 3.5V18l5.333-4H13zm-9-.1.154-.016L4 14v-.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 8H20v6.001c0 1.1-.893 1.993-1.99 1.999H8v.5c0 .827.673 1.5 1.5 1.5h7.167L22 22V9.5c0-.827-.673-1.5-1.5-1.5z\"}}]})(props);\n};\nexport function BiSolidCookie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.598 11.064a1.006 1.006 0 0 0-.854-.172A2.938 2.938 0 0 1 20 11c-1.654 0-3-1.346-3.003-2.938.005-.034.016-.134.017-.168a.998.998 0 0 0-1.254-1.006A3.002 3.002 0 0 1 15 7c-1.654 0-3-1.346-3-3 0-.217.031-.444.099-.716a1 1 0 0 0-1.067-1.236A9.956 9.956 0 0 0 2 12c0 5.514 4.486 10 10 10s10-4.486 10-10c0-.049-.003-.097-.007-.16a1.004 1.004 0 0 0-.395-.776zM8.5 6a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-2 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm3 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm2.5-6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0zm3.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BiSolidCool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm4.095 14.244a5.982 5.982 0 0 1-3.034 1.634 6.05 6.05 0 0 1-2.414 0 5.919 5.919 0 0 1-2.148-.903 6.078 6.078 0 0 1-1.621-1.622l1.658-1.117c.143.211.307.41.488.59a3.988 3.988 0 0 0 1.273.86c.243.102.495.181.749.232a4.108 4.108 0 0 0 1.616 0c.253-.052.505-.131.75-.233.234-.1.464-.224.679-.368.208-.142.407-.306.591-.489.183-.182.347-.381.489-.592l1.658 1.117c-.215.32-.462.62-.734.891zM19 10a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2h-2a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V8h14v2z\"}}]})(props);\n};\nexport function BiSolidCopyAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H10a2 2 0 0 0-2 2v2h8a2 2 0 0 1 2 2v8h2a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h10c1.103 0 2-.897 2-2V10c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2zm2-10h6v2H6v-2zm0 4h6v2H6v-2z\"}}]})(props);\n};\nexport function BiSolidCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2V10c0-1.103-.897-2-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H10a2 2 0 0 0-2 2v2h8a2 2 0 0 1 2 2v8h2a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BiSolidCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.579 2 2 6.58 2 12s4.579 10 10 10 10-4.58 10-10S17.421 2 12 2zm0 13c.992 0 1.85-.265 2.293-.708l1.414 1.415C14.581 16.832 12.901 17 12 17c-2.757 0-5-2.243-5-5s2.243-5 5-5c.901 0 2.582.168 3.707 1.293l-1.414 1.414C13.851 9.264 12.993 9 12 9c-1.626 0-3 1.374-3 3s1.374 3 3 3z\"}}]})(props);\n};\nexport function BiSolidCoupon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5H3a1 1 0 0 0-1 1v4h.893c.996 0 1.92.681 2.08 1.664A2.001 2.001 0 0 1 3 14H2v4a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-4h-1a2.001 2.001 0 0 1-1.973-2.336c.16-.983 1.084-1.664 2.08-1.664H22V6a1 1 0 0 0-1-1zM11 17H9v-2h2v2zm0-4H9v-2h2v2zm0-4H9V7h2v2z\"}}]})(props);\n};\nexport function BiSolidCreditCardAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-7.5 12a2.5 2.5 0 1 1 0-5 2.47 2.47 0 0 1 1.5.512c-.604.456-1 1.173-1 1.988s.396 1.532 1 1.988a2.47 2.47 0 0 1-1.5.512zm4 0a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z\"}}]})(props);\n};\nexport function BiSolidCreditCardFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM5 8.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2zm6 7.5H5v-2h6v2zm8 0h-6v-2h6v2z\"}}]})(props);\n};\nexport function BiSolidCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v2h20V6c0-1.103-.897-2-2-2zM2 18c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2v-6H2v6zm3-3h6v2H5v-2z\"}}]})(props);\n};\nexport function BiSolidCricketBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.67 16.26.54.53-.62.61a9 9 0 0 0 .84 1.11L18.51 4.42a10.93 10.93 0 0 0-1.1-.83l-.62.61-.53-.53.48-.48A10 10 0 0 0 3.2 16.74zM14.86 5.07l.53.53L14 7l-.53-.53zm-2.79 2.8.52.53-1.39 1.4-.53-.53zm-2.8 2.8.53.53-1.4 1.39-.53-.53zm-2.8 2.79L7 14l-1.4 1.4-.53-.53zm.12 6.95.62-.61.53.53-.48.48A10 10 0 0 0 20.8 7.26l-.47.48-.54-.53.62-.61a9 9 0 0 0-.84-1.11L5.49 19.58a10.93 10.93 0 0 0 1.1.83zM18.4 8.61l.53.53-1.4 1.4L17 10zm-2.8 2.8.53.53-1.4 1.39-.53-.53zm-2.8 2.79.53.53-1.39 1.4-.54-.53zM10 17l.53.53-1.4 1.4-.53-.53z\"}}]})(props);\n};\nexport function BiSolidCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7.5C19 6.121 17.879 5 16.5 5H8V2H5v3H2v3h14v14h3v-3h3v-3h-3V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10H5v6.5C5 17.879 6.121 19 7.5 19H14v-3H8v-6z\"}}]})(props);\n};\nexport function BiSolidCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21 2-5 5-4-5-4 5-5-5v13h18zM5 21h14a2 2 0 0 0 2-2v-2H3v2a2 2 0 0 0 2 2z\"}}]})(props);\n};\nexport function BiSolidCubeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.895 3.553A1.001 1.001 0 0 0 17 3H7c-.379 0-.725.214-.895.553l-4 8a1 1 0 0 0 0 .895l4 8c.17.338.516.552.895.552h10c.379 0 .725-.214.895-.553l4-8a1 1 0 0 0 0-.895l-4-7.999zM19.382 11h-7.764l-3-6h7.764l3 6zm-3 8H8.618l3-6h7.764l-3 6z\"}}]})(props);\n};\nexport function BiSolidCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.406 6.086-9-4a1.001 1.001 0 0 0-.813 0l-9 4c-.02.009-.034.024-.054.035-.028.014-.058.023-.084.04-.022.015-.039.034-.06.05a.87.87 0 0 0-.19.194c-.02.028-.041.053-.059.081a1.119 1.119 0 0 0-.076.165c-.009.027-.023.052-.031.079A1.013 1.013 0 0 0 2 7v10c0 .396.232.753.594.914l9 4c.13.058.268.086.406.086a.997.997 0 0 0 .402-.096l.004.01 9-4A.999.999 0 0 0 22 17V7a.999.999 0 0 0-.594-.914zM12 4.095 18.538 7 12 9.905l-1.308-.581L5.463 7 12 4.095zm1 15.366V11.65l7-3.111v7.812l-7 3.11z\"}}]})(props);\n};\nexport function BiSolidCuboid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.707 2.293A.996.996 0 0 0 16 2H8c-.414 0-.785.255-.934.641l-5 13a.999.999 0 0 0 .227 1.066l5 5A.996.996 0 0 0 8 22h8c.414 0 .785-.255.934-.641l5-13a.999.999 0 0 0-.227-1.066l-5-5zM18.585 7h-5.171l-3-3h5.172l2.999 3zm-3.272 13h-6.23l4.583-11h5.878l-4.231 11z\"}}]})(props);\n};\nexport function BiSolidCustomize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm10 0h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM10 13H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm8 1h-2v2h-2v2h2v2h2v-2h2v-2h-2z\"}}]})(props);\n};\nexport function BiSolidCylinder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.131 0 9-1.935 9-4.5V7c0-.051-.024-.097-.033-.146.016-.117.033-.234.033-.354C21 3.935 17.131 2 12 2S3 3.935 3 6.5v11c0 2.565 3.869 4.5 9 4.5zm0-18c4.273 0 7 1.48 7 2.5a.683.683 0 0 1-.025.158c-.004.01-.012.018-.015.027-.274.848-2.29 1.98-5.496 2.253l-.05.003C12.965 8.979 12.494 9 12 9 7.727 9 5 7.52 5 6.5S7.727 4 12 4z\"}}]})(props);\n};\nexport function BiSolidDashboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1zm-1 7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v4zm10 0a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v7zm1-10h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1z\"}}]})(props);\n};\nexport function BiSolidData (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6c0-2.168-3.663-4-8-4S4 3.832 4 6v2c0 2.168 3.663 4 8 4s8-1.832 8-4V6zm-8 13c-4.337 0-8-1.832-8-4v3c0 2.168 3.663 4 8 4s8-1.832 8-4v-3c0 2.168-3.663 4-8 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10c0 2.168-3.663 4-8 4s-8-1.832-8-4v3c0 2.168 3.663 4 8 4s8-1.832 8-4v-3z\"}}]})(props);\n};\nexport function BiSolidDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-9 14H5v-2h6v2zm8-4H5v-2h14v2zm0-4H5V7h14v2z\"}}]})(props);\n};\nexport function BiSolidDevices (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H7c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h6c1.103 0 2-.897 2-2h8c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM6 9h4l-.003 9H4V9h2zm6 8V9c0-1.103-.897-2-2-2H7V5h11v12h-6z\"}}]})(props);\n};\nexport function BiSolidDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.445 3h-8.89c-.345 0-.666.178-.849.47L3.25 9h17.5l-3.456-5.53a1.003 1.003 0 0 0-.849-.47zM11.26 21.186a1 1 0 0 0 1.48 0L22 11H2l9.26 10.186z\"}}]})(props);\n};\nexport function BiSolidDice1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm-7 10.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BiSolidDice2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM9.5 13.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 9.5 13.5zm5 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 14.5 13.5z\"}}]})(props);\n};\nexport function BiSolidDice3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM8 9.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 9.5zm4 4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 12 13.5zm4 4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 17.5z\"}}]})(props);\n};\nexport function BiSolidDice4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM8 17.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 17.5zm0-8a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 9.5zm8 8a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 17.5zm0-8a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 9.5z\"}}]})(props);\n};\nexport function BiSolidDice5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM8 17.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 17.5zm0-8a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 9.5zm4 4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 12 13.5zm4 4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 17.5zm0-8a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 9.5z\"}}]})(props);\n};\nexport function BiSolidDice6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM8 17.5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 17.5zm0-4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 13.5zm0-4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8 9.5zm8 8a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 17.5zm0-4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 13.5zm0-4a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16 9.5z\"}}]})(props);\n};\nexport function BiSolidDirectionLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 11.294-8.978-9a1.001 1.001 0 0 0-1.415-.002l-9.021 9a1 1 0 0 0 0 1.416l9.021 9c.39.389 1.026.388 1.415-.002l8.978-9a.998.998 0 0 0 0-1.412zM15 16h-2v-4h-3v2l-3-3 3-3v2h5v6z\"}}]})(props);\n};\nexport function BiSolidDirectionRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.295 12.707 8.978 9c.389.39 1.025.391 1.414.002l9.021-9a1 1 0 0 0 0-1.416l-9.021-9a.999.999 0 0 0-1.414.002l-8.978 9a.998.998 0 0 0 0 1.412zm6.707-2.706h5v-2l3 3-3 3v-2h-3v4h-2v-6z\"}}]})(props);\n};\nexport function BiSolidDirections (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 11h-6V8h6a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H5L2 5l3 3h6v3H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h6v5h2v-5h6l3-3-3-3z\"}}]})(props);\n};\nexport function BiSolidDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 14c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.998\",\"cy\":\"11.998\",\"r\":\"2.002\"}}]})(props);\n};\nexport function BiSolidDiscount (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5H3a1 1 0 0 0-1 1v4h.893c.996 0 1.92.681 2.08 1.664A2.001 2.001 0 0 1 3 14H2v4a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-4h-1a2.001 2.001 0 0 1-1.973-2.336c.16-.983 1.084-1.664 2.08-1.664H22V6a1 1 0 0 0-1-1zM9 9a1 1 0 1 1 0 2 1 1 0 1 1 0-2zm-.8 6.4 6-8 1.6 1.2-6 8-1.6-1.2zM15 15a1 1 0 1 1 0-2 1 1 0 1 1 0 2z\"}}]})(props);\n};\nexport function BiSolidDish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15c0-4.625-3.507-8.441-8-8.941V4h-2v2.059c-4.493.5-8 4.316-8 8.941v2h18v-2zM2 18h20v2H2z\"}}]})(props);\n};\nexport function BiSolidDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3h-1v13h1a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM4 16h7l-1.122 3.368A2 2 0 0 0 11.775 22H12l5-5.438V3H6l-3.937 8.649-.063.293V14a2 2 0 0 0 2 2z\"}}]})(props);\n};\nexport function BiSolidDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM8 12.414l-1.293 1.293-1.414-1.414L6.586 11 5.293 9.707l1.414-1.414L8 9.586l1.293-1.293 1.414 1.414L9.414 11l1.293 1.293-1.414 1.414L8 12.414zM14 18h-4v-2h4v2zm4.707-5.707-1.414 1.414L16 12.414l-1.293 1.293-1.414-1.414L14.586 11l-1.293-1.293 1.414-1.414L16 9.586l1.293-1.293 1.414 1.414L17.414 11l1.293 1.293z\"}}]})(props);\n};\nexport function BiSolidDockBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM19 5l.001 9H5V5h14z\"}}]})(props);\n};\nexport function BiSolidDockLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2zm-11 0V5h9l.002 14H10z\"}}]})(props);\n};\nexport function BiSolidDockRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5zM5 5h9v14H5V5z\"}}]})(props);\n};\nexport function BiSolidDockTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm2 14v-9h14.001l.001 9H5z\"}}]})(props);\n};\nexport function BiSolidDog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6h-2l-1.27-1.27A2.49 2.49 0 0 0 16 4h-2.5A2.64 2.64 0 0 0 11 2v6.36a4.38 4.38 0 0 0 1.13 2.72 6.57 6.57 0 0 0 4.13 1.82l3.45-1.38a3 3 0 0 0 1.73-1.84L22 8.15a1.06 1.06 0 0 0 0-.31V7a1 1 0 0 0-1-1zm-5 2a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.38 11.74A5.24 5.24 0 0 1 10.07 9H6a1.88 1.88 0 0 1-2-2 1 1 0 0 0-2 0 4.69 4.69 0 0 0 .48 2A3.58 3.58 0 0 0 4 10.53V22h3v-5h6v5h3v-8.13a7.35 7.35 0 0 1-4.62-2.13z\"}}]})(props);\n};\nexport function BiSolidDollarCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm1 14.915V18h-2v-1.08c-2.339-.367-3-2.002-3-2.92h2c.011.143.159 1 2 1 1.38 0 2-.585 2-1 0-.324 0-1-2-1-3.48 0-4-1.88-4-3 0-1.288 1.029-2.584 3-2.915V6.012h2v1.109c1.734.41 2.4 1.853 2.4 2.879h-1l-1 .018C13.386 9.638 13.185 9 12 9c-1.299 0-2 .516-2 1 0 .374 0 1 2 1 3.48 0 4 1.88 4 3 0 1.288-1.029 2.584-3 2.915z\"}}]})(props);\n};\nexport function BiSolidDonateBlood (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.726 13.02 14 16H9v-1h4.065a.5.5 0 0 0 .416-.777l-.888-1.332A1.995 1.995 0 0 0 10.93 12H3a1 1 0 0 0-1 1v6a2 2 0 0 0 2 2h9.639a3 3 0 0 0 2.258-1.024L22 13l-1.452-.484a2.998 2.998 0 0 0-2.822.504zM15.403 12a3 3 0 0 0 3-3c0-2.708-3-6-3-6s-3 3.271-3 6a3 3 0 0 0 3 3z\"}}]})(props);\n};\nexport function BiSolidDonateHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.726 13.02 14 16H9v-1h4.065a.5.5 0 0 0 .416-.777l-.888-1.332A1.995 1.995 0 0 0 10.93 12H3a1 1 0 0 0-1 1v6a2 2 0 0 0 2 2h9.639a3 3 0 0 0 2.258-1.024L22 13l-1.452-.484a2.998 2.998 0 0 0-2.822.504zm1.532-5.63c.451-.465.73-1.108.73-1.818s-.279-1.353-.73-1.818A2.447 2.447 0 0 0 17.494 3S16.25 2.997 15 4.286C13.75 2.997 12.506 3 12.506 3a2.45 2.45 0 0 0-1.764.753c-.451.466-.73 1.108-.73 1.818s.279 1.354.73 1.818L15 12l4.258-4.61z\"}}]})(props);\n};\nexport function BiSolidDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v14a1 1 0 0 0 1 1h3v-2H7V6h2V4H6a1 1 0 0 0-1 1zm14.242-.97-8-2A1 1 0 0 0 10 3v18a.998.998 0 0 0 1.242.97l8-2A1 1 0 0 0 20 19V5a1 1 0 0 0-.758-.97zM15 12.188a1.001 1.001 0 0 1-2 0v-.377a1 1 0 1 1 2 .001v.376z\"}}]})(props);\n};\nexport function BiSolidDoughnutChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6c2.507.423 4.577 2.493 5 5h4c-.471-4.717-4.283-8.529-9-9v4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13c-.478 2.833-2.982 4.949-5.949 4.949-3.309 0-6-2.691-6-6C6.051 8.982 8.167 6.478 11 6V2c-5.046.504-8.949 4.773-8.949 9.949 0 5.514 4.486 10 10 10 5.176 0 9.445-3.903 9.949-8.949h-4z\"}}]})(props);\n};\nexport function BiSolidDownArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12h-5V6h-2v6H6l6 7z\"}}]})(props);\n};\nexport function BiSolidDownArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 15-5-5h4V7h2v5h4l-5 5z\"}}]})(props);\n};\nexport function BiSolidDownArrowSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14zm-8-9V7h2v5h4l-5 5-5-5h4z\"}}]})(props);\n};\nexport function BiSolidDownArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.178 19.569a.998.998 0 0 0 1.644 0l9-13A.999.999 0 0 0 21 5H3a1.002 1.002 0 0 0-.822 1.569l9 13z\"}}]})(props);\n};\nexport function BiSolidDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9h-4V3H9v6H5l7 8zM4 19h16v2H4z\"}}]})(props);\n};\nexport function BiSolidDownvote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.901 10.566A1.001 1.001 0 0 0 20 10h-4V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v7H4a1.001 1.001 0 0 0-.781 1.625l8 10a1 1 0 0 0 1.562 0l8-10c.24-.301.286-.712.12-1.059z\"}}]})(props);\n};\nexport function BiSolidDrink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.832 4.555A1 1 0 0 0 20 3H4a1 1 0 0 0-.832 1.554L11 16.303V20H8v2h8v-2h-3v-3.697l7.832-11.748zm-2.7.445-2 3H7.868l-2-3h12.264z\"}}]})(props);\n};\nexport function BiSolidDropletHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.578 2.184a1.004 1.004 0 0 0-1.156 0C11.119 2.398 4 7.513 4 13.75 4 18.53 7.364 22 12 22s8-3.468 8-8.246c0-6.241-7.119-11.356-7.422-11.57zM6 13.75c0-4.283 4.395-8.201 6-9.49V20c-3.533 0-6-2.57-6-6.25z\"}}]})(props);\n};\nexport function BiSolidDroplet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.6 2.4c-.4-.3-.9-.3-1.2 0C9.5 3.9 4 8.5 4 14c0 4.4 3.6 8 8 8s8-3.6 8-8c0-5.4-5.5-10.1-7.4-11.6\"}}]})(props);\n};\nexport function BiSolidDryer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h16a1 1 0 0 0 1-1V5c0-1.654-1.346-3-3-3H6C4.346 2 3 3.346 3 5v16a1 1 0 0 0 1 1zM18 3.924a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-3 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-3 3.117c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.32 12.265c-.415.384-1.041.964-1.041 2.067 0 1.104.626 1.684 1.041 2.068.352.325.4.398.4.6h2c0-1.104-.626-1.684-1.041-2.068-.352-.325-.4-.398-.4-.6s.048-.275.4-.6c.414-.384 1.041-.964 1.041-2.068 0-1.103-.626-1.683-1.041-2.066-.351-.325-.399-.397-.399-.598h-2c0 1.104.627 1.683 1.042 2.066.351.324.399.396.399.597-.001.203-.05.276-.401.602zm4 0c-.414.384-1.04.964-1.04 2.067s.626 1.684 1.04 2.067c.351.325.399.398.399.601h2c0-1.104-.626-1.684-1.04-2.067-.351-.325-.399-.398-.399-.601s.049-.275.399-.601c.414-.384 1.04-.964 1.04-2.068 0-1.103-.626-1.682-1.04-2.065-.35-.324-.399-.397-.399-.598h-2c0 1.103.626 1.683 1.041 2.066.35.324.398.397.398.598.001.202-.048.275-.399.601z\"}}]})(props);\n};\nexport function BiSolidDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h12a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2zm2-9h3v-3h2v3h3v2h-3v3H9v-3H6v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8v2h12v12h2V4c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidEditAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 2.012 3 3L16.713 7.3l-3-3zM4 14v3h3l8.299-8.287-3-3zm0 6h16v2H4z\"}}]})(props);\n};\nexport function BiSolidEditLocation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C7.589 2 4 5.589 4 9.995 3.971 16.44 11.696 21.784 12 22c0 0 8.029-5.56 8-12 0-4.411-3.589-8-8-8zM9.799 14.987H8v-1.799l4.977-4.97 1.799 1.799-4.977 4.97zm5.824-5.817-1.799-1.799L15.196 6l1.799 1.799-1.372 1.371z\"}}]})(props);\n};\nexport function BiSolidEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18.988 2.012 3 3L19.701 7.3l-3-3zM8 16h3l7.287-7.287-3-3L8 13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19H8.158c-.026 0-.053.01-.079.01-.033 0-.066-.009-.1-.01H5V5h6.847l2-2H5c-1.103 0-2 .896-2 2v14c0 1.104.897 2 2 2h14a2 2 0 0 0 2-2v-8.668l-2 2V19z\"}}]})(props);\n};\nexport function BiSolidEject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 6-6 8h12zM6 16h12v2H6z\"}}]})(props);\n};\nexport function BiSolidEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.555 8.168-9-6a1 1 0 0 0-1.109 0l-9 6A.995.995 0 0 0 2.004 9H2v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9h-.004a.997.997 0 0 0-.441-.832zM20 12.7 12 17l-8-4.3v-2.403l8 4.299 8-4.299V12.7z\"}}]})(props);\n};\nexport function BiSolidEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4.7-8 5.334L4 8.7V6.297l8 5.333 8-5.333V8.7z\"}}]})(props);\n};\nexport function BiSolidEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.48 3 7.73 7.75 3 12.59a2 2 0 0 0 0 2.82l4.3 4.3A1 1 0 0 0 8 20h12v-2h-7l7.22-7.22a2 2 0 0 0 0-2.83L15.31 3a2 2 0 0 0-2.83 0zM8.41 18l-4-4 4.75-4.84.74-.75 4.95 4.95-4.56 4.56-.07.08z\"}}]})(props);\n};\nexport function BiSolidErrorAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.707 2.293A.996.996 0 0 0 16 2H8a.996.996 0 0 0-.707.293l-5 5A.996.996 0 0 0 2 8v8c0 .266.105.52.293.707l5 5A.996.996 0 0 0 8 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0 0 22 16V8a.996.996 0 0 0-.293-.707l-5-5zM13 17h-2v-2h2v2zm0-4h-2V7h2v6z\"}}]})(props);\n};\nexport function BiSolidErrorCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.953 2C6.465 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.493 2 11.953 2zM13 17h-2v-2h2v2zm0-4h-2V7h2v6z\"}}]})(props);\n};\nexport function BiSolidError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.884 2.532c-.346-.654-1.422-.654-1.768 0l-9 17A.999.999 0 0 0 3 21h18a.998.998 0 0 0 .883-1.467L12.884 2.532zM13 18h-2v-2h2v2zm-2-4V9h2l.001 5H11z\"}}]})(props);\n};\nexport function BiSolidEvStation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.616 6.48.014-.017-4-3.24-1.26 1.554 2.067 1.674a2.99 2.99 0 0 0-1.394 3.062c.15.899.769 1.676 1.57 2.111.895.487 1.68.442 2.378.194L18.976 18a.996.996 0 0 1-1.39.922.995.995 0 0 1-.318-.217.996.996 0 0 1-.291-.705L17 16a2.98 2.98 0 0 0-.877-2.119A3 3 0 0 0 14 13h-1V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-4h1c.136 0 .267.027.391.078a1.028 1.028 0 0 1 .531.533A.994.994 0 0 1 15 16l-.024 2c0 .406.079.799.236 1.168.151.359.368.68.641.951a2.97 2.97 0 0 0 2.123.881c.406 0 .798-.078 1.168-.236.358-.15.68-.367.951-.641A2.983 2.983 0 0 0 20.976 18L21 9a2.997 2.997 0 0 0-1.384-2.52zM6 18l1-5H4l5-7-1 5h3l-5 7zm12-8a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiSolidExit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.002 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2h-14c-1.103 0-2 .897-2 2v6.001H10V7l6 5-6 5v-3.999H3.002V19c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiSolidExtension (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10V7c0-1.103-.897-2-2-2h-3c0-1.654-1.346-3-3-3S8 3.346 8 5H5c-1.103 0-2 .897-2 2v4h1a2 2 0 0 1 0 4H3v4c0 1.103.897 2 2 2h4v-1a2 2 0 0 1 4 0v1h4c1.103 0 2-.897 2-2v-3c1.654 0 3-1.346 3-3s-1.346-3-3-3z\"}}]})(props);\n};\nexport function BiSolidEyedropper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 15.76-1 4A1 1 0 0 0 3.75 21a1 1 0 0 0 .49 0l4-1a1 1 0 0 0 .47-.26L17 11.41l1.29 1.3 1.42-1.42-1.3-1.29L21 7.41a2 2 0 0 0 0-2.82L19.41 3a2 2 0 0 0-2.82 0L14 5.59l-1.3-1.3-1.42 1.42L12.58 7l-8.29 8.29a1 1 0 0 0-.29.47zm1.87.75L14 8.42 15.58 10l-8.09 8.1-2.12.53z\"}}]})(props);\n};\nexport function BiSolidFaceMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12c0 2.521.945 4.82 2.49 6.582 1.24 1.52 3.266 3.066 6.439 3.358a9.731 9.731 0 0 0 2.141 0c3.174-.292 5.199-1.839 6.439-3.358A9.948 9.948 0 0 0 22 12c0-5.514-4.486-10-10-10zM4.709 8.724c.154.09.308.182.456.276.396.25.791.5 1.286.688.494.187 1.088.312 1.879.312.792 0 1.386-.125 1.881-.313s.891-.437 1.287-.687.792-.5 1.287-.688c.494-.187 1.088-.312 1.88-.312s1.386.125 1.88.313c.495.187.891.437 1.287.687s.792.5 1.287.688c.178.067.374.122.581.171.191.682.3 1.398.3 2.141 0 .843-.133 1.654-.375 2.417-.261.195-.733.474-1.577.756-.769.256-1.672.458-2.685.602a25.337 25.337 0 0 1-6.727 0c-1.013-.144-1.916-.346-2.685-.602-.844-.282-1.316-.561-1.577-.756a7.953 7.953 0 0 1 .335-5.693z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"12.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"12.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiSolidFace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8 0-1.168.258-2.275.709-3.276.154.09.308.182.456.276.396.25.791.5 1.286.688.494.187 1.088.312 1.879.312.792 0 1.386-.125 1.881-.313s.891-.437 1.287-.687.792-.5 1.287-.688c.494-.187 1.088-.312 1.88-.312s1.386.125 1.88.313c.495.187.891.437 1.287.687s.792.5 1.287.688c.178.067.374.122.581.171.191.682.3 1.398.3 2.141 0 4.411-3.589 8-8 8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"12.5\",\"r\":\"1.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.5\",\"cy\":\"12.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiSolidFactory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10V6l-5 4V6l-5 4V4H2v16h20V6l-5 4zm-8 7H7v-3h2v3zm5 0h-2v-3h2v3zm5 0h-2v-3h2v3z\"}}]})(props);\n};\nexport function BiSolidFastForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.485 2 2 6.485 2 12s4.485 10 10 10c5.514 0 10-4.485 10-10S17.514 2 12 2zm1 14v-4l-6 4V8l6 4V8l6 4-6 4z\"}}]})(props);\n};\nexport function BiSolidFileArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6h-3v2H9v2h2v2H9v2h2v8H7v-6h2v-2H7V8h2V6H7V4h2V2H6zm7 2 5 5h-5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h2v2H8z\"}}]})(props);\n};\nexport function BiSolidFileBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6H6zm8 7h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFileCss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM9.446 17.412c.275 0 .581-.061.762-.132l.138.713c-.168.084-.546.174-1.037.174-1.397 0-2.117-.869-2.117-2.021C7.191 14.768 8.175 14 9.398 14c.474 0 .833.096.995.18l-.186.726a1.98 1.98 0 0 0-.768-.149c-.726 0-1.29.438-1.29 1.337.001.808.482 1.318 1.297 1.318zm2.491.755c-.461 0-.917-.119-1.145-.245l.186-.756c.246.126.624.252 1.014.252.42 0 .642-.174.642-.438 0-.252-.192-.396-.678-.57-.672-.234-1.109-.605-1.109-1.193 0-.689.575-1.217 1.529-1.217.455 0 .791.096 1.031.203l-.204.738a1.919 1.919 0 0 0-.846-.192c-.396 0-.587.181-.587.39 0 .258.228.372.749.57.714.264 1.05.636 1.05 1.205-.001.678-.523 1.253-1.632 1.253zm3.24 0c-.461 0-.917-.119-1.145-.245l.186-.756c.246.126.624.252 1.014.252.42 0 .642-.174.642-.438 0-.252-.192-.396-.678-.57-.672-.234-1.109-.605-1.109-1.193 0-.689.575-1.217 1.529-1.217.455 0 .791.096 1.031.203l-.204.738a1.919 1.919 0 0 0-.846-.192c-.396 0-.587.181-.587.39 0 .258.228.372.749.57.714.264 1.05.636 1.05 1.205 0 .678-.523 1.253-1.632 1.253zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFileDoc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.186 14.552c-.617 0-.977.587-.977 1.373 0 .791.371 1.35.983 1.35.617 0 .971-.588.971-1.374 0-.726-.348-1.349-.977-1.349z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM9.155 17.454c-.426.354-1.073.521-1.864.521-.475 0-.81-.03-1.038-.06v-3.971a8.16 8.16 0 0 1 1.235-.083c.768 0 1.266.138 1.655.432.42.312.684.81.684 1.522 0 .775-.282 1.309-.672 1.639zm2.99.546c-1.2 0-1.901-.906-1.901-2.058 0-1.211.773-2.116 1.967-2.116 1.241 0 1.919.929 1.919 2.045-.001 1.325-.805 2.129-1.985 2.129zm4.655-.762c.275 0 .581-.061.762-.132l.138.713c-.168.084-.546.174-1.037.174-1.397 0-2.117-.869-2.117-2.021 0-1.379.983-2.146 2.207-2.146.474 0 .833.096.995.18l-.186.726a1.979 1.979 0 0 0-.768-.15c-.726 0-1.29.438-1.29 1.338 0 .809.48 1.318 1.296 1.318zM14 9h-1V4l5 5h-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.584 14.563c-.203 0-.335.018-.413.036v2.645c.078.018.204.018.317.018.828.006 1.367-.449 1.367-1.415.006-.84-.485-1.284-1.271-1.284z\"}}]})(props);\n};\nexport function BiSolidFileExport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 22a2 2 0 0 0 2-2v-5l-5 4v-3H8v-2h7v-3l5 4V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12zM13 4l5 5h-5V4z\"}}]})(props);\n};\nexport function BiSolidFileFind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h12c.178 0 .348-.03.512-.074l-3.759-3.759A4.966 4.966 0 0 1 12 19c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5a4.964 4.964 0 0 1-.833 2.753l3.759 3.759c.044-.164.074-.334.074-.512V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"3\"}}]})(props);\n};\nexport function BiSolidFileGif (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm-2.667 15.772A4.512 4.512 0 0 1 9.984 18c-.737 0-1.271-.186-1.644-.546-.371-.348-.575-.875-.569-1.469.006-1.344.983-2.111 2.309-2.111.521 0 .924.103 1.121.198l-.191.731c-.222-.096-.498-.174-.941-.174-.762 0-1.338.432-1.338 1.308 0 .833.522 1.325 1.271 1.325.21 0 .378-.024.45-.061v-.846h-.624v-.713h1.505v2.13zm1.634.186h-.918v-4.042h.918v4.042zm3.262-3.292h-1.553v.923h1.451v.744h-1.451v1.625h-.918v-4.042h2.471v.75zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFileHtml (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm-1 2 5 5h-5V4zM8.531 18h-.76v-1.411H6.515V18h-.767v-3.373h.767v1.296h1.257v-1.296h.76V18zm3-2.732h-.921V18h-.766v-2.732h-.905v-.641h2.592v.641zM14.818 18l-.05-1.291c-.017-.405-.03-.896-.03-1.387h-.016c-.104.431-.245.911-.375 1.307l-.41 1.316h-.597l-.359-1.307a15.154 15.154 0 0 1-.306-1.316h-.011c-.021.456-.034.976-.059 1.396L12.545 18h-.705l.216-3.373h1.015l.331 1.126c.104.391.21.811.284 1.206h.017c.095-.391.209-.836.32-1.211l.359-1.121h.996L15.563 18h-.745zm3.434 0h-2.108v-3.373h.767v2.732h1.342V18z\"}}]})(props);\n};\nexport function BiSolidFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h12a2 2 0 0 0 2-2V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2zm7-18 5 5h-5V4zm-4.5 7a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 8.5 11zm.5 5 1.597 1.363L13 13l4 6H7l2-3z\"}}]})(props);\n};\nexport function BiSolidFileImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4h-7v3l-5-4 5-4v3h7zM13 4l5 5h-5V4z\"}}]})(props);\n};\nexport function BiSolidFileJpg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM9.239 16.446c0 1.152-.551 1.554-1.438 1.554-.21 0-.486-.036-.665-.097l.101-.737c.127.042.289.072.469.072.384 0 .623-.174.623-.804v-2.543h.911v2.555zm3.294-.365c-.313.293-.773.426-1.313.426-.12 0-.228-.007-.312-.019v1.445h-.906v-3.988a7.528 7.528 0 0 1 1.236-.083c.563 0 .965.107 1.234.323.259.204.433.54.433.936s-.133.732-.372.96zm4.331 1.667c-.28.096-.815.228-1.349.228-.737 0-1.271-.186-1.643-.546-.371-.348-.575-.875-.57-1.469.007-1.344.983-2.111 2.309-2.111.521 0 .924.103 1.121.198l-.191.731c-.222-.096-.497-.174-.941-.174-.761 0-1.338.432-1.338 1.308 0 .833.523 1.325 1.271 1.325.211 0 .378-.024.451-.061v-.846h-.624v-.713h1.504v2.13zM14 9h-1V4l5 5h-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.285 14.552c-.186 0-.312.018-.377.036v1.193c.077.018.174.023.307.023.484 0 .784-.246.784-.659 0-.372-.257-.593-.714-.593z\"}}]})(props);\n};\nexport function BiSolidFileJs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm-2.745 14.186c0 1.345-.644 1.814-1.681 1.814-.245 0-.567-.042-.777-.112l.119-.861c.147.049.336.084.546.084.448 0 .729-.203.729-.938v-2.97h1.064v2.983zm2.043 1.807c-.539 0-1.071-.141-1.337-.287l.217-.883c.287.147.729.294 1.184.294.491 0 .749-.203.749-.511 0-.295-.224-.463-.791-.666-.784-.272-1.295-.707-1.295-1.394 0-.806.672-1.422 1.786-1.422.533 0 .925.112 1.205.238l-.238.861c-.189-.091-.525-.224-.987-.224s-.687.21-.687.455c0 .301.267.435.875.665.834.309 1.226.742 1.226 1.408-.002.793-.61 1.466-1.907 1.466zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFileJson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.823 15.122c-.517 0-.816.491-.816 1.146 0 .661.311 1.126.82 1.126.517 0 .812-.49.812-1.146 0-.604-.291-1.126-.816-1.126z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM8.022 16.704c0 .961-.461 1.296-1.2 1.296-.176 0-.406-.029-.557-.08l.086-.615c.104.035.239.06.391.06.319 0 .52-.145.52-.67v-2.122h.761v2.131zm1.459 1.291c-.385 0-.766-.1-.955-.205l.155-.631c.204.105.521.211.846.211.35 0 .534-.146.534-.365 0-.211-.159-.331-.564-.476-.562-.195-.927-.506-.927-.996 0-.576.481-1.017 1.277-1.017.38 0 .659.08.861.171l-.172.615c-.135-.065-.375-.16-.705-.16s-.491.15-.491.325c0 .215.19.311.627.476.596.22.876.53.876 1.006.001.566-.436 1.046-1.362 1.046zm3.306.005c-1.001 0-1.586-.755-1.586-1.716 0-1.012.646-1.768 1.642-1.768 1.035 0 1.601.776 1.601 1.707C14.443 17.33 13.773 18 12.787 18zm4.947-.055h-.802l-.721-1.302a12.64 12.64 0 0 1-.585-1.19l-.016.005c.021.445.031.921.031 1.472v1.016h-.701v-3.373h.891l.701 1.236c.2.354.4.775.552 1.155h.014c-.05-.445-.065-.9-.065-1.406v-.985h.702v3.372zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFileMd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.481 14.015c-.238 0-.393.021-.483.042v3.089c.091.021.237.021.371.021.966.007 1.597-.525 1.597-1.653.007-.981-.568-1.499-1.485-1.499z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm-2.934 15.951-.07-1.807a53.142 53.142 0 0 1-.042-1.94h-.021a26.098 26.098 0 0 1-.525 1.828l-.574 1.842H9l-.504-1.828a21.996 21.996 0 0 1-.428-1.842h-.013c-.028.638-.049 1.366-.084 1.954l-.084 1.793h-.988L7.2 13.23h1.422l.462 1.576c.147.546.295 1.135.399 1.688h.021a39.87 39.87 0 0 1 .448-1.694l.504-1.569h1.394l.26 4.721h-1.044zm5.25-.56c-.498.413-1.253.609-2.178.609a9.27 9.27 0 0 1-1.212-.07v-4.636a9.535 9.535 0 0 1 1.443-.099c.896 0 1.478.161 1.933.505.49.364.799.945.799 1.778 0 .904-.33 1.528-.785 1.913zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.267 14.68c-.184 0-.308.018-.372.036v1.178c.076.018.171.023.302.023.479 0 .774-.242.774-.651 0-.366-.254-.586-.704-.586zm3.487.012c-.2 0-.33.018-.407.036v2.61c.077.018.201.018.313.018.817.006 1.349-.444 1.349-1.396.006-.83-.479-1.268-1.255-1.268z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM9.498 16.19c-.309.29-.765.42-1.296.42a2.23 2.23 0 0 1-.308-.018v1.426H7v-3.936A7.558 7.558 0 0 1 8.219 14c.557 0 .953.106 1.22.319.254.202.426.533.426.923-.001.392-.131.723-.367.948zm3.807 1.355c-.42.349-1.059.515-1.84.515-.468 0-.799-.03-1.024-.06v-3.917A7.947 7.947 0 0 1 11.66 14c.757 0 1.249.136 1.633.426.415.308.675.799.675 1.504 0 .763-.279 1.29-.663 1.615zM17 14.77h-1.532v.911H16.9v.734h-1.432v1.604h-.906V14.03H17v.74zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFilePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h12a2 2 0 0 0 2-2V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2zm7-18 5 5h-5V4zM8 14h3v-3h2v3h3v2h-3v3h-2v-3H8v-2z\"}}]})(props);\n};\nexport function BiSolidFilePng (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.782 14.576c-.186 0-.312.018-.377.036v1.193c.077.018.174.023.306.023.485 0 .785-.246.785-.659 0-.371-.258-.593-.714-.593z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM9.03 16.105c-.313.293-.774.426-1.313.426-.12 0-.229-.007-.312-.019v1.445h-.906V13.97a7.504 7.504 0 0 1 1.235-.083c.563 0 .966.107 1.235.323.258.204.432.54.432.936s-.131.731-.371.959zm4.302 1.853h-.96l-.863-1.56c-.24-.432-.504-.953-.701-1.427l-.019.006c.024.534.036 1.104.036 1.763v1.218h-.84v-4.042h1.067l.84 1.481c.24.426.479.93.659 1.385h.019a14.746 14.746 0 0 1-.078-1.685v-1.182h.84v4.043zm4.169-.186a4.512 4.512 0 0 1-1.349.228c-.737 0-1.271-.186-1.644-.546-.371-.348-.575-.875-.569-1.469.006-1.344.983-2.111 2.309-2.111.521 0 .924.103 1.121.198l-.191.731c-.222-.096-.498-.174-.941-.174-.762 0-1.338.432-1.338 1.308 0 .833.522 1.325 1.271 1.325.21 0 .378-.024.45-.061v-.846h-.624v-.713h1.505v2.13zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFileTxt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zM9.998 14.768H8.895v3.274h-.917v-3.274H6.893V14h3.105v.768zm2.725 3.274-.365-.731c-.15-.282-.246-.492-.359-.726h-.013c-.083.233-.185.443-.312.726l-.335.731h-1.045l1.171-2.045L10.336 14h1.05l.354.738c.121.245.21.443.306.671h.013c.096-.258.174-.438.276-.671l.341-.738h1.043l-1.139 1.973 1.198 2.069h-1.055zm4.384-3.274h-1.104v3.274h-.917v-3.274h-1.085V14h3.105v.768zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 22a2 2 0 0 0 2-2V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12zM13 4l5 5h-5V4zM7 8h3v2H7V8zm0 4h10v2H7v-2zm0 4h10v2H7v-2z\"}}]})(props);\n};\nexport function BiSolidFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4v1h-2V3H7v2H5V3H3v18h2v-2h2v2h10v-2h2v2h2V3h-2v1zM5 7h2v2H5V7zm0 4h2v2H5v-2zm0 6v-2h2v2H5zm12 0v-2h2v2h-2zm2-4h-2v-2h2v2zm-2-4V7h2v2h-2z\"}}]})(props);\n};\nexport function BiSolidFilterAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 20v-4.586L20.414 8c.375-.375.586-.884.586-1.415V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2.585c0 .531.211 1.04.586 1.415L11 15.414V22l2-2z\"}}]})(props);\n};\nexport function BiSolidFirstAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-3V4a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2zM9 4h6v2H9zm7 10h-3v3h-2v-3H8v-2h3V9h2v3h3z\"}}]})(props);\n};\nexport function BiSolidFlagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.303 6-3-2H6V2H4v20h2v-8h4.697l3 2H20V6z\"}}]})(props);\n};\nexport function BiSolidFlagCheckered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2v18H3v2h4v-2H6v-5h13a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6V2H4zm4 3v2h2V5h2v2h2V5h2v2h2v2h-2v2h2v2h-2v-2h-2v2h-2v-2h-2v2H8v-2H6V9h2V7H6V5h2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h2v2H8zm4 0h2v2h-2zm-2-2h2v2h-2zm4 0h2v2h-2z\"}}]})(props);\n};\nexport function BiSolidFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4H6V2H4v18H3v2h4v-2H6v-5h13a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiSolidFlame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.579 2.393a.982.982 0 0 0-1.153.006C9.592 3.728 4 8.252 4 14c0 3.247 1.948 6.043 4.734 7.296A3.971 3.971 0 0 1 8 19c-.017-3.221 3.558-6.893 3.71-7a.497.497 0 0 1 .579 0c.152.107 3.711 2.974 3.711 7.002 0 .854-.275 1.643-.733 2.294C18.052 20.043 20 17.248 20 14.005c0-5.861-5.582-10.307-7.421-11.612z\"}}]})(props);\n};\nexport function BiSolidFlask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9.783V4h1V2H8v2h1v5.783l-4.268 9.389a1.992 1.992 0 0 0 .14 1.911A1.99 1.99 0 0 0 6.553 22h10.895a1.99 1.99 0 0 0 1.681-.917c.37-.574.423-1.289.14-1.911L15 9.783zm-4.09.631c.06-.13.09-.271.09-.414V4h2v6c0 .143.03.284.09.414L15.177 15H8.825l2.085-4.586z\"}}]})(props);\n};\nexport function BiSolidFlorist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.84 21.871 12 22a10.221 10.221 0 0 0-9.013-8.891L2 13l.021.173a10.001 10.001 0 0 0 8.819 8.698zm11.139-8.698L22 13l-.987.109c-4.7.523-8.427 4.2-9.013 8.891l1.16-.129a10.001 10.001 0 0 0 8.819-8.698zM18.063 5.5a2.5 2.5 0 0 0-3.415-.915c-.062.035-.111.081-.168.121.005-.069.02-.136.02-.206a2.5 2.5 0 1 0-5 0c0 .07.015.137.021.206-.057-.04-.107-.086-.168-.121a2.5 2.5 0 0 0-2.5 4.33c.061.035.126.056.188.085-.062.029-.127.05-.188.085a2.5 2.5 0 0 0 2.5 4.33c.062-.035.111-.081.168-.121-.006.069-.021.136-.021.206a2.5 2.5 0 1 0 5 0c0-.07-.015-.137-.021-.206.057.04.106.086.168.121a2.5 2.5 0 0 0 2.5-4.33c-.061-.035-.126-.056-.188-.085.063-.029.127-.05.188-.085a2.5 2.5 0 0 0 .916-3.415zM12 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BiSolidFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-9.586L8.707 3.293A.997.997 0 0 0 8 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zm-4 9H8v-2h8v2z\"}}]})(props);\n};\nexport function BiSolidFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.165 19.551c.186.28.499.449.835.449h15c.4 0 .762-.238.919-.606l3-7A.998.998 0 0 0 21 11h-1V8c0-1.103-.897-2-2-2h-6.655L8.789 4H4c-1.103 0-2 .897-2 2v13h.007a1 1 0 0 0 .158.551zM18 8v3H6c-.4 0-.762.238-.919.606L4 14.129V8h14z\"}}]})(props);\n};\nexport function BiSolidFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-9.586L8.707 3.293A.997.997 0 0 0 8 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2zm-4 9h-3v3h-2v-3H8v-2h3V9h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5h-9.586L8.707 3.293A.997.997 0 0 0 8 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V7c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidFoodMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2h2v20H3zm16 0H6v20h13c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zm-1 10H9v-2h9v2zm0-4H9V6h9v2z\"}}]})(props);\n};\nexport function BiSolidFridge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6c-1.103 0-2 .897-2 2v5h4V6h2v3h10V4c0-1.103-.897-2-2-2zm-8 13H8v-5H4v10c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V10H10v5z\"}}]})(props);\n};\nexport function BiSolidGame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c3.719 0 7.063-2.035 8.809-5.314L13 12l7.809-4.686C19.063 4.035 15.719 2 12 2 6.486 2 2 6.486 2 12s4.486 10 10 10zm-.5-16a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 11.5 6z\"}}]})(props);\n};\nexport function BiSolidGasPump (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19.616 6.48.014-.017-4-3.24-1.26 1.554 2.067 1.674a2.99 2.99 0 0 0-1.394 3.062c.15.899.769 1.676 1.57 2.111.895.487 1.68.442 2.378.194L18.976 18a.996.996 0 0 1-1.39.922.995.995 0 0 1-.318-.217.996.996 0 0 1-.291-.705L17 16a2.98 2.98 0 0 0-.877-2.119A3 3 0 0 0 14 13h-1V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-4h1c.136 0 .267.027.391.078a1.028 1.028 0 0 1 .531.533A.994.994 0 0 1 15 16l-.024 2c0 .406.079.799.236 1.168.151.359.368.68.641.951a2.97 2.97 0 0 0 2.123.881c.406 0 .798-.078 1.168-.236.358-.15.68-.367.951-.641A2.983 2.983 0 0 0 20.976 18L21 9a2.997 2.997 0 0 0-1.384-2.52zM11 8H4V5h7v3zm7 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BiSolidGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11v8h.051c.245 1.692 1.69 3 3.449 3 1.174 0 2.074-.417 2.672-1.174a3.99 3.99 0 0 0 5.668-.014c.601.762 1.504 1.188 2.66 1.188 1.93 0 3.5-1.57 3.5-3.5V11c0-4.962-4.037-9-9-9s-9 4.038-9 9zm6 1c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm6-4c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"}}]})(props);\n};\nexport function BiSolidGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12H4v8a2 2 0 0 0 2 2h5V12H5zm13 0h-5v10h5a2 2 0 0 0 2-2v-8h-2zm.791-5A4.92 4.92 0 0 0 19 5.5C19 3.57 17.43 2 15.5 2c-1.622 0-2.705 1.482-3.404 3.085C11.407 3.57 10.269 2 8.5 2 6.57 2 5 3.57 5 5.5c0 .596.079 1.089.209 1.5H2v4h9V9h2v2h9V7h-3.209zM7 5.5C7 4.673 7.673 4 8.5 4c.888 0 1.714 1.525 2.198 3H8c-.374 0-1 0-1-1.5zM15.5 4c.827 0 1.5.673 1.5 1.5C17 7 16.374 7 16 7h-2.477c.51-1.576 1.251-3 1.977-3z\"}}]})(props);\n};\nexport function BiSolidGraduation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v1l11 4 9-4V7L11 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11v4.267c0 1.621 4.001 3.893 9 3.734 4-.126 6.586-1.972 7-3.467.024-.089.037-.178.037-.268V11L13 14l-5-1.667v3.213l-1-.364V12l-3-1z\"}}]})(props);\n};\nexport function BiSolidGridAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm10 0h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zM4 21h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm10 0h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1z\"}}]})(props);\n};\nexport function BiSolidGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h4v4H4zm6 0h4v4h-4zm6 0h4v4h-4zM4 10h4v4H4zm6 0h4v4h-4zm6 0h4v4h-4zM4 16h4v4H4zm6 0h4v4h-4zm6 0h4v4h-4z\"}}]})(props);\n};\nexport function BiSolidGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm1.5 1H8c-3.309 0-6 2.691-6 6v1h15v-1c0-3.309-2.691-6-6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.604 11.048a5.67 5.67 0 0 0 .751-3.44c-.179-1.784-1.175-3.361-2.803-4.44l-1.105 1.666c1.119.742 1.8 1.799 1.918 2.974a3.693 3.693 0 0 1-1.072 2.986l-1.192 1.192 1.618.475C18.951 13.701 19 17.957 19 18h2c0-1.789-.956-5.285-4.396-6.952z\"}}]})(props);\n};\nexport function BiSolidGuitarAmp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-2V4c0-1.103-.897-2-2-2H8c-1.103 0-2 .897-2 2v2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2zM8 4h8v2H8V4zM6 19a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm3 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm3 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm3 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm3 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm2-4H4V8h16v4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h2v2h-2zm3 0h2v2h-2z\"}}]})(props);\n};\nexport function BiSolidHandDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.278 2.231a1.001 1.001 0 0 0-.64-.231H5a2 2 0 0 0-2 2v7.21a2 2 0 0 0 1.779 1.987L12 14v6a2 2 0 0 0 4 0V8l3.03 1.212a2.001 2.001 0 0 0 2.641-1.225l.113-.34a.998.998 0 0 0-.309-1.084l-5.197-4.332z\"}}]})(props);\n};\nexport function BiSolidHandLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3h-7.21a2 2 0 0 0-1.987 1.779L10 12H4a2 2 0 0 0 0 4h12l-1.212 3.03a2.001 2.001 0 0 0 1.225 2.641l.34.113a.998.998 0 0 0 1.084-.309l4.332-5.197c.149-.179.231-.406.231-.64V5a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BiSolidHandRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8H8l1.212-3.03a2 2 0 0 0-1.225-2.641l-.34-.113a.998.998 0 0 0-1.084.309L2.231 7.722a1.001 1.001 0 0 0-.231.64V19a2 2 0 0 0 2 2h7.21a2 2 0 0 0 1.987-1.779L14 12h6a2 2 0 0 0 0-4z\"}}]})(props);\n};\nexport function BiSolidHandUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.221 10.803 12 10V4a2 2 0 0 0-4 0v12l-3.031-1.212a2 2 0 0 0-2.64 1.225l-.113.34a.998.998 0 0 0 .309 1.084l5.197 4.332c.179.149.406.231.64.231H19a2 2 0 0 0 2-2v-7.21a2 2 0 0 0-1.779-1.987z\"}}]})(props);\n};\nexport function BiSolidHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 5A1.5 1.5 0 0 0 19 6.5V11h-1V4.5a1.5 1.5 0 0 0-3 0V11h-1V3.5a1.5 1.5 0 0 0-3 0V11h-1V5.5a1.5 1.5 0 0 0-3 0v10.81l-2.22-3.6a1.5 1.5 0 0 0-2.56 1.58l3.31 5.34A5 5 0 0 0 9.78 22H17a5 5 0 0 0 5-5V6.5A1.5 1.5 0 0 0 20.5 5z\"}}]})(props);\n};\nexport function BiSolidHappyAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm3.493 6a1.494 1.494 0 1 1-.001 2.987A1.494 1.494 0 0 1 15.493 8zM8.5 8a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 8.5 8zM12 18c-5 0-6-5-6-5h12s-1 5-6 5z\"}}]})(props);\n};\nexport function BiSolidHappyBeaming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM8 9c2.201 0 3 1.794 3 3H9c-.012-.45-.194-1-1-1s-.988.55-1 1.012L5 12c0-1.206.799-3 3-3zm4 9c-4 0-5-4-5-4h10s-1 4-5 4zm5-6c-.012-.45-.194-1-1-1s-.988.55-1 1.012L13 12c0-1.206.799-3 3-3s3 1.794 3 3h-2z\"}}]})(props);\n};\nexport function BiSolidHappyHeartEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM6.435 8.467A1.49 1.49 0 0 1 8.502 8.4a1.49 1.49 0 0 1 2.065.033c.597.592.604 1.521.018 2.118l-2.05 2.083-2.082-2.05a1.484 1.484 0 0 1-.018-2.117zM12 18c-4 0-5-4-5-4h10s-1 4-5 4zm5.585-7.449-2.05 2.083-2.082-2.05a1.485 1.485 0 0 1-.019-2.117 1.49 1.49 0 0 1 2.068-.067 1.49 1.49 0 0 1 2.065.033c.597.591.605 1.521.018 2.118z\"}}]})(props);\n};\nexport function BiSolidHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm3.493 7a1.494 1.494 0 1 1-.001 2.987A1.494 1.494 0 0 1 15.493 9zM8.5 9a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 8.5 9zm3.5 9c-4 0-5-4-5-4h10s-1 4-5 4z\"}}]})(props);\n};\nexport function BiSolidHardHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18v-3a8 8 0 0 0-5-7.4V13h-1V5h-4v8H9V7.6A8 8 0 0 0 4 15v3H2v2h20v-2z\"}}]})(props);\n};\nexport function BiSolidHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zm-4 5h-2v-2h2v2zm4 0h-2v-2h2v2zm.775-7H21l-1.652-7.434A2 2 0 0 0 17.396 2H6.604a2 2 0 0 0-1.952 1.566L3 11h17.775z\"}}]})(props);\n};\nexport function BiSolidHeartCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm4.186 10.74L12 16.926 7.814 12.74a2.745 2.745 0 0 1 0-3.907 2.745 2.745 0 0 1 3.906 0l.28.279.279-.279a2.745 2.745 0 0 1 3.906 0 2.745 2.745 0 0 1 .001 3.907z\"}}]})(props);\n};\nexport function BiSolidHeartSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1zM7.812 8.907a2.746 2.746 0 0 1 3.907 0l.279.279.278-.279a2.746 2.746 0 0 1 3.907 0 2.745 2.745 0 0 1 0 3.907L11.998 17l-4.187-4.186a2.747 2.747 0 0 1 .001-3.907z\"}}]})(props);\n};\nexport function BiSolidHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.205 4.791a5.938 5.938 0 0 0-4.209-1.754A5.906 5.906 0 0 0 12 4.595a5.904 5.904 0 0 0-3.996-1.558 5.942 5.942 0 0 0-4.213 1.758c-2.353 2.363-2.352 6.059.002 8.412L12 21.414l8.207-8.207c2.354-2.353 2.355-6.049-.002-8.416z\"}}]})(props);\n};\nexport function BiSolidHelpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm1 16h-2v-2h2v2zm.976-4.885c-.196.158-.385.309-.535.459-.408.407-.44.777-.441.793v.133h-2v-.167c0-.118.029-1.177 1.026-2.174.195-.195.437-.393.691-.599.734-.595 1.216-1.029 1.216-1.627a1.934 1.934 0 0 0-3.867.001h-2C8.066 7.765 9.831 6 12 6s3.934 1.765 3.934 3.934c0 1.597-1.179 2.55-1.958 3.181z\"}}]})(props);\n};\nexport function BiSolidHide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.073 12.194 4.212 8.333c-1.52 1.657-2.096 3.317-2.106 3.351L2 12l.105.316C2.127 12.383 4.421 19 12.054 19c.929 0 1.775-.102 2.552-.273l-2.746-2.746a3.987 3.987 0 0 1-3.787-3.787zM12.054 5c-1.855 0-3.375.404-4.642.998L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.298-3.298c2.638-1.953 3.579-4.637 3.593-4.679l.105-.316-.105-.316C21.98 11.617 19.687 5 12.054 5zm1.906 7.546c.187-.677.028-1.439-.492-1.96s-1.283-.679-1.96-.492L10 8.586A3.955 3.955 0 0 1 12.054 8c2.206 0 4 1.794 4 4a3.94 3.94 0 0 1-.587 2.053l-1.507-1.507z\"}}]})(props);\n};\nexport function BiSolidHomeAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.74 2.32a1 1 0 0 0-1.48 0l-9 10A1 1 0 0 0 3 14h2v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7h2a1 1 0 0 0 1-1 1 1 0 0 0-.26-.68z\"}}]})(props);\n};\nexport function BiSolidHomeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.743 12.331-9-10c-.379-.422-1.107-.422-1.486 0l-9 10A1 1 0 0 0 3 14h2v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7h2a.998.998 0 0 0 .743-1.669zM12 16a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BiSolidHomeHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14h2v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7h2a.998.998 0 0 0 .913-.593.998.998 0 0 0-.17-1.076l-9-10c-.379-.422-1.107-.422-1.486 0l-9 10A1 1 0 0 0 3 14zm5.653-2.359a2.224 2.224 0 0 1 3.125 0l.224.22.223-.22a2.225 2.225 0 0 1 3.126 0 2.13 2.13 0 0 1 0 3.07L12.002 18l-3.349-3.289a2.13 2.13 0 0 1 0-3.07z\"}}]})(props);\n};\nexport function BiSolidHomeSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14h2v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7h2a.998.998 0 0 0 .913-.593.998.998 0 0 0-.17-1.076l-9-10c-.379-.422-1.107-.422-1.486 0l-9 10A1 1 0 0 0 3 14zm5.949-.316C8.98 13.779 9.762 16 12 16c2.269 0 3.042-2.287 3.05-2.311l1.9.621C16.901 14.461 15.703 18 12 18s-4.901-3.539-4.95-3.689l1.899-.627z\"}}]})(props);\n};\nexport function BiSolidHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.743 12.331-9-10c-.379-.422-1.107-.422-1.486 0l-9 10a.998.998 0 0 0-.17 1.076c.16.361.518.593.913.593h2v7a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-4h4v4a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-7h2a.998.998 0 0 0 .743-1.669z\"}}]})(props);\n};\nexport function BiSolidHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 8c0 1.5-.5 3.5-2.9 4.3.7-1.7.8-3.4.3-5-.7-2.1-3-3.7-4.6-4.6-.4-.3-1.1.1-1 .7 0 1.1-.3 2.7-2 4.4C4.1 10 3 12.3 3 14.5 3 17.4 5 21 9 21c-4-4-1-7.5-1-7.5.8 5.9 5 7.5 7 7.5 1.7 0 5-1.2 5-6.4 0-3.1-1.3-5.5-2.4-6.9-.3-.5-1-.2-1.1.3\"}}]})(props);\n};\nexport function BiSolidHotel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"11\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.205 7H12v8H4V6H2v14h2v-3h16v3h2v-4c0-.009-.005-.016-.005-.024H22V11c0-2.096-1.698-4-3.795-4z\"}}]})(props);\n};\nexport function BiSolidHourglassBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2H4v2h1v1a7.014 7.014 0 0 0 3.433 6.02c.355.21.567.547.567.901v.158c0 .354-.212.691-.566.9A7.016 7.016 0 0 0 5 19v1H4v2h16v-2h-1v-1a7.016 7.016 0 0 0-3.434-6.021c-.354-.208-.566-.545-.566-.9v-.158c0-.354.212-.69.566-.9A7.016 7.016 0 0 0 19 5V4h1V2H5zm12 3a5.01 5.01 0 0 1-2.45 4.299A3.107 3.107 0 0 0 13.166 11h-2.332a3.114 3.114 0 0 0-1.385-1.702A5.008 5.008 0 0 1 7 5V4h10v1z\"}}]})(props);\n};\nexport function BiSolidHourglassTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.566 11.021A7.016 7.016 0 0 0 19 5V4h1V2H4v2h1v1a7.016 7.016 0 0 0 3.434 6.021c.354.208.566.545.566.9v.158c0 .354-.212.69-.566.9A7.016 7.016 0 0 0 5 19v1H4v2h16v-2h-1v-1a7.014 7.014 0 0 0-3.433-6.02c-.355-.21-.567-.547-.567-.901v-.158c0-.355.212-.692.566-.9zM17 19v1H7v-1a5.01 5.01 0 0 1 2.45-4.299A3.111 3.111 0 0 0 10.834 13h2.332c.23.691.704 1.3 1.385 1.702A5.008 5.008 0 0 1 17 19z\"}}]})(props);\n};\nexport function BiSolidHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 22h1v-2h-1v-1a7.014 7.014 0 0 0-3.433-6.02c-.355-.21-.567-.547-.567-.901v-.158c0-.354.212-.691.566-.9A7.016 7.016 0 0 0 19 5V4h1V2H4v2h1v1a7.016 7.016 0 0 0 3.434 6.021c.354.209.566.545.566.9v.158c0 .354-.212.691-.566.9A7.016 7.016 0 0 0 5 19v1H4v2h15zM17 4v1a5.005 5.005 0 0 1-1.004 3H8.004A5.005 5.005 0 0 1 7 5V4h10zM9.45 14.702c.971-.574 1.55-1.554 1.55-2.623V12h2v.079c0 1.068.579 2.049 1.551 2.623A4.98 4.98 0 0 1 16.573 17H7.427a4.977 4.977 0 0 1 2.023-2.298z\"}}]})(props);\n};\nexport function BiSolidIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM8.715 8c1.151 0 2 .849 2 2s-.849 2-2 2-2-.849-2-2 .848-2 2-2zm3.715 8H5v-.465c0-1.373 1.676-2.785 3.715-2.785s3.715 1.412 3.715 2.785V16zM19 15h-4v-2h4v2zm0-4h-5V9h5v2z\"}}]})(props);\n};\nexport function BiSolidImageAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 13 3-4 3 4.5V12h4V5c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h8v-4H5l3-4 1 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14h-2v3h-3v2h3v3h2v-3h3v-2h-3z\"}}]})(props);\n};\nexport function BiSolidImageAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2zm3-7 2.363 2.363L14 11l5 7H5l3-4z\"}}]})(props);\n};\nexport function BiSolidImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.999 4h-16c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-13.5 3a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm5.5 10h-7l4-5 1.5 2 3-4 5.5 7h-7z\"}}]})(props);\n};\nexport function BiSolidInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5c0-1.103-.897-2-2-2zm-1 9h-3.142c-.446 1.722-1.997 3-3.858 3s-3.412-1.278-3.858-3H4V5h16v7h-1z\"}}]})(props);\n};\nexport function BiSolidInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z\"}}]})(props);\n};\nexport function BiSolidInfoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1zm8 3h2v2h-2V7zm0 4h2v6h-2v-6z\"}}]})(props);\n};\nexport function BiSolidInjection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5.61 9.24 8.35l3.31 3.31-1.06 1.06-3.31-3.31-1.77 1.77 3.31 3.31-1.06 1.06-3.31-3.31-2 2A2 2 0 0 0 3 16.66l1 1.89-2.25 2.29 1.41 1.41L5.45 20l1.89 1a2 2 0 0 0 1 .26 2 2 0 0 0 1.42-.59L18.39 12zm7.8 3.59-1.79-1.8 1.42-1.41 1.41 1.41 1.41-1.41-4.24-4.24-1.41 1.41 1.41 1.42-1.41 1.41-1.8-1.79-1.74-1.75-1.41 1.42 1.03 1.03v.01l6.41 6.41h.01l1.03 1.03 1.42-1.41-1.74-1.74h-.01z\"}}]})(props);\n};\nexport function BiSolidInstitution (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.857 8.485-3-5A.997.997 0 0 0 18 3h-4.586l-.707-.707a.999.999 0 0 0-1.414 0L10.586 3H6a.997.997 0 0 0-.857.485l-3 5A1.001 1.001 0 0 0 2.002 9H2v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V9h-.002c0-.178-.046-.356-.141-.515zM20 18h-6v-4h-4v4H4v-8h2.414l.293-.293 2-2L12 4.414l4.293 4.293 1 1 .293.293H20v8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.895\",\"cy\":\"9.895\",\"r\":\"2.105\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h2v3H6zm10 0h2v3h-2z\"}}]})(props);\n};\nexport function BiSolidInvader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3h2v2H6zm2 16h3v2H8zm8-16h2v2h-2zm-3 16h3v2h-3zm7-8V9h-2V7h-2V5h-2v2h-4V5H8v2H6v2H4v2H2v8h2v-4h2v4h2v-3h8v3h2v-4h2v4h2v-8zm-10 1H8V9h2zm6 0h-2V9h2z\"}}]})(props);\n};\nexport function BiSolidJoystickAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H8a6 6 0 0 0 0 12h8a6 6 0 0 0 0-12zm-5 7H9v2H7v-2H5v-2h2V9h2v2h2v2zm3.5 2a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm3-3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BiSolidJoystickButton (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8h-4V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v4H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zM7 14l-3-2 3-2v4zm5 6-2-3h4l-2 3zm0-6a2 2 0 1 1 .001-4.001A2 2 0 0 1 12 14zm-2-7 2-3 2 3h-4zm7 7v-4l3 2-3 2z\"}}]})(props);\n};\nexport function BiSolidJoystick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.986 9.74a3.193 3.193 0 0 0-.008-.088A5.003 5.003 0 0 0 17 5H7a4.97 4.97 0 0 0-4.987 4.737c-.01.079-.013.161-.013.253v6.51c0 .925.373 1.828 1.022 2.476A3.524 3.524 0 0 0 5.5 20c1.8 0 2.504-1 3.5-3 .146-.292.992-2 3-2 1.996 0 2.853 1.707 3 2 1.004 2 1.7 3 3.5 3 .925 0 1.828-.373 2.476-1.022A3.524 3.524 0 0 0 22 16.5V10c0-.095-.004-.18-.014-.26zM7 12.031a2 2 0 1 1-.001-3.999A2 2 0 0 1 7 12.031zm10-5a1 1 0 1 1 0 2 1 1 0 1 1 0-2zm-2 4a1 1 0 1 1 0-2 1 1 0 1 1 0 2zm2 2a1 1 0 1 1 0-2 1 1 0 1 1 0 2zm2-2a1 1 0 1 1 0-2 1 1 0 1 1 0 2z\"}}]})(props);\n};\nexport function BiSolidKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.433 17.325 3.079 19.8a1 1 0 0 0 1.131 1.131l2.475-.354C7.06 20.524 8 18 8 18s.472.405.665.466c.412.13.813-.274.948-.684L10 16.01s.577.292.786.335c.266.055.524-.109.707-.293a.988.988 0 0 0 .241-.391L12 14.01s.675.187.906.214c.263.03.519-.104.707-.293l1.138-1.137a5.502 5.502 0 0 0 5.581-1.338 5.507 5.507 0 0 0 0-7.778 5.507 5.507 0 0 0-7.778 0 5.5 5.5 0 0 0-1.338 5.581l-7.501 7.5a.994.994 0 0 0-.282.566zM18.504 5.506a2.919 2.919 0 0 1 0 4.122l-4.122-4.122a2.919 2.919 0 0 1 4.122 0z\"}}]})(props);\n};\nexport function BiSolidKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5H3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zm-8 2h2v2h-2V7zm0 4h2v2h-2v-2zM9 7h2v2H9V7zm0 4h2v2H9v-2zM5 7h2v2H5V7zm0 4h2v2H5v-2zm12 6H7v-2h10v2zm2-4h-2v-2h2v2zm0-4h-2V7h2v2z\"}}]})(props);\n};\nexport function BiSolidLabel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.813 4.419A.997.997 0 0 0 16 4H3a1 1 0 0 0-.813 1.581L6.771 12l-4.585 6.419A1 1 0 0 0 3 20h13a.997.997 0 0 0 .813-.419l5-7a.997.997 0 0 0 0-1.162l-5-7z\"}}]})(props);\n};\nexport function BiSolidLandmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17h-2V9h2V7a.998.998 0 0 0-.594-.914l-9.432-4.191-8.421 4.21A1 1 0 0 0 2 7v2h2v8H2v4h19v-4zm-5-8v8h-3V9h3zM7 9h3v8H7V9z\"}}]})(props);\n};\nexport function BiSolidLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"6.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 7-5.223 8.487L7 13l-5 7h20z\"}}]})(props);\n};\nexport function BiSolidLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-6.447 9.105 2.459-1.229-1.567-1.044 1.109-1.664 3 2a1 1 0 0 1-.108 1.727l-4 2-.893-1.79zM12 18c-4 0-5-4-5-4h10s-1 4-5 4zm5.553-5.105-4-2a1 1 0 0 1-.108-1.727l3-2 1.109 1.664-1.566 1.044 2.459 1.229-.894 1.79z\"}}]})(props);\n};\nexport function BiSolidLayerMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.484 11.125-9.022-5a1 1 0 0 0-.968-.001l-8.978 4.96a1 1 0 0 0-.003 1.749l9.022 5.04a.995.995 0 0 0 .973.001l8.978-5a1 1 0 0 0-.002-1.749z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.515 15.126 12 19.856l-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.97-1.748zM16 4h6v2h-6z\"}}]})(props);\n};\nexport function BiSolidLayerPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.513 12.833 9.022 5.04a.995.995 0 0 0 .973.001l8.978-5a1 1 0 0 0-.002-1.749l-9.022-5a1 1 0 0 0-.968-.001l-8.978 4.96a1 1 0 0 0-.003 1.749z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.485 15.126-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.971-1.748L12 19.856l-8.515-4.73zM20 8V6h2V4h-2V2h-2v2h-2v2h2v2z\"}}]})(props);\n};\nexport function BiSolidLayer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.484 7.125-9.022-5a1.003 1.003 0 0 0-.968 0l-8.978 4.96a1 1 0 0 0-.003 1.748l9.022 5.04a.995.995 0 0 0 .973.001l8.978-5a1 1 0 0 0-.002-1.749z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15.856-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.971-1.748L12 15.856z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 19.856-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.971-1.748L12 19.856z\"}}]})(props);\n};\nexport function BiSolidLayout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5c-1.103 0-2 .897-2 2v4h18V5c0-1.103-.897-2-2-2zM3 19c0 1.103.897 2 2 2h8V11H3v8zm12 2h4c1.103 0 2-.897 2-2v-8h-6v10z\"}}]})(props);\n};\nexport function BiSolidLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m22 3.41-.12-1.26-1.2.4a13.84 13.84 0 0 1-6.41.64 11.87 11.87 0 0 0-6.68.9A7.23 7.23 0 0 0 3.3 9.5a9 9 0 0 0 .39 4.58 16.6 16.6 0 0 1 1.18-2.2 9.85 9.85 0 0 1 4.07-3.43 11.16 11.16 0 0 1 5.06-1A12.08 12.08 0 0 0 9.34 9.2a9.48 9.48 0 0 0-1.86 1.53 11.38 11.38 0 0 0-1.39 1.91 16.39 16.39 0 0 0-1.57 4.54A26.42 26.42 0 0 0 4 22h2a30.69 30.69 0 0 1 .59-4.32 9.25 9.25 0 0 0 4.52 1.11 11 11 0 0 0 4.28-.87C23 14.67 22 3.86 22 3.41z\"}}]})(props);\n};\nexport function BiSolidLeftArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5 12 7 6v-5h6v-2h-6V6z\"}}]})(props);\n};\nexport function BiSolidLeftArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm5 11h-5v4l-5-5 5-5v4h5v2z\"}}]})(props);\n};\nexport function BiSolidLeftArrowSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14zM12 7v4h5v2h-5v4l-5-5 5-5z\"}}]})(props);\n};\nexport function BiSolidLeftArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4.431 12.822 13 9A1 1 0 0 0 19 21V3a1 1 0 0 0-1.569-.823l-13 9a1.003 1.003 0 0 0 0 1.645z\"}}]})(props);\n};\nexport function BiSolidLeftDownArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 19.071c3.898-3.899 3.898-10.244 0-14.143-3.899-3.899-10.244-3.898-14.143 0-3.898 3.899-3.899 10.243 0 14.143 3.9 3.899 10.244 3.899 14.143 0zM8.464 8.464l2.829 2.829 3.535-3.536 1.414 1.414-3.535 3.536 2.828 2.829H8.464V8.464z\"}}]})(props);\n};\nexport function BiSolidLeftTopArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 19.071c3.898-3.899 3.898-10.244 0-14.143-3.899-3.898-10.243-3.898-14.143 0-3.898 3.899-3.898 10.244 0 14.143 3.9 3.899 10.244 3.899 14.143 0zM8.465 8.464h7.07l-2.828 2.829 3.535 3.536-1.414 1.414-3.535-3.536-2.828 2.829V8.464z\"}}]})(props);\n};\nexport function BiSolidLemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.45 8.74A2.23 2.23 0 0 1 21.64 7a3.51 3.51 0 0 0 .24-2.47 3.55 3.55 0 0 0-2.45-2.45 3.51 3.51 0 0 0-2.43.28 2.23 2.23 0 0 1-1.7.19 10.07 10.07 0 0 0-6.53 0 9.87 9.87 0 0 0-6.23 6.18 10.07 10.07 0 0 0 0 6.53A2.23 2.23 0 0 1 2.36 17a3.51 3.51 0 0 0-.24 2.47 3.55 3.55 0 0 0 2.45 2.45A3.51 3.51 0 0 0 7 21.64a2.23 2.23 0 0 1 1.7-.19A9.83 9.83 0 0 0 12 22a10.33 10.33 0 0 0 3.27-.54 9.87 9.87 0 0 0 6.19-6.19 10.07 10.07 0 0 0-.01-6.53zM12 7a5 5 0 0 0-5 5H5a7 7 0 0 1 7-7z\"}}]})(props);\n};\nexport function BiSolidLike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h1V8H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2zM20 8h-7l1.122-3.368A2 2 0 0 0 12.225 2H12L7 7.438V21h11l3.912-8.596L22 12v-2a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BiSolidLocationPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8.029-5.56 8-12c0-4.411-3.589-8-8-8S4 5.589 4 9.995C3.971 16.44 11.696 21.784 12 22zM8 9h3V6h2v3h3v2h-3v3h-2v-3H8V9z\"}}]})(props);\n};\nexport function BiSolidLockAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12c0-1.103-.897-2-2-2h-1V7c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9V7z\"}}]})(props);\n};\nexport function BiSolidLockOpenAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8V7c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8c0-1.103-.897-2-2-2H9V7c0-1.654 1.346-3 3-3s3 1.346 3 3v1h2z\"}}]})(props);\n};\nexport function BiSolidLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 10H9V7c0-1.654 1.346-3 3-3s3 1.346 3 3h2c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2zm-7.939 5.499A2.002 2.002 0 0 1 14 16a1.99 1.99 0 0 1-1 1.723V20h-2v-2.277a1.992 1.992 0 0 1-.939-2.224z\"}}]})(props);\n};\nexport function BiSolidLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C9.243 2 7 4.243 7 7v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7c0-2.757-2.243-5-5-5zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9V7zm4 10.723V20h-2v-2.277a1.993 1.993 0 0 1 .567-3.677A2.001 2.001 0 0 1 14 16a1.99 1.99 0 0 1-1 1.723z\"}}]})(props);\n};\nexport function BiSolidLogInCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c-4.625 0-8.442 3.507-8.941 8.001H10v-3l5 4-5 4v-3H3.06C3.56 17.494 7.376 21 12 21c4.963 0 9-4.037 9-9s-4.037-9-9-9z\"}}]})(props);\n};\nexport function BiSolidLogIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2h-13a.5.5 0 0 0-.5.5V11h6V8l5 4-5 4v-3H5v8.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-19a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BiSolidLogOutCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c-4.963 0-9 4.037-9 9v.001l5-4v3h7v2H8v3l-5-4C3.001 16.964 7.037 21 12 21s9-4.037 9-9-4.037-9-9-9z\"}}]})(props);\n};\nexport function BiSolidLogOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6a1 1 0 0 0-1 1v9l5-4v3h6v2h-6v3l-5-4v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiSolidLowVision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4.998c-1.836 0-3.356.389-4.617.971L3.707 2.293 2.293 3.707l3.315 3.315c-2.613 1.952-3.543 4.618-3.557 4.66l-.105.316.105.316C2.073 12.382 4.367 19 12 19c1.835 0 3.354-.389 4.615-.971l3.678 3.678 1.414-1.414-3.317-3.317c2.614-1.952 3.545-4.618 3.559-4.66l.105-.316-.105-.316c-.022-.068-2.316-6.686-9.949-6.686zM12.043 7H12a5 5 0 0 1 5 5 4.894 4.894 0 0 1-.852 2.734l-.721-.721A3.919 3.919 0 0 0 16 11.999c0-.474-.099-.925-.255-1.349A.985.985 0 0 1 15 11a1 1 0 0 1-1-1c0-.439.288-.802.682-.936A3.965 3.965 0 0 0 12 7.999c-.735 0-1.419.218-2.015.572l-.72-.72C10.053 7.326 10.982 7 12 7h-.043L12 6.998l.043.002zm-7.969 4.999c.103-.235.274-.586.521-.989l5.867 5.867c-4.213-.647-5.939-3.842-6.388-4.878zm9.247 4.908-7.48-7.48a8.146 8.146 0 0 1 1.188-.984l8.055 8.055a8.835 8.835 0 0 1-1.763.409z\"}}]})(props);\n};\nexport function BiSolidMagicWand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11 4-.5-1-.5 1-1 .125.834.708L9.5 6l1-.666 1 .666-.334-1.167.834-.708zm8.334 10.666L18.5 13l-.834 1.666-1.666.209 1.389 1.181L16.834 18l1.666-1.111L20.166 18l-.555-1.944L21 14.875zM6.667 6.333 6 5l-.667 1.333L4 6.5l1.111.944L4.667 9 6 8.111 7.333 9l-.444-1.556L8 6.5zM3.414 17c0 .534.208 1.036.586 1.414L5.586 20c.378.378.88.586 1.414.586s1.036-.208 1.414-.586L20 8.414c.378-.378.586-.88.586-1.414S20.378 5.964 20 5.586L18.414 4c-.756-.756-2.072-.756-2.828 0L4 15.586c-.378.378-.586.88-.586 1.414zM17 5.414 18.586 7 15 10.586 13.414 9 17 5.414z\"}}]})(props);\n};\nexport function BiSolidMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H5a1 1 0 0 0-1 1v3h5V4a1 1 0 0 0-1-1zm7 1v3h5V4a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1zm0 10a3 3 0 0 1-6 0V9H4v5a8 8 0 0 0 16 0V9h-5v5z\"}}]})(props);\n};\nexport function BiSolidMapAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 6.882-7-3.5v13.236l7 3.5 6-3 7 3.5V7.382l-7-3.5-6 3zM15 15l-6 3V9l6-3v9z\"}}]})(props);\n};\nexport function BiSolidMapPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 17 1-2V9.858c1.721-.447 3-2 3-3.858 0-2.206-1.794-4-4-4S8 3.794 8 6c0 1.858 1.279 3.411 3 3.858V15l1 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.267 10.563-.533 1.928C18.325 13.207 20 14.584 20 16c0 1.892-3.285 4-8 4s-8-2.108-8-4c0-1.416 1.675-2.793 4.267-3.51l-.533-1.928C4.197 11.54 2 13.623 2 16c0 3.364 4.393 6 10 6s10-2.636 10-6c0-2.377-2.197-4.46-5.733-5.437z\"}}]})(props);\n};\nexport function BiSolidMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C7.589 2 4 5.589 4 9.995 3.971 16.44 11.696 21.784 12 22c0 0 8.029-5.56 8-12 0-4.411-3.589-8-8-8zm0 12c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z\"}}]})(props);\n};\nexport function BiSolidMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6H5C3.346 6 2 7.346 2 9v5c0 2.206 1.794 4 4 4h1.637c1.166 0 2.28-.557 2.981-1.491.66-.879 2.104-.88 2.764.001A3.744 3.744 0 0 0 16.363 18H18c2.206 0 4-1.794 4-4V9c0-1.654-1.346-3-3-3zM7.5 13C6.119 13 5 12.328 5 11.5S6.119 10 7.5 10s2.5.672 2.5 1.5S8.881 13 7.5 13zm9 0c-1.381 0-2.5-.672-2.5-1.5s1.119-1.5 2.5-1.5 2.5.672 2.5 1.5-1.119 1.5-2.5 1.5z\"}}]})(props);\n};\nexport function BiSolidMedal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2h-4v4.059a8.946 8.946 0 0 1 4 1.459V2zm-6 0H7v5.518a8.946 8.946 0 0 1 4-1.459V2zm1 20a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm-1.225-8.519L12 11l1.225 2.481 2.738.397-1.981 1.932.468 2.727L12 17.25l-2.449 1.287.468-2.727-1.981-1.932 2.737-.397z\"}}]})(props);\n};\nexport function BiSolidMegaphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.664 3.478 8 8v7l.748.267-1.127 2.254a1.999 1.999 0 0 0 1.156 2.792l4.084 1.361a2.015 2.015 0 0 0 2.421-1.003l1.303-2.606 4.079 1.457A1 1 0 0 0 22 18.581V4.419a1 1 0 0 0-1.336-.941zm-7.171 16.299L9.41 18.416l1.235-2.471 4.042 1.444-1.194 2.388zM4 15h2V8H4c-1.103 0-2 .897-2 2v3c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiSolidMehAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-6 8h4v2H6v-2zm10 7H7.974v-2H16v2zm2-5h-4v-2h4v2z\"}}]})(props);\n};\nexport function BiSolidMehBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM8.5 12a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8.5 12zm6.993-.014a1.494 1.494 0 1 1 .001-2.987 1.494 1.494 0 0 1-.001 2.987z\"}}]})(props);\n};\nexport function BiSolidMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-5 8.5a1.5 1.5 0 1 1 3.001.001A1.5 1.5 0 0 1 7 10.5zm9 6.5H7.974v-2H16v2zm-.507-5.014a1.494 1.494 0 1 1 .001-2.987 1.494 1.494 0 0 1-.001 2.987z\"}}]})(props);\n};\nexport function BiSolidMemoryCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2H6c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2V7l-5-5zm-6 8H7V6h2v4zm3 0h-2V6h2v4zm3 0h-2V6h2v4z\"}}]})(props);\n};\nexport function BiSolidMessageAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-3 9h-4v4h-2v-4H7V9h4V5h2v4h4v2z\"}}]})(props);\n};\nexport function BiSolidMessageAltAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 18 3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5zM7 9h4V5h2v4h4v2h-4v4h-2v-4H7V9z\"}}]})(props);\n};\nexport function BiSolidMessageAltCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4v12c0 1.103.897 2 2 2h3.5l3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm5.707 4.293L11 10.586l4.793-4.793 1.414 1.414L11 13.414 7.293 9.707l1.414-1.414z\"}}]})(props);\n};\nexport function BiSolidMessageAltDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 18 3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5zM7 7h10v2H7V7zm0 4h7v2H7v-2z\"}}]})(props);\n};\nexport function BiSolidMessageAltDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5l3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM9 12a2 2 0 1 1 .001-4.001A2 2 0 0 1 9 12zm6 0a2 2 0 1 1 .001-4.001A2 2 0 0 1 15 12z\"}}]})(props);\n};\nexport function BiSolidMessageAltEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5l3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5zm4.302 11.987h-1.8v-1.799l4.978-4.97 1.798 1.799-4.976 4.97zm5.823-5.817-1.798-1.799L14.698 5l1.8 1.799-1.373 1.371z\"}}]})(props);\n};\nexport function BiSolidMessageAltError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4v12c0 1.103.897 2 2 2h3.5l3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm8 1h2v6h-2V5zm0 8h2v2h-2v-2z\"}}]})(props);\n};\nexport function BiSolidMessageAltMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5l3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5zm11 9H8V9h8v2z\"}}]})(props);\n};\nexport function BiSolidMessageAltX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 18 3.5 4 3.5-4H19c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5zM7.293 6.707l1.414-1.414L12 8.586l3.293-3.293 1.414 1.414L13.414 10l3.293 3.293-1.414 1.414L12 11.414l-3.293 3.293-1.414-1.414L10.586 10 7.293 6.707z\"}}]})(props);\n};\nexport function BiSolidMessageAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.999 2h-14c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h3.5l3.5 4 3.5-4h3.5c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidMessageCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-9 11.914-3.707-3.707 1.414-1.414L11 11.086l4.793-4.793 1.414 1.414L11 13.914z\"}}]})(props);\n};\nexport function BiSolidMessageDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-6 11H7v-2h7v2zm3-4H7V7h10v2z\"}}]})(props);\n};\nexport function BiSolidMessageDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.017C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-9 8a2 2 0 1 1-2-2c.086 0 .167.015.25.025.082-.014.164-.025.25-.025A1.5 1.5 0 0 1 11 9.5c0 .086-.012.168-.025.25.01.083.025.165.025.25zm4 2a2 2 0 0 1-2-2c0-.086.015-.167.025-.25A1.592 1.592 0 0 1 13 9.5 1.5 1.5 0 0 1 14.5 8c.086 0 .168.011.25.025.083-.01.164-.025.25-.025a2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BiSolidMessageEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zM8.999 14.999H7V13l5.53-5.522 1.998 1.999-5.529 5.522zm6.472-6.464-1.999-1.999 1.524-1.523 1.999 1.999-1.524 1.523z\"}}]})(props);\n};\nexport function BiSolidMessageError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-7 13h-2v-2h2v2zm0-4h-2V5h2v6z\"}}]})(props);\n};\nexport function BiSolidMessageMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-4 9H8V9h8v2z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.515 5 6.934V22l5.34-4.005C17.697 17.853 22 14.32 22 10c0-4.411-4.486-8-10-8zm4 9h-3v3h-2v-3H8V9h3V6h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.515 5 6.934V22l5.34-4.005C17.697 17.853 22 14.32 22 10c0-4.411-4.486-8-10-8zm-1 12.414-3.707-3.707 1.414-1.414L11 11.586l4.793-4.793 1.414 1.414L11 14.414z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.515 5 6.934V22l5.34-4.005C17.697 17.853 22 14.32 22 10c0-4.411-4.486-8-10-8zm2 11H7v-2h7v2zm3-4H7V7h10v2z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.897 5.516 5 6.934V22l5.34-4.004C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8zm-2.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.516 5 6.934V22l5.34-4.005C17.697 17.854 22 14.32 22 10c0-4.411-4.486-8-10-8zM9.302 13.986H7.503v-1.798l4.976-4.97 1.798 1.799-4.975 4.969zm5.823-5.816-1.799-1.798 1.372-1.371 1.799 1.798-1.372 1.371z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.516 5 6.934V22l5.34-4.005C17.697 17.854 22 14.32 22 10c0-4.411-4.486-8-10-8zm1 12h-2v-2h2v2zm0-4h-2V5h2v5z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.515 5 6.934V22l5.34-4.005C17.697 17.853 22 14.32 22 10c0-4.411-4.486-8-10-8zm4 9H8V9h8v2z\"}}]})(props);\n};\nexport function BiSolidMessageRoundedX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.907 1.897 5.515 5 6.934V22l5.34-4.005C17.697 17.853 22 14.32 22 10c0-4.411-4.486-8-10-8zm3.707 10.293-1.414 1.414L12 11.414l-2.293 2.293-1.414-1.414L10.586 10 8.293 7.707l1.414-1.414L12 8.586l2.293-2.293 1.414 1.414L13.414 10l2.293 2.293z\"}}]})(props);\n};\nexport function BiSolidMessageRounded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 5.589 2 10c0 2.908 1.898 5.515 5 6.934V22l5.34-4.005C17.697 17.852 22 14.32 22 10c0-4.411-4.486-8-10-8z\"}}]})(props);\n};\nexport function BiSolidMessageSquareAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm1 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z\"}}]})(props);\n};\nexport function BiSolidMessageSquareCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm-5 14.414-3.707-3.707 1.414-1.414L11 13.586l4.793-4.793 1.414 1.414L11 16.414z\"}}]})(props);\n};\nexport function BiSolidMessageSquareDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm-2 13H7v-2h7v2zm3-4H7V9h10v2z\"}}]})(props);\n};\nexport function BiSolidMessageSquareDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm-5 10.5A1.5 1.5 0 0 1 9.5 14c-.086 0-.168-.011-.25-.025-.083.01-.164.025-.25.025a2 2 0 1 1 2-2c0 .085-.015.167-.025.25.013.082.025.164.025.25zm4 1.5c-.086 0-.167-.015-.25-.025a1.471 1.471 0 0 1-.25.025 1.5 1.5 0 0 1-1.5-1.5c0-.085.012-.168.025-.25-.01-.083-.025-.164-.025-.25a2 2 0 1 1 2 2z\"}}]})(props);\n};\nexport function BiSolidMessageSquareEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zM8.999 17H7v-1.999l5.53-5.522 1.999 1.999L8.999 17zm6.473-6.465-1.999-1.999 1.524-1.523 1.999 1.999-1.524 1.523z\"}}]})(props);\n};\nexport function BiSolidMessageSquareError (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm-3 16h-2v-2h2v2zm0-4h-2V6h2v8z\"}}]})(props);\n};\nexport function BiSolidMessageSquareMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm0 11H8v-2h8v2z\"}}]})(props);\n};\nexport function BiSolidMessageSquareX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm.706 13.293-1.414 1.414L12 13.415l-3.292 3.292-1.414-1.414 3.292-3.292-3.292-3.292 1.414-1.414L12 10.587l3.292-3.292 1.414 1.414-3.292 3.292 3.292 3.292z\"}}]})(props);\n};\nexport function BiSolidMessageSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2H8C4.691 2 2 4.691 2 8v13a1 1 0 0 0 1 1h13c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6z\"}}]})(props);\n};\nexport function BiSolidMessageX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2zm-3.293 11.293-1.414 1.414L12 11.414l-3.293 3.293-1.414-1.414L10.586 10 7.293 6.707l1.414-1.414L12 8.586l3.293-3.293 1.414 1.414L13.414 10l3.293 3.293z\"}}]})(props);\n};\nexport function BiSolidMessage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H4c-1.103 0-2 .894-2 1.992v12.016C2 17.106 2.897 18 4 18h3v4l6.351-4H20c1.103 0 2-.894 2-1.992V3.992A1.998 1.998 0 0 0 20 2z\"}}]})(props);\n};\nexport function BiSolidMeteor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.507 2.138a1 1 0 0 0-1.155.102L4.196 9.197c-2.924 2.924-2.924 7.682 0 10.606a7.472 7.472 0 0 0 5.3 2.192c1.924 0 3.85-.734 5.317-2.202l6.903-7.096A1 1 0 0 0 21 11h-3.301l4.175-7.514a1.001 1.001 0 0 0-1.359-1.36l-7.11 3.95.576-2.879a1.002 1.002 0 0 0-.474-1.059zM14 14.5a4.5 4.5 0 0 1-9 0c0-1.57.807-2.949 2.025-3.754-.01.084-.025.167-.025.254a2 2 0 1 0 3.845-.772C12.669 10.802 14 12.486 14 14.5z\"}}]})(props);\n};\nexport function BiSolidMicrochip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.999 22h8c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2h-8c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2zm-5-15h2V5h-2v.5h-1v1h1zm18-2h-2v2h2v-.5h1v-1h-1zm-18 6h2V9h-2v.5h-1v1h1zm18-2h-2v2h2v-.5h1v-1h-1zm-18 6h2v-2h-2v.5h-1v1h1zm18-2h-2v2h2v-.5h1v-1h-1zm-18 6h2v-2h-2v.5h-1v1h1zm18-2h-2v2h2v-.5h1v-1h-1z\"}}]})(props);\n};\nexport function BiSolidMicrophoneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12H4c0 4.072 3.061 7.436 7 7.931V22h2v-2.069c3.939-.495 7-3.858 7-7.931h-2c0 3.309-2.691 6-6 6s-6-2.691-6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12c0 2.206 1.794 4 4 4s4-1.794 4-4h-2v-2h2V8h-2V6h2c0-2.217-1.785-4.021-3.979-4.021a.933.933 0 0 0-.209.025A4.006 4.006 0 0 0 8 6h4v2H8v2h4v2H8z\"}}]})(props);\n};\nexport function BiSolidMicrophoneOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 20.293-3.4-3.4A7.93 7.93 0 0 0 20 12h-2a5.945 5.945 0 0 1-1.119 3.467l-1.449-1.45A3.926 3.926 0 0 0 16 12V6c0-2.217-1.785-4.021-3.979-4.021-.07 0-.14.009-.209.025A4.006 4.006 0 0 0 8 6v.586L3.707 2.293 2.293 3.707l18 18 1.414-1.414zM6 12H4c0 4.072 3.06 7.436 7 7.931V22h2v-2.069a7.935 7.935 0 0 0 2.241-.63l-1.549-1.548A5.983 5.983 0 0 1 12 18c-3.309 0-6-2.691-6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.007 12.067a3.996 3.996 0 0 0 3.926 3.926l-3.926-3.926z\"}}]})(props);\n};\nexport function BiSolidMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16c2.206 0 4-1.794 4-4V6c0-2.217-1.785-4.021-3.979-4.021a.933.933 0 0 0-.209.025A4.006 4.006 0 0 0 8 6v6c0 2.206 1.794 4 4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19.931V22h2v-2.069c3.939-.495 7-3.858 7-7.931h-2c0 3.309-2.691 6-6 6s-6-2.691-6-6H4c0 4.072 3.061 7.436 7 7.931z\"}}]})(props);\n};\nexport function BiSolidMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm5 11H7v-2h10v2z\"}}]})(props);\n};\nexport function BiSolidMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5zm12 10H7v-2h10v2z\"}}]})(props);\n};\nexport function BiSolidMobileVibration (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.535 2.808a2.003 2.003 0 0 0-2.828 0l-9.899 9.899a2.001 2.001 0 0 0 0 2.828l5.657 5.657c.39.39.902.585 1.414.585s1.024-.195 1.414-.585l9.899-9.899c.78-.779.78-2.049 0-2.828l-5.657-5.657zM8.707 16.707a.999.999 0 1 1-1.414-1.414.999.999 0 1 1 1.414 1.414zm7 5-1.414-1.414 6-6 1.414 1.415zM8.293 2.293l1.414 1.414-6 6-1.414-1.415z\"}}]})(props);\n};\nexport function BiSolidMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 22c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2H8c-1.103 0-2 .897-2 2v16c0 1.103.897 2 2 2h10zm-5-5a1 1 0 1 1 0 2 1 1 0 1 1 0-2z\"}}]})(props);\n};\nexport function BiSolidMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11.807A9.002 9.002 0 0 1 10.049 2a9.942 9.942 0 0 0-5.12 2.735c-3.905 3.905-3.905 10.237 0 14.142 3.906 3.906 10.237 3.905 14.143 0a9.946 9.946 0 0 0 2.735-5.119A9.003 9.003 0 0 1 12 11.807z\"}}]})(props);\n};\nexport function BiSolidMouseAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2v8h6V8c0-3.309-2.691-6-6-6zM5 16c0 3.309 2.691 6 6 6h2c3.309 0 6-2.691 6-6v-4H5v4zm0-8v2h6V2C7.691 2 5 4.691 5 8z\"}}]})(props);\n};\nexport function BiSolidMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.975 22H12c3.859 0 7-3.14 7-7V9c0-3.841-3.127-6.974-6.981-7h-.06C8.119 2.022 5 5.157 5 9v6c0 3.86 3.129 7 6.975 7zM11 6h2v6h-2V6z\"}}]})(props);\n};\nexport function BiSolidMoviePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm.001 6c-.001 0-.001 0 0 0h-.465l-2.667-4H20l.001 4zM15.5 15 10 18v-6l5.5 3zm-.964-6-2.667-4h2.596l2.667 4h-2.596zm-2.404 0H9.536L6.869 5h2.596l2.667 4zM4 5h.465l2.667 4H4V5z\"}}]})(props);\n};\nexport function BiSolidMovie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm.001 6c-.001 0-.001 0 0 0h-.466l-2.667-4H20l.001 4zm-5.466 0-2.667-4h2.596l2.667 4h-2.596zm-2.404 0H9.535L6.869 5h2.596l2.666 4zM4 5h.465l2.667 4H4V5z\"}}]})(props);\n};\nexport function BiSolidMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18.573c2.206 0 4-1.794 4-4V4.428L19 7.7v7.43a3.953 3.953 0 0 0-2-.557c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4V7a.998.998 0 0 0-.658-.939l-11-4A.999.999 0 0 0 8 3v8.13a3.953 3.953 0 0 0-2-.557c-2.206 0-4 1.794-4 4s1.794 4 4 4z\"}}]})(props);\n};\nexport function BiSolidNavigation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.002 9.538c-.023.411.207.794.581.966l7.504 3.442 3.442 7.503c.164.356.52.583.909.583l.057-.002a1 1 0 0 0 .894-.686l5.595-17.032c.117-.358.023-.753-.243-1.02s-.66-.358-1.02-.243L2.688 8.645a.997.997 0 0 0-.686.893z\"}}]})(props);\n};\nexport function BiSolidNetworkChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.5 3A2.502 2.502 0 0 0 17 5.5c0 .357.078.696.214 1.005l-1.955 2.199A3.977 3.977 0 0 0 13 8c-.74 0-1.424.216-2.019.566L8.707 6.293l-.023.023C8.88 5.918 9 5.475 9 5a3 3 0 1 0-3 3c.475 0 .917-.12 1.316-.316l-.023.023L9.567 9.98A3.956 3.956 0 0 0 9 12c0 .997.38 1.899.985 2.601l-2.577 2.576A2.472 2.472 0 0 0 6.5 17C5.122 17 4 18.121 4 19.5S5.122 22 6.5 22 9 20.879 9 19.5c0-.321-.066-.626-.177-.909l2.838-2.838c.421.15.867.247 1.339.247 2.206 0 4-1.794 4-4 0-.636-.163-1.229-.428-1.764l2.117-2.383c.256.088.526.147.811.147C20.879 8 22 6.879 22 5.5S20.879 3 19.5 3zM13 14c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"}}]})(props);\n};\nexport function BiSolidNews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17a1 1 0 0 1-2 0V5a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v13a2 2 0 0 0 2 2h15c1.654 0 3-1.346 3-3V7h-2v10zM12 7h3v2h-3V7zm0 4h3v2h-3v-2zM5 7h5v6H5V7zm0 10v-2h10v2H5z\"}}]})(props);\n};\nexport function BiSolidNoEntry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm5 12H7v-4h10v4z\"}}]})(props);\n};\nexport function BiSolidNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8l8-8V5a2 2 0 0 0-2-2zm-7 16v-7h7l-7 7z\"}}]})(props);\n};\nexport function BiSolidNotepad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4h-3V2h-2v2h-4V2H8v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm-7 10H7v-2h5v2zm5-4H7V8h10v2z\"}}]})(props);\n};\nexport function BiSolidNotificationOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18v-7.422A4.962 4.962 0 0 1 18 11a5 5 0 0 1-5-5c0-.712.153-1.387.422-2H6c-.178 0-.347.031-.51.076L3.707 2.293 2.293 3.707l18 18 1.414-1.414-1.783-1.783c.045-.163.076-.332.076-.51zM4 18c0 1.103.897 2 2 2h9.879L4 8.121V18z\"}}]})(props);\n};\nexport function BiSolidNotification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6c0-.712.153-1.387.422-2H6c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-7.422A4.962 4.962 0 0 1 18 11a5 5 0 0 1-5-5z\"}}]})(props);\n};\nexport function BiSolidObjectsHorizontalCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13h-6v-2h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4V2h-2v3H7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4v2H5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6v3h2v-3h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiSolidObjectsHorizontalLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h2v20H2z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"6\",\"y\":\"13\",\"width\":\"16\",\"height\":\"6\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"6\",\"y\":\"5\",\"width\":\"12\",\"height\":\"6\",\"rx\":\"1\"}}]})(props);\n};\nexport function BiSolidObjectsHorizontalRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2h2v20h-2z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"13\",\"width\":\"16\",\"height\":\"6\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"6\",\"y\":\"5\",\"width\":\"12\",\"height\":\"6\",\"rx\":\"1\"}}]})(props);\n};\nexport function BiSolidObjectsVerticalBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h20v2H2z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"5\",\"y\":\"2\",\"width\":\"6\",\"height\":\"16\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"13\",\"y\":\"6\",\"width\":\"6\",\"height\":\"12\",\"rx\":\"1\"}}]})(props);\n};\nexport function BiSolidObjectsVerticalCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4h-2V5a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v6H2v2h3v6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6h2v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4h3v-2h-3z\"}}]})(props);\n};\nexport function BiSolidObjectsVerticalTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h20v2H2z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"5\",\"y\":\"6\",\"width\":\"6\",\"height\":\"16\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"13\",\"y\":\"6\",\"width\":\"6\",\"height\":\"12\",\"rx\":\"1\"}}]})(props);\n};\nexport function BiSolidOffer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.749 12 1.104-1.908a1 1 0 0 0-.365-1.366l-1.91-1.104v-2.2a1 1 0 0 0-1-1h-2.199l-1.103-1.909a1.008 1.008 0 0 0-.607-.466.993.993 0 0 0-.759.1L12 3.251l-1.91-1.105a1 1 0 0 0-1.366.366L7.62 4.422H5.421a1 1 0 0 0-1 1v2.199l-1.91 1.104a.998.998 0 0 0-.365 1.367L3.25 12l-1.104 1.908a1.004 1.004 0 0 0 .364 1.367l1.91 1.104v2.199a1 1 0 0 0 1 1h2.2l1.104 1.91a1.01 1.01 0 0 0 .866.5c.174 0 .347-.046.501-.135l1.908-1.104 1.91 1.104a1.001 1.001 0 0 0 1.366-.365l1.103-1.91h2.199a1 1 0 0 0 1-1v-2.199l1.91-1.104a1 1 0 0 0 .365-1.367L20.749 12zM9.499 6.99a1.5 1.5 0 1 1-.001 3.001 1.5 1.5 0 0 1 .001-3.001zm.3 9.6-1.6-1.199 6-8 1.6 1.199-6 8zm4.7.4a1.5 1.5 0 1 1 .001-3.001 1.5 1.5 0 0 1-.001 3.001z\"}}]})(props);\n};\nexport function BiSolidPackage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.993 7.95a.96.96 0 0 0-.029-.214c-.007-.025-.021-.049-.03-.074-.021-.057-.04-.113-.07-.165-.016-.027-.038-.049-.057-.075-.032-.045-.063-.091-.102-.13-.023-.022-.053-.04-.078-.061-.039-.032-.075-.067-.12-.094-.004-.003-.009-.003-.014-.006l-.008-.006-8.979-4.99a1.002 1.002 0 0 0-.97-.001l-9.021 4.99c-.003.003-.006.007-.011.01l-.01.004c-.035.02-.061.049-.094.073-.036.027-.074.051-.106.082-.03.031-.053.067-.079.102-.027.035-.057.066-.079.104-.026.043-.04.092-.059.139-.014.033-.032.064-.041.1a.975.975 0 0 0-.029.21c-.001.017-.007.032-.007.05V16c0 .363.197.698.515.874l8.978 4.987.001.001.002.001.02.011c.043.024.09.037.135.054.032.013.063.03.097.039a1.013 1.013 0 0 0 .506 0c.033-.009.064-.026.097-.039.045-.017.092-.029.135-.054l.02-.011.002-.001.001-.001 8.978-4.987c.316-.176.513-.511.513-.874V7.998c0-.017-.006-.031-.007-.048zm-10.021 3.922L5.058 8.005 7.82 6.477l6.834 3.905-2.682 1.49zm.048-7.719L18.941 8l-2.244 1.247-6.83-3.903 2.153-1.191zM13 19.301l.002-5.679L16 11.944V15l2-1v-3.175l2-1.119v5.705l-7 3.89z\"}}]})(props);\n};\nexport function BiSolidPaintRoll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H7c-1.103 0-2 .897-2 2v3c0 1.103.897 2 2 2h11c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 15v-2c0-1.103-.897-2-2-2H4V5c-1.103 0-2 .897-2 2v4c0 1.103.897 2 2 2h7v2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiSolidPaint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.084 2.914c-1.178-1.179-3.234-1.179-4.412 0l-8.379 8.379a.999.999 0 0 0 0 1.414l3 3a.997.997 0 0 0 1.414 0l8.379-8.379a3.123 3.123 0 0 0-.002-4.414zm-1.412 3L12 13.586 10.414 12l7.672-7.672a1.146 1.146 0 0 1 1.586.002 1.123 1.123 0 0 1 0 1.584zM8 15c-1.265-.634-3.5 0-3.5 2 0 1.197.5 2-1.5 3 0 0 3.25 2.25 5.5 0 1.274-1.274 1.494-4-.5-5z\"}}]})(props);\n};\nexport function BiSolidPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.38 21.646A9.985 9.985 0 0 0 12 22l.141-.001a2.998 2.998 0 0 0 2.515-1.425c.542-.876.6-1.953.153-2.88l-.198-.415c-.453-.942-.097-1.796.388-2.281.485-.485 1.341-.841 2.28-.388h.001l.413.199a2.99 2.99 0 0 0 2.881-.153A2.997 2.997 0 0 0 22 12.141a9.926 9.926 0 0 0-.353-2.76c-1.038-3.827-4.353-6.754-8.246-7.285-3.149-.427-6.241.602-8.471 2.833S1.666 10.247 2.096 13.4c.53 3.894 3.458 7.208 7.284 8.246zM15.5 6a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-5-1a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM9 15.506a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-2.5-6.5a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 6.5 9.006z\"}}]})(props);\n};\nexport function BiSolidPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.6 13.083 3.452 1.511L16 9.167l-6 7 8.6 3.916a1 1 0 0 0 1.399-.85l1-15a1.002 1.002 0 0 0-1.424-.972l-17 8a1.002 1.002 0 0 0 .025 1.822zM8 22.167l4.776-2.316L8 17.623z\"}}]})(props);\n};\nexport function BiSolidParking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 3H5v18h4v-5h4.5c3.584 0 6.5-2.916 6.5-6.5S17.084 3 13.5 3zm0 9H9V7h4.5C14.879 7 16 8.121 16 9.5S14.879 12 13.5 12z\"}}]})(props);\n};\nexport function BiSolidParty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23 7a8.44 8.44 0 0 0-5 1.31c-.36-.41-.73-.82-1.12-1.21l-.29-.27.14-.12a3.15 3.15 0 0 0 .9-3.49A3.9 3.9 0 0 0 14 1v2a2 2 0 0 1 1.76 1c.17.4 0 .84-.47 1.31l-.23.21a16.71 16.71 0 0 0-3.41-2.2c-2.53-1.14-3.83-.61-4.47 0a2.18 2.18 0 0 0-.46.68l-.18.53L5.1 8.87C6.24 11.71 9 16.76 15 18.94l5-1.66a1 1 0 0 0 .43-.31l.21-.18c1.43-1.44.51-4.21-1.41-6.9A6.63 6.63 0 0 1 23 9zm-3.79 8.37h-.06c-.69.37-3.55-.57-6.79-3.81-.34-.34-.66-.67-.95-1-.1-.11-.19-.23-.29-.35l-.53-.64-.28-.39c-.14-.19-.28-.38-.4-.56s-.16-.26-.24-.39-.22-.34-.31-.51-.13-.24-.19-.37-.17-.28-.23-.42-.09-.23-.14-.34-.11-.27-.15-.4S8.6 6 8.58 5.9s-.06-.24-.08-.34a2 2 0 0 1 0-.24 1.15 1.15 0 0 1 0-.26l.11-.31c.17-.18.91-.23 2.23.37a13.83 13.83 0 0 1 2.49 1.54A4.17 4.17 0 0 1 12 7v2a6.43 6.43 0 0 0 3-.94l.49.46c.44.43.83.86 1.19 1.27A5.31 5.31 0 0 0 16 13.2l2-.39a3.23 3.23 0 0 1 0-1.14c1.29 1.97 1.53 3.39 1.21 3.7zM4.4 11l-2.23 6.7A3.28 3.28 0 0 0 5.28 22a3.21 3.21 0 0 0 1-.17l6.52-2.17A18.7 18.7 0 0 1 4.4 11z\"}}]})(props);\n};\nexport function BiSolidPaste (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4h6v2H9zm11 7h-7a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9V6a2 2 0 0 0-2-2h-2a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4v-9a2 2 0 0 1 2-2h10zM9 6V4h6v2H9z\"}}]})(props);\n};\nexport function BiSolidPear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.12 22a7.71 7.71 0 0 0 6.57-5 7.23 7.23 0 0 0 .46-3.21 3.26 3.26 0 0 1 1-2.57l.61-.61A3.89 3.89 0 0 0 19.43 6l2.28-2.28-1.42-1.43L18 4.55a3.82 3.82 0 0 0-4.66.57l-.75.75a3.22 3.22 0 0 1-2.52 1 7.05 7.05 0 0 0-3.32.57A7.75 7.75 0 0 0 2 14.11 7.59 7.59 0 0 0 10.12 22zM9.5 9.25v1.5a3.75 3.75 0 0 0-3.75 3.75h-1.5A5.26 5.26 0 0 1 9.5 9.25z\"}}]})(props);\n};\nexport function BiSolidPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.587 6.999H7.702a2 2 0 0 0-1.88 1.316l-3.76 10.342c-.133.365-.042.774.232 1.049l.293.293 6.422-6.422c-.001-.026-.008-.052-.008-.078a1.5 1.5 0 1 1 1.5 1.5c-.026 0-.052-.007-.078-.008l-6.422 6.422.293.293a.997.997 0 0 0 1.049.232l10.342-3.761a2 2 0 0 0 1.316-1.88v-3.885L19 10.414 13.586 5l-1.999 1.999zm8.353 2.062-5-5 2.12-2.121 5 5z\"}}]})(props);\n};\nexport function BiSolidPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 19.707 18 10.414 13.586 6l-9.293 9.293a1.003 1.003 0 0 0-.263.464L3 21l5.242-1.03c.176-.044.337-.135.465-.263zM21 7.414a2 2 0 0 0 0-2.828L19.414 3a2 2 0 0 0-2.828 0L15 4.586 19.414 9 21 7.414z\"}}]})(props);\n};\nexport function BiSolidPhoneCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10.999h2C22 5.869 18.127 2 12.99 2v2C17.052 4 20 6.943 20 10.999z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c2.103 0 3 .897 3 3h2c0-3.225-1.775-5-5-5v2zm3.422 5.443a1.001 1.001 0 0 0-1.391.043l-2.393 2.461c-.576-.11-1.734-.471-2.926-1.66-1.192-1.193-1.553-2.354-1.66-2.926l2.459-2.394a1 1 0 0 0 .043-1.391L6.859 3.513a1 1 0 0 0-1.391-.087l-2.17 1.861a1 1 0 0 0-.29.649c-.015.25-.301 6.172 4.291 10.766C11.305 20.707 16.323 21 17.705 21c.202 0 .326-.006.359-.008a.992.992 0 0 0 .648-.291l1.86-2.171a1 1 0 0 0-.086-1.391l-4.064-3.696z\"}}]})(props);\n};\nexport function BiSolidPhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.793 6.793 13 4v7h7l-2.793-2.793 4.5-4.5-1.414-1.414z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.422 13.443a1.001 1.001 0 0 0-1.391.043l-2.392 2.461c-.576-.11-1.734-.471-2.926-1.66-1.192-1.193-1.553-2.354-1.66-2.926l2.459-2.394a1 1 0 0 0 .043-1.391L6.86 3.513a1 1 0 0 0-1.391-.087l-2.17 1.861a1.001 1.001 0 0 0-.291.649c-.015.25-.301 6.172 4.291 10.766C11.305 20.707 16.324 21 17.705 21c.203 0 .326-.006.359-.008a.99.99 0 0 0 .648-.291l1.861-2.171a1.001 1.001 0 0 0-.086-1.391l-4.065-3.696z\"}}]})(props);\n};\nexport function BiSolidPhoneOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17 13.42a5.24 5.24 0 0 1-.93-2.06L10.7 9a1 1 0 0 0 0-1.39l-3.65-4.1a1 1 0 0 0-1.4-.08L3.48 5.29a1 1 0 0 0-.29.65 15.25 15.25 0 0 0 3.54 9.92l-4.44 4.43 1.42 1.42 18-18-1.42-1.42zm7.44.02a1 1 0 0 0-1.39.05L12.82 16a4.07 4.07 0 0 1-.51-.14l-2.66 2.61A15.46 15.46 0 0 0 17.89 21h.36a1 1 0 0 0 .65-.29l1.86-2.17a1 1 0 0 0-.09-1.39z\"}}]})(props);\n};\nexport function BiSolidPhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16.793 5.793-4.5 4.5 1.414 1.414 4.5-4.5L21 10V3h-7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.422 13.446a1.001 1.001 0 0 0-1.391.043l-2.393 2.461c-.576-.11-1.734-.471-2.926-1.66-1.192-1.193-1.553-2.354-1.66-2.926l2.459-2.394a1 1 0 0 0 .043-1.391L6.859 3.516a1 1 0 0 0-1.391-.087L3.299 5.29a.996.996 0 0 0-.291.648c-.015.25-.301 6.172 4.291 10.766 4.006 4.006 9.024 4.299 10.406 4.299.202 0 .326-.006.359-.008a.992.992 0 0 0 .648-.291l1.86-2.171a1 1 0 0 0-.086-1.391l-4.064-3.696z\"}}]})(props);\n};\nexport function BiSolidPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.487 17.14-4.065-3.696a1.001 1.001 0 0 0-1.391.043l-2.393 2.461c-.576-.11-1.734-.471-2.926-1.66-1.192-1.193-1.553-2.354-1.66-2.926l2.459-2.394a1 1 0 0 0 .043-1.391L6.859 3.513a1 1 0 0 0-1.391-.087l-2.17 1.861a1 1 0 0 0-.29.649c-.015.25-.301 6.172 4.291 10.766C11.305 20.707 16.323 21 17.705 21c.202 0 .326-.006.359-.008a.992.992 0 0 0 .648-.291l1.86-2.171a.997.997 0 0 0-.085-1.39z\"}}]})(props);\n};\nexport function BiSolidPhotoAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1H21V3a1 1 0 0 0-1-1zM9.503 5a1.503 1.503 0 1 1 0 3.006 1.503 1.503 0 0 1 0-3.006zM12 13H7l3-3 1.5 1.399L14.5 8l3.5 5h-6z\"}}]})(props);\n};\nexport function BiSolidPiano (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5C3.346 3 2 4.346 2 6v12c0 1.654 1.346 3 3 3h14c1.654 0 3-1.346 3-3V6c0-1.654-1.346-3-3-3zm0 16H5a1 1 0 0 1-1-1v-6h2v4h2v-4h1v4h2v-4h1v4h2v-4h2v4h2v-4h2v6a1 1 0 0 1-1 1z\"}}]})(props);\n};\nexport function BiSolidPieChartAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.051V11h8.949c-.47-4.717-4.232-8.479-8.949-8.949zm4.969 17.953c2.189-1.637 3.694-4.14 3.98-7.004h-8.183l4.203 7.004z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12V2.051C5.954 2.555 2 6.824 2 12c0 5.514 4.486 10 10 10a9.93 9.93 0 0 0 4.255-.964s-5.253-8.915-5.254-9.031A.02.02 0 0 0 11 12z\"}}]})(props);\n};\nexport function BiSolidPieChartAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 4.929A9.97 9.97 0 0 0 12 2a9.936 9.936 0 0 0-7.071 2.929C3.04 6.818 2 9.33 2 12s1.04 5.182 2.929 7.071C6.818 20.96 9.33 22 12 22s5.182-1.04 7.071-2.929A9.936 9.936 0 0 0 22 12a9.97 9.97 0 0 0-2.929-7.071zm-1.414 12.728C16.146 19.168 14.137 20 12 20s-4.146-.832-5.657-2.343C4.832 16.146 4 14.137 4 12s.832-4.146 2.343-5.657A7.948 7.948 0 0 1 12 4v8h8a7.948 7.948 0 0 1-2.343 5.657z\"}}]})(props);\n};\nexport function BiSolidPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 10V5c4 0 7 3 7 7h-7z\"}}]})(props);\n};\nexport function BiSolidPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11.586V6h2V4a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v2h2v5.586l-2.707 1.707A.996.996 0 0 0 6 14v2a1 1 0 0 0 1 1h4v3l1 2 1-2v-3h4a1 1 0 0 0 1-1v-2a.996.996 0 0 0-.293-.707L15 11.586z\"}}]})(props);\n};\nexport function BiSolidPizza (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.76 2.021a.995.995 0 0 0-.989.703L3.579 19.166a1 1 0 0 0 1.255 1.255l16.442-5.192a.991.991 0 0 0 .702-.988C21.6 7.666 16.334 2.4 9.76 2.021zM10 16a2 2 0 1 1 .001-4.001A2 2 0 0 1 10 16zm6-2a2 2 0 1 1 .001-4.001A2 2 0 0 1 16 14z\"}}]})(props);\n};\nexport function BiSolidPlaneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.414 13.778 2 15.192l4.949 2.121 2.122 4.95 1.414-1.414-.707-3.536L13.091 14l3.61 7.704 1.339-1.339-1.19-10.123 2.828-2.829a2 2 0 1 0-2.828-2.828l-2.903 2.903L3.824 6.297 2.559 7.563l7.644 3.67-3.253 3.253-3.536-.708z\"}}]})(props);\n};\nexport function BiSolidPlaneLand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.842 15.296a1.61 1.61 0 0 0 1.892-1.189v-.001a1.609 1.609 0 0 0-1.177-1.949l-4.576-1.133L9.825 4.21l-2.224-.225 2.931 6.589-4.449-.449-2.312-3.829-1.38.31 1.24 5.52 15.211 3.17zM3 18h18v2H3z\"}}]})(props);\n};\nexport function BiSolidPlaneTakeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18h18v2H3zm18.509-9.473a1.61 1.61 0 0 0-2.036-1.019L15 9 7 6 5 7l6 4-4 2-4-2-1 1 4 4 14.547-5.455a1.611 1.611 0 0 0 .962-2.018z\"}}]})(props);\n};\nexport function BiSolidPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.21v-1.895L14 8V4a2 2 0 0 0-4 0v4.105L2 14.42v1.789l8-2.81V18l-3 2v2l5-2 5 2v-2l-3-2v-4.685l8 2.895z\"}}]})(props);\n};\nexport function BiSolidPlanet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.165 15.582c4.587-4.073 8.141-9.424 6.057-11.771-.661-.744-1.584-1.089-2.575-.983-.832.091-1.687.502-2.549 1.192a8.922 8.922 0 0 0-8.712.282 8.917 8.917 0 0 0-4.109 5.515 8.892 8.892 0 0 0 .306 5.325c-1.065 1.203-2.054 3.677-.823 5.063.517.581 1.257.841 2.147.841 2.707 0 6.808-2.399 10.258-5.464zm3.699-10.767c.358-.034.632.064.861.323.231.261.169.946-.252 1.929a9.059 9.059 0 0 0-1.617-1.853c.431-.262.776-.373 1.008-.399zM4.633 17.118a8.979 8.979 0 0 0 1.568 1.737c-1.025.303-1.714.283-1.945.021-.217-.243.002-1.069.377-1.758zm16.31-5.869c-1.215 1.797-2.906 3.671-4.778 5.333-1.934 1.719-4.066 3.208-6.05 4.202a9.082 9.082 0 0 0 1.874.212 8.986 8.986 0 0 0 4.616-1.282 8.915 8.915 0 0 0 4.338-8.465z\"}}]})(props);\n};\nexport function BiSolidPlaylist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16.493C13 18.427 14.573 20 16.507 20s3.507-1.573 3.507-3.507c0-.177-.027-.347-.053-.517H20V6h2V4h-3a1 1 0 0 0-1 1v8.333a3.465 3.465 0 0 0-1.493-.346A3.51 3.51 0 0 0 13 16.493zM2 5h14v2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h14v2H2zm0 4h9v2H2zm0 4h9v2H2z\"}}]})(props);\n};\nexport function BiSolidPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8h2v5c0 2.206 1.794 4 4 4h2v5h2v-5h2c2.206 0 4-1.794 4-4V8h2V6H3v2zm4-6h2v3H7zm8 0h2v3h-2z\"}}]})(props);\n};\nexport function BiSolidPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z\"}}]})(props);\n};\nexport function BiSolidPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2zm2-10h4V7h2v4h4v2h-4v4h-2v-4H7v-2z\"}}]})(props);\n};\nexport function BiSolidPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.978 13.21a1 1 0 0 0-.396-1.024l-14-10a.999.999 0 0 0-1.575.931l2 17a1 1 0 0 0 1.767.516l3.612-4.416 3.377 5.46 1.701-1.052-3.357-5.428 6.089-1.218a.995.995 0 0 0 .782-.769z\"}}]})(props);\n};\nexport function BiSolidPolygon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.707 7.293-5-5A.996.996 0 0 0 16 2H8a.996.996 0 0 0-.707.293l-5 5A.996.996 0 0 0 2 8v8c0 .266.105.52.293.707l5 5A.996.996 0 0 0 8 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0 0 22 16V8a.996.996 0 0 0-.293-.707z\"}}]})(props);\n};\nexport function BiSolidPopsicle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4a7 7 0 0 0-9.9 0l-7.82 7.82a1 1 0 0 0 0 1.41l3.54 3.54-3.54 3.53 1.42 1.42 3.53-3.54 3.54 3.54a1 1 0 0 0 1.41 0L20 13.94A7 7 0 0 0 20 4zm-2.7 2.7a3.33 3.33 0 0 0-4.6 0l-1.06-1.06a4.76 4.76 0 0 1 6.72 0z\"}}]})(props);\n};\nexport function BiSolidPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7h-1V2H6v5H5a3 3 0 0 0-3 3v7a2 2 0 0 0 2 2h2v3h12v-3h2a2 2 0 0 0 2-2v-7a3 3 0 0 0-3-3zM8 4h8v3H8V4zm0 16v-4h8v4H8zm11-8h-4v-2h4v2z\"}}]})(props);\n};\nexport function BiSolidPurchaseTagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.707 2.293A.996.996 0 0 0 11 2H6a.996.996 0 0 0-.707.293l-3 3A.996.996 0 0 0 2 6v5c0 .266.105.52.293.707l10 10a.997.997 0 0 0 1.414 0l8-8a.999.999 0 0 0 0-1.414l-10-10zM8.353 10a1.647 1.647 0 1 1-.001-3.293A1.647 1.647 0 0 1 8.353 10z\"}}]})(props);\n};\nexport function BiSolidPurchaseTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8 8a2 2 0 0 0 2.828 0l7.172-7.172a2 2 0 0 0 0-2.828l-8-8zM7 9a2 2 0 1 1 .001-4.001A2 2 0 0 1 7 9z\"}}]})(props);\n};\nexport function BiSolidPyramid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.445 21.832a1 1 0 0 0 1.11 0l9-6A.998.998 0 0 0 21.8 14.4l-9-12c-.377-.504-1.223-.504-1.6 0l-9 12a1 1 0 0 0 .245 1.432l9 6zm8.12-7.078L12 19.798V4.667l7.565 10.087z\"}}]})(props);\n};\nexport function BiSolidQuoteAltLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 10c-.223 0-.437.034-.65.065.069-.232.14-.468.254-.68.114-.308.292-.575.469-.844.148-.291.409-.488.601-.737.201-.242.475-.403.692-.604.213-.21.492-.315.714-.463.232-.133.434-.28.65-.35l.539-.222.474-.197-.485-1.938-.597.144c-.191.048-.424.104-.689.171-.271.05-.56.187-.882.312-.318.142-.686.238-1.028.466-.344.218-.741.4-1.091.692-.339.301-.748.562-1.05.945-.33.358-.656.734-.909 1.162-.293.408-.492.856-.702 1.299-.19.443-.343.896-.468 1.336-.237.882-.343 1.72-.384 2.437-.034.718-.014 1.315.028 1.747.015.204.043.402.063.539l.025.168.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065.069-.232.14-.468.254-.68.114-.308.292-.575.469-.844.148-.291.409-.488.601-.737.201-.242.475-.403.692-.604.213-.21.492-.315.714-.463.232-.133.434-.28.65-.35l.539-.222.474-.197-.485-1.938-.597.144c-.191.048-.424.104-.689.171-.271.05-.56.187-.882.312-.317.143-.686.238-1.028.467-.344.218-.741.4-1.091.692-.339.301-.748.562-1.05.944-.33.358-.656.734-.909 1.162-.293.408-.492.856-.702 1.299-.19.443-.343.896-.468 1.336-.237.882-.343 1.72-.384 2.437-.034.718-.014 1.315.028 1.747.015.204.043.402.063.539l.025.168.026-.006A4.5 4.5 0 1 0 17.5 10z\"}}]})(props);\n};\nexport function BiSolidQuoteAltRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.95 8.721-.025-.168-.026.006A4.5 4.5 0 1 0 17.5 14c.223 0 .437-.034.65-.065-.069.232-.14.468-.254.68-.114.308-.292.575-.469.844-.148.291-.409.488-.601.737-.201.242-.475.403-.692.604-.213.21-.492.315-.714.463-.232.133-.434.28-.65.35l-.539.222-.474.197.484 1.939.597-.144c.191-.048.424-.104.689-.171.271-.05.56-.187.882-.312.317-.143.686-.238 1.028-.467.344-.218.741-.4 1.091-.692.339-.301.748-.562 1.05-.944.33-.358.656-.734.909-1.162.293-.408.492-.856.702-1.299.19-.443.343-.896.468-1.336.237-.882.343-1.72.384-2.437.034-.718.014-1.315-.028-1.747a7.028 7.028 0 0 0-.063-.539zm-11 0-.025-.168-.026.006A4.5 4.5 0 1 0 6.5 14c.223 0 .437-.034.65-.065-.069.232-.14.468-.254.68-.114.308-.292.575-.469.844-.148.291-.409.488-.601.737-.201.242-.475.403-.692.604-.213.21-.492.315-.714.463-.232.133-.434.28-.65.35l-.539.222c-.301.123-.473.195-.473.195l.484 1.939.597-.144c.191-.048.424-.104.689-.171.271-.05.56-.187.882-.312.317-.143.686-.238 1.028-.467.344-.218.741-.4 1.091-.692.339-.301.748-.562 1.05-.944.33-.358.656-.734.909-1.162.293-.408.492-.856.702-1.299.19-.443.343-.896.468-1.336.237-.882.343-1.72.384-2.437.034-.718.014-1.315-.028-1.747a7.571 7.571 0 0 0-.064-.537z\"}}]})(props);\n};\nexport function BiSolidQuoteLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.691 6.292C5.094 4.771 7.217 4 10 4h1v2.819l-.804.161c-1.37.274-2.323.813-2.833 1.604A2.902 2.902 0 0 0 6.925 10H10a1 1 0 0 1 1 1v7c0 1.103-.897 2-2 2H3a1 1 0 0 1-1-1v-5l.003-2.919c-.009-.111-.199-2.741 1.688-4.789zM20 20h-6a1 1 0 0 1-1-1v-5l.003-2.919c-.009-.111-.199-2.741 1.688-4.789C16.094 4.771 18.217 4 21 4h1v2.819l-.804.161c-1.37.274-2.323.813-2.833 1.604A2.902 2.902 0 0 0 17.925 10H21a1 1 0 0 1 1 1v7c0 1.103-.897 2-2 2z\"}}]})(props);\n};\nexport function BiSolidQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.309 17.708C22.196 15.66 22.006 13.03 22 13V5a1 1 0 0 0-1-1h-6c-1.103 0-2 .897-2 2v7a1 1 0 0 0 1 1h3.078a2.89 2.89 0 0 1-.429 1.396c-.508.801-1.465 1.348-2.846 1.624l-.803.16V20h1c2.783 0 4.906-.771 6.309-2.292zm-11.007 0C11.19 15.66 10.999 13.03 10.993 13V5a1 1 0 0 0-1-1h-6c-1.103 0-2 .897-2 2v7a1 1 0 0 0 1 1h3.078a2.89 2.89 0 0 1-.429 1.396c-.508.801-1.465 1.348-2.846 1.624l-.803.16V20h1c2.783 0 4.906-.771 6.309-2.292z\"}}]})(props);\n};\nexport function BiSolidQuoteSingleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15.203 6.98.804-.161V4h-1c-2.784 0-4.906.771-6.309 2.292C6.81 8.34 7 10.97 7.006 11v8a1 1 0 0 0 1 1h7c1.103 0 2-.897 2-2v-7a1 1 0 0 0-1-1h-4.079c.022-.402.123-.912.429-1.396.509-.801 1.466-1.347 2.847-1.624z\"}}]})(props);\n};\nexport function BiSolidQuoteSingleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.804 17.02 8 17.18V20h1c2.783 0 4.906-.771 6.309-2.292C17.196 15.66 17.006 13.03 17 13V5a1 1 0 0 0-1-1H9c-1.103 0-2 .897-2 2v7a1 1 0 0 0 1 1h4.078a2.89 2.89 0 0 1-.429 1.396c-.507.801-1.464 1.347-2.845 1.624z\"}}]})(props);\n};\nexport function BiSolidRadiation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.912 8.531 7.121 3.877a.501.501 0 0 0-.704-.166 9.982 9.982 0 0 0-4.396 7.604.505.505 0 0 0 .497.528l5.421.09a4.042 4.042 0 0 1 1.973-3.402zm8.109-4.51a.504.504 0 0 0-.729.151L14.499 8.83a4.03 4.03 0 0 1 1.546 3.112l5.419-.09a.507.507 0 0 0 .499-.53 9.986 9.986 0 0 0-3.942-7.301zm-4.067 11.511a4.015 4.015 0 0 1-1.962.526 4.016 4.016 0 0 1-1.963-.526l-2.642 4.755a.5.5 0 0 0 .207.692A9.948 9.948 0 0 0 11.992 22a9.94 9.94 0 0 0 4.396-1.021.5.5 0 0 0 .207-.692l-2.641-4.755z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function BiSolidRadio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.249 5.025-7.897-2.962-.703 1.873L14.484 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7c0-1.02-.766-1.851-1.751-1.975zM10 17H6v-2h4v2zm6.5 1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm3.5-7H4V7h16v4z\"}}]})(props);\n};\nexport function BiSolidReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12v6a1 1 0 0 1-2 0V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14c0 1.654 1.346 3 3 3h14c1.654 0 3-1.346 3-3v-6h-2zm-6-1v2H6v-2h8zM6 9V7h8v2H6zm8 6v2h-3v-2h3z\"}}]})(props);\n};\nexport function BiSolidRectangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20h18a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1z\"}}]})(props);\n};\nexport function BiSolidRegistered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h-3v2h3a1 1 0 0 0 0-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm2.13 15-2.67-4H10v4H8V7h5a3 3 0 0 1 .79 5.88L16.54 17z\"}}]})(props);\n};\nexport function BiSolidRename (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5.995h-1v12h1c1.103 0 2-.897 2-2v-8c0-1.102-.897-2-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17.995V4h2.995V2h-8v2H15v1.995H4c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h11V20h-3.005v2h8v-2H17v-2.005zm-11-4v-4h9v4H6z\"}}]})(props);\n};\nexport function BiSolidReport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20 8-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM9 19H7v-9h2v9zm4 0h-2v-6h2v6zm4 0h-2v-3h2v3zM14 9h-1V4l5 5h-4z\"}}]})(props);\n};\nexport function BiSolidRewindCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.485 2 12s4.486 10 10 10c5.515 0 10-4.485 10-10S17.515 2 12 2zm5 14-6-4v4l-6-4 6-4v4l6-4v8z\"}}]})(props);\n};\nexport function BiSolidRightArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 12-7-6v5H6v2h6v5z\"}}]})(props);\n};\nexport function BiSolidRightArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 15v-4H7v-2h5V7l5 5-5 5z\"}}]})(props);\n};\nexport function BiSolidRightArrowSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2zm4 6h5V7l5 5-5 5v-4H7v-2z\"}}]})(props);\n};\nexport function BiSolidRightArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.536 21.886a1.004 1.004 0 0 0 1.033-.064l13-9a1 1 0 0 0 0-1.644l-13-9A1 1 0 0 0 5 3v18a1 1 0 0 0 .536.886z\"}}]})(props);\n};\nexport function BiSolidRightDownArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 4.929c-3.898 3.899-3.898 10.244 0 14.143 3.899 3.898 10.243 3.898 14.143 0 3.898-3.899 3.898-10.244 0-14.143-3.9-3.899-10.244-3.899-14.143 0zm10.606 10.607h-7.07l2.828-2.829-3.535-3.536 1.414-1.414 3.535 3.536 2.828-2.829v7.072z\"}}]})(props);\n};\nexport function BiSolidRightTopArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 4.929c-3.899-3.898-10.243-3.898-14.143 0-3.898 3.899-3.898 10.244 0 14.143 3.899 3.898 10.243 3.898 14.143 0 3.899-3.9 3.899-10.244 0-14.143zm-3.536 10.607-2.828-2.829-3.535 3.536-1.414-1.414 3.535-3.536-2.828-2.829h7.07v7.072z\"}}]})(props);\n};\nexport function BiSolidRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.78 15.84S18.64 13 19.61 12c3.07-3 1.54-9.18 1.54-9.18S15 1.29 12 4.36C9.66 6.64 8.14 8.22 8.14 8.22S4.3 7.42 2 9.72L14.25 22c2.3-2.33 1.53-6.16 1.53-6.16zm-1.5-9a2 2 0 0 1 2.83 0 2 2 0 1 1-2.83 0zM3 21a7.81 7.81 0 0 0 5-2l-3-3c-2 1-2 5-2 5z\"}}]})(props);\n};\nexport function BiSolidRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.875 7H3.125C1.953 7 1 7.897 1 9v6c0 1.103.953 2 2.125 2h17.75C22.047 17 23 16.103 23 15V9c0-1.103-.953-2-2.125-2zM7 12H5V9h2v3zm4 1H9V9h2v4zm4-1h-2V9h2v3zm4 1h-2V9h2v4z\"}}]})(props);\n};\nexport function BiSolidSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-5 8.5a1.5 1.5 0 1 1 3.001.001A1.5 1.5 0 0 1 7 10.5zM8 17s1-3 4-3 4 3 4 3H8zm7.493-5.014a1.494 1.494 0 1 1 .001-2.987 1.494 1.494 0 0 1-.001 2.987z\"}}]})(props);\n};\nexport function BiSolidSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14a2 2 0 0 0 2-2V8l-5-5H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2zM7 5h4v2h2V5h2v4H7V5zm0 8h10v6H7v-6z\"}}]})(props);\n};\nexport function BiSolidSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10h-2V4h1V2H4v2h1v6H3a1 1 0 0 0-1 1v9h20v-9a1 1 0 0 0-1-1zm-7 8v-4h-4v4H7V4h10v14h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2z\"}}]})(props);\n};\nexport function BiSolidSearchAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 16c1.763 0 3.37-.66 4.603-1.739l1.337 2.8s.275.224.653.596c.387.363.896.854 1.384 1.367l1.358 1.392.604.646 2.121-2.121-.646-.604-1.392-1.358a35.13 35.13 0 0 1-1.367-1.384c-.372-.378-.596-.653-.596-.653l-2.8-1.337A6.967 6.967 0 0 0 16 9c0-3.859-3.141-7-7-7S2 5.141 2 9s3.141 7 7 7z\"}}]})(props);\n};\nexport function BiSolidSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8z\"}}]})(props);\n};\nexport function BiSolidSelectMultiple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm-6.933 12.481-3.274-3.274 1.414-1.414 1.726 1.726 4.299-5.159 1.537 1.281-5.702 6.84z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h11v-2H4V8H2v12c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiSolidSend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.426 11.095-17-8A1 1 0 0 0 3.03 4.242l1.212 4.849L12 12l-7.758 2.909-1.212 4.849a.998.998 0 0 0 1.396 1.147l17-8a1 1 0 0 0 0-1.81z\"}}]})(props);\n};\nexport function BiSolidServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-5 5h-2V6h2zm4 0h-2V6h2zm1 5H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zm-5 5h-2v-2h2zm4 0h-2v-2h2z\"}}]})(props);\n};\nexport function BiSolidShapes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.867 2.504c-.355-.624-1.381-.623-1.736 0l-3.999 7A1 1 0 0 0 13 11h8a1.001 1.001 0 0 0 .868-1.496l-4.001-7zM3 22h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1zm14.5-9c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"}}]})(props);\n};\nexport function BiSolidShareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12c0 1.654 1.346 3 3 3 .794 0 1.512-.315 2.049-.82l5.991 3.424c-.018.13-.04.26-.04.396 0 1.654 1.346 3 3 3s3-1.346 3-3-1.346-3-3-3c-.794 0-1.512.315-2.049.82L8.96 12.397c.018-.131.04-.261.04-.397s-.022-.266-.04-.397l5.991-3.423c.537.505 1.255.82 2.049.82 1.654 0 3-1.346 3-3s-1.346-3-3-3-3 1.346-3 3c0 .136.022.266.04.397L8.049 9.82A2.982 2.982 0 0 0 6 9c-1.654 0-3 1.346-3 3z\"}}]})(props);\n};\nexport function BiSolidShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.914V2.586L6.293 7.293l-3.774 3.774 3.841 3.201L11 18.135V13.9c8.146-.614 11 4.1 11 4.1 0-2.937-.242-5.985-2.551-8.293C16.765 7.022 12.878 6.832 11 6.914z\"}}]})(props);\n};\nexport function BiSolidShieldAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.881 5.223a.496.496 0 0 0-.747-.412c-.672.392-1.718.898-2.643.898-.421 0-.849-.064-1.289-.198a5.712 5.712 0 0 1-.808-.309c-1.338-.639-2.567-1.767-3.696-2.889a1.008 1.008 0 0 0-.698-.29 1.008 1.008 0 0 0-.698.29c-1.129 1.122-2.358 2.25-3.696 2.889h-.001a5.655 5.655 0 0 1-.807.309c-.44.134-.869.198-1.289.198-.925 0-1.971-.507-2.643-.898a.496.496 0 0 0-.747.412c-.061 1.538-.077 4.84.688 7.444 1.399 4.763 4.48 7.976 8.91 9.292l.14.041.14-.014V22v-.014H12l.143.014.14-.041c4.43-1.316 7.511-4.529 8.91-9.292.765-2.604.748-5.906.688-7.444z\"}}]})(props);\n};\nexport function BiSolidShieldMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.43 5.76-8-3.56a1 1 0 0 0-.82 0l-8 3.56a1 1 0 0 0-.59.9c0 2.37.44 10.8 8.51 15.11a1 1 0 0 0 1 0c8-4.3 8.58-12.71 8.57-15.1a1 1 0 0 0-.67-.91zm-4.43 7H8v-2h8z\"}}]})(props);\n};\nexport function BiSolidShieldPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.43 5.76-8-3.56a1 1 0 0 0-.82 0l-8 3.56a1 1 0 0 0-.59.9c0 2.37.44 10.8 8.51 15.11a1 1 0 0 0 1 0c8-4.3 8.58-12.71 8.57-15.1a1 1 0 0 0-.67-.91zm-4.43 7h-3v3h-2v-3H8v-2h3v-3h2v3h3z\"}}]})(props);\n};\nexport function BiSolidShieldX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.492 21.771c.294.157.663.157.957-.001 8.012-4.304 8.581-12.713 8.574-15.104a.988.988 0 0 0-.596-.903l-8.051-3.565a1.005 1.005 0 0 0-.813.001L3.57 5.765a.988.988 0 0 0-.592.891c-.034 2.379.445 10.806 8.514 15.115zM8.293 9.707l1.414-1.414L12 10.586l2.293-2.293 1.414 1.414L13.414 12l2.293 2.293-1.414 1.414L12 13.414l-2.293 2.293-1.414-1.414L10.586 12 8.293 9.707z\"}}]})(props);\n};\nexport function BiSolidShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.496 6.106-7.973-4a.997.997 0 0 0-.895-.002l-8.027 4c-.297.15-.502.437-.544.767-.013.097-1.145 9.741 8.541 15.008a.995.995 0 0 0 .969-.009c9.307-5.259 8.514-14.573 8.476-14.967a1 1 0 0 0-.547-.797z\"}}]})(props);\n};\nexport function BiSolidShip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.997 20c-.899 0-1.288-.311-1.876-.781-.68-.543-1.525-1.219-3.127-1.219-1.601 0-2.446.676-3.125 1.22-.587.469-.975.78-1.874.78-.897 0-1.285-.311-1.872-.78C4.444 18.676 3.601 18 2 18v2c.898 0 1.286.311 1.873.78.679.544 1.523 1.22 3.122 1.22 1.601 0 2.445-.676 3.124-1.219.588-.47.976-.781 1.875-.781.9 0 1.311.328 1.878.781.679.543 1.524 1.219 3.125 1.219s2.446-.676 3.125-1.219C20.689 20.328 21.1 20 22 20v-2c-1.602 0-2.447.676-3.127 1.219-.588.47-.977.781-1.876.781zM6 8.5 4 9l2 8h.995c1.601 0 2.445-.676 3.124-1.219.588-.47.976-.781 1.875-.781.9 0 1.311.328 1.878.781.679.543 1.524 1.219 3.125 1.219H18l.027-.107.313-1.252L20 9l-2-.5V5.001a1 1 0 0 0-.804-.981L13 3.181V2h-2v1.181l-4.196.839A1 1 0 0 0 6 5.001V8.5zm2-2.681 4-.8 4 .8V8l-4-1-4 1V5.819z\"}}]})(props);\n};\nexport function BiSolidShocked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-5 8.5a1.5 1.5 0 1 1 3.001.001A1.5 1.5 0 0 1 7 10.5zm5 7.5c-1.657 0-3-1.119-3-2.5s1.343-2.5 3-2.5 3 1.119 3 2.5-1.343 2.5-3 2.5zm3.493-6.014a1.494 1.494 0 1 1 .001-2.987 1.494 1.494 0 0 1-.001 2.987z\"}}]})(props);\n};\nexport function BiSolidShoppingBagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H3a1 1 0 0 0-1 1v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1zm-9 9c-3.309 0-6-2.691-6-6h2c0 2.206 1.794 4 4 4s4-1.794 4-4h2c0 3.309-2.691 6-6 6z\"}}]})(props);\n};\nexport function BiSolidShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14a2 2 0 0 0 2-2V9a1 1 0 0 0-1-1h-3v-.777c0-2.609-1.903-4.945-4.5-5.198A5.005 5.005 0 0 0 7 7v1H4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2zm12-12v2h-2v-2h2zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v1H9V7zm-2 3h2v2H7v-2z\"}}]})(props);\n};\nexport function BiSolidShoppingBags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h2V10a1 1 0 0 1 1-1h12V7a1 1 0 0 0-1-1h-3.051c-.252-2.244-2.139-4-4.449-4S6.303 3.756 6.051 6H3a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2zm6.5-16c1.207 0 2.218.86 2.45 2h-4.9c.232-1.14 1.243-2 2.45-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11H9a1 1 0 0 0-1 1v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a1 1 0 0 0-1-1zm-6 7c-2.757 0-5-2.243-5-5h2c0 1.654 1.346 3 3 3s3-1.346 3-3h2c0 2.757-2.243 5-5 5z\"}}]})(props);\n};\nexport function BiSolidShow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 11c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10c-1.084 0-2 .916-2 2s.916 2 2 2 2-.916 2-2-.916-2-2-2z\"}}]})(props);\n};\nexport function BiSolidShower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18.33A6.78 6.78 0 0 0 19.5 15a6.73 6.73 0 0 0-1.5 3.33 1.51 1.51 0 1 0 3 0zM11 20.33A6.78 6.78 0 0 0 9.5 17 6.73 6.73 0 0 0 8 20.33 1.59 1.59 0 0 0 9.5 22a1.59 1.59 0 0 0 1.5-1.67zM16 20.33A6.78 6.78 0 0 0 14.5 17a6.73 6.73 0 0 0-1.5 3.33A1.59 1.59 0 0 0 14.5 22a1.59 1.59 0 0 0 1.5-1.67zM6 18.33A6.78 6.78 0 0 0 4.5 15 6.73 6.73 0 0 0 3 18.33 1.59 1.59 0 0 0 4.5 20 1.59 1.59 0 0 0 6 18.33zM2 12h20v2H2zM13 4.07V2h-2v2.07A8 8 0 0 0 4.07 11h15.86A8 8 0 0 0 13 4.07z\"}}]})(props);\n};\nexport function BiSolidSkipNextCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm4 14h-2v-4l-6 4V8l6 4V8h2v8z\"}}]})(props);\n};\nexport function BiSolidSkipPreviousCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10c5.515 0 10-4.486 10-10S17.515 2 12 2zm4 14-6-4v4H8V8h2v4l6-4v8z\"}}]})(props);\n};\nexport function BiSolidSkull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C5.505 2 2 6.637 2 11c0 2.129 1.009 3.979 3 5.508V21h3v-3h2v3h4v-3h2v3h3v-4.493c1.991-1.528 3-3.379 3-5.507 0-4.363-3.505-9-10-9zM8 13c-1.121 0-2-1.098-2-2.5S6.879 8 8 8s2 1.098 2 2.5S9.121 13 8 13zm8 0c-1.121 0-2-1.098-2-2.5S14.879 8 16 8s2 1.098 2 2.5-.879 2.5-2 2.5z\"}}]})(props);\n};\nexport function BiSolidSleepy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-4 9.01-2-.02C6.017 9.386 7.095 7 10 7v2c-1.924 0-1.998 1.805-2 2.01zM12 18c-1.657 0-3-1.119-3-2.5s1.343-2.5 3-2.5 3 1.119 3 2.5-1.343 2.5-3 2.5zm5-7-1 .008C15.992 10.536 15.826 9 14 9V7c2.935 0 4 2.393 4 4h-1z\"}}]})(props);\n};\nexport function BiSolidSlideshow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h7v3H8v2h8v-2h-3v-3h7c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zM10 13V7l5 3-5 3z\"}}]})(props);\n};\nexport function BiSolidSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zm3.493-13a1.494 1.494 0 1 1-.001 2.987A1.494 1.494 0 0 1 15.493 9zm-4.301 6.919a4.108 4.108 0 0 0 1.616 0c.253-.052.505-.131.75-.233.234-.1.464-.224.679-.368.208-.142.407-.306.591-.489.183-.182.347-.381.489-.592l1.658 1.117a6.027 6.027 0 0 1-1.619 1.621 6.003 6.003 0 0 1-2.149.904 6.116 6.116 0 0 1-2.414-.001 5.919 5.919 0 0 1-2.148-.903 6.078 6.078 0 0 1-1.621-1.622l1.658-1.117c.143.211.307.41.488.59a3.988 3.988 0 0 0 2.022 1.093zM8.5 9a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 8.5 9z\"}}]})(props);\n};\nexport function BiSolidSortAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.227 11h11.547c.862 0 1.32-1.02.747-1.665L12.748 2.84a.998.998 0 0 0-1.494 0L5.479 9.335C4.906 9.98 5.364 11 6.227 11zm5.026 10.159a.998.998 0 0 0 1.494 0l5.773-6.495c.574-.644.116-1.664-.747-1.664H6.227c-.862 0-1.32 1.02-.747 1.665l5.773 6.494z\"}}]})(props);\n};\nexport function BiSolidSpa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16.114c-3.998-5.951-8.574-7.043-8.78-7.09L2 8.75V10c0 7.29 3.925 12 10 12 5.981 0 10-4.822 10-12V8.75l-1.22.274c-.206.047-4.782 1.139-8.78 7.09z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.274 3.767c-1.799 1.898-2.84 3.775-3.443 5.295 1.329.784 2.781 1.943 4.159 3.685 1.364-1.76 2.826-2.925 4.17-3.709-.605-1.515-1.646-3.383-3.435-5.271L12 3l-.726.767z\"}}]})(props);\n};\nexport function BiSolidSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"15\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm-6 2a2 2 0 1 1-2 2 2 2 0 0 1 2-2zm0 16a5 5 0 1 1 5-5 5 5 0 0 1-5 5z\"}}]})(props);\n};\nexport function BiSolidSprayCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.003 3h2v2h-2zM16 3h2v2h-2zm0 3h2v2h-2zm3-3h2v2h-2zm0 3h2v2h-2zm0 3h2v2h-2zM4.012 12v9a1 1 0 0 0 1 1H13a1 1 0 0 0 1-1v-9a4 4 0 0 0-4-4H8.012a4 4 0 0 0-4 4zM7.003 2h4v4h-4z\"}}]})(props);\n};\nexport function BiSolidSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2zm7 2h8v2h-8V7zm0 4h8v2h-8v-2zm0 4h8v2h-8v-2zM6 7h2v2H6V7zm0 4h2v2H6v-2zm0 4h2v2H6v-2z\"}}]})(props);\n};\nexport function BiSolidSquareRounded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2H7C4.243 2 2 4.243 2 7v10c0 2.757 2.243 5 5 5h10c2.757 0 5-2.243 5-5V7c0-2.757-2.243-5-5-5z\"}}]})(props);\n};\nexport function BiSolidSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiSolidStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.025 20.775A.998.998 0 0 0 6 22a1 1 0 0 0 .555-.168L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082a1 1 0 0 0-.59-1.74l-5.701-.454-2.467-5.461a.998.998 0 0 0-1.822-.001L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.214 4.107-1.491 6.452zM12 5.429l2.042 4.521.588.047h.001l3.972.315-3.271 2.944-.001.002-.463.416.171.597v.003l1.253 4.385L12 15.798V5.429z\"}}]})(props);\n};\nexport function BiSolidStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.947 9.179a1.001 1.001 0 0 0-.868-.676l-5.701-.453-2.467-5.461a.998.998 0 0 0-1.822-.001L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.213 4.107-1.49 6.452a1 1 0 0 0 1.53 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082c.297-.268.406-.686.278-1.065z\"}}]})(props);\n};\nexport function BiSolidSticker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 11c-4.136 0-7.5 3.364-7.5 7.5 0 .871.157 1.704.432 2.482l9.551-9.551A7.462 7.462 0 0 0 18.5 11z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12c0 4.583 3.158 8.585 7.563 9.69A9.431 9.431 0 0 1 9 18.5C9 13.262 13.262 9 18.5 9c1.12 0 2.191.205 3.19.563C20.585 5.158 16.583 2 12 2z\"}}]})(props);\n};\nexport function BiSolidStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c-4.411 0-8 3.589-8 8s3.589 8 8 8 8-3.589 8-8-3.589-8-8-8zm1 8h-2V8h2v5zM9 2h6v2H9zm9.707 2.293 2 2-1.414 1.414-2-2z\"}}]})(props);\n};\nexport function BiSolidStoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5C3.346 2 2 3.346 2 5v2.831c0 1.053.382 2.01 1 2.746V20a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-5h4v5a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-9.424c.618-.735 1-1.692 1-2.746V5c0-1.654-1.346-3-3-3zm1 3v2.831c0 1.14-.849 2.112-1.891 2.167L18 10c-1.103 0-2-.897-2-2V4h3c.552 0 1 .449 1 1zM10 8V4h4v4c0 1.103-.897 2-2 2s-2-.897-2-2zM4 5c0-.551.448-1 1-1h3v4c0 1.103-.897 2-2 2l-.109-.003C4.849 9.943 4 8.971 4 7.831V5zm6 11H6v-3h4v3z\"}}]})(props);\n};\nexport function BiSolidStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.999 8a.997.997 0 0 0-.143-.515L19.147 2.97A2.01 2.01 0 0 0 17.433 2H6.565c-.698 0-1.355.372-1.714.971L2.142 7.485A.997.997 0 0 0 1.999 8c0 1.005.386 1.914 1 2.618V20a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-5h4v5a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-9.382c.614-.704 1-1.613 1-2.618zm-2.016.251A2.002 2.002 0 0 1 17.999 10c-1.103 0-2-.897-2-2 0-.068-.025-.128-.039-.192l.02-.004L15.219 4h2.214l2.55 4.251zm-9.977-.186L10.818 4h2.361l.813 4.065C13.957 9.138 13.079 10 11.999 10s-1.958-.862-1.993-1.935zM6.565 4h2.214l-.76 3.804.02.004c-.015.064-.04.124-.04.192 0 1.103-.897 2-2 2a2.002 2.002 0 0 1-1.984-1.749L6.565 4zm3.434 12h-4v-3h4v3z\"}}]})(props);\n};\nexport function BiSolidSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.995 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007-2.246-5.007-5.007-5.007S6.995 9.239 6.995 12zM11 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2H2zm17 0h3v2h-3zM5.637 19.778l-1.414-1.414 2.121-2.121 1.414 1.414zM16.242 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.344 7.759 4.223 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z\"}}]})(props);\n};\nexport function BiSolidSushi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12.07\",\"cy\":\"7\",\"rx\":\"3\",\"ry\":\"1.71\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.07 22c4.48 0 8-2.2 8-5V7c0-2.8-3.52-5-8-5s-8 2.2-8 5v10c0 2.8 3.51 5 8 5zm0-18c3.53 0 6 1.58 6 3a2 2 0 0 1-.29.87c-.68 1-2.53 2-5 2.12h-1.39C8.88 9.83 7 8.89 6.35 7.84a2.16 2.16 0 0 1-.28-.76V7c0-1.42 2.46-3 6-3z\"}}]})(props);\n};\nexport function BiSolidTShirt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.316 4.055C19.556 3.478 15 1.985 15 2a3 3 0 1 1-6 0c0-.015-4.556 1.478-6.317 2.055A.992.992 0 0 0 2 5.003v3.716a1 1 0 0 0 1.242.97L6 9v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V9l2.758.689A1 1 0 0 0 22 8.719V5.003a.992.992 0 0 0-.684-.948z\"}}]})(props);\n};\nexport function BiSolidTachometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C6.486 4 2 8.486 2 14a9.89 9.89 0 0 0 1.051 4.445c.17.34.516.555.895.555h16.107c.379 0 .726-.215.896-.555A9.89 9.89 0 0 0 22 14c0-5.514-4.486-10-10-10zm5.022 5.022L13.06 15.06a1.53 1.53 0 0 1-2.121.44 1.53 1.53 0 0 1 0-2.561l6.038-3.962a.033.033 0 0 1 .045.01.034.034 0 0 1 0 .035z\"}}]})(props);\n};\nexport function BiSolidTagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.868 11.504-4-7A1 1 0 0 0 17 4H3a1 1 0 0 0-.868 1.496L5.849 12l-3.717 6.504A1 1 0 0 0 3 20h14a1 1 0 0 0 .868-.504l4-7a.998.998 0 0 0 0-.992z\"}}]})(props);\n};\nexport function BiSolidTagX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.842 6.218a1.977 1.977 0 0 0-.424-.628A1.99 1.99 0 0 0 20 5H8c-.297 0-.578.132-.769.359l-5 6c-.309.371-.309.91 0 1.281l5 6c.191.228.472.36.769.36h12a1.977 1.977 0 0 0 1.41-.582A1.99 1.99 0 0 0 22 17V7c0-.266-.052-.525-.158-.782zm-4.135 8.075-1.414 1.414L14 13.414l-2.293 2.293-1.414-1.414L12.586 12l-2.293-2.293 1.414-1.414L14 10.586l2.293-2.293 1.414 1.414L15.414 12l2.293 2.293z\"}}]})(props);\n};\nexport function BiSolidTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.842 6.218a1.977 1.977 0 0 0-.424-.628A1.99 1.99 0 0 0 20 5H8c-.297 0-.578.132-.769.359l-5 6c-.309.371-.309.91 0 1.281l5 6c.191.228.472.36.769.36h12a1.977 1.977 0 0 0 1.41-.582A1.99 1.99 0 0 0 22 17V7c0-.266-.052-.525-.158-.782z\"}}]})(props);\n};\nexport function BiSolidTaxi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.772 10.155-1.368-4.104A2.995 2.995 0 0 0 16.559 4H14V2h-4v2H7.441a2.995 2.995 0 0 0-2.845 2.051l-1.368 4.104A2 2 0 0 0 2 12v5c0 .738.404 1.376 1 1.723V21a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2h12v2a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-2.277A1.99 1.99 0 0 0 22 17v-5a2 2 0 0 0-1.228-1.845zM7.441 6h9.117c.431 0 .813.274.949.684L18.613 10H5.387l1.105-3.316A1 1 0 0 1 7.441 6zM5.5 16a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 5.5 16zm13 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 18.5 16z\"}}]})(props);\n};\nexport function BiSolidTennisBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 19.071a9.953 9.953 0 0 0 6.692 2.906c-.463-2.773.365-5.721 2.5-7.856 2.136-2.135 5.083-2.963 7.856-2.5-.092-2.433-1.053-4.839-2.906-6.692s-4.26-2.814-6.692-2.906c.463 2.773-.365 5.721-2.5 7.856-2.136 2.135-5.083 2.963-7.856 2.5a9.944 9.944 0 0 0 2.906 6.692z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.535 15.535a6.996 6.996 0 0 0-1.911 6.318 9.929 9.929 0 0 0 8.229-8.229 6.999 6.999 0 0 0-6.318 1.911zm-7.07-7.07a6.996 6.996 0 0 0 1.911-6.318 9.929 9.929 0 0 0-8.23 8.229 7 7 0 0 0 6.319-1.911z\"}}]})(props);\n};\nexport function BiSolidTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zM6.414 15.707 5 14.293 7.293 12 5 9.707l1.414-1.414L10.121 12l-3.707 3.707zM19 16h-7v-2h7v2z\"}}]})(props);\n};\nexport function BiSolidThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 16a3.001 3.001 0 0 0 6 0c0-.353-.072-.686-.184-1H9.184A2.962 2.962 0 0 0 9 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6V4h-3.185A2.995 2.995 0 0 0 12 2c-1.654 0-3 1.346-3 3v5.8A6.027 6.027 0 0 0 6 16c0 3.309 2.691 6 6 6s6-2.691 6-6a6.027 6.027 0 0 0-3-5.2V10h3V8h-3V6h3zm-4.405 6.324A4.033 4.033 0 0 1 16 16c0 2.206-1.794 4-4 4s-4-1.794-4-4c0-1.585.944-3.027 2.405-3.676l.595-.263V5a1 1 0 0 1 2 0v7.061l.595.263z\"}}]})(props);\n};\nexport function BiSolidTimeFive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm3.293 14.707L11 12.414V6h2v5.586l3.707 3.707-1.414 1.414z\"}}]})(props);\n};\nexport function BiSolidTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.25 2c-5.514 0-10 4.486-10 10s4.486 10 10 10 10-4.486 10-10-4.486-10-10-10zM18 13h-6.75V6h2v5H18v2z\"}}]})(props);\n};\nexport function BiSolidTimer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3h4v2h-4zM3 8h4v2H3zm0 8h4v2H3zm-1-4h3.99v2H2zm19.707-5.293-1.414-1.414L18.586 7A6.937 6.937 0 0 0 15 6c-3.859 0-7 3.141-7 7s3.141 7 7 7 7-3.141 7-7a6.968 6.968 0 0 0-1.855-4.73l1.562-1.563zM16 14h-2V8.958h2V14z\"}}]})(props);\n};\nexport function BiSolidTired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-6.447 9.105 2.459-1.229-1.567-1.044 1.109-1.664 3 2a1 1 0 0 1-.108 1.727l-4 2-.893-1.79zM8 17s1-3 4-3 4 3 4 3H8zm9.553-4.105-4-2a1 1 0 0 1-.108-1.727l3-2 1.109 1.664-1.566 1.044 2.459 1.229-.894 1.79z\"}}]})(props);\n};\nexport function BiSolidToTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15h4v6h6v-6h4l-7-8zM4 3h16v2H4z\"}}]})(props);\n};\nexport function BiSolidToggleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H8c-3.296 0-5.982 2.682-6 5.986v.042A6.01 6.01 0 0 0 8 18h8a6.01 6.01 0 0 0 6-5.994v-.018C21.985 8.685 19.297 6 16 6zm-8 9c-1.627 0-3-1.373-3-3s1.373-3 3-3 3 1.373 3 3-1.373 3-3 3z\"}}]})(props);\n};\nexport function BiSolidToggleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H8c-3.296 0-5.982 2.682-6 5.986v.042A6.01 6.01 0 0 0 8 18h8c3.309 0 6-2.691 6-6s-2.691-6-6-6zm0 9c-1.627 0-3-1.373-3-3s1.373-3 3-3 3 1.373 3 3-1.373 3-3 3z\"}}]})(props);\n};\nexport function BiSolidTone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1 9H4.069a7.965 7.965 0 0 1 .52-2H11v2zm0 4H4.589a7.965 7.965 0 0 1-.52-2H11v2zm0-10.931V7H5.765A7.996 7.996 0 0 1 11 4.069zM5.765 17H11v2.931A7.996 7.996 0 0 1 5.765 17z\"}}]})(props);\n};\nexport function BiSolidTorch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11.648V20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-8.352c1.067-.552 3-1.928 3-4.648V5H5v2c0 2.72 1.933 4.096 3 4.648zM11 11h2v3h-2v-3zM5 2h14v2H5z\"}}]})(props);\n};\nexport function BiSolidTrafficBarrier (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6h-2V3h-2v3H7V3H5v3H3a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2v6h2v-6h10v6h2v-6h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zM4.42 13l2.857-5H9.58l-2.857 5H4.42zm7.857-5h2.303l-2.857 5H9.42l2.857-5zm5 0h2.303l-2.857 5H14.42l2.857-5z\"}}]})(props);\n};\nexport function BiSolidTrafficCone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.649 16H5.352l-1.06 3H2v2h20v-2h-2.292zM6.057 14h11.886l-1.412-4H7.469zM13 2h-2a1 1 0 0 0-.943.667L8.175 8h7.65l-1.882-5.333A1 1 0 0 0 13 2z\"}}]})(props);\n};\nexport function BiSolidTraffic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.958 16 .043 1.042c.005.12.142 2.255 2.999 3.338v1.12a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1.12c2.857-1.083 2.994-3.218 2.999-3.338L21.043 16H18v-1.62c2.857-1.083 2.994-3.218 2.999-3.338L21.043 10H18V8.38c2.857-1.083 2.994-3.218 2.999-3.338L21.043 4H18V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V4H2.958l.043 1.042c.005.12.142 2.255 2.999 3.338V10H2.958l.043 1.042c.005.12.142 2.255 2.999 3.338V16H2.958zM12 4a2 2 0 1 1-.001 4.001A2 2 0 0 1 12 4zm0 6a2 2 0 1 1-.001 4.001A2 2 0 0 1 12 10zm0 6a2 2 0 1 1-.001 4.001A2 2 0 0 1 12 16z\"}}]})(props);\n};\nexport function BiSolidTrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.375 2H7.621c-.224 0-1.399.065-2.503 1.351C4.031 4.616 4 5.862 4 6v11a2 2 0 0 0 2 2h1l-2 3h2.353l.667-1h8l.677 1H19l-2-3h1a2 2 0 0 0 2-2V6c.001-.188-.032-1.434-1.129-2.665C17.715 2.037 16.509 2 16.375 2zM10 4h4v2h-4V4zM7.5 17a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 7.5 17zm9 0a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 16.5 17zm1.5-5H6V8h12v4z\"}}]})(props);\n};\nexport function BiSolidTrashAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H5v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7H6zm10.618-3L15 2H9L7.382 4H3v2h18V4z\"}}]})(props);\n};\nexport function BiSolidTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H5v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7H6zm4 12H8v-9h2v9zm6 0h-2v-9h2v9zm.618-15L15 2H9L7.382 4H3v2h18V4z\"}}]})(props);\n};\nexport function BiSolidTreeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 10-6-8-6 8h3l-5 8h7v4h2v-4h7l-5-8h3z\"}}]})(props);\n};\nexport function BiSolidTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20 18-4-5h3l-4-5h2l-5-6-5 6h2l-4 5h3l-4 5h7v4h2v-4z\"}}]})(props);\n};\nexport function BiSolidTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4h-3V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1H3a1 1 0 0 0-1 1v3c0 4.31 1.8 6.91 4.82 7A6 6 0 0 0 11 17.91V20H9v2h6v-2h-2v-2.09A6 6 0 0 0 17.18 15c3-.1 4.82-2.7 4.82-7V5a1 1 0 0 0-1-1zM4 8V6h2v6.83C4.22 12.08 4 9.3 4 8zm14 4.83V6h2v2c0 1.3-.22 4.08-2 4.83z\"}}]})(props);\n};\nexport function BiSolidTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.15 8a2 2 0 0 0-1.72-1H15V5a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v10a2 2 0 0 0 1 1.73 3.49 3.49 0 0 0 7 .27h3.1a3.48 3.48 0 0 0 6.9 0 2 2 0 0 0 2-2v-3a1.07 1.07 0 0 0-.14-.52zM15 9h2.43l1.8 3H15zM6.5 19A1.5 1.5 0 1 1 8 17.5 1.5 1.5 0 0 1 6.5 19zm10 0a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5z\"}}]})(props);\n};\nexport function BiSolidTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h-5.586l2.293-2.293-1.414-1.414L12 5.586 8.707 2.293 7.293 3.707 9.586 6H4c-1.103 0-2 .897-2 2v11c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V8c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidUniversalAccess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 3.33A1.67 1.67 0 1 1 10.33 7 1.67 1.67 0 0 1 12 5.33zm3.33 12.5-1.66.84-1.39-3.89h-.56l-1.39 3.89-1.66-.84 1.66-4.72v-1.66L7 10.33l.56-1.66 3.33 1.11h2.22l3.33-1.11.56 1.66-3.33 1.12v1.66z\"}}]})(props);\n};\nexport function BiSolidUpArrowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v-6h5l-6-7-6 7h5v6z\"}}]})(props);\n};\nexport function BiSolidUpArrowCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zm0-15 5 5h-4v5h-2v-5H7l5-5z\"}}]})(props);\n};\nexport function BiSolidUpArrowSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2zm7-14 5 5h-4v5h-2v-5H7l5-5z\"}}]})(props);\n};\nexport function BiSolidUpArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18a1.002 1.002 0 0 0 .823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 0 0 3 19z\"}}]})(props);\n};\nexport function BiSolidUpsideDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM8.507 15a1.494 1.494 0 1 1 .001-2.987A1.494 1.494 0 0 1 8.507 15zm4.301-6.919a4.108 4.108 0 0 0-1.616 0 4.12 4.12 0 0 0-.751.233c-.234.1-.463.224-.678.368a4.077 4.077 0 0 0-1.08 1.082L7.024 8.646a6.026 6.026 0 0 1 2.639-2.175 6.097 6.097 0 0 1 1.128-.35 6.061 6.061 0 0 1 2.415 0 5.919 5.919 0 0 1 2.148.903 6.078 6.078 0 0 1 1.621 1.622l-1.658 1.117a3.994 3.994 0 0 0-.488-.59 3.988 3.988 0 0 0-2.021-1.092zM15.5 15a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 15.5 15z\"}}]})(props);\n};\nexport function BiSolidUpvote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14h4v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-7h4a1.001 1.001 0 0 0 .781-1.625l-8-10c-.381-.475-1.181-.475-1.562 0l-8 10A1.001 1.001 0 0 0 4 14z\"}}]})(props);\n};\nexport function BiSolidUserAccount (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm-6 2.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM19 15H9v-.25C9 12.901 11.254 11 14 11s5 1.901 5 3.75V15z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8H2v12c0 1.103.897 2 2 2h12v-2H4V8z\"}}]})(props);\n};\nexport function BiSolidUserBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.988 22a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h11.988zM9 5h6v2H9V5zm5.25 6.25A2.26 2.26 0 0 1 12 13.501c-1.235 0-2.25-1.015-2.25-2.251S10.765 9 12 9a2.259 2.259 0 0 1 2.25 2.25zM7.5 18.188c0-1.664 2.028-3.375 4.5-3.375s4.5 1.711 4.5 3.375v.563h-9v-.563z\"}}]})(props);\n};\nexport function BiSolidUserCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12.052c1.995 0 3.5-1.505 3.5-3.5s-1.505-3.5-3.5-3.5-3.5 1.505-3.5 3.5 1.505 3.5 3.5 3.5zM9 13H7c-2.757 0-5 2.243-5 5v1h12v-1c0-2.757-2.243-5-5-5zm11.294-4.708-4.3 4.292-1.292-1.292-1.414 1.414 2.706 2.704 5.712-5.702z\"}}]})(props);\n};\nexport function BiSolidUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.579 2 2 6.579 2 12s4.579 10 10 10 10-4.579 10-10S17.421 2 12 2zm0 5c1.727 0 3 1.272 3 3s-1.273 3-3 3c-1.726 0-3-1.272-3-3s1.274-3 3-3zm-5.106 9.772c.897-1.32 2.393-2.2 4.106-2.2h2c1.714 0 3.209.88 4.106 2.2C15.828 18.14 14.015 19 12 19s-3.828-.86-5.106-2.228z\"}}]})(props);\n};\nexport function BiSolidUserDetail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11h7v2h-7zm1 4h6v2h-6zm-2-8h8v2h-8zM4 19h10v-1c0-2.757-2.243-5-5-5H7c-2.757 0-5 2.243-5 5v1h2zm4-7c1.995 0 3.5-1.505 3.5-3.5S9.995 5 8 5 4.5 6.505 4.5 8.5 6.005 12 8 12z\"}}]})(props);\n};\nexport function BiSolidUserMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11h8v2h-8zM4.5 8.552c0 1.995 1.505 3.5 3.5 3.5s3.5-1.505 3.5-3.5-1.505-3.5-3.5-3.5-3.5 1.505-3.5 3.5zM4 19h10v-1c0-2.757-2.243-5-5-5H7c-2.757 0-5 2.243-5 5v1h2z\"}}]})(props);\n};\nexport function BiSolidUserPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h4l3 3 3-3h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm-7 3c1.727 0 3 1.272 3 3s-1.273 3-3 3c-1.726 0-3-1.272-3-3s1.274-3 3-3zM7.177 16c.558-1.723 2.496-3 4.823-3s4.266 1.277 4.823 3H7.177z\"}}]})(props);\n};\nexport function BiSolidUserPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 8.552c0 1.995 1.505 3.5 3.5 3.5s3.5-1.505 3.5-3.5-1.505-3.5-3.5-3.5-3.5 1.505-3.5 3.5zM19 8h-2v3h-3v2h3v3h2v-3h3v-2h-3zM4 19h10v-1c0-2.757-2.243-5-5-5H7c-2.757 0-5 2.243-5 5v1h2z\"}}]})(props);\n};\nexport function BiSolidUserRectangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22h13a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h1zm6-17.001c1.647 0 3 1.351 3 3C15 9.647 13.647 11 12 11S9 9.647 9 7.999c0-1.649 1.353-3 3-3zM6 17.25c0-2.219 2.705-4.5 6-4.5s6 2.281 6 4.5V18H6v-.75z\"}}]})(props);\n};\nexport function BiSolidUserVoice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12.052c1.995 0 3.5-1.505 3.5-3.5s-1.505-3.5-3.5-3.5-3.5 1.505-3.5 3.5 1.505 3.5 3.5 3.5zM9 13H7c-2.757 0-5 2.243-5 5v1h12v-1c0-2.757-2.243-5-5-5zm9.364-10.364L16.95 4.05C18.271 5.373 19 7.131 19 9s-.729 3.627-2.05 4.95l1.414 1.414C20.064 13.663 21 11.403 21 9s-.936-4.663-2.636-6.364z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.535 5.464 14.121 6.88C14.688 7.445 15 8.198 15 9s-.312 1.555-.879 2.12l1.414 1.416C16.479 11.592 17 10.337 17 9s-.521-2.592-1.465-3.536z\"}}]})(props);\n};\nexport function BiSolidUserX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12.052c1.995 0 3.5-1.505 3.5-3.5s-1.505-3.5-3.5-3.5-3.5 1.505-3.5 3.5 1.505 3.5 3.5 3.5zM9 13H7c-2.757 0-5 2.243-5 5v1h12v-1c0-2.757-2.243-5-5-5zm11.293-4.707L18 10.586l-2.293-2.293-1.414 1.414 2.292 2.292-2.293 2.293 1.414 1.414 2.293-2.293 2.294 2.294 1.414-1.414L19.414 12l2.293-2.293z\"}}]})(props);\n};\nexport function BiSolidUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 6.5C7.5 8.981 9.519 11 12 11s4.5-2.019 4.5-4.5S14.481 2 12 2 7.5 4.019 7.5 6.5zM20 21h1v-1c0-3.859-3.141-7-7-7h-4c-3.86 0-7 3.141-7 7v1h17z\"}}]})(props);\n};\nexport function BiSolidVector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.277 8c.347.596.985 1 1.723 1a2 2 0 0 0 0-4c-.738 0-1.376.404-1.723 1H16V4a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v2H5.723C5.376 5.404 4.738 5 4 5a2 2 0 0 0 0 4c.738 0 1.376-.404 1.723-1H8v.368C5.134 9.839 4.319 12.534 4.092 14H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-.877c.197-.959.718-2.406 2.085-3.418A.984.984 0 0 0 9 11h6a.98.98 0 0 0 .792-.419c1.373 1.013 1.895 2.458 2.089 3.419H17a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1.092c-.227-1.466-1.042-4.161-3.908-5.632V8h2.277zM14 9h-4V5h4v4z\"}}]})(props);\n};\nexport function BiSolidVial (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22a4.965 4.965 0 0 0 3.535-1.465l9.193-9.193.707.708 1.414-1.414-8.485-8.486-1.414 1.414.708.707-9.193 9.193C2.521 14.408 2 15.664 2 17s.521 2.592 1.465 3.535A4.965 4.965 0 0 0 7 22zM18.314 9.928 15.242 13H6.758l7.314-7.314 4.242 4.242z\"}}]})(props);\n};\nexport function BiSolidVideoOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h10.879L2.145 6.265A1.977 1.977 0 0 0 2 7v10c0 1.103.897 2 2 2zM18 7c0-1.103-.897-2-2-2H6.414L3.707 2.293 2.293 3.707l18 18 1.414-1.414L18 16.586v-2.919L22 17V7l-4 3.333V7z\"}}]})(props);\n};\nexport function BiSolidVideoPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3.333L22 17V7l-4 3.333V7zm-4 6h-3v3H9v-3H6v-2h3V8h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidVideoRecording (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9c0-1.103-.897-2-2-2h-1.434l-2.418-4.029A2.008 2.008 0 0 0 10.434 2H5v2h5.434l1.8 3H4c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-3l4 2v-7l-4 2V9zm-7 8H5v-2h6v2z\"}}]})(props);\n};\nexport function BiSolidVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-3.333L22 17V7l-4 3.333V7z\"}}]})(props);\n};\nexport function BiSolidVideos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8H2v12a2 2 0 0 0 2 2h12v-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2H8a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm-9 12V6l7 4z\"}}]})(props);\n};\nexport function BiSolidVirusBlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.952 17.538c-.749-.749-.908-1.869-.5-2.846l.021-.049c.399-.974 1.309-1.643 2.362-1.643h.08c.638 0 1.085-.447 1.085-1s-.447-1-1-1h-.17c-1.053 0-1.958-.669-2.357-1.644l-.021-.049c-.408-.977-.249-2.097.5-2.846l.119-.119a.999.999 0 1 0-1.414-1.414l-.119.119c-.749.749-1.869.908-2.846.5l-.049-.021C13.669 5.128 13 4.218 13 3.165v-.081C13 2.447 12.553 2 12 2s-1 .447-1 1v.036c0 1.096-.66 2.084-1.673 2.503l-.006.003a2.71 2.71 0 0 1-2.953-.588l-.025-.025-2.636-2.636-1.414 1.414 18 18 1.414-1.414-2.636-2.636-.119-.119zM12 10a2 2 0 1 1 2 2c-.257 0-.501-.053-.728-.142l-1.131-1.131A1.998 1.998 0 0 1 12 10zm-4 3a1 1 0 0 1-1-1 .99.99 0 0 1 .244-.635L5.431 9.552A2.634 2.634 0 0 1 3.085 11h-.001C2.447 11 2 11.447 2 12s.447 1 1 1h.068a2.66 2.66 0 0 1 2.459 1.644l.021.049a2.69 2.69 0 0 1-.583 2.929l-.036.036a.999.999 0 1 0 1.414 1.414l.036-.036a2.689 2.689 0 0 1 2.929-.583l.143.06A2.505 2.505 0 0 1 11 20.83v.085c0 .638.447 1.085 1 1.085s1-.448 1-1v-.17c0-.976.568-1.853 1.443-2.266l-5.809-5.809A.98.98 0 0 1 8 13z\"}}]})(props);\n};\nexport function BiSolidVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11h-.17c-1.053 0-1.958-.669-2.357-1.644l-.021-.049c-.408-.977-.249-2.097.5-2.846l.119-.119a.999.999 0 1 0-1.414-1.414l-.119.119c-.749.749-1.869.908-2.846.5l-.049-.021C13.669 5.128 13 4.218 13 3.165v-.081C13 2.447 12.553 2 12 2s-1 .447-1 1v.036c0 1.096-.66 2.084-1.673 2.503l-.006.003a2.71 2.71 0 0 1-2.953-.588l-.025-.025a.999.999 0 1 0-1.414 1.414l.036.036a2.69 2.69 0 0 1 .583 2.929l-.027.064A2.638 2.638 0 0 1 3.085 11h-.001C2.447 11 2 11.447 2 12s.447 1 1 1h.068a2.66 2.66 0 0 1 2.459 1.644l.021.049a2.69 2.69 0 0 1-.583 2.929l-.036.036a.999.999 0 1 0 1.414 1.414l.036-.036a2.689 2.689 0 0 1 2.929-.583l.143.06A2.505 2.505 0 0 1 11 20.83v.085c0 .638.447 1.085 1 1.085s1-.448 1-1v-.17c0-1.015.611-1.93 1.55-2.318l.252-.104a2.508 2.508 0 0 1 2.736.545l.119.119a.999.999 0 1 0 1.414-1.414l-.119-.119c-.749-.749-.908-1.869-.5-2.846l.021-.049c.399-.975 1.309-1.644 2.362-1.644h.08c.638 0 1.085-.447 1.085-1s-.447-1-1-1zM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm5 3.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm1-4.5a2 2 0 1 1 .001-4.001A2 2 0 0 1 14 12z\"}}]})(props);\n};\nexport function BiSolidVolumeFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21c3.527-1.547 5.999-4.909 5.999-9S19.527 4.547 16 3v2c2.387 1.386 3.999 4.047 3.999 7S18.387 17.614 16 19v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7v10c1.225-1.1 2-3.229 2-5s-.775-3.9-2-5zM4 17h2.697L14 21.868V2.132L6.697 7H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiSolidVolumeLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17h2.697L14 21.868V2.132L6.697 7H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zM16 7v10c1.225-1.1 2-3.229 2-5s-.775-3.9-2-5z\"}}]})(props);\n};\nexport function BiSolidVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.727 6.313-4.02-4.02-1.414 1.414 18 18 1.414-1.414-2.02-2.02A9.578 9.578 0 0 0 21.999 12c0-4.091-2.472-7.453-5.999-9v2c2.387 1.386 3.999 4.047 3.999 7a8.13 8.13 0 0 1-1.671 4.914l-1.286-1.286C17.644 14.536 18 13.19 18 12c0-1.771-.775-3.9-2-5v7.586l-2-2V2.132L7.727 6.313zM4 17h2.697L14 21.868v-3.747L3.102 7.223A1.995 1.995 0 0 0 2 9v6c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiSolidVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17h2.697L14 21.868V2.132L6.697 7H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2z\"}}]})(props);\n};\nexport function BiSolidWalletAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h8v6h-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H5C3.346 3 2 4.346 2 6v12c0 1.654 1.346 3 3 3h15c1.103 0 2-.897 2-2v-2h-8c-1.103 0-2-.897-2-2V9c0-1.103.897-2 2-2h8V5c0-1.103-.897-2-2-2z\"}}]})(props);\n};\nexport function BiSolidWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7V5c0-1.103-.897-2-2-2H5C3.346 3 2 4.346 2 6v12c0 2.201 1.794 3 3 3h15c1.103 0 2-.897 2-2V9c0-1.103-.897-2-2-2zm-2 9h-2v-4h2v4zM5 7a1.001 1.001 0 0 1 0-2h13v2H5z\"}}]})(props);\n};\nexport function BiSolidWasher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h16a1 1 0 0 0 1-1V5c0-1.654-1.346-3-3-3H6C4.346 2 3 3.346 3 5v16a1 1 0 0 0 1 1zM18 3.924a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-3 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM12 7c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.766 16.929c1.399-.261 2.571-1.315 3.023-2.665a3.853 3.853 0 0 0-.153-2.893.482.482 0 0 0-.544-.266c-.604.149-1.019.448-1.5.801-.786.577-1.765 1.294-3.592 1.294-.813 0-1.45-.146-1.984-.354l-.013.009a4.006 4.006 0 0 0 4.763 4.074z\"}}]})(props);\n};\nexport function BiSolidWatchAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8c0-.909-.613-1.67-1.445-1.912l-1.31-3.443A1 1 0 0 0 14.311 2H8.689a1 1 0 0 0-.934.645l-1.31 3.443A1.996 1.996 0 0 0 5 8v8c0 .909.613 1.67 1.445 1.912l1.31 3.443a1 1 0 0 0 .934.645h5.621c.415 0 .787-.257.935-.645l1.31-3.443A1.996 1.996 0 0 0 18 16v-2h1v-4h-1V8zm-1.998 8H7V8h9l.002 8z\"}}]})(props);\n};\nexport function BiSolidWatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8h-2v5h5v-2h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.999 12c0-2.953-1.612-5.53-3.999-6.916V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v2.083C5.613 6.469 4.001 9.047 4.001 12a8.003 8.003 0 0 0 4.136 7H8v2.041a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V19h-.139a8 8 0 0 0 4.138-7zm-8 5.999A6.005 6.005 0 0 1 6.001 12a6.005 6.005 0 0 1 5.998-5.999c3.31 0 6 2.691 6 5.999a6.005 6.005 0 0 1-6 5.999z\"}}]})(props);\n};\nexport function BiSolidWebcam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c-4.963 0-9 4.037-9 9 0 3.328 1.82 6.232 4.513 7.79l-2.067 1.378A1 1 0 0 0 6 22h12a1 1 0 0 0 .555-1.832l-2.067-1.378C19.18 17.232 21 14.328 21 11c0-4.963-4.037-9-9-9zm0 16c-3.859 0-7-3.141-7-7s3.141-7 7-7 7 3.141 7 7-3.141 7-7 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6c-2.757 0-5 2.243-5 5s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5zm-1.5 5a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 10.5 11z\"}}]})(props);\n};\nexport function BiSolidWidget (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm0 10h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm10 0h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1zm7.293-14.707-3.586-3.586a.999.999 0 0 0-1.414 0l-3.586 3.586a.999.999 0 0 0 0 1.414l3.586 3.586a.999.999 0 0 0 1.414 0l3.586-3.586a.999.999 0 0 0 0-1.414z\"}}]})(props);\n};\nexport function BiSolidWindowAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm-3 3h2v2h-2V6zm-3 0h2v2h-2V6zM4 19v-9h16.001l.001 9H4z\"}}]})(props);\n};\nexport function BiSolidWine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17.916V20H9v2h6v-2h-2v-2.084c3.162-.402 5.849-2.66 6.713-5.793.264-.952.312-2.03.143-3.206l-.866-6.059A1 1 0 0 0 18 2H6a1 1 0 0 0-.99.858l-.865 6.058c-.169 1.177-.121 2.255.143 3.206.863 3.134 3.55 5.392 6.712 5.794zM17.133 4l.57 4H6.296l.571-4h10.266z\"}}]})(props);\n};\nexport function BiSolidWinkSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zM8.5 9a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 8.5 9zm7.741 7.244a5.982 5.982 0 0 1-3.034 1.634 6.042 6.042 0 0 1-3.541-.349 5.997 5.997 0 0 1-2.642-2.176l1.658-1.117c.143.211.307.41.488.59a3.988 3.988 0 0 0 1.273.86c.243.102.495.181.749.232a4.108 4.108 0 0 0 1.616 0c.253-.052.505-.131.75-.233.234-.1.464-.224.679-.368.208-.142.407-.306.591-.489.183-.182.347-.381.489-.592l1.658 1.117c-.214.32-.461.62-.734.891zM13 12s.5-2 2.5-2c1.999 0 2.5 2 2.5 2h-5z\"}}]})(props);\n};\nexport function BiSolidWinkTongue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19v-4h-4v4c0 1.103.897 2 2 2s2-.897 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12c0 4.434 2.903 8.198 6.906 9.505A3.969 3.969 0 0 1 8 19v-2.499C6.412 15.027 6 13 6 13h12s-.411 2.027-2 3.501V19c0 .953-.349 1.816-.906 2.504C19.097 20.197 22 16.434 22 12c0-5.514-4.486-10-10-10zm-3.5 9a1.5 1.5 0 1 1 .001-3.001A1.5 1.5 0 0 1 8.5 11zm4.5 0s.5-2 2.5-2c1.999 0 2.5 2 2.5 2h-5z\"}}]})(props);\n};\nexport function BiSolidWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.512 6.112-3.89 3.889-3.535-3.536 3.889-3.889a6.501 6.501 0 0 0-8.484 8.486l-6.276 6.275a.999.999 0 0 0 0 1.414l2.122 2.122a.999.999 0 0 0 1.414 0l6.275-6.276a6.501 6.501 0 0 0 7.071-1.414 6.504 6.504 0 0 0 1.414-7.071z\"}}]})(props);\n};\nexport function BiSolidXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm4.207 12.793-1.414 1.414L12 13.414l-2.793 2.793-1.414-1.414L10.586 12 7.793 9.207l1.414-1.414L12 10.586l2.793-2.793 1.414 1.414L13.414 12l2.793 2.793z\"}}]})(props);\n};\nexport function BiSolidXSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5zm-4.793 9.793-1.414 1.414L12 13.414l-2.793 2.793-1.414-1.414L10.586 12 7.793 9.207l1.414-1.414L12 10.586l2.793-2.793 1.414 1.414L13.414 12l2.793 2.793z\"}}]})(props);\n};\nexport function BiSolidYinYang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.062 4.938A9.942 9.942 0 0 0 12.016 2h-.026a9.94 9.94 0 0 0-7.071 2.938c-3.898 3.898-3.898 10.243 0 14.143 1.895 1.895 4.405 2.938 7.071 2.938s5.177-1.043 7.071-2.938c3.9-3.899 3.9-10.243.001-14.143zM13.5 15a1.5 1.5 0 1 1-.001 3.001A1.5 1.5 0 0 1 13.5 15zM6.333 6.353A7.953 7.953 0 0 1 11.99 4l.026.001c1.652.008 3.242 1.066 3.55 2.371.366 1.552-1.098 3.278-4.018 4.737-5.113 2.555-5.312 5.333-4.975 6.762l.008.021c-.082-.075-.169-.146-.249-.226-3.118-3.119-3.118-8.194.001-11.313z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.5\",\"cy\":\"7.5\",\"r\":\"1.5\"}}]})(props);\n};\nexport function BiSolidZap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.98 11.802a.995.995 0 0 0-.738-.771l-6.86-1.716 2.537-5.921a.998.998 0 0 0-.317-1.192.996.996 0 0 0-1.234.024l-11 9a1 1 0 0 0 .39 1.744l6.719 1.681-3.345 5.854A1.001 1.001 0 0 0 8 22a.995.995 0 0 0 .6-.2l12-9a1 1 0 0 0 .38-.998z\"}}]})(props);\n};\nexport function BiSolidZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8zm4 9h-3v3H9v-3H6V9h3V6h2v3h3v2z\"}}]})(props);\n};\nexport function BiSolidZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8 3.589 8 8 8zM6 9h8v2H6V9z\"}}]})(props);\n};\nexport function BiLogo500Px (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.379 14.791c.004.01.098.269.151.396a5.859 5.859 0 0 0 1.258 1.865 5.86 5.86 0 0 0 6.437 1.259 5.876 5.876 0 0 0 3.124-3.125 5.802 5.802 0 0 0 .461-2.285c0-.793-.153-1.563-.461-2.287a5.862 5.862 0 0 0-1.257-1.864 5.86 5.86 0 0 0-4.152-1.72 6 6 0 0 0-2.318.461c-.57.241-1.536.862-2.102 1.446l-.002.002V4.107h8.117c.295-.003.295-.417.295-.55 0-.137 0-.549-.296-.553H7.857a.387.387 0 0 0-.388.384v6.801c0 .221.273.379.527.434.496.104.61-.053.732-.222l.015-.021c.187-.275.767-.858.771-.863a4.776 4.776 0 0 1 3.406-1.403 4.76 4.76 0 0 1 3.394 1.403 4.75 4.75 0 0 1 1.408 3.385c0 1.28-.498 2.483-1.4 3.385a4.858 4.858 0 0 1-3.416 1.403 4.656 4.656 0 0 1-2.42-.668l.004-4.137c0-.552.238-1.151.64-1.604a2.351 2.351 0 0 1 1.778-.803c.667 0 1.291.254 1.754.714.46.455.714 1.064.714 1.711a2.443 2.443 0 0 1-2.474 2.466c-.268 0-.753-.117-.773-.123-.281-.084-.4.305-.439.435-.151.492.077.59.122.604.448.138.741.164 1.124.164a3.555 3.555 0 0 0 3.551-3.553c0-1.943-1.592-3.526-3.548-3.526a3.59 3.59 0 0 0-2.536 1.033c-.644.632-1.013 1.478-1.013 2.317v.021c-.004.105-.004 2.583-.005 3.398l-.005-.006c-.368-.407-.731-1.029-.973-1.668-.097-.25-.309-.206-.601-.116-.127.04-.514.159-.429.438l.002.004zm4.172-.972c.002.118.111.223.175.286l.021.019c.111.11.217.164.315.164.081 0 .13-.037.148-.054.05-.046.604-.608.658-.662l.618.618c.058.064.12.097.192.098.1 0 .207-.058.32-.174.267-.272.134-.42.069-.49l-.628-.63.655-.658c.144-.155.017-.32-.111-.446-.183-.184-.359-.23-.474-.127l-.65.652-.657-.658a.183.183 0 0 0-.128-.051c-.087 0-.191.06-.308.177-.202.201-.246.341-.141.453l.657.656-.653.655a.247.247 0 0 0-.078.172m1.434-8.891c-1.053 0-2.171.211-2.992.566a.23.23 0 0 0-.151.205c-.011.093.013.216.076.377.051.131.187.478.449.376a7.566 7.566 0 0 1 2.618-.498c.96 0 1.892.188 2.768.558.696.296 1.354.721 2.068 1.341a.243.243 0 0 0 .165.068c.138 0 .271-.137.386-.266.191-.214.321-.392.135-.569a7.674 7.674 0 0 0-2.354-1.52 8.088 8.088 0 0 0-3.168-.638m5.668 12.986c-.127-.126-.235-.199-.33-.228a.24.24 0 0 0-.247.059l-.063.062a7.07 7.07 0 0 1-5.018 2.081 7.09 7.09 0 0 1-5.02-2.081 6.794 6.794 0 0 1-1.521-2.255 7.618 7.618 0 0 1-.462-1.596c-.004-.018-.005-.031-.009-.041-.044-.232-.257-.249-.564-.202-.127.019-.517.078-.479.358l.002.006a8.104 8.104 0 0 0 2.288 4.478 8.089 8.089 0 0 0 2.59 1.747 8.093 8.093 0 0 0 3.175.642 8.062 8.062 0 0 0 3.172-.643 8.129 8.129 0 0 0 2.658-1.813c.083-.09.154-.248-.172-.574\"}}]})(props);\n};\nexport function BiLogo99Designs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.93 10.61A2.7 2.7 0 0 0 19 10a2.74 2.74 0 0 0-1.1-.19 3.28 3.28 0 0 0-2.16.76v-.05a3.67 3.67 0 0 0-5.09-3.39 3.61 3.61 0 0 0-1.78 1.56 3.67 3.67 0 0 0-3.12-1.86 3.74 3.74 0 0 0-1.82.44 3.66 3.66 0 0 0-1.37 1.28A3.77 3.77 0 0 0 2 10.34a3.67 3.67 0 0 0 3.42 3.83l-1.6 2.76h2.39l2.65-4.59a3.63 3.63 0 0 0 2.93 1.84l-1.59 2.76h2.4l1.86-3.23a3.53 3.53 0 0 0 2.07 3.19 3.52 3.52 0 0 0 2.61.05 2.58 2.58 0 0 0 .9-.74v.73h2V7.06h-2.11zm-12.78.72a1.69 1.69 0 0 1-1.46.83 1.72 1.72 0 0 1-.86-.16 1.75 1.75 0 0 1-.62-.62 1.78 1.78 0 0 1-.21-.87 1.69 1.69 0 0 1 1.67-1.69 1.63 1.63 0 0 1 .84.23 1.58 1.58 0 0 1 .62.61 1.62 1.62 0 0 1 .23.83 1.72 1.72 0 0 1-.21.84zm6.38 0a1.58 1.58 0 0 1-.62.61 1.53 1.53 0 0 1-.84.22 1.78 1.78 0 0 1-.84-.22 1.65 1.65 0 0 1-.61-.62 1.67 1.67 0 0 1 0-1.69 1.73 1.73 0 0 1 .62-.61 1.63 1.63 0 0 1 .84-.23 1.69 1.69 0 0 1 .84.23 1.69 1.69 0 0 1 .63 2.28zm6.3 3a1.72 1.72 0 0 1-2 .85 1.72 1.72 0 0 1-1-.7 1.75 1.75 0 0 1-.29-1.15 1.77 1.77 0 0 1 .51-1.07 1.75 1.75 0 0 1 2.35-.11 1.73 1.73 0 0 1 .43 2.18z\"}}]})(props);\n};\nexport function BiLogoAdobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19.966V4.034h-6.654zM3 4.034v15.932L9.658 4.034zM9.092 16.76h3.104l1.268 3.205h2.778L12.003 9.904z\"}}]})(props);\n};\nexport function BiLogoAirbnb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.001 16.709c-1.013-1.271-1.609-2.386-1.808-3.34-.197-.769-.12-1.385.218-1.848.357-.532.89-.791 1.589-.791s1.231.259 1.589.796c.335.458.419 1.075.215 1.848-.218.974-.813 2.087-1.808 3.341l.005-.006zm7.196.855c-.14.934-.775 1.708-1.65 2.085-1.687.734-3.359-.437-4.789-2.026 2.365-2.961 2.803-5.268 1.787-6.758-.596-.855-1.449-1.271-2.544-1.271-2.206 0-3.419 1.867-2.942 4.034.276 1.173 1.013 2.506 2.186 3.996-.735.813-1.432 1.391-2.047 1.748-.478.258-.934.418-1.37.456-2.008.299-3.582-1.647-2.867-3.656.1-.259.297-.734.634-1.471l.019-.039c1.097-2.382 2.43-5.088 3.961-8.09l.039-.1.435-.836c.338-.616.477-.892 1.014-1.231.258-.157.576-.235.934-.235.715 0 1.271.418 1.511.753.118.18.259.419.436.716l.419.815.06.119c1.53 3.001 2.863 5.702 3.955 8.089l.02.019.401.915.237.573c.183.459.221.915.16 1.393l.001.002zm.913-1.791c-.139-.438-.378-.953-.675-1.569v-.022a262.99 262.99 0 0 0-3.976-8.128l-.084-.121C14.486 4.109 13.849 3.014 12 3.014c-1.827 0-2.604 1.27-3.397 2.922l-.061.119c-1.251 2.426-2.564 5.128-3.975 8.13v.039l-.418.914c-.158.378-.237.575-.259.636C2.878 18.556 4.964 21 7.489 21c.021 0 .099 0 .198-.021h.278c1.313-.159 2.664-.993 4.035-2.485 1.371 1.49 2.725 2.326 4.033 2.485h.279c.1.021.18.021.2.021 2.525.002 4.61-2.444 3.598-5.227z\"}}]})(props);\n};\nexport function BiLogoAlgolia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.177 9.059a3.582 3.582 0 0 0-3.576 3.584 3.584 3.584 0 0 0 3.576 3.585 3.578 3.578 0 0 0 3.575-3.585 3.582 3.582 0 0 0-3.575-3.584zm2.518 2.268-2.366 1.229c-.07.039-.153-.017-.153-.093V9.791h.001c0-.06.054-.104.109-.104a2.943 2.943 0 0 1 2.452 1.492c.028.055.011.121-.043.148z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.578 3H5.361A2.363 2.363 0 0 0 3 5.366v13.277a2.368 2.368 0 0 0 2.361 2.371h13.217a2.367 2.367 0 0 0 2.361-2.372V5.372A2.368 2.368 0 0 0 18.578 3zm-8.112 3.404a.78.78 0 0 1 .779-.781h1.815c.43 0 .778.35.778.781v.618a.106.106 0 0 1-.131.104 5.677 5.677 0 0 0-3.106.017c-.07.016-.136-.033-.136-.104v-.635zM7.08 8.993a.78.78 0 0 1 .001-1.103l.371-.371.002-.002a.776.776 0 0 1 1.099.002l.31.311c.043.05.038.127-.017.159a5.82 5.82 0 0 0-1.296 1.3c-.044.049-.114.06-.163.011l-.306-.306-.001-.001zm5.097 8.737a5.078 5.078 0 0 1-5.074-5.087c0-2.813 2.272-5.092 5.074-5.092a5.074 5.074 0 0 1 5.074 5.086c0 2.815-2.272 5.093-5.074 5.093z\"}}]})(props);\n};\nexport function BiLogoAmazon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.027 17.023c.061-.098.156-.105.289-.02 3.035 1.76 6.338 2.645 9.906 2.645 2.381 0 4.73-.447 7.051-1.332l.262-.117c.115-.051.195-.084.244-.109.189-.074.326-.037.438.109.102.143.076.279-.1.4-.213.158-.5.342-.84.545-1.037.619-2.203 1.098-3.492 1.441a14.815 14.815 0 0 1-3.77.508c-1.889 0-3.68-.33-5.369-.99a14.875 14.875 0 0 1-4.531-2.797c-.084-.061-.125-.123-.125-.184 0-.039.016-.074.041-.109l-.004.01zm5.479-5.189c0-.84.207-1.555.619-2.152.414-.592.977-1.041 1.703-1.346.666-.281 1.465-.48 2.43-.602.326-.037.861-.086 1.6-.145v-.31c0-.773-.084-1.299-.248-1.564-.252-.359-.65-.541-1.203-.541h-.15c-.4.039-.746.162-1.039.383a1.51 1.51 0 0 0-.564.916c-.049.25-.172.387-.361.426l-2.105-.264c-.209-.051-.311-.15-.311-.326 0-.037.006-.074.018-.123.209-1.078.715-1.881 1.52-2.404.814-.514 1.752-.814 2.828-.875h.451c1.379 0 2.469.361 3.244 1.076.115.123.227.25.34.398.1.139.188.264.234.377.063.111.127.275.164.475.051.213.088.352.113.426.023.086.051.25.064.514.006.262.016.41.016.461v4.406c0 .314.049.602.137.865.088.26.174.451.262.563l.428.561a.598.598 0 0 1 .111.303c0 .102-.049.188-.148.26-1.002.877-1.553 1.352-1.639 1.428-.137.113-.313.125-.525.039a5.397 5.397 0 0 1-.439-.414l-.258-.291c-.051-.063-.141-.174-.266-.352l-.25-.363c-.676.74-1.338 1.205-2.002 1.393-.414.125-.914.188-1.529.188-.926 0-1.701-.285-2.303-.863-.598-.576-.9-1.389-.9-2.453l-.043-.063.001-.007zm3.131-.367c0 .475.117.852.355 1.139.236.285.563.428.965.428.035 0 .088-.008.16-.018.078-.012.111-.02.141-.02.512-.133.902-.461 1.189-.982a2.62 2.62 0 0 0 .299-.758c.076-.268.1-.494.111-.666.016-.166.016-.453.016-.84v-.451c-.703 0-1.24.049-1.604.148-1.063.303-1.604.977-1.604 2.029l-.029-.016v.007zm7.646 5.865c.025-.051.063-.092.109-.143.301-.201.596-.342.877-.416a6.597 6.597 0 0 1 1.344-.201c.117-.01.234 0 .346.025.539.051.873.141.977.273.053.078.074.191.074.328v.125c0 .426-.117.926-.348 1.502s-.553 1.041-.963 1.402c-.061.049-.115.074-.164.074-.025 0-.051 0-.074-.01-.076-.037-.09-.1-.055-.201.451-1.051.672-1.787.672-2.201 0-.127-.025-.227-.074-.289-.119-.137-.457-.217-1.02-.217a9.42 9.42 0 0 0-.727.039c-.303.041-.582.078-.834.115-.074 0-.123-.014-.15-.037-.025-.025-.031-.039-.018-.064 0-.014.006-.025.018-.053v-.049l.01-.002z\"}}]})(props);\n};\nexport function BiLogoAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.344 8.71c-.707 0-1.279.572-1.279 1.278v4.53a1.278 1.278 0 1 0 2.558 0v-4.53c0-.706-.572-1.278-1.279-1.278zm-12.688 0c-.707 0-1.279.572-1.279 1.278v4.53a1.278 1.278 0 1 0 2.558 0v-4.53A1.277 1.277 0 0 0 5.656 8.71zm8.889-3.809.768-1.388a.343.343 0 0 0-.133-.47.344.344 0 0 0-.471.135l-.789 1.42c-.588-.235-1.236-.368-1.92-.368s-1.332.132-1.92.367l-.789-1.418a.344.344 0 0 0-.471-.135.345.345 0 0 0-.133.47l.768 1.388C8.072 5.69 7.148 7.099 7.148 8.71c0 .011 0 .021.002.034-.002.006-.002.013-.002.019v.001h9.703V8.71c.001-1.611-.923-3.019-2.306-3.809zM9.76 6.869a.346.346 0 1 1 .005-.693.346.346 0 0 1-.005.693zm4.48 0a.347.347 0 0 1 0-.692.346.346 0 0 1 0 .692zM7.148 16.12c0 .646.525 1.171 1.174 1.171h.586v2.401a1.279 1.279 0 0 0 2.558 0v-2.401h1.066v2.401c0 .707.572 1.278 1.277 1.278.709 0 1.281-.571 1.281-1.278v-2.401h.586c.648 0 1.174-.524 1.174-1.171V9.028H7.148v7.092z\"}}]})(props);\n};\nexport function BiLogoAngular (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.483 12.482h3.034L12 8.831z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.074 3.689 6.038l1.268 10.987 7.043 3.9 7.043-3.9 1.268-10.987L12 3.074zm5.187 13.621H15.25l-1.045-2.606h-4.41L8.75 16.695H6.813L12 5.047l5.187 11.648z\"}}]})(props);\n};\nexport function BiLogoApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.665 16.811a10.316 10.316 0 0 1-1.021 1.837c-.537.767-.978 1.297-1.316 1.592-.525.482-1.089.73-1.692.744-.432 0-.954-.123-1.562-.373-.61-.249-1.17-.371-1.683-.371-.537 0-1.113.122-1.73.371-.616.25-1.114.381-1.495.393-.577.025-1.154-.229-1.729-.764-.367-.32-.826-.87-1.377-1.648-.59-.829-1.075-1.794-1.455-2.891-.407-1.187-.611-2.335-.611-3.447 0-1.273.275-2.372.826-3.292a4.857 4.857 0 0 1 1.73-1.751 4.65 4.65 0 0 1 2.34-.662c.46 0 1.063.142 1.81.422s1.227.422 1.436.422c.158 0 .689-.167 1.593-.498.853-.307 1.573-.434 2.163-.384 1.6.129 2.801.759 3.6 1.895-1.43.867-2.137 2.08-2.123 3.637.012 1.213.453 2.222 1.317 3.023a4.33 4.33 0 0 0 1.315.863c-.106.307-.218.6-.336.882zM15.998 2.38c0 .95-.348 1.838-1.039 2.659-.836.976-1.846 1.541-2.941 1.452a2.955 2.955 0 0 1-.021-.36c0-.913.396-1.889 1.103-2.688.352-.404.8-.741 1.343-1.009.542-.264 1.054-.41 1.536-.435.013.128.019.255.019.381z\"}}]})(props);\n};\nexport function BiLogoAudible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.005 10.238v1.69l10.002 6.254 9.988-6.254v-1.69l-9.988 6.229z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.938 12.469 1.465-.938c-1.161-1.701-3.153-2.876-5.396-2.876-2.257 0-4.236 1.135-5.371 2.89.093-.093.146-.146.238-.211 2.811-2.336 6.86-1.808 9.064 1.135z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.051 13.063a2.99 2.99 0 0 1 1.78-.58c1.083 0 2.047.554 2.692 1.49l1.399-.871c-.607-.963-1.688-1.557-2.916-1.557-1.226 0-2.309.62-2.955 1.518zM5.25 9.012c4.117-3.246 9.937-2.362 13.037 1.953l.026.026 1.517-.938a9.337 9.337 0 0 0-7.823-4.235 9.35 9.35 0 0 0-7.825 4.235c.304-.342.686-.751 1.068-1.041z\"}}]})(props);\n};\nexport function BiLogoAws (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.75 11.35a4.32 4.32 0 0 1-.79-.08 3.9 3.9 0 0 1-.73-.23l-.17-.04h-.12q-.15 0-.15.21v.33a.43.43 0 0 0 0 .19.5.5 0 0 0 .21.19 3 3 0 0 0 .76.26 4.38 4.38 0 0 0 1 .12 3 3 0 0 0 1-.14 1.94 1.94 0 0 0 .73-.37 1.81 1.81 0 0 0 .49-.58 1.79 1.79 0 0 0 .17-.78 1.54 1.54 0 0 0-.3-.93 2.15 2.15 0 0 0-1-.64l-.95-.3a2 2 0 0 1-.73-.36.65.65 0 0 1-.2-.47.66.66 0 0 1 .31-.6 1.82 1.82 0 0 1 .89-.18 2.89 2.89 0 0 1 1.27.26.79.79 0 0 0 .26.08c.1 0 .15-.08.15-.22v-.36a.38.38 0 0 0-.06-.22.56.56 0 0 0-.2-.16 1.55 1.55 0 0 0-.28-.12 3.44 3.44 0 0 0-.38-.11l-.44-.1A3.4 3.4 0 0 0 19 6a2.82 2.82 0 0 0-.83.11 2.19 2.19 0 0 0-.7.35A1.61 1.61 0 0 0 17 7a1.5 1.5 0 0 0-.18.74 1.6 1.6 0 0 0 .33 1 2.08 2.08 0 0 0 1.06.68l1 .3a1.58 1.58 0 0 1 .67.34.66.66 0 0 1 .18.47.72.72 0 0 1-.35.63 1.83 1.83 0 0 1-.96.19zM12.94 6.5a.48.48 0 0 0-.13-.26.37.37 0 0 0-.26-.07H12a.43.43 0 0 0-.26.07.42.42 0 0 0-.13.26l-1 4.4-1.14-4.4a.48.48 0 0 0-.14-.26s-.13-.07-.26-.07h-.65c-.11 0-.16.06-.16.17a1.22 1.22 0 0 0 .06.27l1.56 5.14A.61.61 0 0 0 10 12a.45.45 0 0 0 .26.06h.57a.49.49 0 0 0 .27-.06.57.57 0 0 0 .12-.27l1-4.28 1 4.29a.42.42 0 0 0 .12.26.4.4 0 0 0 .27.07h.57a.41.41 0 0 0 .25-.07.44.44 0 0 0 .14-.26l1.61-5.14a.73.73 0 0 0 0-.16.52.52 0 0 0 0-.11.15.15 0 0 0-.17-.17h-.62a.45.45 0 0 0-.26.07.68.68 0 0 0-.13.26L14 11zM5.77 8.63a5.92 5.92 0 0 0-.71-.05 2.42 2.42 0 0 0-1.63.52 1.72 1.72 0 0 0-.6 1.37 1.7 1.7 0 0 0 .49 1.28 1.82 1.82 0 0 0 1.33.48 2.48 2.48 0 0 0 2-.92 3.5 3.5 0 0 0 .2.39 2.34 2.34 0 0 0 .24.31.26.26 0 0 0 .37 0l.42-.28a.28.28 0 0 0 .13-.2.27.27 0 0 0 0-.16 3.63 3.63 0 0 1-.21-.47 2 2 0 0 1-.07-.6V8.19a2.2 2.2 0 0 0-.55-1.64A2.42 2.42 0 0 0 5.33 6a3.9 3.9 0 0 0-1 .13 3.9 3.9 0 0 0-.84.3.47.47 0 0 0-.18.14.37.37 0 0 0 0 .23v.33c0 .14 0 .2.14.2a.26.26 0 0 0 .11 0l.23-.08A4.32 4.32 0 0 1 4.42 7a3 3 0 0 1 .72-.09 1.5 1.5 0 0 1 1.08.31 1.46 1.46 0 0 1 .31 1.06v.49zm.78.9v.27a2.36 2.36 0 0 1-.07.58 1.06 1.06 0 0 1-.23.43 1.38 1.38 0 0 1-.63.42 2.12 2.12 0 0 1-.68.12.94.94 0 0 1-.7-.24.92.92 0 0 1-.24-.71.92.92 0 0 1 .33-.76 1.52 1.52 0 0 1 1-.27h.62a5.67 5.67 0 0 1 .6.16zM19.76 15a19.68 19.68 0 0 1-7.55 1.54 20 20 0 0 1-9.9-2.62c-.24-.15-.43.1-.22.29A14.68 14.68 0 0 0 12 18a14.4 14.4 0 0 0 8.1-2.47c.34-.31.03-.72-.34-.53z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.38 14.06c-.19.14-.16.33.05.3.71-.09 2.28-.27 2.56.09s-.31 1.83-.58 2.49c-.08.2.1.28.28.13a3.9 3.9 0 0 0 1.23-3.34 3.94 3.94 0 0 0-3.54.33z\"}}]})(props);\n};\nexport function BiLogoBaidu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.217 12.486c1.964-.422 1.693-2.772 1.637-3.287-.096-.788-1.028-2.172-2.291-2.061-1.588.141-1.821 2.44-1.821 2.44-.216 1.06.515 3.33 2.475 2.908m3.646-3.944c1.084 0 1.959-1.251 1.959-2.792 0-1.537-.871-2.785-1.955-2.785-1.086 0-1.966 1.242-1.966 2.785s.88 2.792 1.965 2.792m4.671.186c1.454.195 2.38-1.355 2.568-2.53.188-1.166-.754-2.528-1.776-2.763-1.031-.237-2.303 1.411-2.431 2.484-.136 1.318.188 2.627 1.634 2.813m5.751 1.973c0-.562-.46-2.253-2.19-2.253-1.729 0-1.965 1.596-1.965 2.726 0 1.077.089 2.573 2.247 2.528 2.148-.052 1.913-2.438 1.913-3.002M18.1 15.626s-2.247-1.739-3.557-3.613c-1.776-2.768-4.304-1.64-5.144-.239-.845 1.418-2.153 2.306-2.339 2.544-.188.232-2.709 1.596-2.147 4.079.563 2.483 2.528 2.439 2.528 2.439s1.446.142 3.133-.234c1.686-.375 3.13.091 3.13.091s3.92 1.317 5.005-1.212c1.072-2.537-.61-3.847-.61-3.847\"}}]})(props);\n};\nexport function BiLogoBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.803 5.731c.589 0 1.119.051 1.605.155.483.103.895.273 1.243.508.343.235.611.547.804.939.187.387.28.871.28 1.443 0 .62-.14 1.138-.421 1.551-.283.414-.7.753-1.256 1.015.757.219 1.318.602 1.69 1.146.374.549.557 1.206.557 1.976 0 .625-.119 1.162-.358 1.613a3.11 3.11 0 0 1-.974 1.114 4.315 4.315 0 0 1-1.399.64 6.287 6.287 0 0 1-1.609.206H2V5.731h5.803zm-.351 4.972c.48 0 .878-.114 1.192-.345.312-.228.463-.604.463-1.119 0-.286-.051-.522-.151-.707a1.114 1.114 0 0 0-.417-.428 1.683 1.683 0 0 0-.597-.215 3.609 3.609 0 0 0-.697-.061H4.71v2.875h2.742zm.151 5.239c.267 0 .521-.023.76-.077.241-.052.455-.136.637-.261.182-.12.332-.283.44-.491.109-.206.162-.475.162-.798 0-.634-.179-1.085-.533-1.358-.355-.27-.831-.404-1.414-.404H4.71v3.39h2.893zm8.565-.041c.367.358.896.538 1.584.538.493 0 .919-.125 1.278-.373.354-.249.57-.515.653-.79h2.155c-.346 1.072-.871 1.838-1.589 2.299-.709.463-1.572.693-2.58.693-.702 0-1.334-.113-1.9-.337a4.033 4.033 0 0 1-1.439-.958 4.37 4.37 0 0 1-.905-1.485 5.433 5.433 0 0 1-.32-1.899c0-.666.111-1.289.329-1.864a4.376 4.376 0 0 1 .934-1.493c.405-.42.885-.751 1.444-.994a4.634 4.634 0 0 1 1.858-.362c.754 0 1.413.146 1.979.44a3.967 3.967 0 0 1 1.39 1.182c.363.493.622 1.058.783 1.691.161.632.217 1.292.171 1.983h-6.431c.001.704.238 1.371.606 1.729zm2.812-4.681c-.291-.322-.783-.496-1.385-.496-.391 0-.714.065-.974.199a1.97 1.97 0 0 0-.62.491 1.772 1.772 0 0 0-.328.628 2.82 2.82 0 0 0-.111.587h3.982c-.058-.624-.272-1.085-.564-1.409zm-3.918-4.663h4.989v1.215h-4.989z\"}}]})(props);\n};\nexport function BiLogoBing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5.71 3 3.593 1.264v12.645l5.061-2.919-2.48-1.165-1.566-3.897 7.974 2.802v4.073l-8.984 5.183-3.595-2L5.71 3z\"}}]})(props);\n};\nexport function BiLogoBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.953 8.819-.547 2.19c.619.154 2.529.784 2.838-.456.322-1.291-1.673-1.579-2.291-1.734zm-.822 3.296-.603 2.415c.743.185 3.037.921 3.376-.441.355-1.422-2.029-1.789-2.773-1.974z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.421 2.299C9.064.964 3.641 4.224 2.306 9.581.97 14.936 4.23 20.361 9.583 21.697c5.357 1.335 10.783-1.924 12.117-7.281 1.336-5.356-1.924-10.781-7.279-12.117zm1.991 8.275c-.145.974-.686 1.445-1.402 1.611.985.512 1.485 1.298 1.009 2.661-.592 1.691-1.998 1.834-3.87 1.48l-.454 1.82-1.096-.273.447-1.794a44.624 44.624 0 0 1-.875-.228l-.449 1.804-1.095-.275.454-1.823c-.257-.066-.517-.136-.782-.202L6.87 15l.546-1.256s.808.215.797.199c.311.077.448-.125.502-.261l.719-2.875.115.029a.864.864 0 0 0-.114-.037l.512-2.053c.013-.234-.066-.528-.511-.639.018-.011-.797-.198-.797-.198l.291-1.172 1.514.378-.001.005c.227.057.461.111.7.165l.449-1.802 1.097.273-.44 1.766c.294.067.591.135.879.207l.438-1.755 1.097.273-.449 1.802c1.384.479 2.396 1.195 2.198 2.525z\"}}]})(props);\n};\nexport function BiLogoBlender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.427 13.011c.037-.667.363-1.254.856-1.671a2.855 2.855 0 0 1 1.844-.66c.71 0 1.36.25 1.845.66.492.417.819 1.005.856 1.671.038.686-.237 1.323-.721 1.795a2.829 2.829 0 0 1-1.979.782 2.83 2.83 0 0 1-1.981-.782c-.483-.472-.759-1.109-.72-1.795z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.124 14.361c.005.26.089.767.213 1.164a6.156 6.156 0 0 0 1.328 2.299 6.833 6.833 0 0 0 2.323 1.667 7.465 7.465 0 0 0 3.05.635 7.495 7.495 0 0 0 3.051-.645 6.913 6.913 0 0 0 2.321-1.675 6.196 6.196 0 0 0 1.326-2.303 5.76 5.76 0 0 0 .25-1.285 5.942 5.942 0 0 0-.888-3.594 6.496 6.496 0 0 0-1.545-1.703l.001-.001-6.249-4.799-.016-.014c-.411-.314-1.101-.313-1.551.002-.457.319-.508.846-.104 1.18l-.001.001 2.606 2.121-7.943.009h-.012c-.656 0-1.287.432-1.412.976-.128.555.318 1.015 1.001 1.017l-.001.003 4.027-.008-7.188 5.516-.027.021c-.677.519-.896 1.382-.47 1.929.434.556 1.354.556 2.04.002l3.922-3.209c.001 0-.056.433-.052.694zm10.078 1.45c-.808.824-1.938 1.291-3.163 1.293-1.226.002-2.356-.461-3.165-1.283a3.739 3.739 0 0 1-.864-1.352 3.503 3.503 0 0 1-.199-1.511c.044-.505.193-.987.434-1.422.236-.429.562-.815.962-1.144a4.477 4.477 0 0 1 2.832-.988 4.478 4.478 0 0 1 2.832.98c.399.326.725.711.961 1.139.24.436.39.916.434 1.421a3.52 3.52 0 0 1-.198 1.511 3.804 3.804 0 0 1-.866 1.356z\"}}]})(props);\n};\nexport function BiLogoBlogger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.954 10.667c-.072-.322-.272-.621-.502-.745-.07-.039-.522-.088-1.004-.109-.809-.036-.898-.052-1.152-.201-.405-.237-.516-.493-.518-1.187-.002-1.327-.554-2.559-1.646-3.67-.776-.793-1.645-1.329-2.634-1.629-.236-.072-.768-.097-2.545-.118-2.787-.033-3.405.024-4.356.402-1.748.697-3.008 2.166-3.465 4.05-.087.353-.103.92-.124 4.177-.025 4.08.004 4.68.258 5.488.212.668.425 1.077.861 1.657.835 1.108 2.083 1.907 3.334 2.133.595.107 7.931.135 8.683.032 1.306-.178 2.331-.702 3.293-1.684.694-.71 1.129-1.479 1.414-2.499.117-.424.127-.63.149-3.117.017-1.878.002-2.758-.046-2.98zM8.007 8.108c.313-.316.399-.329 2.364-.329 1.764 0 1.822.004 2.081.134.375.189.538.456.538.88 0 .384-.153.653-.493.869-.184.115-.293.123-2.021.133-1.067.007-1.916-.013-2.043-.048-.669-.184-.918-1.143-.426-1.639zm7.706 8.037-.597.098-3.114.035c-2.736.033-3.511-.018-3.652-.08-.288-.124-.554-.472-.602-.78-.042-.292.104-.696.33-.9.285-.257.409-.266 3.911-.27 3.602-.002 3.583-.003 3.925.315.482.45.381 1.251-.201 1.582z\"}}]})(props);\n};\nexport function BiLogoBootstrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.002 2.997H5.999A3.011 3.011 0 0 0 2.997 6v12.002a3.012 3.012 0 0 0 3.002 3.001h12.003a3.012 3.012 0 0 0 3.001-3.001V6a3.012 3.012 0 0 0-3.001-3.003zm-1.64 12.647c-.152.36-.389.68-.693.927a3.594 3.594 0 0 1-1.206.614c-.49.151-1.074.229-1.75.229H7.888V6.909h5.103c.943 0 1.7.213 2.267.646.569.436.854 1.082.854 1.958 0 .528-.13.983-.389 1.357-.259.373-.63.664-1.111.868v.034c.642.135 1.137.438 1.464.912.327.473.493 1.069.493 1.789 0 .405-.078.788-.225 1.147l.02.021v.003zm-2.084-2.589c-.309-.282-.739-.419-1.297-.419H9.737v3.276h3.253c.554 0 .991-.144 1.298-.435.308-.289.464-.701.464-1.229-.005-.518-.156-.919-.464-1.193h-.014.004zm-.451-2.119c.299-.251.444-.613.444-1.084 0-.526-.131-.902-.397-1.116-.264-.214-.646-.326-1.146-.326H9.727v2.898h3.001c.436.001.81-.127 1.099-.372z\"}}]})(props);\n};\nexport function BiLogoCPlusPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.66 7a1.51 1.51 0 0 0-.55-.57l-7.34-4.24a1.67 1.67 0 0 0-1.54 0L3.89 6.43a1.68 1.68 0 0 0-.77 1.33v8.48a1.57 1.57 0 0 0 .22.76 1.51 1.51 0 0 0 .55.57l7.34 4.24a1.67 1.67 0 0 0 1.54 0l7.34-4.24a1.51 1.51 0 0 0 .55-.57 1.57 1.57 0 0 0 .22-.76V7.76a1.57 1.57 0 0 0-.22-.76zM12 17.92A5.92 5.92 0 1 1 17.13 9L16 9.71l-.36.2-1 .61A3 3 0 0 0 9 12a2.88 2.88 0 0 0 .4 1.48 3 3 0 0 0 5.13 0l2.6 1.52A5.94 5.94 0 0 1 12 17.92zm5.92-5.59h-.66V13h-.65v-.66H16v-.66h.66V11h.65v.66h.66zm2.47 0h-.66V13h-.66v-.66h-.65v-.66h.65V11h.66v.66h.66z\"}}]})(props);\n};\nexport function BiLogoChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.742 2.04c-1.404.183-3.06.808-4.281 1.626-1.01.664-2.397 2.02-2.309 2.251.193.501 3.28 5.658 3.33 5.562.038-.067.095-.279.123-.49.25-1.385 1.425-2.704 2.897-3.253.568-.221.683-.221 5.495-.27l4.917-.047-.395-.646c-1.385-2.26-3.522-3.819-6.197-4.512-.731-.193-2.81-.318-3.58-.22z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.2 7.217c-.453.799-.983 2.415-1.107 3.358-.588 4.273 1.568 8.4 5.379 10.315.894.452 2.174.885 2.732.933l.356.029 1.674-2.838c.915-1.559 1.655-2.849 1.636-2.868-.02-.019-.231.039-.481.125-1.569.53-3.387.086-4.57-1.116-.424-.424-1.002-1.357-2.84-4.542C4.71 8.41 3.642 6.601 3.603 6.601c-.028 0-.211.279-.403.616z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.15 8.804c1.222 1.242 1.655 3.003 1.116 4.59-.086.26-1.212 2.271-2.501 4.485-1.29 2.203-2.349 4.031-2.349 4.06 0 .115 1.328.057 2.175-.087 4.32-.74 7.573-4.002 8.265-8.276.26-1.558.164-2.925-.307-4.503l-.25-.837h-6.707l.557.568z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.608 8.563C9.598 8.987 8.905 9.7 8.53 10.71c-.173.453-.202.713-.173 1.424.03.75.068.963.347 1.511.366.75.962 1.329 1.751 1.703.462.221.654.25 1.54.25.895 0 1.077-.029 1.559-.26.712-.326 1.462-1.077 1.79-1.79.23-.48.259-.663.259-1.558 0-.886-.029-1.078-.25-1.54-.375-.788-.952-1.386-1.703-1.75-.568-.28-.742-.318-1.56-.348-.788-.019-.99.01-1.48.212z\"}}]})(props);\n};\nexport function BiLogoCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.838 8.445c0-.001-.001-.001 0 0l-.003-.004-.001-.001v-.001a.809.809 0 0 0-.235-.228l-9.164-6.08a.834.834 0 0 0-.898 0L2.371 8.214A.786.786 0 0 0 2 8.897v6.16a.789.789 0 0 0 .131.448v.001l.002.002.01.015v.002h.001l.001.001.001.001c.063.088.14.16.226.215l9.165 6.082a.787.787 0 0 0 .448.139.784.784 0 0 0 .45-.139l9.165-6.082a.794.794 0 0 0 .371-.685v-6.16a.793.793 0 0 0-.133-.452zm-9.057-4.172 6.953 4.613-3.183 2.112-3.771-2.536V4.273zm-1.592 0v4.189l-3.771 2.536-3.181-2.111 6.952-4.614zm-7.595 6.098 2.395 1.59-2.395 1.611v-3.201zm7.595 9.311-6.96-4.617 3.195-2.15 3.765 2.498v4.269zm.795-5.653-3.128-2.078 3.128-2.105 3.131 2.105-3.131 2.078zm.797 5.653v-4.27l3.766-2.498 3.193 2.15-6.959 4.618zm7.597-6.11-2.396-1.611 2.396-1.59v3.201z\"}}]})(props);\n};\nexport function BiLogoCreativeCommons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.354 6.479a10.021 10.021 0 0 0-7.421-4.429c-3.108-.294-6.031.771-8.123 2.963C3.533 6.35 2.699 7.839 2.21 9.66c-.217.805-.247 1.104-.244 2.396.002 1.293.034 1.599.255 2.432a10.232 10.232 0 0 0 7.451 7.332c.315.078.702.16.859.182.696.097 2.381.056 3.131-.075 3.088-.538 5.832-2.531 7.24-5.258 1.644-3.181 1.426-7.222-.548-10.19zm-.41 7.688c-.808 2.99-3.263 5.272-6.361 5.912-4.831.997-9.538-2.658-9.839-7.641-.194-3.217 1.755-6.446 4.745-7.863 1.133-.536 2.045-.733 3.425-.738 1.327-.004 2.064.132 3.223.596 2.324.931 4.146 3.04 4.816 5.573.281 1.06.276 3.103-.009 4.161z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.042 14.955c-.915-.324-1.616-1.275-1.74-2.36-.183-1.607.422-2.856 1.654-3.415.669-.303 1.882-.296 2.603.016.438.19 1.261.933 1.261 1.139 0 .033-.284.201-.631.372l-.632.312-.337-.337c-.187-.188-.475-.363-.649-.396-.433-.082-.952.111-1.187.44-.389.546-.415 1.972-.048 2.533.191.291.512.494.813.518.635.05.796-.006 1.172-.401l.379-.398.488.269c.269.148.527.305.575.347.164.148-.592.92-1.199 1.224-.517.259-.679.293-1.358.286-.425-.006-.949-.074-1.164-.149zm5.816 0c-.901-.32-1.591-1.241-1.739-2.325-.215-1.569.419-2.888 1.654-3.45.717-.324 1.934-.3 2.661.056.45.221 1.201.911 1.201 1.104 0 .034-.295.203-.654.377l-.654.317-.341-.37c-.304-.332-.385-.369-.802-.369-.576 0-.945.225-1.145.698-.18.423-.201 1.461-.043 1.934.324.961 1.505 1.188 2.175.419l.304-.346.58.294c.32.161.582.319.582.352 0 .219-.75.918-1.256 1.17-.517.259-.679.293-1.358.287-.425-.005-.949-.073-1.165-.148z\"}}]})(props);\n};\nexport function BiLogoCss3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.192 3.143h15.615l-1.42 16.034-6.404 1.812-6.369-1.813L4.192 3.143zM16.9 6.424l-9.8-.002.158 1.949 7.529.002-.189 2.02H9.66l.179 1.913h4.597l-.272 2.62-2.164.598-2.197-.603-.141-1.569h-1.94l.216 2.867L12 17.484l3.995-1.137.905-9.923z\"}}]})(props);\n};\nexport function BiLogoDailymotion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.551 11.485a2.327 2.327 0 0 0-2.328 2.332c0 1.314 1.013 2.313 2.441 2.313l-.012.002c1.192 0 2.193-.983 2.193-2.28.001-1.349-1.001-2.367-2.294-2.367z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18V3H3zm15.52 15.605h-2.682v-1.058c-.825.81-1.667 1.103-2.786 1.103-1.142 0-2.124-.371-2.947-1.114-1.086-.956-1.648-2.227-1.648-3.701 0-1.351.524-2.561 1.507-3.506.878-.859 1.946-1.298 3.139-1.298 1.14 0 2.018.385 2.647 1.192V6.118l2.77-.574v-.002l.002.003h-.002v13.06z\"}}]})(props);\n};\nexport function BiLogoDeezer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.68 5.47H22V8h-4.32zm0 3.51H22v2.53h-4.32zm0 3.51H22v2.53h-4.32zM2 16h4.32v2.53H2zm5.22 0h4.32v2.53H7.22zm5.23 0h4.32v2.53h-4.32zm5.23 0H22v2.53h-4.32zm-5.23-3.51h4.32v2.53h-4.32zm-5.23 0h4.32v2.53H7.22zm0-3.51h4.32v2.53H7.22z\"}}]})(props);\n};\nexport function BiLogoDevTo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.826 10.083a.784.784 0 0 0-.468-.175h-.701v4.198h.701a.786.786 0 0 0 .469-.175c.155-.117.233-.292.233-.525v-2.798c.001-.233-.079-.408-.234-.525zM19.236 3H4.764C3.791 3 3.002 3.787 3 4.76v14.48c.002.973.791 1.76 1.764 1.76h14.473c.973 0 1.762-.787 1.764-1.76V4.76A1.765 1.765 0 0 0 19.236 3zM9.195 13.414c0 .755-.466 1.901-1.942 1.898H5.389V8.665h1.903c1.424 0 1.902 1.144 1.903 1.899v2.85zm4.045-3.562H11.1v1.544h1.309v1.188H11.1v1.543h2.142v1.188h-2.498a.813.813 0 0 1-.833-.792V9.497a.813.813 0 0 1 .792-.832h2.539l-.002 1.187zm4.165 4.632c-.531 1.235-1.481.99-1.906 0l-1.548-5.818h1.309l1.193 4.569 1.188-4.569h1.31l-1.546 5.818z\"}}]})(props);\n};\nexport function BiLogoDeviantart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.57 3h-3.271l-.326.33-1.544 2.942-.486.327H6.432v4.495h3.03l.27.327-3.3 6.305v3.273h3.272l.327-.33 1.543-2.943.486-.326h5.511v-4.495h-3.03l-.269-.329 3.299-6.303L17.57 3z\"}}]})(props);\n};\nexport function BiLogoDigg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.803 8.8v6.801h3.2v.799h-3.2v1.602h5.2V8.8h-5.2zm-6 0v6.801h3.199v.799h-3.199v1.602h5.199V8.8h-5.199zM5.2 5.999V8.8H2v6.801h5.201V5.999H5.2zM10.001 8.8h-2v6.801h2V8.8zM20.003 14h-1.2v-3.601h1.2V14zM5.2 14H4v-3.601h1.2V14zm8.802 0h-1.2v-3.601h1.2V14zm-4.001-8.001h-2v2h2v-2z\"}}]})(props);\n};\nexport function BiLogoDigitalocean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.005 21.992v-3.877c4.104 0 7.288-4.068 5.714-8.388a5.81 5.81 0 0 0-3.457-3.446c-4.319-1.563-8.389 1.61-8.389 5.714H2.008c0-6.541 6.325-11.642 13.184-9.499 2.991.94 5.383 3.321 6.313 6.313 2.141 6.858-2.96 13.183-9.5 13.183z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.017 18.139H8.152v-3.866h3.865zm-3.865 2.959H5.193v-2.959h2.959zm-2.959-2.959H2.711v-2.483h2.482v2.483z\"}}]})(props);\n};\nexport function BiLogoDiscordAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.82 4.26a10.14 10.14 0 0 0-.53 1.1 14.66 14.66 0 0 0-4.58 0 10.14 10.14 0 0 0-.53-1.1 16 16 0 0 0-4.13 1.3 17.33 17.33 0 0 0-3 11.59 16.6 16.6 0 0 0 5.07 2.59A12.89 12.89 0 0 0 8.23 18a9.65 9.65 0 0 1-1.71-.83 3.39 3.39 0 0 0 .42-.33 11.66 11.66 0 0 0 10.12 0q.21.18.42.33a10.84 10.84 0 0 1-1.71.84 12.41 12.41 0 0 0 1.08 1.78 16.44 16.44 0 0 0 5.06-2.59 17.22 17.22 0 0 0-3-11.59 16.09 16.09 0 0 0-4.09-1.35zM8.68 14.81a1.94 1.94 0 0 1-1.8-2 1.93 1.93 0 0 1 1.8-2 1.93 1.93 0 0 1 1.8 2 1.93 1.93 0 0 1-1.8 2zm6.64 0a1.94 1.94 0 0 1-1.8-2 1.93 1.93 0 0 1 1.8-2 1.92 1.92 0 0 1 1.8 2 1.92 1.92 0 0 1-1.8 2z\"}}]})(props);\n};\nexport function BiLogoDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.593 10.971c-.542 0-.969.475-.969 1.055 0 .578.437 1.055.969 1.055.541 0 .968-.477.968-1.055.011-.581-.427-1.055-.968-1.055zm3.468 0c-.542 0-.969.475-.969 1.055 0 .578.437 1.055.969 1.055.541 0 .968-.477.968-1.055-.001-.581-.427-1.055-.968-1.055z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.678 3H4.947A1.952 1.952 0 0 0 3 4.957v12.844c0 1.083.874 1.957 1.947 1.957H15.72l-.505-1.759 1.217 1.131 1.149 1.064L19.625 22V4.957A1.952 1.952 0 0 0 17.678 3zM14.01 15.407s-.342-.408-.626-.771c1.244-.352 1.719-1.13 1.719-1.13-.39.256-.76.438-1.093.562a6.679 6.679 0 0 1-3.838.398 7.944 7.944 0 0 1-1.396-.41 5.402 5.402 0 0 1-.693-.321c-.029-.021-.057-.029-.085-.048a.117.117 0 0 1-.039-.03c-.171-.094-.266-.16-.266-.16s.456.76 1.663 1.121c-.285.36-.637.789-.637.789-2.099-.067-2.896-1.444-2.896-1.444 0-3.059 1.368-5.538 1.368-5.538 1.368-1.027 2.669-.998 2.669-.998l.095.114c-1.71.495-2.499 1.245-2.499 1.245s.21-.114.561-.275c1.016-.446 1.823-.57 2.156-.599.057-.009.105-.019.162-.019a7.756 7.756 0 0 1 4.778.893s-.751-.712-2.366-1.206l.133-.152s1.302-.029 2.669.998c0 0 1.368 2.479 1.368 5.538 0-.001-.807 1.376-2.907 1.443z\"}}]})(props);\n};\nexport function BiLogoDiscourse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.077 3C7.149 3 3 6.96 3 11.843V21l9.075-.01c4.928 0 8.925-4.11 8.925-8.993C21 7.113 17 3 12.077 3zm3.92 12.859a5.568 5.568 0 0 1-6.102 1.043l-3.595.805 1.001-3.192a5.435 5.435 0 0 1 .11-5.415 5.55 5.55 0 0 1 4.753-2.678v.001h.006a5.533 5.533 0 0 1 5.131 3.438 5.442 5.442 0 0 1-1.304 5.998z\"}}]})(props);\n};\nexport function BiLogoDjango (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.533 12.249c-.011 1.985 1.445 3.168 3.768 2.63V9.618c-2.352-.716-3.758.733-3.768 2.631m3.839-10.238h3.199v15.143c-3.066.501-6.004.819-8.104-.355-2.705-1.513-2.923-6.319-.782-8.46 1.085-1.085 3.271-1.85 5.616-1.351V2.225c-.006-.101-.012-.202.071-.214m8.389 3.342h-3.199V2.011h3.199v3.342z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.761 7.044c-.003 2.356-.003 4.048-.003 6.911-.136 2.813-.104 5.052-1.135 6.398-.203.266-.634.652-.995.924-.303.228-.881.691-1.208.711-.331.021-1.18-.459-1.564-.64-.505-.237-.971-.553-1.493-.71 1.218-.754 2.372-1.32 2.844-2.844.41-1.326.355-3.247.355-5.119 0-1.849.009-3.998.009-5.63l3.19-.001z\"}}]})(props);\n};\nexport function BiLogoDocker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.17 9.82a4.76 4.76 0 0 0-.84.07 3.12 3.12 0 0 0-1.43-2.14l-.28-.16-.19.27a3.7 3.7 0 0 0-.51 1.19 2.84 2.84 0 0 0 .33 2.22 4.11 4.11 0 0 1-1.45.35H2.63a.63.63 0 0 0-.63.62 9.6 9.6 0 0 0 .58 3.39 5 5 0 0 0 2 2.6 8.86 8.86 0 0 0 4.42.95 13.27 13.27 0 0 0 2.42-.18 10.09 10.09 0 0 0 3.19-1.15A8.9 8.9 0 0 0 16.78 16a11.94 11.94 0 0 0 2.13-3.67h.19a3.08 3.08 0 0 0 2.23-.84 2.36 2.36 0 0 0 .59-.87l.08-.22-.2-.16a2.69 2.69 0 0 0-1.63-.42z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.61 9.35H3.85a.16.16 0 0 0-.16.15v1.58a.16.16 0 0 0 .16.15h1.76a.16.16 0 0 0 .16-.15V9.5a.16.16 0 0 0-.16-.15zm2.44 0H6.28a.16.16 0 0 0-.16.15v1.58a.16.16 0 0 0 .16.15h1.77a.15.15 0 0 0 .15-.15V9.5a.15.15 0 0 0-.15-.15zm2.47 0H8.75a.15.15 0 0 0-.15.15v1.58a.15.15 0 0 0 .15.15h1.77a.15.15 0 0 0 .15-.15V9.5a.15.15 0 0 0-.15-.15zm.67 0a.15.15 0 0 0-.19.15v1.58a.15.15 0 0 0 .15.15H13a.15.15 0 0 0 .15-.15V9.5a.15.15 0 0 0-.15-.15zM6.28 7.09H8a.16.16 0 0 1 .16.16v1.56A.16.16 0 0 1 8 9H6.28a.15.15 0 0 1-.15-.15V7.24a.15.15 0 0 1 .15-.15zm2.47 0h1.77a.15.15 0 0 1 .15.15v1.57a.16.16 0 0 1-.16.16H8.75a.15.15 0 0 1-.15-.15V7.24a.15.15 0 0 1 .15-.15zm2.44 0H13a.15.15 0 0 1 .15.15v1.57A.15.15 0 0 1 13 9h-1.81a.16.16 0 0 1-.19-.19V7.24a.15.15 0 0 1 .19-.15z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"11.04\",\"y\":\"4.82\",\"width\":\"2.07\",\"height\":\"1.88\",\"rx\":\".15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.65 9.35a.15.15 0 0 0-.15.15v1.58a.15.15 0 0 0 .15.15h1.77a.15.15 0 0 0 .15-.15V9.5a.15.15 0 0 0-.15-.15z\"}}]})(props);\n};\nexport function BiLogoDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.66 6.98a9.932 9.932 0 0 0-3.641-3.64C15.486 2.447 13.813 2 12 2s-3.486.447-5.02 1.34c-1.533.893-2.747 2.107-3.64 3.64S2 10.187 2 12s.446 3.487 1.34 5.02a9.924 9.924 0 0 0 3.641 3.64C8.514 21.553 10.187 22 12 22s3.486-.447 5.02-1.34a9.932 9.932 0 0 0 3.641-3.64C21.554 15.487 22 13.813 22 12s-.446-3.487-1.34-5.02zM12 3.66c2 0 3.772.64 5.32 1.919-.92 1.174-2.286 2.14-4.1 2.9-1.002-1.813-2.088-3.327-3.261-4.54A7.715 7.715 0 0 1 12 3.66zM5.51 6.8a8.116 8.116 0 0 1 2.711-2.22c1.212 1.201 2.325 2.7 3.34 4.5-2 .6-4.114.9-6.341.9-.573 0-1.006-.013-1.3-.04A8.549 8.549 0 0 1 5.51 6.8zM3.66 12c0-.054.003-.12.01-.2.007-.08.01-.146.01-.2.254.014.641.02 1.161.02 2.666 0 5.146-.367 7.439-1.1.187.373.381.793.58 1.26-1.32.293-2.674 1.006-4.061 2.14S6.4 16.247 5.76 17.5c-1.4-1.587-2.1-3.42-2.1-5.5zM12 20.34c-1.894 0-3.594-.587-5.101-1.759.601-1.187 1.524-2.322 2.771-3.401 1.246-1.08 2.483-1.753 3.71-2.02a29.441 29.441 0 0 1 1.56 6.62 8.166 8.166 0 0 1-2.94.56zm7.08-3.96a8.351 8.351 0 0 1-2.58 2.621c-.24-2.08-.7-4.107-1.379-6.081.932-.066 1.765-.1 2.5-.1.799 0 1.686.034 2.659.1a8.098 8.098 0 0 1-1.2 3.46zm-1.24-5c-1.16 0-2.233.047-3.22.14a27.053 27.053 0 0 0-.68-1.62c2.066-.906 3.532-2.006 4.399-3.3 1.2 1.414 1.854 3.027 1.96 4.84-.812-.04-1.632-.06-2.459-.06z\"}}]})(props);\n};\nexport function BiLogoDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.004 3.5 2 6.689l5.004 3.186 5.002-3.186zm10.005 0-5.003 3.189 5.003 3.186 5.003-3.186zM2 13.062l5.004 3.187 5.002-3.187-5.002-3.187zm15.009-3.187-5.003 3.187 5.003 3.187 5.003-3.187zM7.004 17.311l5.002 3.189 5.003-3.189-5.003-3.186z\"}}]})(props);\n};\nexport function BiLogoDrupal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.474 14.42a3.162 3.162 0 1 0 0 6.324 3.162 3.162 0 0 0 0-6.324zm3.936-.606a5.433 5.433 0 0 1 1.513 3.769 5.441 5.441 0 0 1-2.335 4.47c2.609-.803 4.771-2.767 5.737-5.142 1.338-3.288.09-5.761-1.999-8.005.066.288.103.592.103.898a4.175 4.175 0 0 1-3.019 4.01zm-3.577-4.003c0 1.34 1.087 2.419 2.42 2.419s2.423-1.087 2.423-2.419a2.418 2.418 0 0 0-2.417-2.417 2.425 2.425 0 0 0-2.426 2.417z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.303 21.093a5.435 5.435 0 0 1-1.276-3.51 5.441 5.441 0 0 1 4.8-5.408 4.162 4.162 0 0 1 3.99-6.492c-1.361-1.176-2.724-2.369-3.799-3.672.547 5.714-5.2 3.638-7.332 8.904-1.422 3.527-.138 7.892 3.617 10.178z\"}}]})(props);\n};\nexport function BiLogoEbay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.021 12.111V8.004h1.001v2.525c.493-.586 1.17-.756 1.838-.756 1.118 0 2.361.754 2.361 2.383 0 .195-.014.381-.051.559.2-.797 1.063-1.09 2.418-1.123.426-.016.914-.016 1.302-.016v-.111c0-.738-.464-1.039-1.276-1.039-.602 0-1.04.25-1.09.676H12.46c.113-1.076 1.253-1.352 2.242-1.352.889 0 1.666.225 2.017.852l-.365-.702h1.177l1.716 3.443 1.716-3.445H22l-3.105 6.098h-1.124l.894-1.703-1.945-3.656c.108.213.167.465.167.777v2.055c0 .289.009.574.034.838h-.931a5.478 5.478 0 0 1-.038-.639c-.503.613-1.103.803-1.937.803-1.236 0-1.897-.652-1.897-1.416 0-.125.013-.236.031-.338-.251 1.041-1.135 1.74-2.31 1.74-.727 0-1.414-.262-1.837-.775 0 .201-.013.412-.033.611h-.986c.018-.324.034-.713.034-1.037v-.877H2.985c.054.914.683 1.451 1.547 1.451.599 0 1.131-.25 1.309-.775h1.035c-.2 1.078-1.344 1.439-2.329 1.439-1.789.018-2.582-.973-2.582-2.301 0-1.463.819-2.428 2.602-2.428 1.409 0 2.445.738 2.454 2.342v.004zm7.627.153c-.915.027-1.479.193-1.479.793 0 .389.301.809 1.09.809 1.052 0 1.615-.574 1.615-1.514v-.109c-.376 0-.826.006-1.239.02h.011l.002.001zm-5.059 1.564c.927 0 1.566-.672 1.566-1.686s-.642-1.686-1.58-1.686c-.928 0-1.578.672-1.578 1.686s.639 1.686 1.565 1.686h.027zM5.958 11.73c-.037-.939-.714-1.291-1.44-1.291-.788 0-1.414.395-1.516 1.291h2.956z\"}}]})(props);\n};\nexport function BiLogoEdge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.349 13.684H8.874c0 .433.063.825.195 1.178a3.334 3.334 0 0 0 1.381 1.634c.309.196.646.359 1.005.484.356.13.729.226 1.107.288.821.13 1.658.123 2.477-.021a9.79 9.79 0 0 0 2.421-.783c.393-.18.79-.376 1.201-.594v3.805a13.453 13.453 0 0 1-2.711.978c-.457.112-.92.196-1.396.246-.486.054-.975.079-1.464.079a8.185 8.185 0 0 1-1.95-.232 7.679 7.679 0 0 1-1.762-.668 7.29 7.29 0 0 1-1.51-1.062 6.67 6.67 0 0 1-1.941-3.103 6.978 6.978 0 0 1-.267-1.953c0-.737.101-1.439.303-2.11a6.718 6.718 0 0 1 2.264-3.342 7.38 7.38 0 0 1 1.847-1.066 3.891 3.891 0 0 0-.869 1.329 5.682 5.682 0 0 0-.401 1.538h6.391c0-.646-.063-1.207-.196-1.689-.131-.484-.342-.885-.637-1.201A2.64 2.64 0 0 0 13.23 6.7c-.462-.16-1.021-.241-1.675-.241-.771 0-1.543.111-2.314.344a9.804 9.804 0 0 0-2.2.955c-.695.412-1.335.897-1.919 1.452a9.167 9.167 0 0 0-1.474 1.819c.084-.742.247-1.474.485-2.18a9.304 9.304 0 0 1 .912-1.938 8.622 8.622 0 0 1 1.303-1.609 7.735 7.735 0 0 1 1.655-1.235 8.45 8.45 0 0 1 1.955-.792 10.042 10.042 0 0 1 2.233-.254c.46 0 .917.041 1.375.124.457.084.903.196 1.339.342a8.012 8.012 0 0 1 2.315 1.239 7.95 7.95 0 0 1 1.711 1.833c.463.692.813 1.459 1.055 2.292s.365 1.701.365 2.602v2.23h-.002z\"}}]})(props);\n};\nexport function BiLogoEtsy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.139 14.058c-.438 0-.693-.294-.693-1.058v-2.696l1.456.112.074-.694-1.496.074v-1.53h-.438c-.216 1.201-.759 1.638-1.488 1.712v.364h.869v3.062c0 .836.588 1.271 1.313 1.271.585 0 1.202-.255 1.418-.763l-.217-.255c-.108.18-.402.401-.798.401zm-3.494-.803c-.294.69-.767.729-1.24.729h-1.53c-.508 0-.729-.186-.729-.62v-2.258s1.092 0 1.457.039c.291.035.438.109.546.473l.108.511h.438l-.039-1.309.074-1.278h-.434l-.147.585c-.073.399-.147.438-.546.508-.508.038-1.457.038-1.457.038V7.979c0-.112 0-.147.185-.147h2.291c.402 0 .62.326.763.98l.147.512h.399c.039-1.457.074-2.074.074-2.074s-.981.105-1.562.105H3.53L2 7.324v.399l.508.107c.367.074.475.147.475.473 0 0 .039.984.039 2.619 0 1.639-.039 2.623-.039 2.623 0 .291-.108.399-.475.473L2 14.131v.396l1.565-.035h2.623c.581 0 1.965.035 1.965.035.034-.361.216-1.964.255-2.146H8.04l-.395.874zm6.04-2.622c0-.474.437-.655.875-.655.36 0 .653.147.729.325l.255.729.361-.035c0-.364.038-.838.111-1.201-.328-.147-.983-.221-1.421-.221-.984 0-1.747.441-1.747 1.387 0 1.674 2.44 1.31 2.44 2.549 0 .399-.256.729-.876.729-.581 0-.837-.294-.945-.585l-.29-.693h-.369c.04.476.074.948 0 1.382 0 0 .767.294 1.531.294 1.022 0 1.858-.507 1.858-1.457 0-1.674-2.512-1.421-2.512-2.548zm6.369-.945v.364l.259.074c.252.07.36.178.36.363 0 .108-.034.144-.073.291-.108.291-.802 2.003-1.162 2.767a75.566 75.566 0 0 1-1.093-2.949c-.035-.073-.035-.108-.035-.146 0-.148.105-.292.361-.326l.329-.074v-.364l-1.346.073-1.096-.039v.368l.187.069c.251.074.287.11.469.512.693 1.53 1.457 3.529 1.716 4.15-.584 1.019-1.204 1.309-1.677 1.309-.291 0-.399-.147-.435-.329l-.146-.763-.4.035c-.073.477-.147.984-.255 1.383.287.182.616.294 1.053.293.691 0 1.675-.182 2.623-2.332l1.601-3.747c.145-.293.182-.329.546-.476l.183-.144v-.362l-.945.034-1.024-.034z\"}}]})(props);\n};\nexport function BiLogoFacebookCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.001 2.002c-5.522 0-9.999 4.477-9.999 9.999 0 4.99 3.656 9.126 8.437 9.879v-6.988h-2.54v-2.891h2.54V9.798c0-2.508 1.493-3.891 3.776-3.891 1.094 0 2.24.195 2.24.195v2.459h-1.264c-1.24 0-1.628.772-1.628 1.563v1.875h2.771l-.443 2.891h-2.328v6.988C18.344 21.129 22 16.992 22 12.001c0-5.522-4.477-9.999-9.999-9.999z\"}}]})(props);\n};\nexport function BiLogoFacebookSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h8.615v-6.96h-2.338v-2.725h2.338v-2c0-2.325 1.42-3.592 3.5-3.592.699-.002 1.399.034 2.095.107v2.42h-1.435c-1.128 0-1.348.538-1.348 1.325v1.735h2.697l-.35 2.725h-2.348V21H20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BiLogoFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.397 20.997v-8.196h2.765l.411-3.209h-3.176V7.548c0-.926.258-1.56 1.587-1.56h1.684V3.127A22.336 22.336 0 0 0 14.201 3c-2.444 0-4.122 1.492-4.122 4.231v2.355H7.332v3.209h2.753v8.202h3.312z\"}}]})(props);\n};\nexport function BiLogoFigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.332 8.668a3.333 3.333 0 0 0 0-6.663H8.668a3.333 3.333 0 0 0 0 6.663 3.333 3.333 0 0 0 0 6.665 3.333 3.333 0 0 0 0 6.664A3.334 3.334 0 0 0 12 18.664V8.668h3.332z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15.332\",\"cy\":\"12\",\"r\":\"3.332\"}}]})(props);\n};\nexport function BiLogoFirebase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.239 15.063 7.21 2.381a.453.453 0 0 1 .847-.145l2.12 3.979-4.938 8.848zM19.24 18.14 17.363 6.469a.454.454 0 0 0-.766-.246L4.76 18.14l6.55 3.691c.411.23.912.23 1.323 0l6.607-3.691zM13.917 7.955 12.4 5.052a.452.452 0 0 0-.8 0L4.939 16.989l8.978-9.034z\"}}]})(props);\n};\nexport function BiLogoFirefox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.634 11.138a2.16 2.16 0 0 0-.06-.286l-.187.236a6.354 6.354 0 0 0-.228-1.274 8.66 8.66 0 0 0-.591-1.511 5.33 5.33 0 0 0-.54-.92c-.109-.17-.203-.296-.221-.322-.362-.589-.767-.947-1.249-1.621a4.942 4.942 0 0 1-.615-1.679 6.091 6.091 0 0 0-.303 1.097c-.483-.489-.913-.846-1.168-1.08-1.267-1.183-1.113-1.79-1.113-1.79s-2.364 2.635-1.342 5.377a5.278 5.278 0 0 0 1.764 2.347c.989.813 2.052 1.452 2.609 3.101a5.2 5.2 0 0 0-1.967-2.087c.253.602.38 1.232.371 1.884a4.468 4.468 0 0 1-4.476 4.465 4.28 4.28 0 0 1-.985-.109 4.117 4.117 0 0 1-1.107-.379 4.4 4.4 0 0 1-1.334-1.226v-.007a.372.372 0 0 0 .075.024c.187.067.372.118.567.153a3.558 3.558 0 0 0 2.245-.263c.708-.396 1.139-.685 1.484-.574.348.109.608-.22.373-.565a1.853 1.853 0 0 0-1.79-.692c-.711.101-1.36.599-2.28.117-.067-.032-.117-.066-.176-.101-.06-.042.202.051.134.009a4.138 4.138 0 0 1-.582-.347c-.009-.009.145.043.126.033a2.235 2.235 0 0 1-.608-.614 1.118 1.118 0 0 1-.04-.973.844.844 0 0 1 .38-.354l.192.1s-.059-.1-.085-.151c.01-.008.019 0 .035-.008.102.042.329.159.455.236a.6.6 0 0 1 .212.186s.043-.017.009-.108a.511.511 0 0 0-.221-.263h.018c.093.051.178.102.261.167.076-.186.119-.368.112-.563a.825.825 0 0 0-.043-.313c-.035-.067.017-.093.075-.025a.545.545 0 0 0-.051-.152s.034-.051.051-.062c.043-.04.084-.082.136-.107.293-.185.599-.347.92-.474a6.52 6.52 0 0 0 .515-.228c.067-.042.127-.084.186-.136.22-.185.364-.438.413-.718.01-.04.01-.074.01-.107v-.069c-.034-.144-.279-.245-1.553-.372a1.104 1.104 0 0 1-.911-.852v.007a2.035 2.035 0 0 0-.051.146c.016-.053.033-.094.051-.146v-.007a3.257 3.257 0 0 1 1.249-1.553c.031-.025-.126.007-.093-.017.102-.051.211-.103.329-.145.059-.018-.245-.134-.515-.11a1.545 1.545 0 0 0-.473.11c.067-.049.252-.118.21-.118a2.837 2.837 0 0 0-.97.363c0-.033.01-.06.018-.083a1.474 1.474 0 0 0-.6.464v-.112a2.706 2.706 0 0 0-.295.28h-.008a3.92 3.92 0 0 0-2.205-.184l-.008-.009h.008a1.684 1.684 0 0 1-.387-.439l-.01.007-.015-.016c-.053-.068-.093-.152-.147-.246-.04-.06-.074-.136-.116-.21 0 0 0-.008-.008-.008-.01 0-.026.077-.033.049a2.668 2.668 0 0 1-.179-1.053H5.28a1.12 1.12 0 0 0-.448.589c-.041.086-.067.128-.092.179v-.028l.024-.125c-.006.009-.006.017-.017.025a1.06 1.06 0 0 0-.15.23 1.117 1.117 0 0 0-.103.243v-.042c0-.034.009-.085 0-.067l-.009.023a5.968 5.968 0 0 0-.506 1.902c-.016.118-.016.228-.016.337v.018a4.422 4.422 0 0 0-.514.683 9.703 9.703 0 0 0-1.082 2.659c.161-.354.354-.701.583-1.021a9.332 9.332 0 0 0-.659 3.454c.076-.346.169-.684.278-1.022a8.737 8.737 0 0 0 .787 4.062 9.397 9.397 0 0 0 3.738 4.229 8.052 8.052 0 0 0 2.169 1.048c.102.033.213.074.313.109-.034-.018-.059-.035-.092-.042a9.912 9.912 0 0 0 2.818.413c3.387 0 4.501-1.292 4.61-1.418.16-.151.303-.331.396-.541.068-.024.127-.05.195-.084l.041-.016c.051-.026.075-.034.075-.034a7.11 7.11 0 0 0 1.437-.896 3.475 3.475 0 0 0 1.326-1.951c.125-.286.125-.6.024-.894.05-.084.094-.161.101-.178a7.954 7.954 0 0 0 1.199-3.876v-.116a4.918 4.918 0 0 0-.072-.872z\"}}]})(props);\n};\nexport function BiLogoFlask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.78 18.29c0 .12.15 0 0 0zm-3.35-2.7c.39.17-.31-.6 0 0zm-5.03.28c.15.26 0-.12 0 0zm5.6.39c-.27-.42-.2.06 0 .32.48.47.18-.26 0-.32z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.24 19.06c-.53.63-1-.07-1.63.13-1.1 0 .09-.5.06-1-.58-.45-1.24.61-1.62.9a10.75 10.75 0 0 1-2.67-.83 8 8 0 0 1-2.6-1.94 8.36 8.36 0 0 1-1.87-2.84 21.36 21.36 0 0 1-.84-5.74c.07-1.3 1.44.14 2-.33-.21-.67-1.29-.88-1.89-1.16-.58 0-.79-.55-1.4-.59 0-.73-1.13-.33-1.56-.84.42-1.08-1.37 0-1.23-.91.58-1.2-1.78-1-.8.06.95.54-.93.93-.38 1.29a.59.59 0 0 1-.53.86c-.74.07-.67 1.09.06.55.81-.25.14.11-.25.18a1.3 1.3 0 0 0-.95 1.9 35.32 35.32 0 0 1 1 3.42A16.25 16.25 0 0 0 5.84 17 9.78 9.78 0 0 0 8 19a9.89 9.89 0 0 0 2.43 1.22 18 18 0 0 0 4.73.73 16.53 16.53 0 0 0 2.9-.24c.87.09 1.49-.65 2.26-.26.48-.42 1.16-.23 1.63-.54.32-1.22-1.22-.27-1.71-.85zm-1.74-.74c-.22 0 .05-.34 0 0zm-7.63-11c-.1 0-.08-.12-.16-.15-.8-.37.39-.23.16.19zm6.76 11.39c-.35-.08.28-.25 0 0zm-2.81.11c-.23 0 .18-.14 0 0zm-1.88-1.18c-.13 0 0-.13 0 0zm-.22-.17c-.36 0-.09-.23 0 0zm-.42-.36c-.33.08 0-.34 0 0zm-6-11.66c-.53-.28.11.33-.34.32-.24 0-.69-.52-.54-.78.3.16.83.21.92.5zm-.92-.81h-.11c-.03-.27.87-.06.15.04zm-1.02-.79c-.42-.19 0-.93.44-.58.51.73-.95-.08-.44.58zm.49.69c-.27.11.16-.21 0 0zm.48.92c.6.46-.34 0-.72.29-.61.06.66-.34.72-.29zm.17.6c.35 0 1.88-.69 1.37-.07.47.55.1.37-.21 0 .28.19.06 1-.37.45s-.5-.18-.17.21C5.8 6 4.88 6.28 4.21 6.5c-.43-.04 1.13-.37 1.29-.44zM3.58 7.51c-.16.4.24.53.62.6.62-.17-.41-.28.06-.44.26 0-.82-.26.08-.38S6.09 6.77 7 6.58a8.71 8.71 0 0 1 2.35-.19c.3.35-.23.94-.77 1a8.61 8.61 0 0 1-2 .39c-.8-.1-1.37.61-2.19.7.22-.4-.18-.14-.59-.16.21.82-1.47-.21-.48-.41-.74-.26-.75.52-.67 1-.65-.91.07-1.29.93-1.4zm1.88 1.08c-.22-.05.17-.2 0 0zm-.72.88s-.34-.08-.2-.17c1 .13-.9-.33.13-.22.66-.02.44.36.07.39zm.33.17c-.12.12 0-.24 0 0zm-.71 0c-.44-.09.21-.22 0 0zm-.06 1.43c-.07.1-.1-.08 0 0zM4 10.9c-.55-.19 0-.21 0 0zm-.12 1.28c-.26-.09-.25-.5-.37-.72-.38-1.03.41.4.33.72zm.23-1.49c-.69-.08-.05-.49 0 0zm0-.34h-.09c-.76-.35.45-.17-.02 0zM4 9.56c-.61-.31.58-.36 0 0zm.21.26c-.34.06.05-.32 0 0zm-1.3.07c-.12.08 0-.23 0 0zM3 9.75c-.16 0 0-.27 0 0zm.08-1c-.4-.1.33-.25 0 0zm.26 2c-.44-.1-.12-.65 0 0zm.3 1.25c.42.51.26.79.69 1.41-.56-.35-.67-1.2-1-1.75-.41-.9.23-.01.31.34zm4.09 6.38c-.34-.07-.57-.43-.81-.66a4.88 4.88 0 0 1-1.57-1.94 12.26 12.26 0 0 1-1.46-2.38c-.41-.92.25.07.35.42.21.68.88 1.07.94 1.52.74.42.36 1.12 1 1.31.27-.14.3.84.89.64-.33.15.13.33.3.61.35-.05 1.17.82.36.52zM4.62 12c-.31-.07.33-.11 0 0zm.2.47c-.55-.14.52-.2 0 0zm1.39.47c.4-.17.16.78.55.9.76 1-.53 0-1-.07.06 0-.38-.12-.19-.16-.14-.15-.45-.66.26-.32.6.24.65.06.38-.39zm1.31 1.76c0 .15-.72.13-.06.42-.38 0-.5 0 0 .3-.22.17.43.31.21.57.66.52-.12.13-.4-.08s-.85-.35-.75-.5c.81.42.21 0-.15-.3.65.16-.51-.48.1-.31.19.05-.27-.38.33-.07-.54-.52.47-.12.72-.07zm.48-.17c-.61-.14 0-.34 0 0zm-.17 2c-.61-.26.39 0 0 0zm-.45-.17c-.71-.23.52 0 0 0zm-.09.11c-.22 0 0-.17 0 0zm-1.08-1.55c-.72-.3-.2-.33 0 0zm-.54-.35c-.58-.33-.08-.33 0 0zm0 .65c-.57-.44-.07-.25 0 0zm-.15-1.34c-.35 0 .13-.2 0 0zM8 17.38c-.51-.15 0-.14 0 0zM7.63 17h-.16c-.68-.54.31-.38.75-.14.97.14-.22.39-.59.14zm2.7 1.65c-.68-.16.16-.27 0 0zm-.17-.52c-.05 0-.1-.11 0 0zm-.86-1.34c-.59-.14.21-.19.36 0 1.02.21-.06.26-.36 0zM9.51 18H9.4l-.13-.06c-.56-.59 1.19.28.24.06zm-.28.69c-.15.06 0-.14 0 0zm.29-1.19-.16-.05c-.66-.45.84.09.16 0zm.16 1.72c-.4-.16.26-.25 0 0zm.1-.74c-.58-.14.36-.13 0 0zm.13-.61c-.44-.06.05-.21 0 0zm-.72-.88c.46.06.47.27 0 .14-.09 0-.24 0-.28-.17-.76-.5.03-.25.28-.02zm-.06 2c-.2.12 0-.22 0 0zm-.31-.51c-.53 0 .4-.26 0 0zm-.12.35c-.26-.1.17-.08 0 0zm.3-.89c-.52-.14.25-.18 0 0zm-.16-.57c-.28 0-.06-.16 0 0zm-.54-.95c-.57-.46 1.18.38 0 0zm-.06.19c0 .06-.11-.09 0 0zm3.65 3.78a9.4 9.4 0 0 1-2.56-.85l-.33-.2c-.57-.31-.5-.38.06-.07.19.16 1.59.73.93.35-.29-.07-1.9-.95-.84-.57a20.92 20.92 0 0 0 2.74 1.21 7.14 7.14 0 0 0 2.43.15c.65.33 1.33-.08 2 .21a13.05 13.05 0 0 1-4.45-.23zm-1.25-.7c-.51-.09.16-.23 0 0zm.73-1c-.58-.11.6-.23 0 0zm.84 1.31c1 .37-.6.12-.93-.09-.92-.38.72.09.93.09zm-1.06-1.1c-.81-.12.9 0 0 0zm1.52.85c-.29.23 0-.3 0 0zm.29.05c-.15.06 0-.17 0 0zm.27-.38c-.16.2 0-.23 0 0zm.31 0c-.45.17.47-.39 0 0zm.14 0c.49-.42.51-.22.5.13-.43.48-.17-.2-.44.06s-.19-.1-.06-.17zm.83.45c-.5 0 .51-.54 0 0zm0 .18c-.2.05 0-.13 0 0zm-.16-.35c-.39-.26.94-.61 0 0zm.57.09h-.08c-.03-.23.54-.27.08.02zm.15.19c-.3-.08.47-.4 0 0zm.36-.1c-.51.18.48-.4 0 0zm.22.11-.12.08c-.23-.14.71-.48.12-.07zm-.43-.53c-.54-.18-1.4-.76-2-.37-.8.51.41-.56-.24-.08-.66.79-.45-.5-1.09-.11 0-.12-.57-.16-.17-.37-.36 0-.13-.05 0-.34-.16 0-1 0-1.36-.29-.4-.52.07-.3.48-.23-.67.12.24.5.68.29-.2-.09-.43-.52-1-.9a18.83 18.83 0 0 0-2.13-1c-.84-.5.18-.18.47.08.84.37.51-.51 0-.74-.54 0-.67-.59-1.1-.56.67.11 1.14-.17.39-.85s.3.63-.11.44c-.19-.25-.05-.6-.65-.73 0 .23-.08.58-.21.1-.17 0-.36.21-.5-.28.13-.57-.56-.7-.67-1.06.6.38.87.08.45-.33s-.33-.11-.49 0c-.59.6-.06-1-.32-.56-.26 0-.11.29-.1.65-.86-.21.2.45.45.81-.39-.4-.32.31-.65 0-.11-.3-.12-.77-.67-.85.62-.22-.36-.65-.28-.67.35-.32.4-.76.82-.07-.53 0 0 .88.12.6 0-.47.22-1-.59-1.19-.24.32-.65-.63-.18-.43-.06-.63.74-.26.69-.53.42-.18-.5-.77 0-1 .38.24 1.36-.36.7-.44.42 0 .75.18.79-.24.33.07 1.24.36.42-.09a3.45 3.45 0 0 1 1.13-.25c.79-.61.63 1 .45 1.45.3-.21.24.94.14 1.37.16-.22.23.36 0 .77 0-.07.4-.13.12.35-.22-.47-.31 1-.17.32.37-.61.28 0 .39.24.08.55.32 1.06.4 1.56.35.35-.15.11-.15.59.11-.14.58.19.57.68 0-.78.09-.18.47 0a5.48 5.48 0 0 0 1 1.42c.37.43 0 .13.14.39a3.19 3.19 0 0 0 2.09 1.28 1.46 1.46 0 0 0 1.57.7c-.6.37 1.68.47.91.67-.23.16-.62-.2-1.01-.18zM8.7 15.89c-.24 0 0-.2 0 0zm.38.22c-.18 0-.12-.24 0 0zm-2.61-3.65c-.24-.07.1-.09 0 0zm-.59 0c-.26 0 0-.34 0 0zm-.3-.08c-.1.05 0-.11 0 0zm11 8.25c-.39-.07.32-.22 0 0zm.73-1.05h-.3c.06-.45 1.33-.1 1.85-.09-.16.34-1.13.04-1.55.13zm2 0c-.27 0 .12-.32 0 0zm1-.09c-.25.13 0-.3 0 0zm.48.11c-.52-.12.24-.12.4-.14.94.02 0 .16-.47.16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.51 7.11c1-.2-.38-.33-.69 0 .18.13.41-.21.69 0zm-.82.13c0 .19.18-.22 0 0zm2.62-.48c.67-.11.11-.41-.09.1.07.14.11-.05.09-.1zm-.62.1c.93.36-.05-1 0 0zm-2.92.93a.51.51 0 0 1 .33.1c.75.52-.1-.84-.33-.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.81 7.43c.16.13.29-.21 0 0zm.37.01.14.12c.68.06-.11-.46-.14-.12zM10.69 16c.09.3 0-.39 0 0zm-4.78-5c.1.18.18-.18 0 0zm.09.61c.19.34 0-.51 0 0zm.21-.49c.33.21-.28-.52 0 0zm-.41-.82c.07.15.24.16.37.2 1.32.61-.95-1-.37-.2zm.54 1.43c.31.53.18-.37 0 0zm.48-.16c.37.92-.23-.12-.3-.43a2.11 2.11 0 0 0 .28 1c.34.51.19-.28.55.23-.2-.45.1-.2.06-.4s-1-1.17-.59-.4zm.36 1.78c.09.31.18 0 0 0zM5.85 9c.06.14.11 0 0 0zm.67.42c.32.41.17-.36 0 0zm-.89 1.14.14.15c.99.29-1.05-.95-.14-.15zm.7-.37c1 .41-.09-.27-.44-.2.11.13.32.07.44.2zm-.18-.44c.18.18.82.51.31.06.32-.06 0-.16-.24-.32-.44-.67.07.06-.07.26z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.51 10.64c-.53-.44.16.21-.06.2-.55-.4-.32-.11 0 .2.33.5.6-.3.06-.4zm2.14.64c.12.11-.06-.68 0 0zm1.02-3.5c0 .12.07-.1 0 0zM9 12.47c0 .21 0-.18 0 0zm-.29-1.22c.08.46.1-.78 0 0zm.14.22v.1c.21-.51.04-.79 0-.1zm-.1-2.7c-.14.7-.27.41-.08-.11-.05-.67-.45.41-.27.72.29.47.6-1.16.35-.61zm1.01 5.98c.13.35.11-.42 0 0zm-1.35-4.28c0 .2 0-.14 0 0zm.64 1.7c0 .26.11-.38 0 0zM9.5 14l.07.11c.14-.49-.36-.79-.07-.11zm-1.56-.52c.27.22-.13-.23 0 0zm1.23-.85c.08.29 0-.42 0 0zM8.14 9.81c.15.33-.05-.27 0 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.3 10.23c.24.34-.26-.64 0 0zm-.06 1.15c-.13-1-.42.45 0 .69.13.34.25.2.3-.19-.32 0 .08-.62-.3-.5z\"}}]})(props);\n};\nexport function BiLogoFlickrSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM8.747 14.746A2.745 2.745 0 1 1 11.494 12a2.744 2.744 0 0 1-2.747 2.746zm6.506 0a2.746 2.746 0 1 1-.001-5.493 2.746 2.746 0 0 1 .001 5.493z\"}}]})(props);\n};\nexport function BiLogoFlickr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.157 12a4.573 4.573 0 1 1-9.147 0 4.573 4.573 0 0 1 9.147 0zm10.833 0a4.573 4.573 0 1 1-9.147 0 4.573 4.573 0 0 1 9.147 0z\"}}]})(props);\n};\nexport function BiLogoFlutter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.9 2.01 3.9 12l3.09 3.09 2.71-2.7L20.09 2l-6.19.01zm.82 14.6 5.39-5.38h-5.93c-.11 0-.26 0-.34.07l-2.23 2.23-3.09 3.07 3.09 3.1 2.15 2.15c.07.07.14.17.26.15h6.07z\"}}]})(props);\n};\nexport function BiLogoFoursquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17.549 5.557-.403 2.113c-.049.229-.337.47-.605.47h-3.76c-.425 0-.729.296-.729.714v.463c0 .43.307.725.73.725h3.194c.298 0 .591.33.524.646l-.404 2.083c-.037.181-.237.475-.592.475h-2.609c-.477 0-.617.069-.936.454-.316.395-3.175 3.827-3.175 3.827-.026.033-.054.022-.054-.011V5.522c0-.271.234-.588.586-.588h7.756c.283 0 .549.269.477.618v.005zm.341 8.288c.111-.437 1.319-6.63 1.722-8.593m-1.489-2.311H8.457c-1.33 0-1.723 1.002-1.723 1.635v15.353c0 .71.381.975.596 1.062.214.087.807.161 1.163-.247 0 0 4.563-5.296 4.64-5.373.125-.118.125-.118.238-.118h2.954c1.245 0 1.438-.885 1.574-1.405.114-.429 1.325-6.622 1.721-8.595.307-1.496-.079-2.311-1.495-2.311h-.002z\"}}]})(props);\n};\nexport function BiLogoGit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.62 11.108-8.731-8.729a1.292 1.292 0 0 0-1.823 0L9.257 4.19l2.299 2.3a1.532 1.532 0 0 1 1.939 1.95l2.214 2.217a1.53 1.53 0 0 1 1.583 2.531c-.599.6-1.566.6-2.166 0a1.536 1.536 0 0 1-.337-1.662l-2.074-2.063V14.9c.146.071.286.169.407.29a1.537 1.537 0 0 1 0 2.166 1.536 1.536 0 0 1-2.174 0 1.528 1.528 0 0 1 0-2.164c.152-.15.322-.264.504-.339v-5.49a1.529 1.529 0 0 1-.83-2.008l-2.26-2.271-5.987 5.982c-.5.504-.5 1.32 0 1.824l8.731 8.729a1.286 1.286 0 0 0 1.821 0l8.69-8.689a1.284 1.284 0 0 0 .003-1.822\"}}]})(props);\n};\nexport function BiLogoGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.026 2c-5.509 0-9.974 4.465-9.974 9.974 0 4.406 2.857 8.145 6.821 9.465.499.09.679-.217.679-.481 0-.237-.008-.865-.011-1.696-2.775.602-3.361-1.338-3.361-1.338-.452-1.152-1.107-1.459-1.107-1.459-.905-.619.069-.605.069-.605 1.002.07 1.527 1.028 1.527 1.028.89 1.524 2.336 1.084 2.902.829.091-.645.351-1.085.635-1.334-2.214-.251-4.542-1.107-4.542-4.93 0-1.087.389-1.979 1.024-2.675-.101-.253-.446-1.268.099-2.64 0 0 .837-.269 2.742 1.021a9.582 9.582 0 0 1 2.496-.336 9.554 9.554 0 0 1 2.496.336c1.906-1.291 2.742-1.021 2.742-1.021.545 1.372.203 2.387.099 2.64.64.696 1.024 1.587 1.024 2.675 0 3.833-2.33 4.675-4.552 4.922.355.308.675.916.675 1.846 0 1.334-.012 2.41-.012 2.737 0 .267.178.577.687.479C19.146 20.115 22 16.379 22 11.974 22 6.465 17.535 2 12.026 2z\"}}]})(props);\n};\nexport function BiLogoGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.892 9.889a.664.664 0 0 0-.025-.087l-2.104-6.479a.84.84 0 0 0-.8-.57.822.822 0 0 0-.789.575l-2.006 6.175H8.834L6.826 3.327a.823.823 0 0 0-.786-.575h-.006a.837.837 0 0 0-.795.575L3.133 9.815c0 .005-.005.01-.007.016l-1.067 3.281a1.195 1.195 0 0 0 .435 1.34l9.227 6.706c.167.121.393.12.558-.003l9.229-6.703a1.2 1.2 0 0 0 .435-1.34l-1.051-3.223zM17.97 3.936l1.809 5.566H16.16l1.81-5.566zm-11.94 0 1.812 5.566H4.228L6.03 3.936zm-2.982 9.752a.253.253 0 0 1-.093-.284l.793-2.437 5.817 7.456-6.517-4.735zm1.499-3.239h3.601l2.573 7.916-6.174-7.916zm7.452 8.794-2.856-8.798h5.718l-1.792 5.515-1.07 3.283zm1.282-.877 2.467-7.588.106-.329h3.604l-5.586 7.156-.591.761zm7.671-4.678-6.519 4.733.022-.029 5.794-7.425.792 2.436a.25.25 0 0 1-.089.285z\"}}]})(props);\n};\nexport function BiLogoGmail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18.73 5.41-1.28 1L12 10.46 6.55 6.37l-1.28-1A2 2 0 0 0 2 7.05v11.59A1.36 1.36 0 0 0 3.36 20h3.19v-7.72L12 16.37l5.45-4.09V20h3.19A1.36 1.36 0 0 0 22 18.64V7.05a2 2 0 0 0-3.27-1.64z\"}}]})(props);\n};\nexport function BiLogoGoLang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.79 10.17a.18.18 0 0 0-.11 0l-.2.27H7a.15.15 0 0 0 .1-.06l.17-.26v-.05zm-1.47.89a.14.14 0 0 0-.11 0l-.2.26v.05h4.6a.09.09 0 0 0 .09-.06l.08-.23v-.06zM4.6 12a.13.13 0 0 0-.1.06l-.13.24v.06h2.15a.08.08 0 0 0 .07-.07v-.23s0-.07-.06-.07zm15.99-3.07a3.62 3.62 0 0 0-2.78-.5 4.09 4.09 0 0 0-2.72 1.63 4 4 0 0 0-.67 1.26h-3.14a.25.25 0 0 0-.24.16c-.14.25-.37.76-.5 1.06s0 .29.18.29h1.88a2.8 2.8 0 0 1-.26.36 1.81 1.81 0 0 1-1.65.65 1.53 1.53 0 0 1-1.32-1.53 2.07 2.07 0 0 1 1-1.85 1.71 1.71 0 0 1 1.77-.15 1.36 1.36 0 0 1 .45.37c.13.15.14.14.29.1l1.63-.43c.12 0 .16-.08.1-.16a3 3 0 0 0-1.13-1.38 3.35 3.35 0 0 0-2.58-.47A4.31 4.31 0 0 0 8.16 10a3.81 3.81 0 0 0-.82 2.85A3 3 0 0 0 8.57 15a3.46 3.46 0 0 0 2.62.65A4.06 4.06 0 0 0 14 14a4.33 4.33 0 0 0 .41-.69 3 3 0 0 0 1 1.55 3.68 3.68 0 0 0 2.38.86c.25 0 .51 0 .78-.09a4.51 4.51 0 0 0 2.33-1.25A3.72 3.72 0 0 0 22 11.1a3 3 0 0 0-1.41-2.17zm-1.78 4.73a1.81 1.81 0 0 1-1.59.06 1.61 1.61 0 0 1-.9-1.84A2.12 2.12 0 0 1 18 10.19a1.59 1.59 0 0 1 2 1.29 2.91 2.91 0 0 1 0 .32 2.11 2.11 0 0 1-1.19 1.86z\"}}]})(props);\n};\nexport function BiLogoGoogleCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.511 9.722a7.833 7.833 0 0 0-2.359-3.804l-.035.035.005-.042A7.81 7.81 0 0 0 4.418 9.722c.031-.013.066-.013.099-.023a5.643 5.643 0 0 0-.306 9.166l.006-.006-.006.024a5.612 5.612 0 0 0 3.407 1.134h4.321l.024.024h4.341a5.644 5.644 0 0 0 3.207-10.319zm-3.206 6.845h-4.341l-.006.006v-.031h-4.34c-.308 0-.611-.066-.892-.193l.002-.001a2.17 2.17 0 1 1 2.87-2.871l2.518-2.518a5.634 5.634 0 0 0-3.396-2.1c.018-.009.035-.024.05-.021a4.334 4.334 0 0 1 5.931-.451h.046a4.334 4.334 0 0 1 1.558 3.407v.433a2.17 2.17 0 1 1 0 4.34z\"}}]})(props);\n};\nexport function BiLogoGooglePlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.014 11.974C21.996 6.462 17.521 2 12.008 2 6.493 2 2.019 6.462 2.001 11.974L2 11.948v.112l.001-.023c.017 5.513 4.491 9.977 10.007 9.977 5.514 0 9.988-4.462 10.006-9.974l.001.026v-.118l-.001.026zM9.281 16.557c-2.509 0-4.548-2.039-4.548-4.549s2.039-4.549 4.548-4.549c1.23 0 2.258.451 3.046 1.188l-1.295 1.255c-.325-.309-.899-.673-1.751-.673-1.505 0-2.733 1.251-2.733 2.785 0 1.533 1.229 2.784 2.733 2.784 1.742 0 2.384-1.206 2.502-1.92H9.279V11.18h4.255c.066.286.115.554.115.932 0 2.597-1.742 4.445-4.368 4.445zm10.458-4.095H17.92v1.819h-1.364v-1.819h-1.82v-1.364h1.82v-1.82h1.364v1.82h1.819v1.364z\"}}]})(props);\n};\nexport function BiLogoGooglePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.545 15.025v-2.421h2.422v-1.815h-2.422V8.368H17.73v2.421h-2.421v1.815h2.421v2.421zM8.052 8.302c1.133 0 1.896.484 2.33.896l1.722-1.67c-1.048-.98-2.415-1.58-4.052-1.58C4.714 5.947 2 8.659 2 12s2.714 6.053 6.052 6.053c3.493 0 5.812-2.457 5.812-5.913 0-.503-.064-.86-.153-1.24H8.049v2.256h3.332c-.158.951-1.011 2.556-3.329 2.556-2.003 0-3.637-1.665-3.637-3.704 0-2.042 1.634-3.706 3.637-3.706z\"}}]})(props);\n};\nexport function BiLogoGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.283 10.356h-8.327v3.451h4.792c-.446 2.193-2.313 3.453-4.792 3.453a5.27 5.27 0 0 1-5.279-5.28 5.27 5.27 0 0 1 5.279-5.279c1.259 0 2.397.447 3.29 1.178l2.6-2.599c-1.584-1.381-3.615-2.233-5.89-2.233a8.908 8.908 0 0 0-8.934 8.934 8.907 8.907 0 0 0 8.934 8.934c4.467 0 8.529-3.249 8.529-8.934 0-.528-.081-1.097-.202-1.625z\"}}]})(props);\n};\nexport function BiLogoGraphql (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.1 14.56a2.07 2.07 0 0 0-.47-.18V9.62a1.64 1.64 0 0 0 .48-.18 1.78 1.78 0 0 0-1.78-3.09 1.62 1.62 0 0 0-.41.32l-4.11-2.38a1.7 1.7 0 0 0 .07-.51 1.78 1.78 0 0 0-3.56 0 1.7 1.7 0 0 0 .07.51L6.28 6.66a1.58 1.58 0 0 0-.41-.31 1.78 1.78 0 0 0-1.78 3.09 1.64 1.64 0 0 0 .48.18v4.76a2.07 2.07 0 0 0-.47.18 1.78 1.78 0 1 0 1.78 3.09 1.72 1.72 0 0 0 .4-.31l4.11 2.37a1.7 1.7 0 0 0-.07.51 1.78 1.78 0 0 0 3.56 0 1.69 1.69 0 0 0-.09-.56l4.09-2.36a1.7 1.7 0 0 0 .44.35 1.78 1.78 0 1 0 1.78-3.09zM6.72 15.69a1.72 1.72 0 0 0-.19-.47 1.53 1.53 0 0 0-.31-.4l5.38-9.33a1.82 1.82 0 0 0 1 0l5.4 9.33a1.53 1.53 0 0 0-.31.4 1.72 1.72 0 0 0-.19.47zM17.5 7.4a1.81 1.81 0 0 0 .17 1.38 1.75 1.75 0 0 0 1.12.84v4.76h-.07l-5.39-9.31.05-.07zM10.82 5a.12.12 0 0 0 0 .05L5.48 14.4h-.07V9.62a1.75 1.75 0 0 0 1.12-.84A1.81 1.81 0 0 0 6.7 7.4zm2.6 14a1.78 1.78 0 0 0-1.32-.58 1.75 1.75 0 0 0-1.28.54L6.7 16.6v-.06h10.78v.11z\"}}]})(props);\n};\nexport function BiLogoHeroku (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.17 2H4.83A1.79 1.79 0 0 0 3 3.8v16.4A1.79 1.79 0 0 0 4.83 22h14.34A1.8 1.8 0 0 0 21 20.2V3.8A1.8 1.8 0 0 0 19.17 2zM20 20.2a.8.8 0 0 1-.81.8H4.83a.79.79 0 0 1-.8-.8V3.8a.79.79 0 0 1 .8-.8h14.34a.8.8 0 0 1 .81.8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.53 19 2.25-2-2.25-2v4zm5.69-9a12 12 0 0 0-3.75.7V5h-2v8.65L8.88 13a12.3 12.3 0 0 1 4.29-1c1 0 1.25.55 1.25 1.05v6h2V13a2.68 2.68 0 0 0-.8-2.1 3.27 3.27 0 0 0-2.4-.9zM13 8.25h2A5.89 5.89 0 0 0 16.47 5h-2A7.17 7.17 0 0 1 13 8.25z\"}}]})(props);\n};\nexport function BiLogoHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.136 3.012h15.729l-1.431 16.15-6.451 1.826-6.414-1.826-1.433-16.15zm5.266 7.302-.173-2.035 7.533.002.173-1.963-9.87-.002.522 5.998h6.835l-.243 2.566-2.179.602-2.214-.605-.141-1.58H7.691l.247 3.123L12 17.506l4.028-1.08.558-6.111H9.402v-.001z\"}}]})(props);\n};\nexport function BiLogoImdb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.646 10.237c-.057-.032-.16-.048-.313-.048v3.542c.201 0 .324-.041.371-.122s.07-.301.07-.66v-2.092c0-.244-.008-.4-.023-.469a.223.223 0 0 0-.105-.151zm3.499 1.182c-.082 0-.137.031-.162.091-.025.061-.037.214-.037.46v1.426c0 .237.014.389.041.456.029.066.086.1.168.1.086 0 .199-.035.225-.103.027-.069.039-.234.039-.495V11.97c0-.228-.014-.377-.043-.447-.032-.069-.147-.104-.231-.104z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM6.631 14.663H5.229V9.266h1.402v5.397zm4.822 0H10.23l-.006-3.643-.49 3.643h-.875L8.342 11.1l-.004 3.563H7.111V9.266H8.93c.051.327.107.71.166 1.15l.201 1.371.324-2.521h1.832v5.397zm3.664-1.601c0 .484-.027.808-.072.97a.728.728 0 0 1-.238.383.996.996 0 0 1-.422.193c-.166.037-.418.055-.754.055h-1.699V9.266h1.047c.678 0 1.07.031 1.309.093.24.062.422.164.545.306.125.142.203.3.234.475.031.174.051.516.051 1.026v1.896zm3.654.362c0 .324-.023.565-.066.723a.757.757 0 0 1-.309.413.947.947 0 0 1-.572.174c-.158 0-.365-.035-.502-.104a1.144 1.144 0 0 1-.377-.312l-.088.344h-1.262V9.266h1.35v1.755a1.09 1.09 0 0 1 .375-.289c.137-.064.344-.096.504-.096.186 0 .348.029.484.087a.716.716 0 0 1 .44.549c.016.1.023.313.023.638v1.514z\"}}]})(props);\n};\nexport function BiLogoInstagramAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.947 8.305a6.53 6.53 0 0 0-.419-2.216 4.61 4.61 0 0 0-2.633-2.633 6.606 6.606 0 0 0-2.186-.42c-.962-.043-1.267-.055-3.709-.055s-2.755 0-3.71.055a6.606 6.606 0 0 0-2.185.42 4.607 4.607 0 0 0-2.633 2.633 6.554 6.554 0 0 0-.419 2.185c-.043.963-.056 1.268-.056 3.71s0 2.754.056 3.71c.015.748.156 1.486.419 2.187a4.61 4.61 0 0 0 2.634 2.632 6.584 6.584 0 0 0 2.185.45c.963.043 1.268.056 3.71.056s2.755 0 3.71-.056a6.59 6.59 0 0 0 2.186-.419 4.615 4.615 0 0 0 2.633-2.633c.263-.7.404-1.438.419-2.187.043-.962.056-1.267.056-3.71-.002-2.442-.002-2.752-.058-3.709zm-8.953 8.297c-2.554 0-4.623-2.069-4.623-4.623s2.069-4.623 4.623-4.623a4.623 4.623 0 0 1 0 9.246zm4.807-8.339a1.077 1.077 0 0 1-1.078-1.078 1.077 1.077 0 1 1 2.155 0c0 .596-.482 1.078-1.077 1.078z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.994\",\"cy\":\"11.979\",\"r\":\"3.003\"}}]})(props);\n};\nexport function BiLogoInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.999 7.377a4.623 4.623 0 1 0 0 9.248 4.623 4.623 0 0 0 0-9.248zm0 7.627a3.004 3.004 0 1 1 0-6.008 3.004 3.004 0 0 1 0 6.008z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.806\",\"cy\":\"7.207\",\"r\":\"1.078\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.533 6.111A4.605 4.605 0 0 0 17.9 3.479a6.606 6.606 0 0 0-2.186-.42c-.963-.042-1.268-.054-3.71-.054s-2.755 0-3.71.054a6.554 6.554 0 0 0-2.184.42 4.6 4.6 0 0 0-2.633 2.632 6.585 6.585 0 0 0-.419 2.186c-.043.962-.056 1.267-.056 3.71 0 2.442 0 2.753.056 3.71.015.748.156 1.486.419 2.187a4.61 4.61 0 0 0 2.634 2.632 6.584 6.584 0 0 0 2.185.45c.963.042 1.268.055 3.71.055s2.755 0 3.71-.055a6.615 6.615 0 0 0 2.186-.419 4.613 4.613 0 0 0 2.633-2.633c.263-.7.404-1.438.419-2.186.043-.962.056-1.267.056-3.71s0-2.753-.056-3.71a6.581 6.581 0 0 0-.421-2.217zm-1.218 9.532a5.043 5.043 0 0 1-.311 1.688 2.987 2.987 0 0 1-1.712 1.711 4.985 4.985 0 0 1-1.67.311c-.95.044-1.218.055-3.654.055-2.438 0-2.687 0-3.655-.055a4.96 4.96 0 0 1-1.669-.311 2.985 2.985 0 0 1-1.719-1.711 5.08 5.08 0 0 1-.311-1.669c-.043-.95-.053-1.218-.053-3.654 0-2.437 0-2.686.053-3.655a5.038 5.038 0 0 1 .311-1.687c.305-.789.93-1.41 1.719-1.712a5.01 5.01 0 0 1 1.669-.311c.951-.043 1.218-.055 3.655-.055s2.687 0 3.654.055a4.96 4.96 0 0 1 1.67.311 2.991 2.991 0 0 1 1.712 1.712 5.08 5.08 0 0 1 .311 1.669c.043.951.054 1.218.054 3.655 0 2.436 0 2.698-.043 3.654h-.011z\"}}]})(props);\n};\nexport function BiLogoInternetExplorer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.154 8.514c.85-2.039.906-3.738-.113-4.757-1.133-1.132-3.852-.792-6.737.565h-.341c-2.037 0-4.02.738-5.492 2.039-1.244 1.133-2.15 2.605-2.547 4.246.283-.337 1.869-2.207 3.68-3.226.058 0 .51-.283.51-.283-.057 0-.905.85-1.074 1.02-3.965 4.076-6.285 10.248-4.473 12.059 1.188 1.189 3.34.906 5.831-.452 1.075.51 2.265.735 3.565.735 1.699 0 3.285-.453 4.643-1.359 1.416-.906 2.436-2.319 3.059-3.962h-4.416c-.566 1.075-1.869 1.812-3.227 1.812-1.926 0-3.512-1.586-3.568-3.397v-.169h11.551v-.17c0-.283.057-.623.057-.848-.001-1.362-.341-2.664-.908-3.853zM4.811 19.838c-.906-.906-.621-2.662.453-4.756.51 1.416 1.359 2.662 2.435 3.567.341.282.735.565 1.133.792-1.814.963-3.285 1.133-4.021.397zm11.606-8.606H9.51v-.057c.113-1.756 1.754-3.285 3.681-3.285 1.812 0 3.284 1.416 3.397 3.285v.057h-.171zm3.454-3.171a6.948 6.948 0 0 0-1.303-1.585 8.445 8.445 0 0 0-2.718-1.699c1.813-.849 3.341-.961 4.134-.169.623.736.567 1.981-.113 3.453 0 .057 0 .057 0 0 0 .057 0 .057 0 0z\"}}]})(props);\n};\nexport function BiLogoInvision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.361 3.008H4.638c-.901 0-1.63.729-1.63 1.63v14.724c0 .9.729 1.631 1.63 1.631h14.724c.9 0 1.631-.73 1.631-1.631V4.638a1.63 1.63 0 0 0-1.632-1.63zM9.018 6.505c.597 0 1.098.472 1.098 1.078 0 .616-.501 1.08-1.098 1.08v.022c-.604 0-1.09-.486-1.09-1.088 0-.605.486-1.092 1.09-1.092zm7.354 10.352c-1.112 0-1.651-.662-1.651-1.566 0-.26.033-.533.114-.812l.528-1.906c.068-.208.086-.405.086-.581 0-.615-.375-.984-.971-.984-.761 0-1.26.543-1.52 1.598l-1.033 4.146h-1.811l.327-1.303c-.534.873-1.271 1.412-2.183 1.412-1.102 0-1.617-.632-1.617-1.584a4.02 4.02 0 0 1 .096-.811l.826-3.366H6.285l.388-1.43h3.075l-1.216 4.804c-.08.309-.11.559-.11.738 0 .307.148.396.385.452.146.03 1.295.011 1.918-1.376l.798-3.188h-1.294l.391-1.404h2.787l-.359 1.617c.484-.899 1.452-1.762 2.406-1.762 1.012 0 1.855.728 1.855 2.111 0 .4-.063.796-.18 1.18l-.52 1.858a2.286 2.286 0 0 0-.075.492c0 .326.136.484.368.484.238 0 .553-.181.899-1.172l.708.272c-.414 1.473-1.182 2.081-2.137 2.081z\"}}]})(props);\n};\nexport function BiLogoJava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.37 17.51c-3.09.86 1.87 2.64 5.8 1a7.18 7.18 0 0 1-1.1-.54 11.59 11.59 0 0 1-4.16.18c-1.31-.15-.54-.64-.54-.64zm5.33-1.68a16.27 16.27 0 0 1-5.36.26c-1.31-.14-.45-.77-.45-.77-3.4 1.12 1.89 2.4 6.64 1a2.25 2.25 0 0 1-.83-.49zm1.82-9.73s-6.87 1.71-3.59 5.49a1.47 1.47 0 0 1-.25 2.12s2.46-1.27 1.33-2.86-1.86-2.22 2.51-4.75z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.13 19.14s.56.46-.63.82c-2.27.69-9.43.9-11.42 0-.72-.31.62-.74 1-.83a2.54 2.54 0 0 1 .69-.08c-.8-.56-5.15 1.1-2.21 1.58 8.05 1.37 14.64-.56 12.57-1.49zm-2.76-4.88a7 7 0 0 1 .92-.49s-1.51.27-3 .4a28.11 28.11 0 0 1-4.82.05C6.09 13.91 9.74 13 9.74 13a6.81 6.81 0 0 0-3.16.75c-2.06 1.03 5.09 1.48 8.79.51zm.91 2.44a.39.39 0 0 1-.08.09c5-1.32 3.18-4.65.78-3.81a.71.71 0 0 0-.33.25s.14-.05.43-.12c1.22-.25 2.92 1.63-.8 3.59zM12 13c-.74-1.67-3.26-3.14 0-5.71C16.09 4.08 14 2 14 2c.84 3.31-3 4.31-4.34 6.37-.93 1.41.47 2.92 2.34 4.63z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.41 21.32a29.75 29.75 0 0 1-9.14.14s.46.38 2.84.53c3.61.23 9.15-.12 9.29-1.83 0 0-.26.64-2.99 1.16z\"}}]})(props);\n};\nexport function BiLogoJavascript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18v18H3V3zm16.525 13.707c-.131-.821-.666-1.511-2.252-2.155-.552-.259-1.165-.438-1.349-.854-.068-.248-.078-.382-.034-.529.113-.484.687-.629 1.137-.495.293.09.563.315.732.676.775-.507.775-.507 1.316-.844-.203-.314-.304-.451-.439-.586-.473-.528-1.103-.798-2.126-.775l-.528.067c-.507.124-.991.395-1.283.754-.855.968-.608 2.655.427 3.354 1.023.765 2.521.933 2.712 1.653.18.878-.652 1.159-1.475 1.058-.607-.136-.945-.439-1.316-1.002l-1.372.788c.157.359.337.517.607.832 1.305 1.316 4.568 1.249 5.153-.754.021-.067.18-.528.056-1.237l.034.049zm-6.737-5.434h-1.686c0 1.453-.007 2.898-.007 4.354 0 .924.047 1.772-.104 2.033-.247.517-.886.451-1.175.359-.297-.146-.448-.349-.623-.641-.047-.078-.082-.146-.095-.146l-1.368.844c.229.473.563.879.994 1.137.641.383 1.502.507 2.404.305.588-.17 1.095-.519 1.358-1.059.384-.697.302-1.553.299-2.509.008-1.541 0-3.083 0-4.635l.003-.042z\"}}]})(props);\n};\nexport function BiLogoJoomla (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15.539 14.059-1.874 1.875-1.777 1.777-.347.35a3.993 3.993 0 0 1-3.785 1.048A2.41 2.41 0 0 1 3 18.567c0-1.138.792-2.092 1.852-2.342a3.993 3.993 0 0 1 1.047-3.811l.135-.135 1.777 1.778-.138.135a1.48 1.48 0 0 0 0 2.092 1.462 1.462 0 0 0 2.09 0l.349-.349 1.775-1.778 1.877-1.879 1.775 1.781zm.693 4.988a3.986 3.986 0 0 1-3.996-.988l-.135-.139 1.773-1.777.135.139a1.48 1.48 0 0 0 2.09 0 1.474 1.474 0 0 0-.002-2.086l-.35-.349-1.773-1.777-1.877-1.878 1.777-1.776 1.875 1.879 1.774 1.777.349.349a3.962 3.962 0 0 1 1.058 3.766 2.407 2.407 0 0 1-.336 4.79 2.392 2.392 0 0 1-2.352-1.924l-.01-.006zm-8.001-8.962 1.881-1.879 1.777-1.777.347-.346a3.972 3.972 0 0 1 3.949-1.002 2.408 2.408 0 1 1 2.699 2.716 3.98 3.98 0 0 1-1.012 3.925l-.137.139-1.777-1.777.139-.138a1.474 1.474 0 1 0-2.086-2.085l-.347.346-1.777 1.776-1.879 1.876-1.777-1.774zm-1.99 1.984-.346-.347a3.984 3.984 0 0 1-.999-3.965 2.414 2.414 0 0 1-1.874-2.35A2.41 2.41 0 0 1 5.43 3c1.197 0 2.19.875 2.378 2.019a3.99 3.99 0 0 1 3.734 1.061l.138.14-1.778 1.776-.137-.136a1.481 1.481 0 0 0-2.088 0 1.481 1.481 0 0 0-.004 2.092l.349.35 1.777 1.777 1.879 1.879-1.775 1.777-1.883-1.879-1.778-1.777v-.01h-.001z\"}}]})(props);\n};\nexport function BiLogoJquery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.345 6.935c-1.756 2.523-1.538 5.806-.196 8.487l.098.19c.021.04.041.082.063.121.012.024.026.047.039.069a7.842 7.842 0 0 0 .198.344l.073.12a9.14 9.14 0 0 0 .211.33 10.179 10.179 0 0 0 .221.319l.036.049c.063.088.129.175.196.261l.074.094.182.223.069.082c.082.097.167.194.252.289l.005.005c.004.004.007.006.01.011.083.091.17.181.256.271l.083.083.205.201.084.08c.092.087.186.172.281.256l.004.004.049.041c.083.073.169.145.255.215l.105.084a11.03 11.03 0 0 0 .565.424c.029.021.057.042.087.062l.024.017c.076.053.154.103.231.153.033.022.066.045.101.067a10.975 10.975 0 0 0 .886.509c.065.034.129.068.195.101l.045.022.08.039c.102.048.205.097.308.143l.066.029c.119.052.239.102.36.149l.088.035a13.895 13.895 0 0 0 .382.142c.125.044.252.085.38.124l.092.028c.128.039.256.085.39.11 8.492 1.548 10.958-5.102 10.958-5.102-2.072 2.698-5.748 3.41-9.232 2.618-.132-.03-.261-.071-.39-.109l-.097-.029a10.929 10.929 0 0 1-.755-.264l-.093-.036c-.12-.047-.239-.097-.356-.148l-.071-.031a11.932 11.932 0 0 1-.301-.14l-.087-.042c-.078-.038-.155-.079-.232-.118-.051-.027-.104-.053-.155-.082a8.294 8.294 0 0 1-.278-.156l-.094-.052a11.4 11.4 0 0 1-.363-.223l-.098-.065a10.557 10.557 0 0 1-.259-.172l-.083-.059c-.082-.058-.164-.116-.244-.176a11.921 11.921 0 0 1-.328-.255l-.099-.079c-.092-.076-.184-.152-.274-.231a12.01 12.01 0 0 1-.319-.288c-.028-.026-.055-.051-.081-.078a7.985 7.985 0 0 1-.208-.203l-.081-.081a10.76 10.76 0 0 1-.254-.269l-.012-.012a11.75 11.75 0 0 1-.258-.293l-.067-.081a10.313 10.313 0 0 1-.254-.313 11.855 11.855 0 0 1-.215-.286C3.864 11.825 3.17 8.186 4.715 5.198\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.794 4.809c-1.27 1.827-1.2 4.273-.21 6.205.166.324.353.639.561.938.191.273.401.597.654.816.092.101.187.199.284.295l.076.074c.094.092.19.182.291.271l.011.01.003.002c.111.097.224.19.34.281l.078.06a8.281 8.281 0 0 0 .366.268c.053.037.108.072.161.107.026.017.051.035.078.051a7.14 7.14 0 0 0 .301.184c.076.044.155.087.233.13.026.015.055.029.082.043.055.028.108.057.163.083a9.645 9.645 0 0 0 .365.171l.074.031c.093.039.186.077.281.113l.117.044c.086.032.171.06.256.089l.117.037c.121.038.243.085.37.107 6.556 1.086 8.068-3.961 8.068-3.961-1.364 1.964-4.006 2.902-6.825 2.17a7.866 7.866 0 0 1-.743-.232l-.118-.043a7.629 7.629 0 0 1-.353-.145 8.79 8.79 0 0 1-.344-.159c-.057-.028-.113-.058-.17-.087l-.099-.051a9.352 9.352 0 0 1-.533-.313l-.08-.053a7.65 7.65 0 0 1-.602-.435c-1.234-.974-2.213-2.306-2.678-3.815-.488-1.566-.382-3.323.462-4.75\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.379 3.221c-.749 1.102-.823 2.469-.304 3.686.548 1.292 1.671 2.304 2.981 2.785a3.85 3.85 0 0 0 .234.079c.077.024.152.053.233.067 3.62.699 4.601-1.857 4.862-2.234-.86 1.239-2.306 1.536-4.078 1.105a5.403 5.403 0 0 1-.939-.344 5.39 5.39 0 0 1-.895-.545c-1.585-1.204-2.573-3.501-1.536-5.372\"}}]})(props);\n};\nexport function BiLogoJsfiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.58 11.375c.008-.117.018-.231.018-.35 0-3.243-2.668-5.871-5.959-5.871A5.966 5.966 0 0 0 8.26 8.502a2.732 2.732 0 0 0-1.674-.568c-1.521 0-2.752 1.21-2.752 2.704 0 .283.043.554.125.808a3.957 3.957 0 0 0-1.98 3.418c0 2.173 1.773 3.938 3.975 3.972h11.898c.074 0 .15.012.227.012 2.178 0 3.943-1.739 3.943-3.893a3.885 3.885 0 0 0-2.432-3.579h-.01v-.001zM7.355 15.842a2.329 2.329 0 0 1-.748-1.318 2.865 2.865 0 0 1-.053-.544c0-.74.27-1.347.809-1.827.537-.48 1.221-.722 2.049-.722.854 0 1.654.32 2.363.957.176.158.352.338.514.536l.912 1.071c.158.217.324.399.5.56.471.422.977.632 1.408.632.365 0 .67-.112.912-.336.209-.19.336-.45.363-.73l.008-.123a1.054 1.054 0 0 0-.055-.347 1.275 1.275 0 0 0-1.238-.838c-.453 0-.902.153-1.396.631l-.807-.95-.088-.108c.713-.691 1.414-.95 2.367-.95.838 0 1.525.237 2.037.712l.014.014c.539.474.801 1.089.801 1.842a2.6 2.6 0 0 1-.049.528 2.38 2.38 0 0 1-.74 1.301 2.685 2.685 0 0 1-1.428.677 4.505 4.505 0 0 1-.588.038c-.863 0-1.676-.313-2.365-.938a4.866 4.866 0 0 1-.537-.576l-.914-1.065a3.58 3.58 0 0 0-.488-.563c-.463-.425-.977-.626-1.428-.626-.129 0-.26.018-.389.051a1.19 1.19 0 0 0-.523.289c-.232.216-.365.52-.365.839 0 .324.113.6.352.825l.014.013c.25.227.563.338.926.338.463 0 .914-.162 1.4-.639l.801.938.088.099c-.725.703-1.428.965-2.342.965-.838 0-1.525-.238-2.051-.713l-.046.057z\"}}]})(props);\n};\nexport function BiLogoKickstarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.198 9.127 3.309-4.799c.628-.902 1.434-1.354 2.427-1.354.806 0 1.506.287 2.097.861.59.574.885 1.26.885 2.059 0 .59-.155 1.113-.469 1.563l-2.983 4.34 3.649 4.627c.363.461.547 1 .547 1.617 0 .816-.286 1.518-.86 2.105a2.81 2.81 0 0 1-2.084.879c-.895 0-1.577-.291-2.047-.873L10.2 14.574v3.074c0 .879-.152 1.561-.457 2.049-.555.885-1.356 1.328-2.417 1.328-.963 0-1.711-.328-2.24-.977-.496-.602-.744-1.396-.744-2.387V6.258c0-.936.253-1.709.755-2.318.525-.643 1.255-.965 2.186-.965.887 0 1.624.322 2.216.965.329.357.537.717.625 1.082.053.227.079.646.079 1.266v2.84h-.005z\"}}]})(props);\n};\nexport function BiLogoKubernetes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.013 13.738-2.254.387a4.475 4.475 0 0 0 1.753 2.231l.865-2.095a.27.27 0 0 0 .022-.228c-.022-.18-.204-.295-.386-.295zm.865-2.914c.205 0 .387-.159.387-.364l.114-2.277-.456.091a4.516 4.516 0 0 0-2.118 1.162l1.89 1.343c.069.022.115.045.183.045zm-1.002 1.48a.366.366 0 0 0-.045-.524l-1.685-1.503a4.797 4.797 0 0 0-.661 2.778l2.209-.637c.091-.023.137-.046.182-.114zm1.457.797.616.296.614-.296.16-.661-.433-.546h-.683l-.433.546zm1.344-2.436c.114.159.341.182.5.091l1.867-1.32a4.286 4.286 0 0 0-2.573-1.23l.137 2.3a.215.215 0 0 0 .069.159z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.944 14.103-1.73-7.446c-.113-.364-.387-.66-.729-.842L12.541 2.49c-.182-.091-.387-.114-.569-.114s-.387 0-.569.045L4.457 5.769a1.22 1.22 0 0 0-.683.842l-1.708 7.492c-.068.387.023.774.25 1.093l4.805 5.943c.273.273.66.456 1.047.479h7.651c.41.045.797-.137 1.048-.479l4.805-5.943c.227-.319.318-.706.272-1.093zm-2.845.501c-.046 0-.068 0-.114-.023-.022-.023-.022-.023-.045-.023-.046 0-.068-.022-.092-.022-.091-.023-.159-.068-.25-.114a.32.32 0 0 1-.137-.045h-.022a3.91 3.91 0 0 0-.729-.205h-.022a.26.26 0 0 0-.182.068s0 .023-.023.023l-.183-.024a5.628 5.628 0 0 1-2.46 3.097l.068.182s-.022 0-.022.022a.264.264 0 0 0-.022.228c.091.228.205.455.364.66v.045a.396.396 0 0 1 .091.114.81.81 0 0 1 .159.228c.023.022.046.045.046.068 0 0 .022 0 .022.022a.582.582 0 0 1 .023.342.38.38 0 0 1-.205.25c-.068.022-.114.045-.183.045a.511.511 0 0 1-.433-.273c-.022 0-.022-.022-.022-.022-.022-.023-.022-.045-.046-.068-.045-.068-.068-.159-.091-.25l-.046-.137v-.022a3.816 3.816 0 0 0-.296-.706.353.353 0 0 0-.182-.137c0-.023 0-.023-.023-.023l-.091-.159c-.228.068-.479.159-.729.205-.41.114-.82.159-1.229.159a5.368 5.368 0 0 1-1.981-.364l-.091.182c0 .023 0 .023-.023.023a.35.35 0 0 0-.182.137c-.114.228-.228.455-.296.706l-.045.137c-.023.091-.068.159-.091.25-.022.023-.045.045-.045.068-.023 0-.023.022-.023.022a.508.508 0 0 1-.433.273.434.434 0 0 1-.159-.045.469.469 0 0 1-.182-.615c.023 0 .023-.023.023-.023.022-.023.022-.045.045-.068.068-.091.114-.182.159-.228s.068-.068.091-.114v-.023a3.73 3.73 0 0 0 .364-.66.268.268 0 0 0-.023-.228s-.022 0-.022-.022l.114-.16a3.578 3.578 0 0 1-.615-.41 5.493 5.493 0 0 1-1.867-2.664l-.205.022s0-.022-.023-.022a.256.256 0 0 0-.182-.068h-.022a4.015 4.015 0 0 0-.751.205h-.024c-.045 0-.091.023-.137.046-.068.022-.159.068-.25.091-.022 0-.091-.022-.091 0 0 .023 0 .023-.023.023-.045.023-.068.023-.114.023a.424.424 0 0 1-.456-.319.445.445 0 0 1 .364-.524c.023-.023.023-.023.046-.023.045 0 .068-.022.091-.022.091 0 .182-.023.273-.023.045-.022.091-.022.137-.022a4.2 4.2 0 0 0 .774-.137c.068-.046.137-.091.16-.16 0 0 .022 0 .022-.022l.182-.046c-.205-1.298.091-2.618.797-3.734.022-.045.045-.068.068-.114l-.131-.132a.106.106 0 0 1-.004.019v-.023l.004.004c.01-.065-.031-.145-.072-.186-.182-.182-.41-.319-.638-.455l-.136-.069a2.587 2.587 0 0 1-.251-.136c-.022 0-.068-.045-.068-.045s0-.023-.022-.023a.49.49 0 0 1-.092-.639c.068-.114.182-.159.319-.159a.54.54 0 0 1 .319.114l.023.023c.022.022.045.022.068.045.068.069.114.137.182.205.023.022.068.045.091.091.159.182.364.364.569.524.045.022.091.045.137.045.045 0 .068-.023.091-.023h.023l.137.091a5.426 5.426 0 0 1 2.801-1.594c.273-.046.523-.091.774-.114l.023-.182v-.045c.068-.045.091-.114.114-.182 0-.273 0-.524-.045-.774v-.023c0-.045 0-.091-.023-.137a1.129 1.129 0 0 1-.045-.273v-.113c0-.114.045-.228.137-.319.114-.114.25-.182.387-.159a.45.45 0 0 1 .387.478v.137c-.023.091-.023.182-.045.273 0 .045-.023.091-.023.136v.023c-.048.273-.048.524-.048.774.023.068.045.136.114.182v-.023l.023.182a5.84 5.84 0 0 1 2.96 1.184c.183.182.387.364.569.546l.183-.114h.022c.022.023.068.023.091.023.046 0 .091-.023.137-.045.205-.137.41-.319.569-.501.022-.023.068-.046.091-.091.046-.068.114-.137.183-.205.022 0 .045-.022.068-.045l.022-.023a.546.546 0 0 1 .318-.114c.114 0 .251.068.319.16.159.205.113.478-.091.637 0 .023.022.023 0 .046-.023.022-.046.022-.068.045-.092.045-.16.091-.251.137l-.137.068a4.104 4.104 0 0 0-.638.455c-.045.046-.068.137-.068.205v.023l-.136.137c.364.569.638 1.207.797 1.867.137.66.182 1.343.091 2.003l.182.046a.278.278 0 0 0 .16.159c.25.068.523.114.773.137h.023a.297.297 0 0 0 .137.022c.091 0 .182 0 .272.023.046 0 .092 0 .092.023 0 .022.022.022.045.022a.537.537 0 0 1 .41.479.49.49 0 0 1-.453.32z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.085 14.718a.352.352 0 0 0-.455.091l-1.116 2.027c.456.136.957.228 1.435.228.341 0 .66-.045.979-.114.159-.045.296-.068.433-.091l-1.093-1.981c-.069-.069-.115-.115-.183-.16zm3.644-4.441-1.708 1.548a.36.36 0 0 0-.091.16c-.046.205.068.41.273.455l2.163.615a4.375 4.375 0 0 0-.092-1.435 4.63 4.63 0 0 0-.545-1.343zm-2.073 3.484a.371.371 0 0 0-.205.433l.889 2.141a4.366 4.366 0 0 0 1.366-1.366c.182-.25.318-.547.433-.865l-2.277-.387a.634.634 0 0 0-.206.044z\"}}]})(props);\n};\nexport function BiLogoLess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.142 10.843c0-.64.098-1.018.098-1.707 0-1.067-.393-1.411-1.263-1.411h-.641v.755h.196c.444 0 .542.147.542.689 0 .509-.049 1.018-.049 1.608 0 .755.246 1.05.739 1.165v.049c-.493.116-.739.411-.739 1.166 0 .591.049 1.067.049 1.608 0 .558-.114.705-.542.705v.017h-.196v.788h.641c.87 0 1.263-.344 1.263-1.411 0-.706-.098-1.067-.098-1.707 0-.345.213-.706.854-.739v-.853c-.642-.016-.854-.377-.854-.722zm-3.299 1.001c-.493-.196-.952-.312-.952-.64 0-.246.197-.395.558-.395.361 0 .689.148 1.05.411l.657-.87c-.409-.313-.968-.641-1.724-.641-1.115 0-1.871.641-1.871 1.544 0 .804.706 1.214 1.298 1.443.508.196 1.001.361 1.001.689 0 .246-.197.41-.641.41-.41 0-.821-.164-1.263-.509l-.657.952c.492.41 1.247.689 1.871.689 1.313 0 2.019-.689 2.019-1.592-.001-.9-.707-1.277-1.346-1.491zm-11.21 1.854c-.114 0-.262-.098-.262-.41V7.725H4.039c-.886 0-1.279.344-1.279 1.411 0 .706.099 1.101.099 1.707 0 .345-.213.706-.854.739v.853c.641.017.854.378.854.723 0 .606-.099.968-.099 1.674 0 1.067.394 1.411 1.264 1.411h.64v-.755h-.197c-.411 0-.542-.164-.542-.706 0-.541.049-1.001.049-1.607 0-.756-.245-1.05-.738-1.165v-.051c.493-.114.738-.409.738-1.165 0-.59-.049-1.066-.049-1.607 0-.542.114-.689.542-.689h.442v4.711c0 1.001.345 1.657 1.346 1.657.313 0 .559-.05.739-.115l-.165-1.066c-.098.013-.146.013-.196.013zm7.238-1.854c-.509-.196-.969-.312-.969-.64 0-.246.197-.395.558-.395.361 0 .689.148 1.051.411l.656-.87c-.41-.313-.968-.641-1.723-.641-1.116 0-1.872.641-1.872 1.544 0 .804.707 1.214 1.297 1.443.51.196 1.002.361 1.002.689 0 .246-.197.41-.641.41-.41 0-.82-.164-1.264-.509l-.64.952c.492.41 1.247.689 1.871.689 1.313 0 2.019-.689 2.019-1.592.001-.9-.705-1.277-1.345-1.491zm-4.842-2.15c-1.198 0-2.347 1.001-2.314 2.577 0 1.624 1.066 2.576 2.479 2.576.591 0 1.247-.214 1.756-.558l-.492-.87c-.36.213-.706.312-1.066.312-.657 0-1.165-.312-1.297-1.066h2.971c.017-.115.049-.345.049-.607.016-1.33-.707-2.364-2.086-2.364zm-.935 2.068c.099-.655.492-.969.951-.969.592 0 .821.411.821.969H8.094z\"}}]})(props);\n};\nexport function BiLogoLinkedinSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM8.339 18.337H5.667v-8.59h2.672v8.59zM7.003 8.574a1.548 1.548 0 1 1 0-3.096 1.548 1.548 0 0 1 0 3.096zm11.335 9.763h-2.669V14.16c0-.996-.018-2.277-1.388-2.277-1.39 0-1.601 1.086-1.601 2.207v4.248h-2.667v-8.59h2.56v1.174h.037c.355-.675 1.227-1.387 2.524-1.387 2.704 0 3.203 1.778 3.203 4.092v4.71z\"}}]})(props);\n};\nexport function BiLogoLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"4.983\",\"cy\":\"5.009\",\"r\":\"2.188\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.237 8.855v12.139h3.769v-6.003c0-1.584.298-3.118 2.262-3.118 1.937 0 1.961 1.811 1.961 3.218v5.904H21v-6.657c0-3.27-.704-5.783-4.526-5.783-1.835 0-3.065 1.007-3.568 1.96h-.051v-1.66H9.237zm-6.142 0H6.87v12.139H3.095z\"}}]})(props);\n};\nexport function BiLogoMagento (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 22.019-3.717-2.146V9.863l2.479-1.43v10.01l1.238.753 1.238-.753V8.434l2.479 1.43v10.01L12 22.019zm8.666-15.014v10.009l-2.475 1.43V8.434L12 4.861 5.807 8.434v10.01l-2.473-1.43V7.005L12 2l8.666 5.005z\"}}]})(props);\n};\nexport function BiLogoMailchimp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.279 11.506c.132-.016.257-.018.373 0 .066-.154.078-.419.019-.708-.09-.429-.211-.688-.461-.646-.251.04-.261.35-.17.779.05.24.14.446.239.575zm-2.149.339c.18.078.29.129.331.086.029-.028.021-.084-.022-.154a1.05 1.05 0 0 0-.464-.371 1.26 1.26 0 0 0-1.228.146c-.119.088-.232.209-.218.283.007.023.023.042.065.05.099.011.444-.164.843-.188.282-.02.513.068.693.148zm-.361.205c-.232.037-.361.113-.443.187-.071.062-.113.128-.113.177l.018.042.037.014c.053 0 .171-.046.171-.046.324-.115.539-.102.752-.078.117.014.172.02.198-.02.007-.012.018-.035-.007-.074-.056-.091-.291-.24-.613-.202zm1.784.756c.159.078.333.046.39-.069.059-.115-.024-.272-.183-.349-.158-.079-.333-.049-.39.066-.057.115.026.274.183.352zm1.018-.891c-.128-.002-.234.138-.238.316-.003.177.1.321.229.322.129.002.235-.139.238-.315s-.099-.32-.229-.323zm-8.644 3.183c-.032-.04-.085-.029-.136-.015-.036.007-.076.017-.119.016a.265.265 0 0 1-.221-.111c-.059-.09-.056-.225.01-.378l.03-.069c.104-.231.275-.619.082-.988a.88.88 0 0 0-.671-.488.861.861 0 0 0-.739.267c-.284.313-.327.741-.273.893.021.056.053.071.075.074.048.007.119-.029.164-.15l.014-.038c.02-.064.057-.184.118-.278a.518.518 0 0 1 .717-.15c.2.131.275.375.19.608-.044.121-.115.351-.1.54.032.383.27.537.48.556.206.007.35-.108.387-.193.021-.053.003-.084-.008-.096z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.821 14.397c-.009-.029-.061-.216-.13-.44l-.144-.384c.281-.423.286-.799.249-1.013a1.284 1.284 0 0 0-.372-.724c-.222-.232-.677-.472-1.315-.651l-.335-.093c-.002-.015-.018-.79-.031-1.123-.011-.24-.031-.616-.148-.986-.14-.502-.381-.938-.684-1.221.835-.864 1.355-1.817 1.354-2.634-.003-1.571-1.933-2.049-4.312-1.063l-.503.214c-.002-.002-.911-.894-.924-.905-2.714-2.366-11.192 7.06-8.48 9.349l.593.501a2.916 2.916 0 0 0-.166 1.345c.065.631.389 1.234.915 1.701.5.442 1.159.724 1.796.723 1.055 2.432 3.465 3.922 6.291 4.007 3.032.09 5.576-1.333 6.644-3.889.069-.179.365-.987.365-1.7-.001-.718-.406-1.015-.663-1.014zM7.416 16.309a1.38 1.38 0 0 1-.28.021c-.916-.026-1.905-.85-2.003-1.827-.109-1.08.443-1.912 1.421-2.108.116-.025.258-.038.41-.031.548.032 1.354.452 1.539 1.645.164 1.055-.096 2.132-1.087 2.3zm-1.021-4.562a2.325 2.325 0 0 0-1.473.94c-.197-.164-.562-.48-.626-.604-.524-.994.571-2.928 1.337-4.02 1.889-2.698 4.851-4.739 6.223-4.371.222.064.96.921.96.921s-1.37.759-2.642 1.819c-1.711 1.32-3.006 3.236-3.779 5.315zm9.611 4.158a.05.05 0 0 0 .03-.054.05.05 0 0 0-.056-.045s-1.434.212-2.789-.283c.147-.479.541-.308 1.134-.259a8.287 8.287 0 0 0 2.735-.296c.613-.177 1.419-.524 2.045-1.018.212.465.286.975.286.975s.163-.029.3.055c.13.08.224.245.16.671-.133.798-.471 1.445-1.042 2.041a4.259 4.259 0 0 1-1.249.934 5.337 5.337 0 0 1-.814.346c-2.149.701-4.349-.07-5.058-1.727a2.761 2.761 0 0 1-.142-.392c-.302-1.092-.046-2.4.755-3.226v-.001c.051-.052.102-.113.102-.191 0-.064-.042-.133-.077-.183-.28-.406-1.253-1.099-1.057-2.44.139-.964.982-1.642 1.768-1.602l.2.012c.34.02.637.063.917.076.47.019.891-.049 1.391-.465.169-.142.304-.263.532-.301.024-.006.084-.025.203-.021a.681.681 0 0 1 .343.109c.4.266.457.912.479 1.385.012.269.045.922.055 1.108.026.428.139.489.365.563.129.044.248.074.423.125.529.147.845.3 1.043.493a.637.637 0 0 1 .188.372c.065.457-.353 1.021-1.455 1.533-1.206.559-2.669.701-3.679.588l-.354-.04c-.81-.108-1.269.936-.784 1.651.313.461 1.164.761 2.017.761 1.953.002 3.455-.832 4.015-1.554l.044-.063c.026-.042.005-.063-.03-.041-.455.312-2.483 1.552-4.651 1.18 0 0-.264-.044-.504-.138-.19-.072-.591-.258-.639-.668 1.747.543 2.85.031 2.85.03zm-2.773-.327zM9.886 8.053c.672-.776 1.499-1.452 2.241-1.83.025-.014.052.015.038.038a2.125 2.125 0 0 0-.208.508c-.006.027.023.049.046.032.462-.314 1.264-.651 1.968-.693a.03.03 0 0 1 .021.055 1.66 1.66 0 0 0-.31.311c-.014.02-.001.049.024.049.494.003 1.191.175 1.644.43.03.018.008.077-.025.069-.688-.157-1.811-.277-2.979.008-1.044.254-1.84.646-2.419 1.069-.03.02-.065-.019-.041-.046z\"}}]})(props);\n};\nexport function BiLogoMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.553 18.15H3.447a1.443 1.443 0 0 1-1.442-1.441V7.291c0-.795.647-1.441 1.442-1.441h17.105c.795 0 1.442.646 1.442 1.441v9.418a1.441 1.441 0 0 1-1.441 1.441zM6.811 15.268V11.52l1.922 2.402 1.922-2.402v3.748h1.922V8.732h-1.922l-1.922 2.403-1.922-2.403H4.889v6.535h1.922zM19.688 12h-1.922V8.732h-1.923V12h-1.922l2.884 3.364L19.688 12z\"}}]})(props);\n};\nexport function BiLogoMastercard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.454 17.021c.048.041.1.082.151.122a6.173 6.173 0 0 1-3.42 1.03A6.17 6.17 0 0 1 2.01 12a6.175 6.175 0 0 1 9.592-5.144c-.05.043-.1.082-.138.126A6.633 6.633 0 0 0 9.166 12c0 1.925.833 3.755 2.288 5.021zm4.361-11.195a6.14 6.14 0 0 0-3.416 1.03c.049.043.099.082.137.126 1.462 1.263 2.299 3.094 2.299 5.018s-.835 3.753-2.288 5.021c-.049.041-.101.082-.151.122a6.162 6.162 0 0 0 3.418 1.03 6.174 6.174 0 1 0 .001-12.347zM12 7.15A6.152 6.152 0 0 0 9.644 12 6.15 6.15 0 0 0 12 16.853 6.157 6.157 0 0 0 14.357 12 6.15 6.15 0 0 0 12 7.15z\"}}]})(props);\n};\nexport function BiLogoMastodon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17.24c2.5-.3 4.69-1.84 5-3.25a33.59 33.59 0 0 0 .4-5.42C21.33 4.23 18.48 3 18.48 3A17.64 17.64 0 0 0 12 2a17.64 17.64 0 0 0-6.48 1S2.68 4.23 2.68 8.57v3.44c.1 4.24.78 8.42 4.7 9.46A14.73 14.73 0 0 0 12 22a9.21 9.21 0 0 0 3.54-.81l-.07-1.64A11.41 11.41 0 0 1 12 20c-1.8-.06-3.71-.19-4-2.4a4.26 4.26 0 0 1 0-.63 22.68 22.68 0 0 0 4 .54 23.6 23.6 0 0 0 4-.27zm-6.54-9.8q-1.35 0-1.35 1.62v5.1H6V8.9a3.78 3.78 0 0 1 .82-2.56 2.85 2.85 0 0 1 2.23-1 2.68 2.68 0 0 1 2.4 1.23l.52.87.52-.87a2.68 2.68 0 0 1 2.4-1.23 2.85 2.85 0 0 1 2.23 1A3.78 3.78 0 0 1 18 8.9v5.26h-2.11v-5.1q0-1.62-1.35-1.62c-1 0-1.51.64-1.51 1.92v2.79H11V9.36c0-1.28-.54-1.92-1.54-1.92z\"}}]})(props);\n};\nexport function BiLogoMediumOld (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.957 6.73a.073.073 0 0 0-.019-.097c-.004-.004-.008-.008-.012-.01l-.006-.002-6.033-3.018a.729.729 0 0 0-.292-.067.692.692 0 0 0-.586.317l-3.474 5.646 4.359 7.083 6.063-9.852zm-1.064 13.543c.611.306 1.107.092 1.107-.478V8.483l-5.809 9.439 4.702 2.351zM9.622 8.213v6.426l5.711 2.855zm-7.068 9.558 5.19 2.595a.845.845 0 0 0 .374.098c.323 0 .549-.25.549-.669V6.701a.067.067 0 0 0-.035-.059L2.739 3.697a.669.669 0 0 0-.3-.079c-.258 0-.439.199-.439.534v12.723c0 .341.25.744.554.896z\"}}]})(props);\n};\nexport function BiLogoMediumSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-2.046 4.265-.966.925a.28.28 0 0 0-.106.271v6.801a.28.28 0 0 0 .106.271l.942.926v.204h-4.741v-.204l.977-.948c.097-.096.097-.125.097-.271V9.742l-2.716 6.896h-.368L8.018 9.742v4.622a.644.644 0 0 0 .176.531l1.271 1.541v.203H5.861v-.203l1.271-1.541a.618.618 0 0 0 .164-.531V9.02a.468.468 0 0 0-.152-.395l-1.13-1.36v-.203H9.52l2.71 5.943 2.382-5.943h3.343v.203z\"}}]})(props);\n};\nexport function BiLogoMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 7.269a.733.733 0 0 0-.24-.619l-1.77-2.133v-.32h5.498l4.25 9.32 3.736-9.32H21v.319l-1.515 1.451a.45.45 0 0 0-.168.425v10.666a.448.448 0 0 0 .168.425l1.479 1.451v.319h-7.436v-.319l1.529-1.487c.152-.15.152-.195.152-.424V8.401L10.95 19.218h-.575L5.417 8.401v7.249c-.041.305.06.612.275.833L7.684 18.9v.319H2.036V18.9l1.992-2.417a.971.971 0 0 0 .257-.833V7.269z\"}}]})(props);\n};\nexport function BiLogoMessenger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c-4.92 0-8.91 3.729-8.91 8.332 0 2.616 1.291 4.952 3.311 6.479V21l3.041-1.687c.811.228 1.668.35 2.559.35 4.92 0 8.91-3.73 8.91-8.331C20.91 6.729 16.92 3 12 3zm.938 11.172-2.305-2.394-4.438 2.454 4.865-5.163 2.305 2.395 4.439-2.455-4.866 5.163z\"}}]})(props);\n};\nexport function BiLogoMeta (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.26 7.8a4.82 4.82 0 0 0-3.93-2.44 3.91 3.91 0 0 0-2.54 1.09 10.58 10.58 0 0 0-1.52 1.71 11 11 0 0 0-1.63-1.72 4.39 4.39 0 0 0-2.88-1.08A5 5 0 0 0 3.7 8 11.49 11.49 0 0 0 2 14a7 7 0 0 0 .18 1.64A4.44 4.44 0 0 0 2.71 17a3.23 3.23 0 0 0 3 1.6c1.25 0 2.19-.56 3.3-2a26.4 26.4 0 0 0 2.21-3.6l.63-1.12c.06-.09.11-.18.16-.27l.15.25 1.79 3A14.77 14.77 0 0 0 16 17.63a3.38 3.38 0 0 0 2.55 1 3 3 0 0 0 2.54-1.23 2.2 2.2 0 0 0 .18-.28 4.1 4.1 0 0 0 .31-.63l.12-.35A6.53 6.53 0 0 0 22 15a9 9 0 0 0 0-1 11.15 11.15 0 0 0-1.74-6.2zm-10.12 3.56c-.64 1-1.57 2.51-2.37 3.61-1 1.37-1.51 1.51-2.07 1.51a1.29 1.29 0 0 1-1.15-.66 3.3 3.3 0 0 1-.39-1.7A9.74 9.74 0 0 1 5.54 9a2.8 2.8 0 0 1 2.19-1.47A3 3 0 0 1 10 8.74a14.07 14.07 0 0 1 1 1.31zm8.42 5.12c-.48 0-.85-.19-1.38-.83A34.87 34.87 0 0 1 14.82 12l-.52-.86c-.36-.61-.71-1.16-1-1.65a2.46 2.46 0 0 1 .17-.27c.94-1.39 1.77-2.17 2.8-2.17a3.12 3.12 0 0 1 2.49 1.66 10.17 10.17 0 0 1 1.37 5.34c-.04 1.31-.34 2.43-1.57 2.43z\"}}]})(props);\n};\nexport function BiLogoMicrosoftTeams (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"20.288\",\"cy\":\"8.344\",\"r\":\"1.707\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.581 11.513h3.413v3.656c0 .942-.765 1.706-1.707 1.706h-1.706v-5.362zM2.006 4.2v15.6l11.213 1.979V2.221L2.006 4.2zm8.288 5.411-1.95.049v5.752H6.881V9.757l-1.949.098V8.539l5.362-.292v1.364zm3.899.439v8.288h1.95c.808 0 1.463-.655 1.463-1.462V10.05h-3.413zm1.463-4.875c-.586 0-1.105.264-1.463.673v2.555c.357.409.877.673 1.463.673a1.95 1.95 0 0 0 0-3.901z\"}}]})(props);\n};\nexport function BiLogoMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.55 21H3v-8.55h8.55V21zM21 21h-8.55v-8.55H21V21zm-9.45-9.45H3V3h8.55v8.55zm9.45 0h-8.55V3H21v8.55z\"}}]})(props);\n};\nexport function BiLogoMongodb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.74 4.23c-.84-1-1.57-2-1.71-2.22H12c-.14.21-.87 1.22-1.71 2.22-7.2 9.19 1.14 15.39 1.14 15.39l.07.05c.06.95.22 2.33.22 2.33h.62s.15-1.37.21-2.33l.07-.06s8.32-6.19 1.12-15.38zM12 19.48a3.48 3.48 0 0 1-.48-.48L12 9l.45 10a3.57 3.57 0 0 1-.45.48z\"}}]})(props);\n};\nexport function BiLogoNetlify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.13 9.68 22 11.8v-.11c-.07-.24-.28-.45-.7-.87l-2-2-2.07.87zM12.2 7.24a1.31 1.31 0 0 1 .16.47l3 1.29a1.11 1.11 0 0 1 .29-.14l.48-3-2-2-1.95 3.3s0 .05.02.08zM10.61 7a1.1 1.1 0 0 1 1-.2h.05l2.16-3.34-.66-.66c-.42-.42-.63-.63-.87-.7a1 1 0 0 0-.63 0c-.24.07-.45.28-.87.7l-3 3c.31.14 2.5 1.06 2.78 1.19zm-3.12 5.29h.27a1.45 1.45 0 0 1 .29 0l2.38-3.68v-.06a1 1 0 0 1-.27-.95L9 7l-1.7-.73L5 8.61l2.51 3.66zm7.62-2.44v-.08a.59.59 0 0 1 0-.14l-2.86-1.27h-.05a1.05 1.05 0 0 1-.88.47h-.17s-.05 0-.06.05L8.73 12.5v.05l6.33-2.7s.05.02.05 0zm1.36-.91a.83.83 0 0 1 .26.19l2-.84-1.89-1.87-.4 2.47zm-2.29 5.54A.91.91 0 0 1 15 14v-.05l.54-3.37-.09-.08L9 13.15a2.76 2.76 0 0 1 .08.27zM2 11.95zm12.14 3.18L8.92 14v.06L13.47 21l.42-.43c.15-.92.71-4.33.78-4.72a.9.9 0 0 1-.53-.72zm1.65.32a.88.88 0 0 1-.36.27l-.64 3.94L18.43 16zm1.07-5.13a.07.07 0 0 0-.06 0 .92.92 0 0 1-.61.34v.06l-.55 3.4a.88.88 0 0 1 .34.62h.06l2.95.61 2.28-2.28a4.22 4.22 0 0 0 .65-.74zM8.3 14.59a1.27 1.27 0 0 1-.86 0l-1.22 1.9 4.69 4.68a2.68 2.68 0 0 0 .87.71 1 1 0 0 0 .63 0 1.86 1.86 0 0 0 .7-.54l-4.69-6.8zm4.71 6.82zm-6.62-7.82s.06 0 .06-.05 0 0-.06 0l-4.14-.86a7.07 7.07 0 0 0 .51.54l1.36 1.36 2.27-1zm.28-.66a1.05 1.05 0 0 1 .2-.27v-.06C6.1 11.4 5.3 10.24 4.5 9.07l-1.75 1.75c-.42.42-.63.63-.7.87A.75.75 0 0 0 2 12l4.67 1zm.17 1.33a.61.61 0 0 1-.07-.1L4.59 15l1.08 1.1 1.17-1.82s.01-.02 0-.02z\"}}]})(props);\n};\nexport function BiLogoNodejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21.985c-.275 0-.532-.074-.772-.202l-2.439-1.448c-.365-.203-.182-.277-.072-.314.496-.165.588-.201 1.101-.493.056-.037.129-.02.185.017l1.87 1.12c.074.036.166.036.221 0l7.319-4.237c.074-.036.11-.11.11-.202V7.768c0-.091-.036-.165-.11-.201l-7.319-4.219c-.073-.037-.165-.037-.221 0L4.552 7.566c-.073.036-.11.129-.11.201v8.457c0 .073.037.166.11.202l2 1.157c1.082.548 1.762-.095 1.762-.735V8.502c0-.11.091-.221.22-.221h.936c.108 0 .22.092.22.221v8.347c0 1.449-.788 2.294-2.164 2.294-.422 0-.752 0-1.688-.46l-1.925-1.099a1.55 1.55 0 0 1-.771-1.34V7.786c0-.55.293-1.064.771-1.339l7.316-4.237a1.637 1.637 0 0 1 1.544 0l7.317 4.237c.479.274.771.789.771 1.339v8.458c0 .549-.293 1.063-.771 1.34l-7.317 4.236c-.241.11-.516.165-.773.165zm2.256-5.816c-3.21 0-3.87-1.468-3.87-2.714 0-.11.092-.221.22-.221h.954c.11 0 .201.073.201.184.147.971.568 1.449 2.514 1.449 1.54 0 2.202-.35 2.202-1.175 0-.477-.185-.825-2.587-1.063-1.999-.2-3.246-.643-3.246-2.238 0-1.485 1.247-2.366 3.339-2.366 2.347 0 3.503.809 3.649 2.568a.297.297 0 0 1-.056.165c-.037.036-.091.073-.146.073h-.953a.212.212 0 0 1-.202-.164c-.221-1.012-.789-1.34-2.292-1.34-1.689 0-1.891.587-1.891 1.027 0 .531.237.696 2.514.99 2.256.293 3.32.715 3.32 2.294-.02 1.615-1.339 2.531-3.67 2.531z\"}}]})(props);\n};\nexport function BiLogoOkRu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.986 12.341c-2.825 0-5.173-2.346-5.173-5.122C6.813 4.347 9.161 2 11.987 2c2.922 0 5.173 2.346 5.173 5.219a5.142 5.142 0 0 1-5.157 5.123l-.017-.001zm0-7.324c-1.196 0-2.106 1.005-2.106 2.203 0 1.196.91 2.106 2.107 2.106 1.245 0 2.107-.91 2.107-2.106.001-1.199-.862-2.203-2.108-2.203zm2.06 11.586 2.923 2.825c.575.621.575 1.531 0 2.106-.622.621-1.581.621-2.06 0l-2.922-2.873-2.826 2.873c-.287.287-.671.43-1.103.43-.335 0-.718-.144-1.054-.43-.575-.575-.575-1.485 0-2.107l2.97-2.825a13.49 13.49 0 0 1-3.063-1.339c-.719-.383-.862-1.34-.479-2.059.479-.718 1.341-.909 2.108-.43a6.62 6.62 0 0 0 6.897 0c.767-.479 1.676-.288 2.107.43.432.719.239 1.675-.432 2.059-.909.575-1.963 1.006-3.065 1.341l-.001-.001z\"}}]})(props);\n};\nexport function BiLogoOpera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.71 6.366C7.604 7.67 6.888 9.602 6.838 11.765v.471c.05 2.165.766 4.094 1.872 5.397 1.434 1.865 3.564 3.046 5.948 3.046a7.218 7.218 0 0 0 4.006-1.225 9.943 9.943 0 0 1-7.139 2.533A9.995 9.995 0 0 1 2 12C2 6.477 6.478 2 12 2h.038a9.971 9.971 0 0 1 6.627 2.545c-1.173-.773-2.543-1.225-4.009-1.225-2.382 0-4.514 1.184-5.95 3.046h.004zM22 12a9.971 9.971 0 0 1-3.335 7.455c-2.564 1.25-4.954.375-5.747-.172 2.52-.553 4.422-3.6 4.422-7.283 0-3.686-1.901-6.73-4.422-7.283.792-.545 3.183-1.42 5.747-.172A9.971 9.971 0 0 1 22 12z\"}}]})(props);\n};\nexport function BiLogoPatreon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"14.508\",\"cy\":\"9.831\",\"r\":\"6.496\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.996 3.335H6.17v17.33H2.996z\"}}]})(props);\n};\nexport function BiLogoPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.554 9.488c.121.563.106 1.246-.04 2.051-.582 2.978-2.477 4.466-5.683 4.466h-.442a.666.666 0 0 0-.444.166.72.72 0 0 0-.239.427l-.041.189-.553 3.479-.021.151a.706.706 0 0 1-.247.426.666.666 0 0 1-.447.166H8.874a.395.395 0 0 1-.331-.15.457.457 0 0 1-.09-.363c.061-.373.148-.938.267-1.689.117-.75.206-1.314.267-1.689s.15-.938.272-1.685c.121-.748.212-1.31.271-1.685.033-.248.179-.371.433-.371h1.316c.893.013 1.682-.057 2.375-.211 1.172-.262 2.134-.744 2.886-1.449.685-.637 1.203-1.462 1.56-2.473.162-.47.277-.917.352-1.338.006-.041.014-.066.025-.074.008-.011.022-.014.035-.011a.378.378 0 0 1 .062.035c.524.398.854.941.98 1.632zm-1.728-2.836c0 .717-.154 1.508-.465 2.374-.537 1.562-1.547 2.618-3.037 3.168-.758.269-1.602.408-2.535.425 0 .006-.301.007-.904.007l-.903-.007c-.672 0-1.067.32-1.187.964-.013.053-.298 1.83-.855 5.329-.008.066-.048.102-.121.102H4.854a.473.473 0 0 1-.369-.165.469.469 0 0 1-.115-.39L6.702 3.664a.784.784 0 0 1 .276-.483.785.785 0 0 1 .519-.19h6.014c.228 0 .555.044.979.131.428.084.801.194 1.123.321.718.274 1.266.688 1.645 1.237.379.552.568 1.207.568 1.972z\"}}]})(props);\n};\nexport function BiLogoPeriscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.102 21c1.406 0 6.985-6.329 6.985-10.571C19.087 6.368 15.915 3 12.102 3c-4.017 0-7.188 3.366-7.188 7.429C4.913 14.67 10.492 21 12.102 21zM10.979 5.885a4.696 4.696 0 0 1 1.143-.139c2.25 0 4.186 1.913 4.186 4.398 0 2.238-1.936 4.151-4.196 4.151-2.509 0-4.444-1.913-4.444-4.151 0-1.047.338-1.98.922-2.723v.022c0 .934.755 1.676 1.688 1.676.933.002 1.722-.764 1.722-1.697a1.68 1.68 0 0 0-1.02-1.54l-.001.003z\"}}]})(props);\n};\nexport function BiLogoPhp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.15 16.78h1.57a.14.14 0 0 0 .14-.12l.35-1.82h1.22a4.88 4.88 0 0 0 1.51-.2A2.79 2.79 0 0 0 8 14a3.18 3.18 0 0 0 .67-.85 3.43 3.43 0 0 0 .36-1 2.43 2.43 0 0 0-.41-2.16 2.64 2.64 0 0 0-2.09-.78h-3a.16.16 0 0 0-.15.13L2 16.6a.19.19 0 0 0 0 .13.17.17 0 0 0 .15.05zM5 10.62h1a1.45 1.45 0 0 1 1.08.29c.17.18.2.52.11 1a1.81 1.81 0 0 1-.57 1.12 2.17 2.17 0 0 1-1.33.33h-.8zm9.8-.95a2.7 2.7 0 0 0-1.88-.51h-1.19l.33-1.76a.15.15 0 0 0 0-.13.16.16 0 0 0-.11 0h-1.57a.14.14 0 0 0-.14.12l-1.38 7.27a.13.13 0 0 0 0 .12.13.13 0 0 0 .11.06h1.54a.14.14 0 0 0 .14-.13l.77-4.07h1.11c.45 0 .61.1.66.16a.81.81 0 0 1 0 .62l-.61 3.24a.13.13 0 0 0 0 .12.14.14 0 0 0 .11.06h1.56a.16.16 0 0 0 .15-.13l.64-3.4a1.7 1.7 0 0 0-.24-1.64zm4.52-.51h-3.13a.14.14 0 0 0-.15.13l-1.46 7.31a.16.16 0 0 0 0 .13.14.14 0 0 0 .11.05h1.63a.14.14 0 0 0 .15-.12l.37-1.82h1.27a5.28 5.28 0 0 0 1.56-.2 3 3 0 0 0 1.18-.64 3.31 3.31 0 0 0 .7-.85 3.45 3.45 0 0 0 .37-1 2.38 2.38 0 0 0-.42-2.16 2.81 2.81 0 0 0-2.18-.83zm.62 2.77a1.83 1.83 0 0 1-.6 1.12 2.28 2.28 0 0 1-1.37.33h-.8l.54-2.76h1a1.6 1.6 0 0 1 1.13.29c.16.18.16.52.1 1.02z\"}}]})(props);\n};\nexport function BiLogoPinterestAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.077 9.457c0-.778.136-1.513.404-2.199a5.63 5.63 0 0 1 1.121-1.802 7.614 7.614 0 0 1 1.644-1.329 7.513 7.513 0 0 1 2.002-.844 8.57 8.57 0 0 1 2.185-.281c1.139 0 2.199.241 3.182.721a6.021 6.021 0 0 1 2.391 2.094c.614.915.919 1.95.919 3.104 0 .692-.068 1.369-.207 2.031a8.28 8.28 0 0 1-.646 1.913 6.605 6.605 0 0 1-1.082 1.617 4.723 4.723 0 0 1-1.568 1.114 4.962 4.962 0 0 1-2.045.417c-.489 0-.977-.115-1.459-.346-.482-.23-.828-.546-1.036-.951-.073.281-.173.687-.306 1.218-.128.53-.214.872-.252 1.027-.04.154-.114.411-.222.767a5.183 5.183 0 0 1-.281.769l-.344.674a7.98 7.98 0 0 1-.498.838c-.181.262-.405.575-.672.935l-.149.053-.099-.108c-.107-1.133-.162-1.811-.162-2.035 0-.663.079-1.407.235-2.233.153-.825.395-1.862.72-3.109.325-1.246.511-1.979.561-2.196-.229-.467-.345-1.077-.345-1.827 0-.599.187-1.16.562-1.688.376-.526.851-.789 1.427-.789.441 0 .783.146 1.028.439.246.292.366.66.366 1.109 0 .476-.158 1.165-.476 2.066-.318.902-.476 1.575-.476 2.022 0 .453.162.832.486 1.129a1.68 1.68 0 0 0 1.179.449c.396 0 .763-.09 1.104-.271a2.46 2.46 0 0 0 .849-.733 6.123 6.123 0 0 0 1.017-2.225c.096-.422.17-.823.216-1.2.049-.379.07-.737.07-1.077 0-1.247-.396-2.219-1.183-2.915-.791-.696-1.821-1.042-3.088-1.042-1.441 0-2.646.466-3.611 1.401-.966.932-1.452 2.117-1.452 3.554 0 .317.048.623.139.919.089.295.186.53.291.704.104.171.202.338.291.492.09.154.137.264.137.33 0 .202-.053.465-.16.79-.111.325-.242.487-.4.487-.015 0-.077-.011-.185-.034a2.21 2.21 0 0 1-.979-.605 3.17 3.17 0 0 1-.659-1.022 6.986 6.986 0 0 1-.352-1.169 4.884 4.884 0 0 1-.132-1.153z\"}}]})(props);\n};\nexport function BiLogoPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.99 2C6.472 2 2 6.473 2 11.99c0 4.232 2.633 7.85 6.35 9.306-.088-.79-.166-2.006.034-2.868.182-.78 1.172-4.966 1.172-4.966s-.299-.599-.299-1.484c0-1.388.805-2.425 1.808-2.425.853 0 1.264.64 1.264 1.407 0 .858-.546 2.139-.827 3.327-.235.994.499 1.805 1.479 1.805 1.775 0 3.141-1.872 3.141-4.575 0-2.392-1.719-4.064-4.173-4.064-2.843 0-4.512 2.132-4.512 4.335 0 .858.331 1.779.744 2.28a.3.3 0 0 1 .069.286c-.076.315-.245.994-.277 1.133-.044.183-.145.222-.335.134-1.247-.581-2.027-2.405-2.027-3.871 0-3.151 2.289-6.045 6.601-6.045 3.466 0 6.159 2.469 6.159 5.77 0 3.444-2.171 6.213-5.184 6.213-1.013 0-1.964-.525-2.29-1.146l-.623 2.374c-.225.868-.834 1.956-1.241 2.62a10 10 0 0 0 2.958.445c5.517 0 9.99-4.473 9.99-9.99S17.507 2 11.99 2\"}}]})(props);\n};\nexport function BiLogoPlayStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.954 11.616 2.957-2.957L6.36 3.291c-.633-.342-1.226-.39-1.746-.016l8.34 8.341zm3.461 3.462 3.074-1.729c.6-.336.929-.812.929-1.34 0-.527-.329-1.004-.928-1.34l-2.783-1.563-3.133 3.132 2.841 2.84zM4.1 4.002c-.064.197-.1.417-.1.658v14.705c0 .381.084.709.236.97l8.097-8.098L4.1 4.002zm8.854 8.855L4.902 20.91c.154.059.32.09.495.09.312 0 .637-.092.968-.276l9.255-5.197-2.666-2.67z\"}}]})(props);\n};\nexport function BiLogoPocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.327 3.983H4.746c-.947 0-1.736.726-1.736 1.673v5.396c0 4.892 4.04 8.964 9.026 8.964 4.955 0 8.964-4.072 8.964-8.964V5.656c0-.947-.758-1.673-1.673-1.673zm-2.178 6.691-4.293 4.04c-.221.253-.567.348-.82.348-.315 0-.631-.095-.884-.348l-4.229-4.04c-.441-.473-.504-1.262 0-1.768.475-.441 1.263-.504 1.736 0l3.377 3.251 3.44-3.251c.441-.504 1.23-.441 1.673 0 .442.506.442 1.295 0 1.768z\"}}]})(props);\n};\nexport function BiLogoPostgresql (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.74 12.89v-.11c.06-.15.12-.29.19-.43a5.15 5.15 0 0 0 .26-3.74.86.86 0 0 0-.66-.74 3.12 3.12 0 0 0-2.08.61v.18a11.34 11.34 0 0 1-.06 2.41 2.37 2.37 0 0 0 .62 2 2 2 0 0 0 1.43.63 8.05 8.05 0 0 1 .3-.81zM10 8.58a.36.36 0 0 1-.09-.23.19.19 0 0 1 .09-.12.74.74 0 0 1 .48-.07c.25 0 .5.16.48.34a.51.51 0 0 1-.49.33h-.06a.63.63 0 0 1-.41-.25z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.88 11a12.58 12.58 0 0 0 .06-2.3v-.28a7 7 0 0 1 1.54-4.55c-1-.32-3.4-1-4.87.1-.9.64-1.32 1.84-1.23 3.55a24.85 24.85 0 0 0 1 4.4c.68 2.22 1.45 3.62 2.11 3.85.1 0 .41.13.86-.41.64-.76 1.23-1.41 1.5-1.7l-.19-.19A2.89 2.89 0 0 1 7.88 11zm3.5 3.4c-.16-.06-.24-.1-.42.11a2.52 2.52 0 0 0-.29.35c-.35.43-.5.58-1.51.79a2 2 0 0 0-.4.11 1 1 0 0 0 .37.16 2.21 2.21 0 0 0 2.5-.8.41.41 0 0 0 0-.35.59.59 0 0 0-.25-.37zm6.29-5.82a5.29 5.29 0 0 0 .08-.79c-.66-.08-1.42-.07-1.72.36-.58.83.56 2.88 1 3.75a4.34 4.34 0 0 1 .26.48 1.79 1.79 0 0 0 .15.31 3.72 3.72 0 0 0 .16-2.13 7.51 7.51 0 0 1-.07-1.05 6 6 0 0 1 .14-.93zm-.56-.16a.6.6 0 0 1-.32.17h-.06a.47.47 0 0 1-.44-.3c0-.14.2-.24.44-.28s.48 0 .5.15a.38.38 0 0 1-.12.26z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4.88a6.06 6.06 0 0 1 1.37 2.57.71.71 0 0 1 0 .15 5.67 5.67 0 0 1-.09 1.06 7.11 7.11 0 0 0-.09.86 6.61 6.61 0 0 0 .07 1 4 4 0 0 1-.36 2.71l.07.08c2.22-3.49 3-7.54 2.29-8.43a4.77 4.77 0 0 0-3.81-1.8 7.34 7.34 0 0 0-1.63.16A6.17 6.17 0 0 1 17 4.88z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.65 14c-.07-.2-.37-.85-1.47-.62a6.28 6.28 0 0 1-1 .13 19.74 19.74 0 0 0 2.06-4.88c.37-1.45.66-3.39-.11-4.38A5.91 5.91 0 0 0 16.37 2a8.44 8.44 0 0 0-2.46.35 9.38 9.38 0 0 0-1.45-.14 4.8 4.8 0 0 0-2.46.62 12.22 12.22 0 0 0-1.77-.44A5.44 5.44 0 0 0 4 3.05c-1.24.87-1.81 2.39-1.71 4.52a26.28 26.28 0 0 0 1 4.67A15.76 15.76 0 0 0 4.4 15a3.39 3.39 0 0 0 1.75 1.83 1.71 1.71 0 0 0 1.69-.37 2 2 0 0 0 1 .59 3.65 3.65 0 0 0 2.35-.14v.81a8.46 8.46 0 0 0 .31 2.36 1 1 0 0 1 0 .13 3 3 0 0 0 .71 1.24 2.08 2.08 0 0 0 1.49.56 3 3 0 0 0 .7-.08 3.27 3.27 0 0 0 2.21-1.27 7.34 7.34 0 0 0 .91-4v-.26h.17a5.24 5.24 0 0 0 2.4-.4c.45-.23 1.91-1 1.56-2zm-1.81 1.47a4.7 4.7 0 0 1-1.8.34 2.62 2.62 0 0 1-.79-.1c-.1.94-.32 2.69-.45 3.42a2.47 2.47 0 0 1-2.25 2.3 3.23 3.23 0 0 1-.66.07A2 2 0 0 1 12 20a16.77 16.77 0 0 1-.28-4.06 2.56 2.56 0 0 1-1.78.66 3.94 3.94 0 0 1-.94-.13c-.09 0-.87-.23-.86-.73s.66-.59.9-.64c.86-.18.92-.25 1.19-.59a2.79 2.79 0 0 1 .19-.24 2.56 2.56 0 0 1-1.11-.3c-.23.25-.86.93-1.54 1.74a1.43 1.43 0 0 1-1.11.63 1.23 1.23 0 0 1-.35 0C5.43 16 4.6 14.55 3.84 12a25.21 25.21 0 0 1-1-4.53c-.1-1.92.4-3.28 1.47-4 1.92-1.36 5-.31 5.7-.06a4 4 0 0 1 2.41-.66 5.58 5.58 0 0 1 1.4.18 7.51 7.51 0 0 1 2.5-.4 5.35 5.35 0 0 1 4.32 2c.69.88.23 3 0 3.89a18.84 18.84 0 0 1-2.41 5.41c.16.11.65.31 2 0 .46-.1.73 0 .82.25.22.55-.7 1.13-1.21 1.37z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.43 13.59a4 4 0 0 1-.62-1c0-.07-.12-.24-.23-.43-.58-1-1.79-3.22-1-4.34a2.16 2.16 0 0 1 2.12-.61 6.28 6.28 0 0 0-1.13-1.94 5.41 5.41 0 0 0-4.13-2 3.34 3.34 0 0 0-2.55.95A5.82 5.82 0 0 0 8.51 7.8l.15-.08A3.7 3.7 0 0 1 10 7.3a1.45 1.45 0 0 1 1.76 1.19 5.73 5.73 0 0 1-.29 4.09 3.29 3.29 0 0 0-.17.39v.11c-.1.27-.19.52-.25.73a.94.94 0 0 1 .57.07 1.16 1.16 0 0 1 .62.74v.16a.28.28 0 0 1 0 .09 22.22 22.22 0 0 0 .22 4.9 1.5 1.5 0 0 0 2 1.09A1.92 1.92 0 0 0 16.25 19c.15-.88.45-3.35.49-3.88 0-1.06.52-1.27.84-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 14.33-.08-.06h-.12c-.26.07-.5.14-.47.8a1.9 1.9 0 0 0 .93.12 4.29 4.29 0 0 0 1.38-.29 3 3 0 0 0 .79-.52 3.47 3.47 0 0 1-2.43-.05z\"}}]})(props);\n};\nexport function BiLogoProductHunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.337 9h-2.838v3h2.838a1.501 1.501 0 1 0 0-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm1.337 12h-2.838v3H8.501V7h4.837a3.498 3.498 0 0 1 3.499 3.499 3.499 3.499 0 0 1-3.5 3.501z\"}}]})(props);\n};\nexport function BiLogoPython (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.585 11.692h4.328s2.432.039 2.432-2.35V5.391S16.714 3 11.936 3C7.362 3 7.647 4.983 7.647 4.983l.006 2.055h4.363v.617H5.92s-2.927-.332-2.927 4.282 2.555 4.45 2.555 4.45h1.524v-2.141s-.083-2.554 2.513-2.554zm-.056-5.74a.784.784 0 1 1 0-1.57.784.784 0 1 1 0 1.57z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.452 7.532h-1.524v2.141s.083 2.554-2.513 2.554h-4.328s-2.432-.04-2.432 2.35v3.951s-.369 2.391 4.409 2.391c4.573 0 4.288-1.983 4.288-1.983l-.006-2.054h-4.363v-.617h6.097s2.927.332 2.927-4.282-2.555-4.451-2.555-4.451zm-3.981 10.436a.784.784 0 1 1 0 1.57.784.784 0 1 1 0-1.57z\"}}]})(props);\n};\nexport function BiLogoQuora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.555 17.025c-.624-1.227-1.354-2.465-2.781-2.465-.271 0-.546.046-.795.157l-.484-.967c.59-.509 1.544-.911 2.77-.911 1.908 0 2.889.922 3.667 2.094.459-1.001.678-2.354.678-4.03 0-4.188-1.308-6.336-4.366-6.336-3.014 0-4.318 2.148-4.318 6.336 0 4.164 1.305 6.291 4.318 6.291.478 0 .913-.051 1.311-.169zm.747 1.461a7.977 7.977 0 0 1-2.059.274c-4.014 0-7.941-3.202-7.941-7.858C3.303 6.203 7.229 3 11.243 3c4.081 0 7.972 3.179 7.972 7.903 0 2.628-1.226 4.763-3.007 6.143.572.861 1.157 1.436 1.988 1.436.899 0 1.261-.687 1.328-1.236h1.167c.07.73-.301 3.754-3.574 3.754-1.989 0-3.035-1.146-3.822-2.496l.007-.018z\"}}]})(props);\n};\nexport function BiLogoReact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"11.245\",\"r\":\"1.785\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.002 14.794-.395-.101c-2.934-.741-4.617-2.001-4.617-3.452 0-1.452 1.684-2.711 4.617-3.452l.395-.1.111.391a19.507 19.507 0 0 0 1.136 2.983l.085.178-.085.178c-.46.963-.841 1.961-1.136 2.985l-.111.39zm-.577-6.095c-2.229.628-3.598 1.586-3.598 2.542 0 .954 1.368 1.913 3.598 2.54.273-.868.603-1.717.985-2.54a20.356 20.356 0 0 1-.985-2.542zm10.572 6.095-.11-.392a19.628 19.628 0 0 0-1.137-2.984l-.085-.177.085-.179c.46-.961.839-1.96 1.137-2.984l.11-.39.395.1c2.935.741 4.617 2 4.617 3.453 0 1.452-1.683 2.711-4.617 3.452l-.395.101zm-.41-3.553c.4.866.733 1.718.987 2.54 2.23-.627 3.599-1.586 3.599-2.54 0-.956-1.368-1.913-3.599-2.542a20.683 20.683 0 0 1-.987 2.542z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.419 8.695-.11-.39c-.826-2.908-.576-4.991.687-5.717 1.235-.715 3.222.13 5.303 2.265l.284.292-.284.291a19.718 19.718 0 0 0-2.02 2.474l-.113.162-.196.016a19.646 19.646 0 0 0-3.157.509l-.394.098zm1.582-5.529c-.224 0-.422.049-.589.145-.828.477-.974 2.138-.404 4.38.891-.197 1.79-.338 2.696-.417a21.058 21.058 0 0 1 1.713-2.123c-1.303-1.267-2.533-1.985-3.416-1.985zm7.997 16.984c-1.188 0-2.714-.896-4.298-2.522l-.283-.291.283-.29a19.827 19.827 0 0 0 2.021-2.477l.112-.16.194-.019a19.473 19.473 0 0 0 3.158-.507l.395-.1.111.391c.822 2.906.573 4.992-.688 5.718a1.978 1.978 0 0 1-1.005.257zm-3.415-2.82c1.302 1.267 2.533 1.986 3.415 1.986.225 0 .423-.05.589-.145.829-.478.976-2.142.404-4.384-.89.198-1.79.34-2.698.419a20.526 20.526 0 0 1-1.71 2.124z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.58 8.695-.395-.099a19.477 19.477 0 0 0-3.158-.509l-.194-.017-.112-.162A19.551 19.551 0 0 0 11.7 5.434l-.283-.291.283-.29c2.08-2.134 4.066-2.979 5.303-2.265 1.262.727 1.513 2.81.688 5.717l-.111.39zm-3.287-1.421c.954.085 1.858.228 2.698.417.571-2.242.425-3.903-.404-4.381-.824-.477-2.375.253-4.004 1.841.616.67 1.188 1.378 1.71 2.123zM8.001 20.15a1.983 1.983 0 0 1-1.005-.257c-1.263-.726-1.513-2.811-.688-5.718l.108-.391.395.1c.964.243 2.026.414 3.158.507l.194.019.113.16c.604.878 1.28 1.707 2.02 2.477l.284.29-.284.291c-1.583 1.627-3.109 2.522-4.295 2.522zm-.993-5.362c-.57 2.242-.424 3.906.404 4.384.825.47 2.371-.255 4.005-1.842a21.17 21.17 0 0 1-1.713-2.123 20.692 20.692 0 0 1-2.696-.419z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15.313c-.687 0-1.392-.029-2.1-.088l-.196-.017-.113-.162a25.697 25.697 0 0 1-1.126-1.769 26.028 26.028 0 0 1-.971-1.859l-.084-.177.084-.179c.299-.632.622-1.252.971-1.858.347-.596.726-1.192 1.126-1.77l.113-.16.196-.018a25.148 25.148 0 0 1 4.198 0l.194.019.113.16a25.136 25.136 0 0 1 2.1 3.628l.083.179-.083.177a24.742 24.742 0 0 1-2.1 3.628l-.113.162-.194.017c-.706.057-1.412.087-2.098.087zm-1.834-.904c1.235.093 2.433.093 3.667 0a24.469 24.469 0 0 0 1.832-3.168 23.916 23.916 0 0 0-1.832-3.168 23.877 23.877 0 0 0-3.667 0 23.743 23.743 0 0 0-1.832 3.168 24.82 24.82 0 0 0 1.832 3.168z\"}}]})(props);\n};\nexport function BiLogoRedbubble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.002 2.005 12 2.004c-5.52 0-9.996 4.475-9.996 9.995 0 5.521 4.477 9.998 9.996 9.998 5.521 0 9.996-4.475 9.996-9.997 0-5.52-4.475-9.995-9.994-9.995zm.162 13.53a.267.267 0 0 1-.174.066v.001H6.455a.268.268 0 0 1-.266-.268V8.646c0-.148.119-.268.266-.268h2.589c1.612 0 2.576.87 2.576 2.327 0 .969-.486 1.729-1.272 2.039l1.842 2.413a.269.269 0 0 1-.026.378zm3.695.068h-2.665a.268.268 0 0 1-.266-.269V8.646c0-.148.119-.267.266-.267h2.472c1.853 0 2.242 1.091 2.242 2.007 0 .529-.141.949-.421 1.258.681.28 1.047.913 1.047 1.827 0 1.335-1.001 2.132-2.675 2.132z\"}}]})(props);\n};\nexport function BiLogoReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9.67\",\"cy\":\"13\",\"r\":\"1.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.09 15.391A3.28 3.28 0 0 1 12 16a3.271 3.271 0 0 1-2.081-.63.27.27 0 0 0-.379.38c.71.535 1.582.809 2.471.77a3.811 3.811 0 0 0 2.469-.77v.04a.284.284 0 0 0 .006-.396.28.28 0 0 0-.396-.003zm.209-3.351a1 1 0 0 0 0 2l-.008.039c.016.002.033 0 .051 0a1 1 0 0 0 .958-1.038 1 1 0 0 0-1.001-1.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.479 2 2 6.477 2 12c0 5.521 4.479 10 10 10s10-4.479 10-10c0-5.523-4.479-10-10-10zm5.859 11.33c.012.146.012.293 0 .439 0 2.24-2.609 4.062-5.83 4.062s-5.83-1.82-5.83-4.062a2.681 2.681 0 0 1 0-.439 1.46 1.46 0 0 1-.455-2.327 1.458 1.458 0 0 1 2.063-.063 7.145 7.145 0 0 1 3.899-1.23l.743-3.47v-.004A.313.313 0 0 1 12.82 6l2.449.49a1.001 1.001 0 1 1-.131.61L13 6.65l-.649 3.12a7.123 7.123 0 0 1 3.85 1.23 1.46 1.46 0 0 1 2.469 1c.01.563-.307 1.08-.811 1.33z\"}}]})(props);\n};\nexport function BiLogoRedux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.661 15.549a1.315 1.315 0 0 0 1.185-1.386 1.363 1.363 0 0 0-1.35-1.302h-.048a1.352 1.352 0 0 0-1.303 1.397c.024.379.179.687.391.911-.827 1.609-2.07 2.794-3.954 3.788-1.266.663-2.604.912-3.905.734-1.089-.153-1.94-.64-2.463-1.421-.78-1.185-.852-2.462-.201-3.74a5.597 5.597 0 0 1 1.658-1.931 7.88 7.88 0 0 1-.331-1.218c-3.506 2.51-3.148 5.942-2.084 7.564.794 1.184 2.415 1.941 4.19 1.941.474 0 .972-.035 1.457-.154 3.077-.592 5.409-2.438 6.747-5.16l.011-.023z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.887 12.589c-1.834-2.154-4.533-3.337-7.611-3.337h-.403c-.2-.438-.661-.711-1.183-.711h-.036c-.744 0-1.325.64-1.301 1.385.023.71.627 1.302 1.35 1.302h.059a1.332 1.332 0 0 0 1.183-.828h.439c1.824 0 3.551.532 5.126 1.574 1.206.792 2.072 1.834 2.557 3.077.425 1.019.402 2.013-.035 2.843-.675 1.302-1.812 1.988-3.314 1.988-.947 0-1.871-.296-2.345-.509-.283.235-.758.626-1.102.863 1.042.473 2.096.746 3.113.746 2.309 0 4.023-1.302 4.676-2.557.709-1.422.651-3.813-1.161-5.859l-.012.023z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.647 15.975c.023.71.626 1.302 1.35 1.302h.048a1.334 1.334 0 0 0 1.302-1.397c0-.71-.616-1.301-1.338-1.301h-.048c-.048 0-.118 0-.178.022-.982-1.657-1.397-3.434-1.242-5.349.094-1.445.567-2.7 1.42-3.742.71-.888 2.048-1.326 2.96-1.35 2.556-.048 3.622 3.138 3.704 4.404l1.184.354C16.536 5.036 14.122 3 11.813 3 9.647 3 7.647 4.574 6.842 6.884c-1.102 3.077-.379 6.036.971 8.404-.118.154-.189.426-.166.687z\"}}]})(props);\n};\nexport function BiLogoSass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.522 0 10 4.478 10 10s-4.478 10-10 10S2 17.522 2 12 6.478 2 12 2zm-1.987 13.332c.146.537.13 1.039-.021 1.493l-.054.15a2.803 2.803 0 0 1-.527.821c-.582.633-1.394.872-1.742.671-.375-.219-.188-1.112.487-1.825.726-.765 1.766-1.258 1.766-1.258v-.002l.091-.05zm8.258-9.051c-.452-1.777-3.397-2.362-6.185-1.371-1.656.589-3.453 1.515-4.743 2.723-1.536 1.434-1.78 2.684-1.68 3.206.355 1.843 2.881 3.048 3.92 3.942v.005c-.307.149-2.548 1.274-3.072 2.438-.563 1.225.088 2.101.513 2.212 1.313.363 2.662-.3 3.388-1.374.699-1.051.638-2.4.337-3.063.413-.112.899-.162 1.524-.086 1.751.199 2.101 1.3 2.024 1.75-.074.449-.436.711-.561.786-.126.076-.163.101-.151.151.013.074.076.074.175.063.138-.025.914-.375.951-1.227.037-1.074-.988-2.273-2.813-2.25-.75.014-1.226.076-1.563.214a.295.295 0 0 0-.088-.088c-1.125-1.213-3.213-2.063-3.125-3.675.025-.588.237-2.137 4-4.012 3.088-1.538 5.551-1.112 5.977-.175.61 1.336-1.314 3.825-4.526 4.187-1.225.138-1.862-.337-2.026-.513-.174-.188-.198-.2-.261-.161-.101.05-.038.212 0 .313.1.249.487.688 1.163.912.587.188 2.024.299 3.75-.375 1.937-.749 3.449-2.838 3.012-4.588l.06.056z\"}}]})(props);\n};\nexport function BiLogoShopify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.49 20.937 5.381-1.166S17.93 6.633 17.914 6.546c-.016-.086-.086-.144-.158-.144s-1.439-.101-1.439-.101-.949-.949-1.064-1.05c-.027-.029-.057-.043-.086-.058l-.677 15.744zm.446-15.772c-.016 0-.043.014-.057.014-.016 0-.217.059-.533.158-.318-.919-.879-1.768-1.871-1.768h-.086c-.289-.361-.633-.519-.936-.519-2.316 0-3.426 2.892-3.77 4.359-.892.275-1.538.476-1.613.505-.504.158-.517.172-.574.648-.057.344-1.367 10.489-1.367 10.489l10.117 1.899.69-15.785zm-2.635.704v.102c-.559.173-1.178.36-1.783.547.346-1.323.992-1.972 1.553-2.217.146.375.23.878.23 1.568zm-.92-2.2c.1 0 .201.028.303.102-.732.344-1.539 1.222-1.871 2.978a59.11 59.11 0 0 1-1.411.432c.389-1.339 1.325-3.512 2.979-3.512zm.402 7.812s-.604-.315-1.322-.315c-1.08 0-1.123.676-1.123.849 0 .921 2.418 1.28 2.418 3.453 0 1.712-1.08 2.806-2.547 2.806-1.756 0-2.648-1.094-2.648-1.094l.475-1.554s.922.792 1.697.792a.693.693 0 0 0 .721-.69c0-1.209-1.986-1.268-1.986-3.252 0-1.669 1.195-3.295 3.627-3.295.936 0 1.395.272 1.395.272l-.707 2.028zm.922-7.281c.518.06.85.648 1.064 1.311-.258.087-.547.173-.863.273v-.187c0-.561-.072-1.022-.201-1.397z\"}}]})(props);\n};\nexport function BiLogoSketch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.42 9.87 12 20.78l5.58-10.91H6.42zM5.9 4.01 2 9.24h3.62l.28-5.23zm6.1-.59L6.63 9.24h10.74L12 3.42zM2.04 9.87l9.09 10.58L5.72 9.87H2.04zM11.53 3h-.15l-4.84.51a.09.09 0 0 1 0 .05l-.27 5.15zm1.34 17.45 9.09-10.58h-3.68l-5.41 10.58zm4.58-16.87a.09.09 0 0 1 0-.05l-4-.42-1-.11 5.26 5.71zm.65.43.28 5.23H22l-2.22-2.98-1.68-2.25z\"}}]})(props);\n};\nexport function BiLogoSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.857 17.417c-2.947 0-4.294-1.524-4.294-2.641 0-.266.108-.521.298-.705a.946.946 0 0 1 .71-.264c1.261 0 .931 1.92 3.286 1.92 1.203 0 1.91-.736 1.91-1.425 0-.415-.234-.889-1.028-1.079l-2.629-.673c-2.111-.545-2.479-1.737-2.479-2.842 0-2.293 2.068-3.124 4.036-3.124 1.814 0 3.97 1.016 3.97 2.391 0 .592-.488.91-1.055.91-1.078 0-.897-1.536-3.063-1.536-1.077 0-1.645.513-1.645 1.23s.839.96 1.574 1.123l1.941.445c2.126.486 2.691 1.751 2.691 2.963 0 1.865-1.423 3.305-4.226 3.305m8.139-3.942c.086-.49.128-.986.128-1.482a8.472 8.472 0 0 0-2.952-6.474 8.211 8.211 0 0 0-6.788-1.856A4.818 4.818 0 0 0 7.935 3a4.954 4.954 0 0 0-4.27 2.519 5.103 5.103 0 0 0-.015 5.011 8.51 8.51 0 0 0 2.282 7.453 8.23 8.23 0 0 0 7.333 2.355 4.823 4.823 0 0 0 2.443.662 4.954 4.954 0 0 0 4.269-2.518 5.095 5.095 0 0 0 .016-5.009\"}}]})(props);\n};\nexport function BiLogoSlackOld (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.935 12.646a1.617 1.617 0 0 0-2.022-1.034l-1.632.532c-.355-1.099-.735-2.268-1.092-3.365l.006-.002-.004-.008 1.613-.523a1.62 1.62 0 0 0 1.035-2.023 1.62 1.62 0 0 0-2.025-1.034l-1.621.527-.519-1.604a1.619 1.619 0 0 0-2.024-1.034 1.618 1.618 0 0 0-1.033 2.024l.522 1.609-3.368 1.092-.524-1.611a1.618 1.618 0 0 0-2.022-1.034 1.617 1.617 0 0 0-1.034 2.023l.524 1.616-1.662.541a1.602 1.602 0 0 0-.988 1.95c.25.856 1.152 1.373 1.979 1.092.006 0 .658-.209 1.665-.536l1.099 3.386h-.002v.002l-1.67.545a1.599 1.599 0 0 0-.987 1.949c.25.857 1.15 1.374 1.979 1.093.007 0 .659-.211 1.665-.538l.003.005a.024.024 0 0 0 .008-.002l.539 1.657a1.6 1.6 0 0 0 1.949.989c.857-.25 1.373-1.151 1.094-1.979 0-.006-.209-.654-.533-1.654l-.003-.009c1.104-.358 2.276-.739 3.376-1.098l.543 1.668a1.602 1.602 0 0 0 1.949.989c.856-.251 1.374-1.152 1.092-1.979 0-.007-.209-.659-.535-1.663l.019-.006-.003-.007 1.609-.522a1.62 1.62 0 0 0 1.035-2.024zM10.86 14.238l-1.097-3.377a.02.02 0 0 0 .005-.001v-.006c1.098-.356 2.268-.735 3.363-1.092l1.098 3.377-3.369 1.099z\"}}]})(props);\n};\nexport function BiLogoSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.194 14.644c0 1.16-.943 2.107-2.103 2.107a2.11 2.11 0 0 1-2.104-2.107 2.11 2.11 0 0 1 2.104-2.106h2.103v2.106zm1.061 0c0-1.16.944-2.106 2.104-2.106a2.11 2.11 0 0 1 2.103 2.106v5.274a2.11 2.11 0 0 1-2.103 2.106 2.108 2.108 0 0 1-2.104-2.106v-5.274zm2.104-8.455c-1.16 0-2.104-.948-2.104-2.107s.944-2.106 2.104-2.106a2.11 2.11 0 0 1 2.103 2.106v2.107H9.359zm0 1.06a2.11 2.11 0 0 1 2.103 2.107 2.11 2.11 0 0 1-2.103 2.106H4.092a2.11 2.11 0 0 1-2.104-2.106 2.11 2.11 0 0 1 2.104-2.107h5.267zm8.447 2.107c0-1.16.943-2.107 2.103-2.107a2.11 2.11 0 0 1 2.104 2.107 2.11 2.11 0 0 1-2.104 2.106h-2.103V9.356zm-1.061 0c0 1.16-.944 2.106-2.104 2.106a2.11 2.11 0 0 1-2.103-2.106V4.082a2.11 2.11 0 0 1 2.103-2.106c1.16 0 2.104.946 2.104 2.106v5.274zm-2.104 8.455c1.16 0 2.104.948 2.104 2.107s-.944 2.106-2.104 2.106a2.11 2.11 0 0 1-2.103-2.106v-2.107h2.103zm0-1.06a2.11 2.11 0 0 1-2.103-2.107 2.11 2.11 0 0 1 2.103-2.106h5.268a2.11 2.11 0 0 1 2.104 2.106 2.11 2.11 0 0 1-2.104 2.107h-5.268z\"}}]})(props);\n};\nexport function BiLogoSnapchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.166 3c.796 0 3.495.223 4.769 3.073.426.959.324 2.589.24 3.898l-.002.047c-.011.146-.018.278-.024.41a.62.62 0 0 0 .322.072c.241-.013.53-.096.831-.241a.81.81 0 0 1 .373-.084c.146 0 .289.023.409.072.361.12.59.385.59.674.013.361-.313.675-.975.939-.071.023-.169.061-.276.096-.363.109-.917.289-1.073.651-.072.181-.049.421.098.697l.012.013c.048.109 1.228 2.795 3.854 3.229a.401.401 0 0 1 .337.409c0 .06-.013.119-.036.181-.193.457-1.023.795-2.53 1.021-.047.073-.096.302-.132.459-.022.144-.06.289-.107.444-.061.218-.217.325-.446.325h-.024a2.45 2.45 0 0 1-.433-.059 4.799 4.799 0 0 0-1.024-.108c-.24 0-.48.012-.732.06-.483.084-.904.373-1.386.71-.687.481-1.469 1.036-2.649 1.036-.048 0-.096-.012-.146-.012h-.119c-1.181 0-1.951-.543-2.637-1.036-.481-.338-.89-.626-1.373-.711a5.507 5.507 0 0 0-.745-.06c-.435 0-.771.072-1.023.12-.17.035-.314.059-.435.059a.45.45 0 0 1-.47-.337c-.048-.154-.071-.313-.107-.456-.038-.146-.085-.396-.133-.458-1.543-.179-2.373-.517-2.565-.986a.473.473 0 0 1-.044-.181.398.398 0 0 1 .337-.409c2.625-.434 3.805-3.119 3.854-3.232l.013-.023c.145-.277.18-.52.096-.699-.156-.349-.711-.529-1.07-.65a1.759 1.759 0 0 1-.279-.096c-.89-.35-1.011-.748-.962-1.024.072-.384.541-.637.939-.637.117 0 .217.023.308.06.337.155.635.241.888.241a.742.742 0 0 0 .373-.085l-.041-.458c-.08-1.307-.182-2.935.247-3.889 1.236-2.836 3.929-3.054 4.724-3.054L12.117 3h.049z\"}}]})(props);\n};\nexport function BiLogoSoundcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.971 12.188c-.041 0-.078.038-.083.082l-.194 1.797.194 1.756c.005.049.042.082.083.082s.075-.033.084-.082l.211-1.756-.225-1.797c0-.046-.037-.082-.074-.082m-.75.691c-.051 0-.076.03-.088.079l-.138 1.109.138 1.092c0 .046.037.078.075.078.039 0 .073-.038.087-.087l.176-1.1-.176-1.112c0-.051-.037-.076-.075-.076m1.526-1.025c-.052 0-.1.039-.1.087l-.176 2.139.188 2.051c0 .049.037.1.099.1.052 0 .089-.051.102-.1l.211-2.064-.211-2.126c-.013-.049-.052-.1-.102-.1m.79-.075c-.063 0-.114.051-.126.113l-.161 2.201.177 2.123c.012.063.061.114.122.114.064 0 .113-.051.125-.124l.201-2.113-.201-2.187a.11.11 0 0 0-.111-.112l-.026-.015zm.962.301a.128.128 0 0 0-.133-.125.134.134 0 0 0-.137.125l-.182 2.026.169 2.138a.13.13 0 0 0 .132.131c.062 0 .123-.055.123-.132l.189-2.139-.189-2.036.028.012zm.674-1.426a.154.154 0 0 0-.148.15l-.176 3.3.156 2.139c0 .077.066.137.15.137.078 0 .145-.074.15-.15l.174-2.137-.173-3.313c-.007-.088-.074-.152-.15-.152m.8-.762a.178.178 0 0 0-.17.163l-.15 4.063.138 2.125c0 .1.075.174.163.174.086 0 .161-.074.174-.174l.162-2.125-.161-4.052c-.013-.1-.088-.175-.175-.175m.826-.372c-.102 0-.176.073-.188.173l-.139 4.4.139 2.102c.012.1.086.188.188.188a.193.193 0 0 0 .187-.188l.163-2.102-.164-4.4c0-.1-.087-.188-.188-.188m1.038.038a.196.196 0 0 0-.199-.199.205.205 0 0 0-.201.199l-.125 4.538.124 2.089c.015.111.101.199.214.199s.201-.088.201-.199l.136-2.089-.136-4.55-.014.012zm.625-.111c-.113 0-.213.1-.213.211l-.125 4.439.125 2.063c0 .125.1.213.213.213a.221.221 0 0 0 .214-.224l.125-2.064-.14-4.428c0-.122-.1-.225-.225-.225m.838.139a.236.236 0 0 0-.237.237l-.086 4.29.113 2.063c0 .124.1.231.236.231.125 0 .227-.1.237-.237l.101-2.038-.112-4.265c-.01-.137-.113-.238-.237-.238m.988-.786a.27.27 0 0 0-.139-.037c-.05 0-.1.013-.137.037a.25.25 0 0 0-.125.214v.05l-.086 5.044.096 2.043v.007c.006.05.024.112.06.15.05.051.12.086.196.086a.28.28 0 0 0 .175-.074.262.262 0 0 0 .076-.188l.013-.201.097-1.838-.113-5.075a.24.24 0 0 0-.111-.199l-.002-.019zm.837-.457a.155.155 0 0 0-.124-.052.283.283 0 0 0-.174.052.265.265 0 0 0-.1.201v.023l-.114 5.513.063 1.014.052.988a.274.274 0 0 0 .548-.012l.125-2.013-.125-5.536a.273.273 0 0 0-.138-.231m7.452 3.15c-.336 0-.663.072-.949.193a4.34 4.34 0 0 0-5.902-3.651c-.188.075-.227.151-.238.301v7.812a.31.31 0 0 0 .275.29h6.827a2.428 2.428 0 0 0 2.45-2.438 2.457 2.457 0 0 0-2.45-2.463\"}}]})(props);\n};\nexport function BiLogoSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.01 2.019c-5.495 0-9.991 4.496-9.991 9.991 0 5.494 4.496 9.99 9.991 9.99 5.494 0 9.99-4.496 9.99-9.99 0-5.495-4.446-9.991-9.99-9.991zm4.595 14.436c-.199.299-.549.4-.85.201-2.349-1.45-5.296-1.75-8.793-.951-.348.102-.648-.148-.748-.449-.101-.35.149-.648.45-.749 3.795-.85 7.093-.499 9.69 1.1.35.149.4.548.251.848zm1.2-2.747c-.251.349-.7.499-1.051.249-2.697-1.646-6.792-2.148-9.939-1.148-.398.101-.85-.1-.949-.498-.101-.402.1-.852.499-.952 3.646-1.098 8.143-.548 11.239 1.351.3.149.45.648.201.998zm.099-2.799c-3.197-1.897-8.542-2.097-11.59-1.146a.938.938 0 0 1-1.148-.6.937.937 0 0 1 .599-1.151c3.547-1.049 9.392-.85 13.089 1.351.449.249.599.849.349 1.298-.25.35-.849.498-1.299.248z\"}}]})(props);\n};\nexport function BiLogoSpringBoot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.205 16.392c-2.469 3.289-7.741 2.179-11.122 2.338 0 0-.599.034-1.201.133 0 0 .228-.097.519-.198 2.374-.821 3.496-.986 4.939-1.727 2.71-1.388 5.408-4.413 5.957-7.555-1.032 3.022-4.17 5.623-7.027 6.679-1.955.722-5.492 1.424-5.493 1.424a5.28 5.28 0 0 1-.143-.076c-2.405-1.17-2.475-6.38 1.894-8.059 1.916-.736 3.747-.332 5.818-.825 2.208-.525 4.766-2.18 5.805-4.344 1.165 3.458 2.565 8.866.054 12.21zm.042-13.28a9.212 9.212 0 0 1-1.065 1.89 9.982 9.982 0 0 0-7.167-3.031C6.492 1.971 2 6.463 2 11.985a9.983 9.983 0 0 0 3.205 7.334l.22.194a.856.856 0 1 1 .001.001l.149.132A9.96 9.96 0 0 0 12.015 22c5.278 0 9.613-4.108 9.984-9.292.274-2.539-.476-5.763-1.752-9.596\"}}]})(props);\n};\nexport function BiLogoSquarespace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.886 9.264c-1.502-1.5-3.941-1.5-5.475 0l-6.13 6.131a.981.981 0 0 0 0 1.377.982.982 0 0 0 1.376 0l6.13-6.131a1.925 1.925 0 0 1 2.722 2.723l-6.037 6.035c.751.75 1.971.75 2.723 0l4.66-4.66c1.531-1.534 1.531-3.973.031-5.475zm-2.064 2.033a.982.982 0 0 0-1.376 0l-6.134 6.162c-.751.75-1.97.75-2.72 0-.376-.375-1.002-.375-1.377 0s-.375 1.002 0 1.375c1.502 1.502 3.942 1.502 5.475 0l6.131-6.129c.375-.406.375-1.033.001-1.408zm-2.035-6.129c-1.501-1.502-3.941-1.502-5.475 0l-6.131 6.129a.98.98 0 0 0 0 1.375.98.98 0 0 0 1.377 0l6.168-6.129a1.934 1.934 0 0 1 2.727 0 .982.982 0 0 0 1.376 0c.352-.406.352-1-.024-1.375h-.018zm-2.063 2.031a.978.978 0 0 0-1.376 0l-6.131 6.164a1.933 1.933 0 0 1-2.723 0 1.927 1.927 0 0 1 0-2.723l6.037-6.039a1.928 1.928 0 0 0-2.722 0L3.118 9.264c-1.501 1.502-1.501 3.941 0 5.475 1.501 1.502 3.94 1.502 5.475 0l6.129-6.131c.377-.408.377-1.033 0-1.408h.002z\"}}]})(props);\n};\nexport function BiLogoStackOverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.24 19.399v-4.804h1.6V21H4.381v-6.405h1.598v4.804H17.24zM7.582 17.8h8.055v-1.604H7.582V17.8zm.195-3.64 7.859 1.641.34-1.552-7.861-1.642-.338 1.553zm1.018-3.794 7.281 3.398.678-1.463-7.281-3.399-.678 1.454v.01zm2.037-3.589 6.166 5.142 1.018-1.216-6.162-5.14-1.016 1.213-.006.001zm3.982-3.778-1.311.969 4.803 6.454 1.313-.971-4.807-6.452h.002z\"}}]})(props);\n};\nexport function BiLogoSteam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.21 17.32 7 16.8a2.13 2.13 0 1 0 1.17-2.93l1.28.53a1.58 1.58 0 0 1-1.22 2.92z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 0 0-10 9.34l5.38 2.21a2.31 2.31 0 0 1 .47-.24A2.62 2.62 0 0 1 9 13.1l2.44-3.56a3.8 3.8 0 1 1 3.8 3.8h-.08l-3.51 2.5a2.77 2.77 0 0 1-5.47.68l-3.77-1.6A10 10 0 1 0 12 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.79 9.5a2.53 2.53 0 1 0-2.53 2.5 2.54 2.54 0 0 0 2.53-2.5zm-4.42 0a1.9 1.9 0 1 1 1.9 1.91 1.9 1.9 0 0 1-1.9-1.92z\"}}]})(props);\n};\nexport function BiLogoStripe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.479 9.883c-1.626-.604-2.512-1.067-2.512-1.803 0-.622.511-.977 1.423-.977 1.667 0 3.379.642 4.558 1.22l.666-4.111c-.935-.446-2.847-1.177-5.49-1.177-1.87 0-3.425.489-4.536 1.401-1.155.954-1.757 2.334-1.757 4 0 3.023 1.847 4.312 4.847 5.403 1.936.688 2.579 1.178 2.579 1.934 0 .732-.629 1.155-1.762 1.155-1.403 0-3.716-.689-5.231-1.578l-.674 4.157c1.304.732 3.705 1.488 6.197 1.488 1.976 0 3.624-.467 4.735-1.356 1.245-.977 1.89-2.422 1.89-4.289 0-3.091-1.889-4.38-4.935-5.468h.002z\"}}]})(props);\n};\nexport function BiLogoTailwindCss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 9.51a4.22 4.22 0 0 1-1.91-1.34A5.77 5.77 0 0 0 12 6a4.72 4.72 0 0 0-5 4 3.23 3.23 0 0 1 3.5-1.49 4.32 4.32 0 0 1 1.91 1.35A5.77 5.77 0 0 0 17 12a4.72 4.72 0 0 0 5-4 3.2 3.2 0 0 1-3.5 1.51zm-13 4.98a4.22 4.22 0 0 1 1.91 1.34A5.77 5.77 0 0 0 12 18a4.72 4.72 0 0 0 5-4 3.23 3.23 0 0 1-3.5 1.49 4.32 4.32 0 0 1-1.91-1.35A5.8 5.8 0 0 0 7 12a4.72 4.72 0 0 0-5 4 3.2 3.2 0 0 1 3.5-1.51z\"}}]})(props);\n};\nexport function BiLogoTelegram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20.665 3.717-17.73 6.837c-1.21.486-1.203 1.161-.222 1.462l4.552 1.42 10.532-6.645c.498-.303.953-.14.579.192l-8.533 7.701h-.002l.002.001-.314 4.692c.46 0 .663-.211.921-.46l2.211-2.15 4.599 3.397c.848.467 1.457.227 1.668-.785l3.019-14.228c.309-1.239-.473-1.8-1.282-1.434z\"}}]})(props);\n};\nexport function BiLogoTiktok (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1-.1z\"}}]})(props);\n};\nexport function BiLogoTrello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.75 3H5.25A2.25 2.25 0 0 0 3 5.25v13.5A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V5.25A2.25 2.25 0 0 0 18.75 3zm-7.92 13.635a1.08 1.08 0 0 1-1.08 1.08H6.42a1.08 1.08 0 0 1-1.08-1.08V6.42c0-.597.483-1.08 1.08-1.08h3.33c.596 0 1.08.483 1.08 1.08v10.215zm7.83-4.5a1.08 1.08 0 0 1-1.08 1.08h-3.33a1.08 1.08 0 0 1-1.08-1.08V6.42c0-.597.484-1.08 1.08-1.08h3.33c.597 0 1.08.483 1.08 1.08v5.715z\"}}]})(props);\n};\nexport function BiLogoTripAdvisor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.31 10.28a2.5 2.5 0 1 0 2.5 2.49 2.5 2.5 0 0 0-2.5-2.49zm0 3.8a1.31 1.31 0 1 1 0-2.61 1.31 1.31 0 1 1 0 2.61zm7.38-3.8a2.5 2.5 0 1 0 2.5 2.49 2.5 2.5 0 0 0-2.5-2.49zM17 12.77a1.31 1.31 0 1 1-1.31-1.3 1.31 1.31 0 0 1 1.31 1.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm7.38 10.77a3.69 3.69 0 0 1-6.2 2.71L12 16.77l-1.18-1.29a3.69 3.69 0 1 1-5-5.44l-1.2-1.3H7.3a8.33 8.33 0 0 1 9.41 0h2.67l-1.2 1.31a3.71 3.71 0 0 1 1.2 2.72z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.77 9.05a7.19 7.19 0 0 0-5.54 0A4.06 4.06 0 0 1 12 12.7a4.08 4.08 0 0 1 2.77-3.65z\"}}]})(props);\n};\nexport function BiLogoTumblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.078 20.953c-2.692 0-4.699-1.385-4.699-4.7v-5.308H6.931V8.07c2.694-.699 3.821-3.017 3.95-5.023h2.796v4.558h3.263v3.34h-3.263v4.622c0 1.386.699 1.864 1.813 1.864h1.58v3.522h-2.992z\"}}]})(props);\n};\nexport function BiLogoTux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.642 8.084c-.364.189-.79.42-1.242.42s-.81-.209-1.066-.413c-.13-.101-.234-.202-.313-.276-.137-.108-.12-.259-.064-.254.094.012.108.136.168.191.08.075.18.172.302.269.243.192.567.38.973.38s.878-.238 1.167-.4c.163-.092.371-.256.541-.381.13-.095.125-.21.232-.198.107.013.028.127-.122.258a3.404 3.404 0 0 1-.576.404z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.649 17.77c-.142-.16-.209-.456-.281-.771s-.153-.654-.411-.874l-.002-.001a1.054 1.054 0 0 0-.317-.192c.359-1.065.219-2.126-.145-3.084-.444-1.177-1.222-2.202-1.815-2.903-.664-.838-1.313-1.633-1.301-2.808.021-1.793.197-5.118-2.958-5.122a4.66 4.66 0 0 0-.401.017c-3.526.283-2.59 4.008-2.643 5.255-.064.912-.249 1.631-.877 2.523-.736.876-1.774 2.295-2.266 3.771-.232.697-.342 1.407-.241 2.08a1.9 1.9 0 0 0-.091.089c-.216.231-.376.511-.555.699-.166.167-.403.229-.664.323s-.547.231-.721.565l-.001.002a1 1 0 0 0-.108.484c0 .154.023.311.046.461.048.313.097.609.032.81-.206.564-.232.954-.087 1.237.146.284.444.409.783.479.676.141 1.592.106 2.314.489l.062-.117-.061.118c.773.404 1.557.547 2.182.405.454-.104.821-.374 1.011-.789.489-.002 1.025-.209 1.885-.256.583-.047 1.312.207 2.149.16a1.119 1.119 0 0 0 .099.264c.324.649.928.946 1.571.896s1.329-.43 1.883-1.089l-.102-.085.102.084c.527-.64 1.403-.905 1.984-1.255.29-.175.525-.395.544-.713.018-.318-.169-.675-.599-1.152zm-7.79-11.708c-.003-.234.036-.435.126-.639s.201-.351.358-.47.312-.174.494-.176h.009c.179 0 .332.053.489.167.159.116.274.261.366.463a1.493 1.493 0 0 1 .141.636c.002.235-.038.435-.127.639a1.23 1.23 0 0 1-.18.299l-.074-.033c-.089-.038-.167-.069-.237-.096s-.124-.044-.181-.064c.041-.049.122-.108.151-.181a.943.943 0 0 0 .072-.347l.002-.016a.953.953 0 0 0-.05-.337c-.038-.113-.086-.195-.155-.263s-.139-.099-.223-.101h-.011a.324.324 0 0 0-.217.086.618.618 0 0 0-.174.25.944.944 0 0 0-.072.348l-.001.015a.992.992 0 0 0 .014.2 2.463 2.463 0 0 0-.507-.171 1.681 1.681 0 0 1-.014-.19v-.019zm-2.144.052c-.012-.202.009-.376.064-.556s.13-.311.238-.418a.516.516 0 0 1 .349-.168h.03c.118 0 .225.04.335.127a.968.968 0 0 1 .284.389c.076.171.116.343.127.545v.002a1.51 1.51 0 0 1-.002.243c-.023.006-.046.014-.068.021-.128.044-.23.093-.328.158a.845.845 0 0 0 .003-.214v-.012a.95.95 0 0 0-.068-.274.523.523 0 0 0-.138-.203c-.052-.044-.1-.065-.153-.064l-.017.001c-.061.005-.11.034-.157.092a.536.536 0 0 0-.101.223.912.912 0 0 0-.019.293l.001.012c.01.103.031.189.067.275a.528.528 0 0 0 .166.224c-.059.045-.098.078-.146.113l-.11.081a.995.995 0 0 1-.229-.342 1.528 1.528 0 0 1-.128-.546v-.002zm.155 1.228c.187-.14.315-.234.402-.298.086-.063.121-.086.148-.112h.001c.14-.132.362-.374.699-.49.115-.04.245-.065.39-.066.275-.001.608.089 1.01.348.247.16.439.174.882.363h.001c.213.087.338.202.399.321.061.12.063.25.012.387-.103.273-.429.562-.887.705h-.001c-.224.072-.418.233-.647.364a1.449 1.449 0 0 1-.842.217 1.105 1.105 0 0 1-.374-.083 1.202 1.202 0 0 1-.27-.167c-.161-.131-.303-.295-.51-.416h-.002c-.333-.19-.515-.408-.573-.598-.057-.189-.003-.351.162-.475zm.131 13.018v.001c-.047.623-.398.961-.938 1.085-.539.123-1.27 0-1.999-.381h-.001c-.808-.427-1.768-.385-2.384-.514-.308-.064-.509-.161-.602-.341-.092-.18-.094-.494.102-1.028l.001-.002.001-.002c.097-.299.025-.626-.021-.934-.047-.307-.07-.586.034-.781l.001-.002c.135-.259.332-.352.576-.439.245-.088.534-.157.764-.386l.001-.001.001-.001c.212-.223.371-.503.557-.702.157-.167.314-.279.551-.28h.009c.041 0 .085.003.132.011.314.047.588.268.853.625l.762 1.389h.001c.202.423.631.89.994 1.365.362.475.644.952.607 1.317l-.002.001zm-.063-1.01a6.721 6.721 0 0 0-.333-.469 13.467 13.467 0 0 0-.229-.293c.151 0 .28-.024.384-.072a.486.486 0 0 0 .266-.274c.09-.242 0-.583-.288-.973-.29-.39-.778-.83-1.494-1.269-.527-.328-.821-.729-.959-1.165s-.119-.907-.013-1.373c.204-.894.729-1.762 1.063-2.308.09-.066.032.123-.339.811-.332.629-.953 2.081-.103 3.214a6.722 6.722 0 0 1 .538-2.398c.472-1.067 1.456-2.919 1.534-4.395.041.029.18.123.241.158.182.106.316.262.492.403.177.142.396.264.729.283l.093.003c.343 0 .61-.112.833-.239.242-.138.436-.292.618-.351h.001c.387-.122.694-.335.869-.585.302 1.186 1.001 2.897 1.45 3.733.239.443.715 1.385.92 2.52.13-.004.273.015.427.054.537-1.393-.455-2.892-.909-3.31-.184-.178-.192-.258-.102-.254.492.436 1.139 1.311 1.374 2.3.107.451.13.925.016 1.393.056.023.113.048.171.076.862.42 1.181.785 1.027 1.283-.05-.002-.1-.001-.148 0h-.014c.125-.395-.151-.687-.889-1.02-.764-.336-1.373-.303-1.476.379a1.302 1.302 0 0 0-.017.109c-.057.02-.114.045-.172.076-.358.197-.555.553-.664.99-.108.437-.14.964-.17 1.558-.019.298-.141.702-.266 1.129-1.249.897-2.986 1.283-4.461.276zm9.628.057c-.524.317-1.456.593-2.05 1.313-.517.615-1.146.952-1.7.996-.555.044-1.033-.186-1.315-.752v-.001l-.001-.003c-.175-.333-.102-.858.045-1.412.147-.554.359-1.123.388-1.585v-.001c.03-.592.063-1.11.163-1.509.1-.399.256-.669.533-.821l.039-.02c.031.513.285 1.036.734 1.149.491.129 1.199-.292 1.498-.636.06-.002.118-.006.175-.007.262-.006.481.009.707.205v.001h.001c.173.146.255.423.326.733.071.31.128.647.342.888h.001c.41.456.542.764.531.96-.011.198-.153.344-.417.502z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.738 6.762c.015.048.093.04.138.063.04.02.071.065.116.066.042.001.107-.015.113-.057.008-.056-.073-.091-.126-.111-.067-.026-.153-.039-.216-.004-.014.008-.03.027-.025.043zm-.46 0c-.016.048-.094.04-.139.063-.039.02-.071.065-.115.066-.042.001-.108-.015-.114-.057-.007-.056.074-.091.126-.111.067-.026.153-.039.217-.004.015.008.03.027.025.043z\"}}]})(props);\n};\nexport function BiLogoTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.265 3 3 6.236v13.223h4.502V21l2.531.85 2.392-2.391h3.658l4.923-4.924V3H4.265zm15.052 10.691-2.813 2.814h-4.502l-2.391 2.391v-2.391H5.813V4.688h13.504v9.003zm-2.812-5.767v4.923h-1.688V7.924h1.688zm-4.502 0v4.923h-1.688V7.924h1.688z\"}}]})(props);\n};\nexport function BiLogoTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.633 7.997c.013.175.013.349.013.523 0 5.325-4.053 11.461-11.46 11.461-2.282 0-4.402-.661-6.186-1.809.324.037.636.05.973.05a8.07 8.07 0 0 0 5.001-1.721 4.036 4.036 0 0 1-3.767-2.793c.249.037.499.062.761.062.361 0 .724-.05 1.061-.137a4.027 4.027 0 0 1-3.23-3.953v-.05c.537.299 1.16.486 1.82.511a4.022 4.022 0 0 1-1.796-3.354c0-.748.199-1.434.548-2.032a11.457 11.457 0 0 0 8.306 4.215c-.062-.3-.1-.611-.1-.923a4.026 4.026 0 0 1 4.028-4.028c1.16 0 2.207.486 2.943 1.272a7.957 7.957 0 0 0 2.556-.973 4.02 4.02 0 0 1-1.771 2.22 8.073 8.073 0 0 0 2.319-.624 8.645 8.645 0 0 1-2.019 2.083z\"}}]})(props);\n};\nexport function BiLogoTypescript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.24 3H4.76A1.76 1.76 0 0 0 3 4.76v14.48A1.76 1.76 0 0 0 4.76 21h14.48A1.76 1.76 0 0 0 21 19.24V4.76A1.76 1.76 0 0 0 19.24 3zm-5.8 10h-2.25v6.44H9.4V13H7.15v-1.46h6.29zm5.8 5.28a1.71 1.71 0 0 1-.67.74 3 3 0 0 1-1 .39 5.81 5.81 0 0 1-1.2.12 7 7 0 0 1-1.23-.11 4.52 4.52 0 0 1-1-.33v-1.71l-.06-.06h.06v.07a3.41 3.41 0 0 0 1 .54 3.06 3.06 0 0 0 1.13.2 2.58 2.58 0 0 0 .6-.06 1.47 1.47 0 0 0 .42-.17.75.75 0 0 0 .25-.25.69.69 0 0 0-.06-.74 1.24 1.24 0 0 0-.35-.33 3.12 3.12 0 0 0-.53-.3l-.67-.28a3.57 3.57 0 0 1-1.37-1 2 2 0 0 1-.46-1.33 2.16 2.16 0 0 1 .24-1.06 2.09 2.09 0 0 1 .66-.71 2.88 2.88 0 0 1 1-.42 5.11 5.11 0 0 1 1.19-.13 7 7 0 0 1 1.09.07 4.53 4.53 0 0 1 .88.23v1.65a2.42 2.42 0 0 0-.42-.24 3.58 3.58 0 0 0-.49-.17 3 3 0 0 0-.49-.1 2.45 2.45 0 0 0-.46 0 2.29 2.29 0 0 0-.56.06 1.54 1.54 0 0 0-.43.16.78.78 0 0 0-.26.25.63.63 0 0 0-.09.33.62.62 0 0 0 .1.35 1.19 1.19 0 0 0 .3.29 2.15 2.15 0 0 0 .46.28l.63.28a6.56 6.56 0 0 1 .84.42 2.65 2.65 0 0 1 .64.49 1.79 1.79 0 0 1 .42.63 2.48 2.48 0 0 1 .14.85 2.68 2.68 0 0 1-.25 1.08z\"}}]})(props);\n};\nexport function BiLogoUnity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.4 17.8 1.21 2.07L19.77 22 22 14.08 20.72 12 22 10l-2.23-8-8.16 2.13L10.4 6.2H8L2 12l6 5.81zm9.92-5.8-1.73 6L15 12l3.59-6zM10.6 6.54 16.84 5l-3.59 6H6.08zM13.27 13l3.59 6-6.26-1.55L6.1 13z\"}}]})(props);\n};\nexport function BiLogoUnsplash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.625 8.063V3h6.75v5.063h-6.75zm6.75 2.812H21V21H3V10.875h5.625v5.063h6.75v-5.063z\"}}]})(props);\n};\nexport function BiLogoUpwork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.47 6.07a4.54 4.54 0 0 0-4.38 3.69 19.9 19.9 0 0 1-2.28-4.9H8.55v6a2.14 2.14 0 1 1-4.28 0v-6L2 4.91v6a4.4 4.4 0 1 0 8.8-.05v-1a20.55 20.55 0 0 0 1.65 2.7l-1.38 6.61h2.32l1-4.81a5.61 5.61 0 0 0 3.11.89 4.57 4.57 0 0 0 0-9.14zm0 6.83a4.09 4.09 0 0 1-2.55-1l.23-.91v-.05c.16-1 .66-2.6 2.35-2.6a2.25 2.25 0 0 1 2.27 2.24 2.41 2.41 0 0 1-2.27 2.32z\"}}]})(props);\n};\nexport function BiLogoVenmo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3.27a7.49 7.49 0 0 1 .66 3.35c0 2.72-1.93 6.72-3.49 9.27L9.53 2.44l-6.91.65L5.79 22h7.88c3.45-4.54 7.71-11 7.71-16a7.3 7.3 0 0 0-1.06-4z\"}}]})(props);\n};\nexport function BiLogoVimeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.062 10.414c-2.036 4.349-6.949 10.267-10.054 10.267-3.06 0-3.501-6.527-5.173-10.869-.823-2.138-1.354-1.646-2.896-.567L2 8.031c2.248-1.976 4.499-4.272 5.88-4.399 1.559-.148 2.517.916 2.873 3.193.475 2.994 1.137 7.641 2.291 7.641.9 0 3.117-3.686 3.232-5.004.203-1.93-1.421-1.989-2.828-1.387 2.228-7.295 11.494-5.95 7.614 2.339z\"}}]})(props);\n};\nexport function BiLogoVisa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.539 9.186a4.155 4.155 0 0 0-1.451-.251c-1.6 0-2.73.806-2.738 1.963-.01.85.803 1.329 1.418 1.613.631.292.842.476.84.737-.004.397-.504.577-.969.577-.639 0-.988-.089-1.525-.312l-.199-.093-.227 1.332c.389.162 1.09.301 1.814.313 1.701 0 2.813-.801 2.826-2.032.014-.679-.426-1.192-1.352-1.616-.563-.275-.912-.459-.912-.738 0-.247.299-.511.924-.511a2.95 2.95 0 0 1 1.213.229l.15.067.227-1.287-.039.009zm4.152-.143h-1.25c-.389 0-.682.107-.852.493l-2.404 5.446h1.701l.34-.893 2.076.002c.049.209.199.891.199.891h1.5l-1.31-5.939zm-10.642-.05h1.621l-1.014 5.942H9.037l1.012-5.944v.002zm-4.115 3.275.168.825 1.584-4.05h1.717l-2.551 5.931H5.139l-1.4-5.022a.339.339 0 0 0-.149-.199 6.948 6.948 0 0 0-1.592-.589l.022-.125h2.609c.354.014.639.125.734.503l.57 2.729v-.003zm12.757.606.646-1.662c-.008.018.133-.343.215-.566l.111.513.375 1.714H18.69v.001h.001z\"}}]})(props);\n};\nexport function BiLogoVisualStudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.29 4.1-4.12-2a1.36 1.36 0 0 0-.48-.1h-.08a1.18 1.18 0 0 0-.72.24l-.14.12-7.88 7.19L4.44 7a.83.83 0 0 0-.54-.17.88.88 0 0 0-.53.17l-1.1 1a.8.8 0 0 0-.27.61.84.84 0 0 0 .27.62l3 2.71-3 2.72a.84.84 0 0 0 0 1.23l1.1 1a.89.89 0 0 0 .6.22.93.93 0 0 0 .47-.17l3.43-2.61 7.88 7.19a1.2 1.2 0 0 0 .76.36h.17a1 1 0 0 0 .49-.12l4.12-2a1.25 1.25 0 0 0 .71-1.1V5.23a1.26 1.26 0 0 0-.71-1.13zM17 16.47l-6-4.53 6-4.53z\"}}]})(props);\n};\nexport function BiLogoVk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.579 6.855c.14-.465 0-.806-.662-.806h-2.193c-.558 0-.813.295-.953.619 0 0-1.115 2.719-2.695 4.482-.51.513-.743.675-1.021.675-.139 0-.341-.162-.341-.627V6.855c0-.558-.161-.806-.626-.806H9.642c-.348 0-.558.258-.558.504 0 .528.79.65.871 2.138v3.228c0 .707-.127.836-.407.836-.743 0-2.551-2.729-3.624-5.853-.209-.607-.42-.852-.98-.852H2.752c-.627 0-.752.295-.752.619 0 .582.743 3.462 3.461 7.271 1.812 2.601 4.363 4.011 6.687 4.011 1.393 0 1.565-.313 1.565-.853v-1.966c0-.626.133-.752.574-.752.324 0 .882.164 2.183 1.417 1.486 1.486 1.732 2.153 2.567 2.153h2.192c.626 0 .939-.313.759-.931-.197-.615-.907-1.51-1.849-2.569-.512-.604-1.277-1.254-1.51-1.579-.325-.419-.231-.604 0-.976.001.001 2.672-3.761 2.95-5.04z\"}}]})(props);\n};\nexport function BiLogoVuejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 12.765 5.592-9.437h-3.276L12 7.33v.002L9.688 3.328h-3.28z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.461 3.332 12 14.235 5.539 3.332H1.992L12 20.672l10.008-17.34z\"}}]})(props);\n};\nexport function BiLogoWhatsappSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.043 6.925a4.985 4.985 0 0 0-4.98 4.979c-.001.94.263 1.856.761 2.649l.118.188-.503 1.837 1.885-.494.181.108a4.97 4.97 0 0 0 2.535.693h.001a4.986 4.986 0 0 0 4.979-4.978 4.946 4.946 0 0 0-1.456-3.522 4.946 4.946 0 0 0-3.521-1.46zm2.928 7.118c-.125.35-.723.668-1.01.711a2.044 2.044 0 0 1-.943-.059 8.51 8.51 0 0 1-.853-.315c-1.502-.648-2.482-2.159-2.558-2.26-.074-.1-.61-.812-.61-1.548 0-.737.386-1.099.523-1.249a.552.552 0 0 1 .4-.186c.1 0 .199.001.287.005.092.004.215-.035.336.257.125.3.425 1.036.462 1.111.037.074.062.162.013.262-.05.101-.074.162-.15.25-.074.088-.157.195-.224.263-.075.074-.153.155-.066.305.088.149.388.64.832 1.037.572.51 1.055.667 1.204.743.15.074.237.063.325-.038.087-.101.374-.437.474-.586.1-.15.199-.125.337-.076.137.051.873.412 1.022.487.148.074.249.112.287.175.036.062.036.361-.088.711z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-7.96 14.896h-.002a5.98 5.98 0 0 1-2.862-.729L6 18l.85-3.104a5.991 5.991 0 0 1 5.19-8.983 5.95 5.95 0 0 1 4.238 1.757 5.95 5.95 0 0 1 1.751 4.237 5.998 5.998 0 0 1-5.989 5.989z\"}}]})(props);\n};\nexport function BiLogoWhatsapp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18.403 5.633A8.919 8.919 0 0 0 12.053 3c-4.948 0-8.976 4.027-8.978 8.977 0 1.582.413 3.126 1.198 4.488L3 21.116l4.759-1.249a8.981 8.981 0 0 0 4.29 1.093h.004c4.947 0 8.975-4.027 8.977-8.977a8.926 8.926 0 0 0-2.627-6.35m-6.35 13.812h-.003a7.446 7.446 0 0 1-3.798-1.041l-.272-.162-2.824.741.753-2.753-.177-.282a7.448 7.448 0 0 1-1.141-3.971c.002-4.114 3.349-7.461 7.465-7.461a7.413 7.413 0 0 1 5.275 2.188 7.42 7.42 0 0 1 2.183 5.279c-.002 4.114-3.349 7.462-7.461 7.462m4.093-5.589c-.225-.113-1.327-.655-1.533-.73-.205-.075-.354-.112-.504.112s-.58.729-.711.879-.262.168-.486.056-.947-.349-1.804-1.113c-.667-.595-1.117-1.329-1.248-1.554s-.014-.346.099-.458c.101-.1.224-.262.336-.393.112-.131.149-.224.224-.374s.038-.281-.019-.393c-.056-.113-.505-1.217-.692-1.666-.181-.435-.366-.377-.504-.383a9.65 9.65 0 0 0-.429-.008.826.826 0 0 0-.599.28c-.206.225-.785.767-.785 1.871s.804 2.171.916 2.321c.112.15 1.582 2.415 3.832 3.387.536.231.954.369 1.279.473.537.171 1.026.146 1.413.089.431-.064 1.327-.542 1.514-1.066.187-.524.187-.973.131-1.067-.056-.094-.207-.151-.43-.263\"}}]})(props);\n};\nexport function BiLogoWikipedia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.081 12.932c-.78 1.611-1.849 3.792-2.379 4.776-.513.896-.94.776-1.278.024-1.172-2.77-3.58-7.625-4.712-10.347-.209-.502-.367-.823-.516-.95-.151-.125-.462-.2-.936-.227-.174-.019-.26-.061-.26-.131v-.379l.043-.038c.771-.004 4.503 0 4.503 0l.042.038v.362c0 .1-.063.147-.188.147l-.47.024c-.403.026-.605.137-.605.365 0 .112.044.275.139.501.902 2.206 4.017 8.772 4.017 8.772l.114.039 2.01-4.012-.402-.89L9.82 8.285s-.265-.545-.357-.727c-.607-1.203-.593-1.265-1.206-1.347-.173-.02-.261-.042-.261-.125v-.39l.05-.037h3.578l.095.03v.376c0 .088-.063.125-.189.125l-.257.039c-.66.051-.551.318-.113 1.186l1.319 2.712 1.465-2.922c.244-.533.194-.668.093-.789-.058-.07-.255-.185-.677-.2l-.168-.018a.191.191 0 0 1-.121-.043.125.125 0 0 1-.056-.107v-.357l.051-.037c1.04-.007 3.371 0 3.371 0l.05.037v.364c0 .101-.05.148-.161.148-.539.024-.652.079-.854.366-.1.154-.313.49-.538.865l-1.919 3.563-.054.112 2.328 4.763.142.041 3.665-8.704c.129-.352.107-.602-.053-.746-.165-.144-.289-.228-.716-.246l-.35-.014a.211.211 0 0 1-.127-.037.128.128 0 0 1-.06-.1v-.361l.049-.038h4.137l.034.038v.364c0 .1-.062.15-.174.15-.541.024-.94.15-1.203.351-.263.213-.465.514-.614.89 0 0-3.371 7.72-4.524 10.289-.438.84-.878.765-1.253-.026-.477-.977-1.478-3.156-2.206-4.761l.045-.03z\"}}]})(props);\n};\nexport function BiLogoWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 5.557 7.357-1.002.004 7.097-7.354.042L3 5.557zm7.354 6.913.006 7.103-7.354-1.011v-6.14l7.348.048zm.892-8.046L21.001 3v8.562l-9.755.077V4.424zm9.758 8.113-.003 8.523-9.755-1.378-.014-7.161 9.772.016z\"}}]})(props);\n};\nexport function BiLogoWix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.444 8.256c-.4.212-.544.562-.544 1.53 0 0 .202-.194.499-.303a2.01 2.01 0 0 0 .512-.275c.338-.247.385-.562.385-1.096 0 0-.553-.016-.852.144zm-2.349.229c-.32.286-.418.739-.418.739l-1.078 4.141L8.71 9.97c-.087-.355-.246-.808-.495-1.107-.31-.378-.944-.401-1.015-.401-.068 0-.709.023-1.026.407-.246.303-.406.751-.493 1.108l-.889 3.395-1.066-4.147s-.092-.459-.418-.739c-.529-.465-1.314-.367-1.314-.367l2.048 7.764s.677.052 1.015-.126c.441-.224.659-.401.929-1.463.241-.94.912-3.704.974-3.905.029-.098.07-.332.241-.332.179 0 .214.229.241.332.064.195.729 2.965.976 3.905.268 1.055.481 1.227.929 1.463.338.178 1.015.126 1.015.126l2.048-7.759c-.002 0-.789-.099-1.315.361zm3.201.9s-.129.195-.42.367c-.188.104-.367.178-.562.271-.323.154-.414.332-.414.595v5.266s.522.063.854-.104c.436-.222.533-.435.541-1.404V9.385zm5.112 2.632 2.599-3.875s-1.096-.189-1.641.309c-.35.315-.738.885-.738.885l-.952 1.386c-.053.069-.104.15-.2.15-.099 0-.161-.075-.202-.15l-.962-1.382s-.385-.568-.74-.884c-.54-.499-1.641-.31-1.641-.31l2.603 3.865-2.603 3.858s1.146.149 1.688-.35c.35-.315.688-.837.688-.837l.95-1.383c.053-.068.104-.147.2-.147.1 0 .161.075.202.147l.952 1.383s.355.51.7.837c.538.499 1.667.35 1.667.35l-2.57-3.852z\"}}]})(props);\n};\nexport function BiLogoWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.891 7.788a8.966 8.966 0 0 1 1.099 4.313 8.986 8.986 0 0 1-4.47 7.771l2.746-7.939c.513-1.282.684-2.309.684-3.219a7.165 7.165 0 0 0-.059-.926m-6.651.087a14.14 14.14 0 0 0 1.026-.088c.485-.063.428-.775-.056-.749 0 0-1.463.112-2.4.112-.887 0-2.375-.125-2.375-.125-.487-.024-.55.713-.061.738 0 0 .449.052.938.075l1.399 3.838-1.975 5.899-3.274-9.724a17.006 17.006 0 0 0 1.028-.083c.487-.063.43-.775-.055-.747 0 0-1.455.115-2.395.115-.167 0-.365-.007-.575-.013C6.093 4.726 8.862 3.113 12 3.113c2.341 0 4.471.894 6.071 2.36-.038-.002-.076-.008-.117-.008-.883 0-1.51.77-1.51 1.596 0 .741.427 1.369.883 2.108.343.601.742 1.37.742 2.481 0 .763-.295 1.662-.685 2.899l-.896 2.987-3.25-9.675.002.014zM12 21.087a8.983 8.983 0 0 1-2.54-.364l2.697-7.838 2.763 7.572c.021.044.042.085.065.124a9.016 9.016 0 0 1-2.985.508m-8.99-8.988a8.94 8.94 0 0 1 .778-3.658l4.287 11.749a8.993 8.993 0 0 1-5.065-8.091m8.99-10c-5.513 0-10 4.487-10 10s4.487 10 10 10 10-4.487 10-10-4.487-10-10-10\"}}]})(props);\n};\nexport function BiLogoXing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a.4.4 0 0 0-.38.62l2 3.38-3.06 5.4a.45.45 0 0 0 0 .45.43.43 0 0 0 .38.19h2.87a.89.89 0 0 0 .79-.55s3-5.31 3.11-5.51l-2-3.46A.91.91 0 0 0 7.92 6zm12.16-4a.84.84 0 0 0-.77.55L10 13.93l4.09 7.52a.91.91 0 0 0 .81.55h2.88a.43.43 0 0 0 .38-.18.45.45 0 0 0 0-.45l-4.07-7.43 6.36-11.31a.45.45 0 0 0 0-.45.44.44 0 0 0-.38-.18z\"}}]})(props);\n};\nexport function BiLogoYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.131 21s-.63-.114-1.138-.114c-.457 0-1.142.114-1.142.114l.143-7.646C9.933 11.52 6.814 5.933 4.868 3c.979.223 1.391.209 2.374 0l.015.025c1.239 2.194 3.135 5.254 4.736 7.905C13.575 8.325 16.064 4.258 16.74 3c.765.201 1.536.193 2.392 0-.9 1.213-4.175 6.88-6.153 10.354L13.125 21h.006z\"}}]})(props);\n};\nexport function BiLogoYelp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.824 16.675c-.105.726-1.587 2.609-2.269 2.882-.232.093-.457.07-.637-.068-.116-.09-.235-.272-1.833-2.866l-.475-.773c-.183-.277-.148-.642.078-.92.223-.27.549-.37.832-.262.016.008 1.195.397 1.195.397 2.688.883 2.775.917 2.891 1.002.17.139.249.356.214.608h.004zm-5.386-3.946c-.19-.289-.187-.63.01-.865l.746-1.019c1.642-2.235 1.732-2.353 1.843-2.431a.636.636 0 0 1 .652-.024c.651.316 1.966 2.269 2.045 3.019v.025a.623.623 0 0 1-.259.587c-.123.079-.235.125-3.291.866-.483.123-.752.19-.91.247l.021-.023c-.302.091-.64-.055-.831-.357l-.026-.025zm-1.875-1.159c-.146.046-.591.185-1.139-.702 0 0-3.694-5.813-3.78-5.992-.053-.201.011-.429.19-.613.55-.569 3.534-1.405 4.315-1.215.255.066.43.227.491.453.045.25.408 5.646.46 6.854.051 1.034-.392 1.171-.537 1.215zm.487 5.913c-.008 2.827-.015 2.922-.061 3.056-.079.211-.26.352-.51.398-.72.122-2.972-.71-3.441-1.267a.739.739 0 0 1-.157-.37c-.013-.09 0-.18.033-.259.057-.146.135-.259 2.158-2.63l.594-.706c.203-.26.563-.338.899-.204.325.124.528.405.506.708v1.259l-.021.015zm-6.13-1.808c-.222-.006-.42-.14-.535-.358-.083-.162-.142-.428-.18-.752-.102-.974.023-2.444.314-2.911.138-.214.338-.327.559-.319.146 0 .276.046 3.167 1.236l.848.337c.302.111.489.427.472.787-.022.348-.224.616-.521.696l-1.202.382c-2.689.864-2.778.888-2.919.877l-.003.025zm11.22 5.322h-.004l-.003.003.007-.003z\"}}]})(props);\n};\nexport function BiLogoYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.593 7.203a2.506 2.506 0 0 0-1.762-1.766C18.265 5.007 12 5 12 5s-6.264-.007-7.831.404a2.56 2.56 0 0 0-1.766 1.778c-.413 1.566-.417 4.814-.417 4.814s-.004 3.264.406 4.814c.23.857.905 1.534 1.763 1.765 1.582.43 7.83.437 7.83.437s6.265.007 7.831-.403a2.515 2.515 0 0 0 1.767-1.763c.414-1.565.417-4.812.417-4.812s.02-3.265-.407-4.831zM9.996 15.005l.005-6 5.207 3.005-5.212 2.995z\"}}]})(props);\n};\nexport function BiLogoZoom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.984 7.506v6.74c.006 1.524 1.361 2.75 3.014 2.745h10.693c.303 0 .549-.225.549-.498v-6.74c-.008-1.523-1.363-2.75-3.014-2.744H2.531c-.302 0-.547.224-.547.497zm14.936 2.63 4.416-2.963c.383-.292.68-.219.68.309v9.036c0 .601-.363.528-.68.309L16.92 13.87v-3.734z\"}}]})(props);\n};\n","// This icon file is generated automatically.\nvar PlusOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z\" } }] }, \"name\": \"plus\", \"theme\": \"outlined\" };\nexport default PlusOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport PlusOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PlusOutlinedSvg\n }));\n};\nPlusOutlined.displayName = 'PlusOutlined';\nexport default /*#__PURE__*/React.forwardRef(PlusOutlined);","/* eslint-disable no-nested-ternary */\nvar PIXEL_PATTERN = /margin|padding|width|height|max|min|offset/;\nvar removePixel = {\n left: true,\n top: true\n};\nvar floatMap = {\n cssFloat: 1,\n styleFloat: 1,\n float: 1\n};\nfunction getComputedStyle(node) {\n return node.nodeType === 1 ? node.ownerDocument.defaultView.getComputedStyle(node, null) : {};\n}\nfunction getStyleValue(node, type, value) {\n type = type.toLowerCase();\n if (value === 'auto') {\n if (type === 'height') {\n return node.offsetHeight;\n }\n if (type === 'width') {\n return node.offsetWidth;\n }\n }\n if (!(type in removePixel)) {\n removePixel[type] = PIXEL_PATTERN.test(type);\n }\n return removePixel[type] ? parseFloat(value) || 0 : value;\n}\nexport function get(node, name) {\n var length = arguments.length;\n var style = getComputedStyle(node);\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n return length === 1 ? style : getStyleValue(node, name, style[name] || node.style[name]);\n}\nexport function set(node, name, value) {\n var length = arguments.length;\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n if (length === 3) {\n if (typeof value === 'number' && PIXEL_PATTERN.test(name)) {\n value = \"\".concat(value, \"px\");\n }\n node.style[name] = value; // Number\n return value;\n }\n for (var x in name) {\n if (name.hasOwnProperty(x)) {\n set(node, x, name[x]);\n }\n }\n return getComputedStyle(node);\n}\nexport function getOuterWidth(el) {\n if (el === document.body) {\n return document.documentElement.clientWidth;\n }\n return el.offsetWidth;\n}\nexport function getOuterHeight(el) {\n if (el === document.body) {\n return window.innerHeight || document.documentElement.clientHeight;\n }\n return el.offsetHeight;\n}\nexport function getDocSize() {\n var width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n return {\n width: width,\n height: height\n };\n}\nexport function getClientSize() {\n var width = document.documentElement.clientWidth;\n var height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width: width,\n height: height\n };\n}\nexport function getScroll() {\n return {\n scrollLeft: Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),\n scrollTop: Math.max(document.documentElement.scrollTop, document.body.scrollTop)\n };\n}\nexport function getOffset(node) {\n var box = node.getBoundingClientRect();\n var docElem = document.documentElement;\n\n // < ie8 不支持 win.pageXOffset, 则使用 docElem.scrollLeft\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"onVisibleChange\", \"getContainer\", \"current\", \"countRender\"];\nimport * as React from 'react';\nimport { useState } from 'react';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Preview from \"./Preview\";\n\n/* istanbul ignore next */\nexport var context = /*#__PURE__*/React.createContext({\n previewUrls: new Map(),\n setPreviewUrls: function setPreviewUrls() {\n return null;\n },\n current: null,\n setCurrent: function setCurrent() {\n return null;\n },\n setShowPreview: function setShowPreview() {\n return null;\n },\n setMousePosition: function setMousePosition() {\n return null;\n },\n registerImage: function registerImage() {\n return function () {\n return null;\n };\n },\n rootClassName: ''\n});\nvar Provider = context.Provider;\n\nvar Group = function Group(_ref) {\n var _ref$previewPrefixCls = _ref.previewPrefixCls,\n previewPrefixCls = _ref$previewPrefixCls === void 0 ? 'rc-image-preview' : _ref$previewPrefixCls,\n children = _ref.children,\n _ref$icons = _ref.icons,\n icons = _ref$icons === void 0 ? {} : _ref$icons,\n preview = _ref.preview;\n\n var _ref2 = _typeof(preview) === 'object' ? preview : {},\n _ref2$visible = _ref2.visible,\n previewVisible = _ref2$visible === void 0 ? undefined : _ref2$visible,\n _ref2$onVisibleChange = _ref2.onVisibleChange,\n onPreviewVisibleChange = _ref2$onVisibleChange === void 0 ? undefined : _ref2$onVisibleChange,\n _ref2$getContainer = _ref2.getContainer,\n getContainer = _ref2$getContainer === void 0 ? undefined : _ref2$getContainer,\n _ref2$current = _ref2.current,\n currentIndex = _ref2$current === void 0 ? 0 : _ref2$current,\n _ref2$countRender = _ref2.countRender,\n countRender = _ref2$countRender === void 0 ? undefined : _ref2$countRender,\n dialogProps = _objectWithoutProperties(_ref2, _excluded);\n\n var _useState = useState(new Map()),\n _useState2 = _slicedToArray(_useState, 2),\n previewUrls = _useState2[0],\n setPreviewUrls = _useState2[1];\n\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n current = _useState4[0],\n setCurrent = _useState4[1];\n\n var _useMergedState = useMergedState(!!previewVisible, {\n value: previewVisible,\n onChange: onPreviewVisibleChange\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n isShowPreview = _useMergedState2[0],\n setShowPreview = _useMergedState2[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n mousePosition = _useState6[0],\n setMousePosition = _useState6[1];\n\n var isControlled = previewVisible !== undefined;\n var previewUrlsKeys = Array.from(previewUrls.keys());\n var currentControlledKey = previewUrlsKeys[currentIndex];\n var canPreviewUrls = new Map(Array.from(previewUrls).filter(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n canPreview = _ref4[1].canPreview;\n\n return !!canPreview;\n }).map(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n id = _ref6[0],\n url = _ref6[1].url;\n\n return [id, url];\n }));\n\n var registerImage = function registerImage(id, url) {\n var canPreview = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var unRegister = function unRegister() {\n setPreviewUrls(function (oldPreviewUrls) {\n var clonePreviewUrls = new Map(oldPreviewUrls);\n var deleteResult = clonePreviewUrls.delete(id);\n return deleteResult ? clonePreviewUrls : oldPreviewUrls;\n });\n };\n\n setPreviewUrls(function (oldPreviewUrls) {\n return new Map(oldPreviewUrls).set(id, {\n url: url,\n canPreview: canPreview\n });\n });\n return unRegister;\n };\n\n var onPreviewClose = function onPreviewClose(e) {\n e.stopPropagation();\n setShowPreview(false);\n setMousePosition(null);\n };\n\n React.useEffect(function () {\n setCurrent(currentControlledKey);\n }, [currentControlledKey]);\n React.useEffect(function () {\n if (!isShowPreview && isControlled) {\n setCurrent(currentControlledKey);\n }\n }, [currentControlledKey, isControlled, isShowPreview]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: {\n isPreviewGroup: true,\n previewUrls: canPreviewUrls,\n setPreviewUrls: setPreviewUrls,\n current: current,\n setCurrent: setCurrent,\n setShowPreview: setShowPreview,\n setMousePosition: setMousePosition,\n registerImage: registerImage\n }\n }, children, /*#__PURE__*/React.createElement(Preview, _extends({\n \"aria-hidden\": !isShowPreview,\n visible: isShowPreview,\n prefixCls: previewPrefixCls,\n onClose: onPreviewClose,\n mousePosition: mousePosition,\n src: canPreviewUrls.get(current),\n icons: icons,\n getContainer: getContainer,\n countRender: countRender\n }, dialogProps)));\n};\n\nexport default Group;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classnames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport Portal from '@rc-component/portal';\nimport { MIN_SCALE, MAX_SCALE } from \"./previewConfig\";\n\nvar Operations = function Operations(props) {\n var _countRender;\n\n var visible = props.visible,\n maskTransitionName = props.maskTransitionName,\n getContainer = props.getContainer,\n prefixCls = props.prefixCls,\n rootClassName = props.rootClassName,\n icons = props.icons,\n countRender = props.countRender,\n showSwitch = props.showSwitch,\n showProgress = props.showProgress,\n current = props.current,\n count = props.count,\n scale = props.scale,\n onSwitchLeft = props.onSwitchLeft,\n onSwitchRight = props.onSwitchRight,\n onClose = props.onClose,\n onZoomIn = props.onZoomIn,\n onZoomOut = props.onZoomOut,\n onRotateRight = props.onRotateRight,\n onRotateLeft = props.onRotateLeft;\n var rotateLeft = icons.rotateLeft,\n rotateRight = icons.rotateRight,\n zoomIn = icons.zoomIn,\n zoomOut = icons.zoomOut,\n close = icons.close,\n left = icons.left,\n right = icons.right;\n var toolClassName = \"\".concat(prefixCls, \"-operations-operation\");\n var iconClassName = \"\".concat(prefixCls, \"-operations-icon\");\n var tools = [{\n icon: close,\n onClick: onClose,\n type: 'close'\n }, {\n icon: zoomIn,\n onClick: onZoomIn,\n type: 'zoomIn',\n disabled: scale === MAX_SCALE\n }, {\n icon: zoomOut,\n onClick: onZoomOut,\n type: 'zoomOut',\n disabled: scale === MIN_SCALE\n }, {\n icon: rotateRight,\n onClick: onRotateRight,\n type: 'rotateRight'\n }, {\n icon: rotateLeft,\n onClick: onRotateLeft,\n type: 'rotateLeft'\n }];\n var operations = /*#__PURE__*/React.createElement(React.Fragment, null, showSwitch && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-switch-left\"), _defineProperty({}, \"\".concat(prefixCls, \"-switch-left-disabled\"), current === 0)),\n onClick: onSwitchLeft\n }, left), /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-switch-right\"), _defineProperty({}, \"\".concat(prefixCls, \"-switch-right-disabled\"), current === count - 1)),\n onClick: onSwitchRight\n }, right)), /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-operations\")\n }, showProgress && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-operations-progress\")\n }, (_countRender = countRender === null || countRender === void 0 ? void 0 : countRender(current + 1, count)) !== null && _countRender !== void 0 ? _countRender : \"\".concat(current + 1, \" / \").concat(count)), tools.map(function (_ref) {\n var _classnames3;\n\n var icon = _ref.icon,\n onClick = _ref.onClick,\n type = _ref.type,\n disabled = _ref.disabled;\n return /*#__PURE__*/React.createElement(\"li\", {\n className: classnames(toolClassName, (_classnames3 = {}, _defineProperty(_classnames3, \"\".concat(prefixCls, \"-operations-operation-\").concat(type), true), _defineProperty(_classnames3, \"\".concat(prefixCls, \"-operations-operation-disabled\"), !!disabled), _classnames3)),\n onClick: onClick,\n key: type\n }, /*#__PURE__*/React.isValidElement(icon) ? /*#__PURE__*/React.cloneElement(icon, {\n className: iconClassName\n }) : icon);\n })));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n motionName: maskTransitionName\n }, function (_ref2) {\n var className = _ref2.className,\n style = _ref2.style;\n return /*#__PURE__*/React.createElement(Portal, {\n open: true,\n getContainer: getContainer !== null && getContainer !== void 0 ? getContainer : document.body\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-operations-wrapper\"), className, rootClassName),\n style: style\n }, operations));\n });\n};\n\nexport default Operations;","/** Minimum scale */\nexport var MIN_SCALE = 1;\n/** Maximum Scale */\n\nexport var MAX_SCALE = 50;\n/** Scale the ratio base */\n\nexport var BASE_SCALE_RATIO = 1;\n/** The maximum zoom ratio when the mouse zooms in, adjustable */\n\nexport var WHEEL_MAX_SCALE_RATIO = 0.2;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport { getClientSize } from \"rc-util/es/Dom/css\";\nimport { MIN_SCALE, MAX_SCALE } from \"../previewConfig\";\nvar initialTransform = {\n x: 0,\n y: 0,\n rotate: 0,\n scale: 1\n};\nexport default function useImageTransform(imgRef) {\n var frame = useRef(null);\n var queue = useRef([]);\n\n var _useState = useState(initialTransform),\n _useState2 = _slicedToArray(_useState, 2),\n transform = _useState2[0],\n setTransform = _useState2[1];\n\n var resetTransform = function resetTransform() {\n setTransform(initialTransform);\n };\n /** Direct update transform */\n\n\n var updateTransform = function updateTransform(newTransform) {\n if (frame.current === null) {\n queue.current = [];\n frame.current = raf(function () {\n setTransform(function (preState) {\n var memoState = preState;\n queue.current.forEach(function (queueState) {\n memoState = _objectSpread(_objectSpread({}, memoState), queueState);\n });\n frame.current = null;\n return memoState;\n });\n });\n }\n\n queue.current.push(_objectSpread(_objectSpread({}, transform), newTransform));\n };\n /** Scale according to the position of clientX and clientY */\n\n\n var dispatchZoonChange = function dispatchZoonChange(ratio, clientX, clientY) {\n var _imgRef$current = imgRef.current,\n width = _imgRef$current.width,\n height = _imgRef$current.height,\n offsetWidth = _imgRef$current.offsetWidth,\n offsetHeight = _imgRef$current.offsetHeight,\n offsetLeft = _imgRef$current.offsetLeft,\n offsetTop = _imgRef$current.offsetTop;\n var newRatio = ratio;\n var newScale = transform.scale * ratio;\n\n if (newScale > MAX_SCALE) {\n newRatio = MAX_SCALE / transform.scale;\n newScale = MAX_SCALE;\n } else if (newScale < MIN_SCALE) {\n newRatio = MIN_SCALE / transform.scale;\n newScale = MIN_SCALE;\n }\n /** Default center point scaling */\n\n\n var mergedClientX = clientX !== null && clientX !== void 0 ? clientX : innerWidth / 2;\n var mergedClientY = clientY !== null && clientY !== void 0 ? clientY : innerHeight / 2;\n var diffRatio = newRatio - 1;\n /** Deviation calculated from image size */\n\n var diffImgX = diffRatio * width * 0.5;\n var diffImgY = diffRatio * height * 0.5;\n /** The difference between the click position and the edge of the document */\n\n var diffOffsetLeft = diffRatio * (mergedClientX - transform.x - offsetLeft);\n var diffOffsetTop = diffRatio * (mergedClientY - transform.y - offsetTop);\n /** Final positioning */\n\n var newX = transform.x - (diffOffsetLeft - diffImgX);\n var newY = transform.y - (diffOffsetTop - diffImgY);\n /**\n * When zooming the image\n * When the image size is smaller than the width and height of the window, the position is initialized\n */\n\n if (ratio < 1 && newScale === 1) {\n var mergedWidth = offsetWidth * newScale;\n var mergedHeight = offsetHeight * newScale;\n\n var _getClientSize = getClientSize(),\n clientWidth = _getClientSize.width,\n clientHeight = _getClientSize.height;\n\n if (mergedWidth <= clientWidth && mergedHeight <= clientHeight) {\n newX = 0;\n newY = 0;\n }\n }\n\n updateTransform({\n x: newX,\n y: newY,\n scale: newScale\n });\n };\n\n return {\n transform: transform,\n resetTransform: resetTransform,\n updateTransform: updateTransform,\n dispatchZoonChange: dispatchZoonChange\n };\n}\n;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { getClientSize } from \"rc-util/es/Dom/css\";\n\nfunction fixPoint(key, start, width, clientWidth) {\n var startAddWidth = start + width;\n var offsetStart = (width - clientWidth) / 2;\n\n if (width > clientWidth) {\n if (start > 0) {\n return _defineProperty({}, key, offsetStart);\n }\n\n if (start < 0 && startAddWidth < clientWidth) {\n return _defineProperty({}, key, -offsetStart);\n }\n } else if (start < 0 || startAddWidth > clientWidth) {\n return _defineProperty({}, key, start < 0 ? offsetStart : -offsetStart);\n }\n\n return {};\n}\n/**\n * Fix positon x,y point when\n *\n * Ele width && height < client\n * - Back origin\n *\n * - Ele width | height > clientWidth | clientHeight\n * - left | top > 0 -> Back 0\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * Regardless of other\n */\n\n\nexport default function getFixScaleEleTransPosition(width, height, left, top) {\n var _getClientSize = getClientSize(),\n clientWidth = _getClientSize.width,\n clientHeight = _getClientSize.height;\n\n var fixPos = null;\n\n if (width <= clientWidth && height <= clientHeight) {\n fixPos = {\n x: 0,\n y: 0\n };\n } else if (width > clientWidth || height > clientHeight) {\n fixPos = _objectSpread(_objectSpread({}, fixPoint('x', left, width, clientWidth)), fixPoint('y', top, height, clientHeight));\n }\n\n return fixPos;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"src\", \"alt\", \"onClose\", \"afterClose\", \"visible\", \"icons\", \"rootClassName\", \"getContainer\", \"countRender\", \"scaleStep\", \"transitionName\", \"maskTransitionName\"];\nimport React, { useState, useEffect, useCallback, useRef, useContext } from 'react';\nimport Dialog from 'rc-dialog';\nimport classnames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { warning } from \"rc-util/es/warning\";\nimport { context } from \"./PreviewGroup\";\nimport Operations from \"./Operations\";\nimport useImageTransform from \"./hooks/useImageTransform\";\nimport getFixScaleEleTransPosition from \"./getFixScaleEleTransPosition\";\nimport { BASE_SCALE_RATIO, WHEEL_MAX_SCALE_RATIO } from \"./previewConfig\";\n\nvar Preview = function Preview(props) {\n var prefixCls = props.prefixCls,\n src = props.src,\n alt = props.alt,\n onClose = props.onClose,\n afterClose = props.afterClose,\n visible = props.visible,\n _props$icons = props.icons,\n icons = _props$icons === void 0 ? {} : _props$icons,\n rootClassName = props.rootClassName,\n getContainer = props.getContainer,\n countRender = props.countRender,\n _props$scaleStep = props.scaleStep,\n scaleStep = _props$scaleStep === void 0 ? 0.5 : _props$scaleStep,\n _props$transitionName = props.transitionName,\n transitionName = _props$transitionName === void 0 ? 'zoom' : _props$transitionName,\n _props$maskTransition = props.maskTransitionName,\n maskTransitionName = _props$maskTransition === void 0 ? 'fade' : _props$maskTransition,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var imgRef = useRef();\n var downPositionRef = useRef({\n deltaX: 0,\n deltaY: 0,\n transformX: 0,\n transformY: 0\n });\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMoving = _useState2[0],\n setMoving = _useState2[1];\n\n var _useContext = useContext(context),\n previewUrls = _useContext.previewUrls,\n current = _useContext.current,\n isPreviewGroup = _useContext.isPreviewGroup,\n setCurrent = _useContext.setCurrent;\n\n var previewGroupCount = previewUrls.size;\n var previewUrlsKeys = Array.from(previewUrls.keys());\n var currentPreviewIndex = previewUrlsKeys.indexOf(current);\n var combinationSrc = isPreviewGroup ? previewUrls.get(current) : src;\n var showLeftOrRightSwitches = isPreviewGroup && previewGroupCount > 1;\n var showOperationsProgress = isPreviewGroup && previewGroupCount >= 1;\n\n var _useImageTransform = useImageTransform(imgRef),\n transform = _useImageTransform.transform,\n resetTransform = _useImageTransform.resetTransform,\n updateTransform = _useImageTransform.updateTransform,\n dispatchZoonChange = _useImageTransform.dispatchZoonChange;\n\n var rotate = transform.rotate,\n scale = transform.scale;\n var wrapClassName = classnames(_defineProperty({}, \"\".concat(prefixCls, \"-moving\"), isMoving));\n\n var onAfterClose = function onAfterClose() {\n resetTransform();\n };\n\n var onZoomIn = function onZoomIn() {\n dispatchZoonChange(BASE_SCALE_RATIO + scaleStep);\n };\n\n var onZoomOut = function onZoomOut() {\n dispatchZoonChange(BASE_SCALE_RATIO - scaleStep);\n };\n\n var onRotateRight = function onRotateRight() {\n updateTransform({\n rotate: rotate + 90\n });\n };\n\n var onRotateLeft = function onRotateLeft() {\n updateTransform({\n rotate: rotate - 90\n });\n };\n\n var onSwitchLeft = function onSwitchLeft(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (currentPreviewIndex > 0) {\n setCurrent(previewUrlsKeys[currentPreviewIndex - 1]);\n }\n };\n\n var onSwitchRight = function onSwitchRight(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (currentPreviewIndex < previewGroupCount - 1) {\n setCurrent(previewUrlsKeys[currentPreviewIndex + 1]);\n }\n };\n\n var onMouseUp = function onMouseUp() {\n if (visible && isMoving) {\n setMoving(false);\n /** No need to restore the position when the picture is not moved, So as not to interfere with the click */\n\n var _downPositionRef$curr = downPositionRef.current,\n transformX = _downPositionRef$curr.transformX,\n transformY = _downPositionRef$curr.transformY;\n var hasChangedPosition = transform.x !== transformX && transform.y !== transformY;\n\n if (!hasChangedPosition) {\n return;\n }\n\n var width = imgRef.current.offsetWidth * scale;\n var height = imgRef.current.offsetHeight * scale; // eslint-disable-next-line @typescript-eslint/no-shadow\n\n var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),\n left = _imgRef$current$getBo.left,\n top = _imgRef$current$getBo.top;\n\n var isRotate = rotate % 180 !== 0;\n var fixState = getFixScaleEleTransPosition(isRotate ? height : width, isRotate ? width : height, left, top);\n\n if (fixState) {\n updateTransform(_objectSpread({}, fixState));\n }\n }\n };\n\n var onMouseDown = function onMouseDown(event) {\n // Only allow main button\n if (event.button !== 0) return;\n event.preventDefault();\n event.stopPropagation();\n downPositionRef.current = {\n deltaX: event.pageX - transform.x,\n deltaY: event.pageY - transform.y,\n transformX: transform.x,\n transformY: transform.y\n };\n setMoving(true);\n };\n\n var onMouseMove = function onMouseMove(event) {\n if (visible && isMoving) {\n updateTransform({\n x: event.pageX - downPositionRef.current.deltaX,\n y: event.pageY - downPositionRef.current.deltaY\n });\n }\n };\n\n var onWheel = function onWheel(event) {\n if (!visible || event.deltaY == 0) return; // Scale ratio depends on the deltaY size\n\n var scaleRatio = Math.abs(event.deltaY / 100); // Limit the maximum scale ratio\n\n var mergedScaleRatio = Math.min(scaleRatio, WHEEL_MAX_SCALE_RATIO); // Scale the ratio each time\n\n var ratio = BASE_SCALE_RATIO + mergedScaleRatio * scaleStep;\n\n if (event.deltaY > 0) {\n ratio = BASE_SCALE_RATIO / ratio;\n }\n\n dispatchZoonChange(ratio, event.clientX, event.clientY);\n };\n\n var onKeyDown = useCallback(function (event) {\n if (!visible || !showLeftOrRightSwitches) return;\n\n if (event.keyCode === KeyCode.LEFT) {\n if (currentPreviewIndex > 0) {\n setCurrent(previewUrlsKeys[currentPreviewIndex - 1]);\n }\n } else if (event.keyCode === KeyCode.RIGHT) {\n if (currentPreviewIndex < previewGroupCount - 1) {\n setCurrent(previewUrlsKeys[currentPreviewIndex + 1]);\n }\n }\n }, [currentPreviewIndex, previewGroupCount, previewUrlsKeys, setCurrent, showLeftOrRightSwitches, visible]);\n\n var onDoubleClick = function onDoubleClick(event) {\n if (visible) {\n if (scale !== 1) {\n updateTransform({\n x: 0,\n y: 0,\n scale: 1\n });\n } else {\n dispatchZoonChange(BASE_SCALE_RATIO + scaleStep, event.clientX, event.clientY);\n }\n }\n };\n\n useEffect(function () {\n var onTopMouseUpListener;\n var onTopMouseMoveListener;\n var onMouseUpListener = addEventListener(window, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(window, 'mousemove', onMouseMove, false);\n var onKeyDownListener = addEventListener(window, 'keydown', onKeyDown, false);\n\n try {\n // Resolve if in iframe lost event\n\n /* istanbul ignore next */\n if (window.top !== window.self) {\n onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false);\n onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false);\n }\n } catch (error) {\n /* istanbul ignore next */\n warning(false, \"[rc-image] \".concat(error));\n }\n\n return function () {\n var _onTopMouseUpListener, _onTopMouseMoveListen;\n\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n onKeyDownListener.remove();\n /* istanbul ignore next */\n\n (_onTopMouseUpListener = onTopMouseUpListener) === null || _onTopMouseUpListener === void 0 ? void 0 : _onTopMouseUpListener.remove();\n /* istanbul ignore next */\n\n (_onTopMouseMoveListen = onTopMouseMoveListener) === null || _onTopMouseMoveListen === void 0 ? void 0 : _onTopMouseMoveListen.remove();\n };\n }, [visible, isMoving, onKeyDown]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog, _extends({\n transitionName: transitionName,\n maskTransitionName: maskTransitionName,\n closable: false,\n keyboard: true,\n prefixCls: prefixCls,\n onClose: onClose,\n afterClose: onAfterClose,\n visible: visible,\n wrapClassName: wrapClassName,\n rootClassName: rootClassName,\n getContainer: getContainer\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-img-wrapper\")\n }, /*#__PURE__*/React.createElement(\"img\", {\n width: props.width,\n height: props.height,\n onWheel: onWheel,\n onMouseDown: onMouseDown,\n onDoubleClick: onDoubleClick,\n ref: imgRef,\n className: \"\".concat(prefixCls, \"-img\"),\n src: combinationSrc,\n alt: alt,\n style: {\n transform: \"translate3d(\".concat(transform.x, \"px, \").concat(transform.y, \"px, 0) scale3d(\").concat(scale, \", \").concat(scale, \", 1) rotate(\").concat(rotate, \"deg)\")\n }\n }))), /*#__PURE__*/React.createElement(Operations, {\n visible: visible,\n maskTransitionName: maskTransitionName,\n getContainer: getContainer,\n prefixCls: prefixCls,\n rootClassName: rootClassName,\n icons: icons,\n countRender: countRender,\n showSwitch: showLeftOrRightSwitches,\n showProgress: showOperationsProgress,\n current: currentPreviewIndex,\n count: previewGroupCount,\n scale: scale,\n onSwitchLeft: onSwitchLeft,\n onSwitchRight: onSwitchRight,\n onZoomIn: onZoomIn,\n onZoomOut: onZoomOut,\n onRotateRight: onRotateRight,\n onRotateLeft: onRotateLeft,\n onClose: onClose\n }));\n};\n\nexport default Preview;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"src\", \"alt\", \"onPreviewClose\", \"prefixCls\", \"previewPrefixCls\", \"placeholder\", \"fallback\", \"width\", \"height\", \"style\", \"preview\", \"className\", \"onClick\", \"onError\", \"wrapperClassName\", \"wrapperStyle\", \"rootClassName\", \"crossOrigin\", \"decoding\", \"loading\", \"referrerPolicy\", \"sizes\", \"srcSet\", \"useMap\", \"draggable\"],\n _excluded2 = [\"src\", \"visible\", \"onVisibleChange\", \"getContainer\", \"mask\", \"maskClassName\", \"icons\", \"scaleStep\"];\nimport * as React from 'react';\nimport { useState } from 'react';\nimport cn from 'classnames';\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Preview from \"./Preview\";\nimport PreviewGroup, { context } from \"./PreviewGroup\";\nvar uuid = 0;\n\nvar ImageInternal = function ImageInternal(_ref) {\n var _imgCommonProps$style;\n\n var imgSrc = _ref.src,\n alt = _ref.alt,\n onInitialPreviewClose = _ref.onPreviewClose,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-image' : _ref$prefixCls,\n _ref$previewPrefixCls = _ref.previewPrefixCls,\n previewPrefixCls = _ref$previewPrefixCls === void 0 ? \"\".concat(prefixCls, \"-preview\") : _ref$previewPrefixCls,\n placeholder = _ref.placeholder,\n fallback = _ref.fallback,\n width = _ref.width,\n height = _ref.height,\n style = _ref.style,\n _ref$preview = _ref.preview,\n preview = _ref$preview === void 0 ? true : _ref$preview,\n className = _ref.className,\n onClick = _ref.onClick,\n onImageError = _ref.onError,\n wrapperClassName = _ref.wrapperClassName,\n wrapperStyle = _ref.wrapperStyle,\n rootClassName = _ref.rootClassName,\n crossOrigin = _ref.crossOrigin,\n decoding = _ref.decoding,\n loading = _ref.loading,\n referrerPolicy = _ref.referrerPolicy,\n sizes = _ref.sizes,\n srcSet = _ref.srcSet,\n useMap = _ref.useMap,\n draggable = _ref.draggable,\n otherProps = _objectWithoutProperties(_ref, _excluded);\n\n var isCustomPlaceholder = placeholder && placeholder !== true;\n\n var _ref2 = _typeof(preview) === 'object' ? preview : {},\n previewSrc = _ref2.src,\n _ref2$visible = _ref2.visible,\n previewVisible = _ref2$visible === void 0 ? undefined : _ref2$visible,\n _ref2$onVisibleChange = _ref2.onVisibleChange,\n onPreviewVisibleChange = _ref2$onVisibleChange === void 0 ? onInitialPreviewClose : _ref2$onVisibleChange,\n _ref2$getContainer = _ref2.getContainer,\n getPreviewContainer = _ref2$getContainer === void 0 ? undefined : _ref2$getContainer,\n previewMask = _ref2.mask,\n maskClassName = _ref2.maskClassName,\n icons = _ref2.icons,\n scaleStep = _ref2.scaleStep,\n dialogProps = _objectWithoutProperties(_ref2, _excluded2);\n\n var src = previewSrc !== null && previewSrc !== void 0 ? previewSrc : imgSrc;\n var isControlled = previewVisible !== undefined;\n\n var _useMergedState = useMergedState(!!previewVisible, {\n value: previewVisible,\n onChange: onPreviewVisibleChange\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n isShowPreview = _useMergedState2[0],\n setShowPreview = _useMergedState2[1];\n\n var _useState = useState(isCustomPlaceholder ? 'loading' : 'normal'),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setStatus = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n mousePosition = _useState4[0],\n setMousePosition = _useState4[1];\n\n var isError = status === 'error';\n\n var _React$useContext = React.useContext(context),\n isPreviewGroup = _React$useContext.isPreviewGroup,\n setCurrent = _React$useContext.setCurrent,\n setGroupShowPreview = _React$useContext.setShowPreview,\n setGroupMousePosition = _React$useContext.setMousePosition,\n registerImage = _React$useContext.registerImage;\n\n var _React$useState = React.useState(function () {\n uuid += 1;\n return uuid;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n currentId = _React$useState2[0];\n\n var canPreview = !!preview;\n var isLoaded = React.useRef(false);\n\n var onLoad = function onLoad() {\n setStatus('normal');\n };\n\n var onError = function onError(e) {\n if (onImageError) {\n onImageError(e);\n }\n\n setStatus('error');\n };\n\n var onPreview = function onPreview(e) {\n if (!isControlled) {\n var _getOffset = getOffset(e.target),\n left = _getOffset.left,\n top = _getOffset.top;\n\n if (isPreviewGroup) {\n setCurrent(currentId);\n setGroupMousePosition({\n x: left,\n y: top\n });\n } else {\n setMousePosition({\n x: left,\n y: top\n });\n }\n }\n\n if (isPreviewGroup) {\n setGroupShowPreview(true);\n } else {\n setShowPreview(true);\n }\n\n if (onClick) onClick(e);\n };\n\n var onPreviewClose = function onPreviewClose(e) {\n e.stopPropagation();\n setShowPreview(false);\n\n if (!isControlled) {\n setMousePosition(null);\n }\n };\n\n var getImgRef = function getImgRef(img) {\n isLoaded.current = false;\n if (status !== 'loading') return;\n\n if (img !== null && img !== void 0 && img.complete && (img.naturalWidth || img.naturalHeight)) {\n isLoaded.current = true;\n onLoad();\n }\n }; // Keep order start\n // Resolve https://github.com/ant-design/ant-design/issues/28881\n // Only need unRegister when component unMount\n\n\n React.useEffect(function () {\n var unRegister = registerImage(currentId, src);\n return unRegister;\n }, []);\n React.useEffect(function () {\n registerImage(currentId, src, canPreview);\n }, [src, canPreview]); // Keep order end\n\n React.useEffect(function () {\n if (isError) {\n setStatus('normal');\n }\n\n if (isCustomPlaceholder && !isLoaded.current) {\n setStatus('loading');\n }\n }, [imgSrc]);\n var wrapperClass = cn(prefixCls, wrapperClassName, rootClassName, _defineProperty({}, \"\".concat(prefixCls, \"-error\"), isError));\n var mergedSrc = isError && fallback ? fallback : src;\n var imgCommonProps = {\n crossOrigin: crossOrigin,\n decoding: decoding,\n draggable: draggable,\n loading: loading,\n referrerPolicy: referrerPolicy,\n sizes: sizes,\n srcSet: srcSet,\n useMap: useMap,\n alt: alt,\n className: cn(\"\".concat(prefixCls, \"-img\"), _defineProperty({}, \"\".concat(prefixCls, \"-img-placeholder\"), placeholder === true), className),\n style: _objectSpread({\n height: height\n }, style)\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", _extends({}, otherProps, {\n className: wrapperClass,\n onClick: canPreview ? onPreview : onClick,\n style: _objectSpread({\n width: width,\n height: height\n }, wrapperStyle)\n }), /*#__PURE__*/React.createElement(\"img\", _extends({}, imgCommonProps, {\n ref: getImgRef\n }, isError && fallback ? {\n src: fallback\n } : {\n onLoad: onLoad,\n onError: onError,\n src: imgSrc\n }, {\n width: width,\n height: height\n })), status === 'loading' && /*#__PURE__*/React.createElement(\"div\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-placeholder\")\n }, placeholder), previewMask && canPreview && /*#__PURE__*/React.createElement(\"div\", {\n className: cn(\"\".concat(prefixCls, \"-mask\"), maskClassName),\n style: {\n display: ((_imgCommonProps$style = imgCommonProps.style) === null || _imgCommonProps$style === void 0 ? void 0 : _imgCommonProps$style.display) === 'none' ? 'none' : undefined\n }\n }, previewMask)), !isPreviewGroup && canPreview && /*#__PURE__*/React.createElement(Preview, _extends({\n \"aria-hidden\": !isShowPreview,\n visible: isShowPreview,\n prefixCls: previewPrefixCls,\n onClose: onPreviewClose,\n mousePosition: mousePosition,\n src: mergedSrc,\n alt: alt,\n getContainer: getPreviewContainer,\n icons: icons,\n scaleStep: scaleStep,\n rootClassName: rootClassName\n }, dialogProps)));\n};\n\nImageInternal.PreviewGroup = PreviewGroup;\nImageInternal.displayName = 'Image';\nexport default ImageInternal;","import Image from \"./Image\";\nexport * from \"./Image\";\nexport default Image;","// This icon file is generated automatically.\nvar RotateLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H188V494h440v326z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7.4 12.6-6.1v-63.9c12.9.1 25.9.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8a325.95 325.95 0 016.5 140.9h74.9c14.8-103.6-11.3-213-81-302.3z\" } }] }, \"name\": \"rotate-left\", \"theme\": \"outlined\" };\nexport default RotateLeftOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport RotateLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/RotateLeftOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar RotateLeftOutlined = function RotateLeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: RotateLeftOutlinedSvg\n }));\n};\nRotateLeftOutlined.displayName = 'RotateLeftOutlined';\nexport default /*#__PURE__*/React.forwardRef(RotateLeftOutlined);","// This icon file is generated automatically.\nvar RotateRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-.4-12.6 6.1l-.2 64c-118.6.5-235.8 53.4-314.6 154.2A399.75 399.75 0 00123.5 631h74.9c-.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H396V494h440v326z\" } }] }, \"name\": \"rotate-right\", \"theme\": \"outlined\" };\nexport default RotateRightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport RotateRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RotateRightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar RotateRightOutlined = function RotateRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: RotateRightOutlinedSvg\n }));\n};\nRotateRightOutlined.displayName = 'RotateRightOutlined';\nexport default /*#__PURE__*/React.forwardRef(RotateRightOutlined);","// This icon file is generated automatically.\nvar ZoomInOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\" } }] }, \"name\": \"zoom-in\", \"theme\": \"outlined\" };\nexport default ZoomInOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ZoomInOutlinedSvg from \"@ant-design/icons-svg/es/asn/ZoomInOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar ZoomInOutlined = function ZoomInOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ZoomInOutlinedSvg\n }));\n};\nZoomInOutlined.displayName = 'ZoomInOutlined';\nexport default /*#__PURE__*/React.forwardRef(ZoomInOutlined);","// This icon file is generated automatically.\nvar ZoomOutOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\" } }] }, \"name\": \"zoom-out\", \"theme\": \"outlined\" };\nexport default ZoomOutOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ZoomOutOutlinedSvg from \"@ant-design/icons-svg/es/asn/ZoomOutOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar ZoomOutOutlined = function ZoomOutOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ZoomOutOutlinedSvg\n }));\n};\nZoomOutOutlined.displayName = 'ZoomOutOutlined';\nexport default /*#__PURE__*/React.forwardRef(ZoomOutOutlined);","import { TinyColor } from '@ctrl/tinycolor';\nimport { genModalMaskStyle } from '../../modal/style';\nimport { initZoomMotion, initFadeMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent, textEllipsis } from '../../style';\nexport const genBoxStyle = position => ({\n position: position || 'absolute',\n inset: 0\n});\nexport const genImageMaskStyle = token => {\n const {\n iconCls,\n motionDurationSlow,\n paddingXXS,\n marginXXS,\n prefixCls\n } = token;\n return {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#fff',\n background: new TinyColor('#000').setAlpha(0.5).toRgbString(),\n cursor: 'pointer',\n opacity: 0,\n transition: `opacity ${motionDurationSlow}`,\n [`.${prefixCls}-mask-info`]: Object.assign(Object.assign({}, textEllipsis), {\n padding: `0 ${paddingXXS}px`,\n [iconCls]: {\n marginInlineEnd: marginXXS\n }\n })\n };\n};\nexport const genPreviewOperationsStyle = token => {\n const {\n previewCls,\n modalMaskBg,\n paddingSM,\n imagePreviewOperationDisabledColor,\n motionDurationSlow\n } = token;\n const operationBg = new TinyColor(modalMaskBg).setAlpha(0.1);\n const operationBgHover = operationBg.clone().setAlpha(0.2);\n return {\n [`${previewCls}-operations`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n color: token.imagePreviewOperationColor,\n listStyle: 'none',\n background: operationBg.toRgbString(),\n pointerEvents: 'auto',\n '&-operation': {\n marginInlineStart: paddingSM,\n padding: paddingSM,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n background: operationBgHover.toRgbString()\n },\n '&-disabled': {\n color: imagePreviewOperationDisabledColor,\n pointerEvents: 'none'\n },\n '&:last-of-type': {\n marginInlineStart: 0\n }\n },\n '&-progress': {\n position: 'absolute',\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%)'\n },\n '&-icon': {\n fontSize: token.imagePreviewOperationSize\n }\n })\n };\n};\nexport const genPreviewSwitchStyle = token => {\n const {\n modalMaskBg,\n iconCls,\n imagePreviewOperationDisabledColor,\n previewCls,\n zIndexPopup,\n motionDurationSlow\n } = token;\n const operationBg = new TinyColor(modalMaskBg).setAlpha(0.1);\n const operationBgHover = operationBg.clone().setAlpha(0.2);\n return {\n [`${previewCls}-switch-left, ${previewCls}-switch-right`]: {\n position: 'fixed',\n insetBlockStart: '50%',\n zIndex: zIndexPopup + 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: token.imagePreviewSwitchSize,\n height: token.imagePreviewSwitchSize,\n marginTop: -token.imagePreviewSwitchSize / 2,\n color: token.imagePreviewOperationColor,\n background: operationBg.toRgbString(),\n borderRadius: '50%',\n transform: `translateY(-50%)`,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n pointerEvents: 'auto',\n '&:hover': {\n background: operationBgHover.toRgbString()\n },\n [`&-disabled`]: {\n '&, &:hover': {\n color: imagePreviewOperationDisabledColor,\n background: 'transparent',\n cursor: 'not-allowed',\n [`> ${iconCls}`]: {\n cursor: 'not-allowed'\n }\n }\n },\n [`> ${iconCls}`]: {\n fontSize: token.imagePreviewOperationSize\n }\n },\n [`${previewCls}-switch-left`]: {\n insetInlineStart: token.marginSM\n },\n [`${previewCls}-switch-right`]: {\n insetInlineEnd: token.marginSM\n }\n };\n};\nexport const genImagePreviewStyle = token => {\n const {\n motionEaseOut,\n previewCls,\n motionDurationSlow,\n componentCls\n } = token;\n return [{\n [`${componentCls}-preview-root`]: {\n [previewCls]: {\n height: '100%',\n textAlign: 'center',\n pointerEvents: 'none'\n },\n [`${previewCls}-body`]: Object.assign(Object.assign({}, genBoxStyle()), {\n overflow: 'hidden'\n }),\n [`${previewCls}-img`]: {\n maxWidth: '100%',\n maxHeight: '100%',\n verticalAlign: 'middle',\n transform: 'scale3d(1, 1, 1)',\n cursor: 'grab',\n transition: `transform ${motionDurationSlow} ${motionEaseOut} 0s`,\n userSelect: 'none',\n pointerEvents: 'auto',\n '&-wrapper': Object.assign(Object.assign({}, genBoxStyle()), {\n transition: `transform ${motionDurationSlow} ${motionEaseOut} 0s`,\n '&::before': {\n display: 'inline-block',\n width: 1,\n height: '50%',\n marginInlineEnd: -1,\n content: '\"\"'\n }\n })\n },\n [`${previewCls}-moving`]: {\n [`${previewCls}-preview-img`]: {\n cursor: 'grabbing',\n '&-wrapper': {\n transitionDuration: '0s'\n }\n }\n }\n }\n },\n // Override\n {\n [`${componentCls}-preview-root`]: {\n [`${previewCls}-wrap`]: {\n zIndex: token.zIndexPopup\n }\n }\n },\n // Preview operations & switch\n {\n [`${componentCls}-preview-operations-wrapper`]: {\n position: 'fixed',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n zIndex: token.zIndexPopup + 1,\n width: '100%'\n },\n '&': [genPreviewOperationsStyle(token), genPreviewSwitchStyle(token)]\n }];\n};\nconst genImageStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // ============================== image ==============================\n [componentCls]: {\n position: 'relative',\n display: 'inline-block',\n [`${componentCls}-img`]: {\n width: '100%',\n height: 'auto',\n verticalAlign: 'middle'\n },\n [`${componentCls}-img-placeholder`]: {\n backgroundColor: token.colorBgContainerDisabled,\n backgroundImage: \"url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=')\",\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center',\n backgroundSize: '30%'\n },\n [`${componentCls}-mask`]: Object.assign({}, genImageMaskStyle(token)),\n [`${componentCls}-mask:hover`]: {\n opacity: 1\n },\n [`${componentCls}-placeholder`]: Object.assign({}, genBoxStyle())\n }\n };\n};\nconst genPreviewMotion = token => {\n const {\n previewCls\n } = token;\n return {\n [`${previewCls}-root`]: initZoomMotion(token, 'zoom'),\n [`&`]: initFadeMotion(token, true)\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Image', token => {\n const imagePreviewOperationColor = new TinyColor(token.colorTextLightSolid);\n const previewCls = `${token.componentCls}-preview`;\n const imageToken = mergeToken(token, {\n previewCls,\n imagePreviewOperationColor: imagePreviewOperationColor.toRgbString(),\n imagePreviewOperationDisabledColor: new TinyColor(imagePreviewOperationColor).setAlpha(0.25).toRgbString(),\n modalMaskBg: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n imagePreviewOperationSize: token.fontSizeIcon * 1.5,\n imagePreviewSwitchSize: token.controlHeightLG\n });\n return [genImageStyle(imageToken), genImagePreviewStyle(imageToken), genModalMaskStyle(mergeToken(imageToken, {\n componentCls: previewCls\n })), genPreviewMotion(imageToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 80\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport RotateLeftOutlined from \"@ant-design/icons/es/icons/RotateLeftOutlined\";\nimport RotateRightOutlined from \"@ant-design/icons/es/icons/RotateRightOutlined\";\nimport ZoomInOutlined from \"@ant-design/icons/es/icons/ZoomInOutlined\";\nimport ZoomOutOutlined from \"@ant-design/icons/es/icons/ZoomOutOutlined\";\nimport RcImage from 'rc-image';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { getTransitionName } from '../_util/motion';\n// CSSINJS\nimport useStyle from './style';\nexport const icons = {\n rotateLeft: /*#__PURE__*/React.createElement(RotateLeftOutlined, null),\n rotateRight: /*#__PURE__*/React.createElement(RotateRightOutlined, null),\n zoomIn: /*#__PURE__*/React.createElement(ZoomInOutlined, null),\n zoomOut: /*#__PURE__*/React.createElement(ZoomOutOutlined, null),\n close: /*#__PURE__*/React.createElement(CloseOutlined, null),\n left: /*#__PURE__*/React.createElement(LeftOutlined, null),\n right: /*#__PURE__*/React.createElement(RightOutlined, null)\n};\nconst InternalPreviewGroup = _a => {\n var {\n previewPrefixCls: customizePrefixCls,\n preview\n } = _a,\n props = __rest(_a, [\"previewPrefixCls\", \"preview\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('image', customizePrefixCls);\n const previewPrefixCls = `${prefixCls}-preview`;\n const rootPrefixCls = getPrefixCls();\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const mergedPreview = React.useMemo(() => {\n if (preview === false) {\n return preview;\n }\n const _preview = typeof preview === 'object' ? preview : {};\n return Object.assign(Object.assign({}, _preview), {\n transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName),\n rootClassName: hashId\n });\n }, [preview]);\n return wrapSSR( /*#__PURE__*/React.createElement(RcImage.PreviewGroup, Object.assign({\n preview: mergedPreview,\n previewPrefixCls: previewPrefixCls,\n icons: icons\n }, props)));\n};\nexport default InternalPreviewGroup;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport RcImage from 'rc-image';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport defaultLocale from '../locale/en_US';\nimport { getTransitionName } from '../_util/motion';\n// CSSINJS\nimport PreviewGroup, { icons } from './PreviewGroup';\nimport useStyle from './style';\nconst Image = _a => {\n var {\n prefixCls: customizePrefixCls,\n preview,\n rootClassName\n } = _a,\n otherProps = __rest(_a, [\"prefixCls\", \"preview\", \"rootClassName\"]);\n const {\n getPrefixCls,\n locale: contextLocale = defaultLocale,\n getPopupContainer: getContextPopupContainer\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('image', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const imageLocale = contextLocale.Image || defaultLocale.Image;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const mergedRootClassName = classNames(rootClassName, hashId);\n const mergedPreview = React.useMemo(() => {\n if (preview === false) {\n return preview;\n }\n const _preview = typeof preview === 'object' ? preview : {};\n const {\n getContainer\n } = _preview,\n restPreviewProps = __rest(_preview, [\"getContainer\"]);\n return Object.assign(Object.assign({\n mask: /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-mask-info`\n }, /*#__PURE__*/React.createElement(EyeOutlined, null), imageLocale === null || imageLocale === void 0 ? void 0 : imageLocale.preview),\n icons\n }, restPreviewProps), {\n getContainer: getContainer || getContextPopupContainer,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName)\n });\n }, [preview, imageLocale]);\n return wrapSSR( /*#__PURE__*/React.createElement(RcImage, Object.assign({\n prefixCls: `${prefixCls}`,\n preview: mergedPreview,\n rootClassName: mergedRootClassName\n }, otherProps)));\n};\nImage.PreviewGroup = PreviewGroup;\nexport default Image;","import React, { useEffect, useState } from 'react'\r\nimport { PlusOutlined } from '@ant-design/icons'\r\nimport { Button, Image, Modal, Upload, UploadFile, notification } from 'antd'\r\nimport styled from 'styled-components'\r\nimport axios from 'axios'\r\n\r\nimport { apiUrl } from '../../globals'\r\nimport { UploadCloud } from 'react-feather'\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\n\r\nconst MAX_IMAGES = 4 // CHANGE ME\r\n\r\ntype ImageUploadModalProps = {\r\n showImageUploadModal: boolean\r\n setShowImageUploadModal: (show: boolean) => void\r\n courseId: number\r\n questionId: number\r\n answerId: number | null\r\n imageType: 'question' | 'answer'\r\n}\r\n\r\nexport const ImageUploadModal = ({\r\n showImageUploadModal,\r\n setShowImageUploadModal,\r\n courseId,\r\n questionId,\r\n answerId,\r\n imageType\r\n}: ImageUploadModalProps) => {\r\n const [ previewOpen, setPreviewOpen ] = useState(false)\r\n const [ previewImage, setPreviewImage ] = useState('')\r\n const [ fileList, setFileList ] = useState>([])\r\n\r\n useEffect(() => {\r\n if (!showImageUploadModal) {\r\n setPreviewOpen(false)\r\n setPreviewImage('')\r\n setFileList([])\r\n }\r\n }, [ showImageUploadModal ])\r\n\r\n const handleChange = ({ fileList: newFileList }: { fileList: Array }) => {\r\n setFileList(newFileList)\r\n }\r\n\r\n const handleUpload = async () => {\r\n const uploads = fileList.map(async (file) => {\r\n if ((file.status === 'uploading' || file.status === 'error') && file.originFileObj) {\r\n const base64Image = await getBase64(file.originFileObj)\r\n\r\n const payload = {\r\n CourseId: courseId,\r\n ImageFile: base64Image,\r\n ImageType: imageType,\r\n QuestionId: questionId,\r\n AnswerId: answerId,\r\n }\r\n\r\n try {\r\n await axios.post(`${apiUrl}/upload-image`, payload)\r\n file.status = 'done'\r\n file.url = URL.createObjectURL(file.originFileObj)\r\n\r\n notification.success({ // i8n\r\n message: 'Upload erfolgreich',\r\n description: 'Das Bild wurde erfolgreich hochgeladen.',\r\n placement: 'bottomRight',\r\n })\r\n setShowImageUploadModal(false)\r\n } catch (error) {\r\n console.error('Upload failed:', error)\r\n file.status = 'error'\r\n }\r\n }\r\n return file\r\n })\r\n\r\n Promise.all(uploads).then(setFileList)\r\n }\r\n\r\n const uploadButton = (\r\n \r\n \r\n \r\n Hinzufügen\r\n \r\n \r\n )\r\n\r\n return (\r\n setShowImageUploadModal(false)}\r\n onOk={handleUpload}\r\n okText={\r\n \r\n \r\n Upload\r\n \r\n }\r\n cancelText=\"Abbrechen\"\r\n centered\r\n >\r\n \r\n {fileList.length >= MAX_IMAGES ? null : uploadButton}\r\n \r\n {previewImage && (\r\n !visible \r\n ? setPreviewImage('')\r\n : setPreviewOpen(visible)\r\n }}\r\n src={previewImage}\r\n />\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst getBase64 = (file: File): Promise =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => {\r\n const base64String = (reader.result as string).split(',')[1]\r\n resolve(base64String)\r\n }\r\n reader.onerror = (error) => reject(error)\r\n })\r\n\r\n\r\nconst UploadButton = styled(Button)`\r\n border: 0;\r\n width: 50%;\r\n background: 'none';\r\n margin-bottom: 22px !important;\r\n`\r\n\r\nconst UploadText = styled.div`\r\n margin-top: 8px;\r\n`","import React, { useState, useContext, useEffect, Dispatch, SetStateAction } from 'react'\r\nimport { useIntl, FormattedMessage } from 'react-intl'\r\nimport styled from 'styled-components'\r\nimport { Input, Checkbox, Button, Space, Tooltip, Typography, notification, InputNumber } from 'antd'\r\nimport { DeleteOutlined, CheckCircleOutlined, WarningOutlined } from '@ant-design/icons'\r\nimport { BiImageAdd as AddImageIcon } from \"react-icons/bi\"\r\n\r\nimport { Course, Question } from '../Course/types'\r\nimport { CourseContext } from '../Course/CourseContext'\r\nimport { FlexColumn, FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport { View } from '../../Routes/Course'\r\nimport { ImageUploadModal } from './ImageUploadModal'\r\nimport { imageUrl } from '../../globals'\r\n\r\ntype QuestionsProps = {\r\n course: Course\r\n setSelectedView?: Dispatch>\r\n isReviewMode?: boolean\r\n}\r\n\r\ntype ModalContext = {\r\n show: boolean\r\n imageType: 'question' | 'answer'\r\n questionId: number\r\n answerId: number | null\r\n}\r\n\r\nconst Questions: React.FC = ({ course, isReviewMode }) => {\r\n const [ questions, setQuestions ] = useState>(course.questions || [])\r\n const [ currentQuestion, setCurrentQuestion ] = useState('')\r\n const [ currentQuestionWeight, setCurrentQuestionWeight ] = useState('1') // input gets parsed in 'createQuestion'\r\n const [ totalPoints, setTotalPoints ] = useState(course.totalPoints || 0)\r\n const [ minPercentageToPass, setMinPercentageToPass ] = useState(course.minPercentageToPass || 0)\r\n const [ questionPoolSize, setQuestionPoolSize ] = useState(course.questionPoolSize || questions.length)\r\n const [ modalContext, setModalContext ] = useState({ show: false, imageType: 'question', questionId: 0, answerId: null })\r\n\r\n const intl = useIntl()\r\n const { updateCourse, saveCourse } = useContext(CourseContext)\r\n\r\n useEffect(() => {\r\n updateCourse({\r\n ...course,\r\n hasUnsavedChanges: true,\r\n minPercentageToPass,\r\n totalPoints,\r\n questionPoolSize,\r\n })\r\n }, [ questions, minPercentageToPass, totalPoints, questionPoolSize ])\r\n \r\n\r\n const createQuestion = () => {\r\n const currentQuestionWeightInt = parseInt(currentQuestionWeight)\r\n\r\n if (!currentQuestionWeight) {\r\n notification.open({\r\n message: intl.formatMessage({ id: 'generic.validationError' }),\r\n description: intl.formatMessage({ id: 'editor.questions.validationErrorQuestionWeight' }),\r\n type: 'error',\r\n icon: ,\r\n placement: 'bottomRight',\r\n })\r\n\r\n return\r\n }\r\n\r\n if (currentQuestion) {\r\n setQuestions(\r\n [\r\n ...questions,\r\n {\r\n text: currentQuestion,\r\n answers: [],\r\n questionWeight: currentQuestionWeightInt\r\n }\r\n ])\r\n \r\n setTotalPoints(totalPoints + currentQuestionWeightInt)\r\n setCurrentQuestionWeight('1')\r\n setCurrentQuestion('')\r\n }\r\n }\r\n\r\n const addQuestionsToCourse = () => {\r\n const isValid = validateQuestions(questions)\r\n\r\n if (!isValid) {\r\n notification.open({\r\n message: intl.formatMessage({ id: 'generic.validationError' }),\r\n description: intl.formatMessage({ id: 'editor.questions.validationErrorAnswers' }),\r\n type: 'error',\r\n icon: ,\r\n placement: 'bottomRight',\r\n })\r\n\r\n return\r\n }\r\n const newCourse = { ...course }\r\n newCourse.questions = questions\r\n\r\n updateCourse(newCourse)\r\n\r\n if (isReviewMode) {\r\n saveCourse(newCourse, intl) // in review mode, the user has no access to the regular \"Save\" button so we need to save the course here\r\n } \r\n \r\n if (!isReviewMode) {\r\n notification.open({\r\n message: intl.formatMessage({ id: 'notification.success' }),\r\n description: intl.formatMessage({ id: 'notification.success.questionsAdded' }),\r\n type: 'success',\r\n placement: 'bottomRight',\r\n })\r\n }\r\n }\r\n\r\n const validateQuestions = (questions: Array): boolean => {\r\n for (const question of questions) {\r\n const { answers } = question\r\n\r\n const hasAtLeastOneCorrectAnswer = answers.some((answer) => answer.isCorrect)\r\n const hasEmptyAnswers = answers.some((answer) => !answer.text.trim())\r\n const hasLessThanTwoAnswers = answers.length < 2\r\n\r\n if (!hasAtLeastOneCorrectAnswer || hasEmptyAnswers || hasLessThanTwoAnswers) {\r\n return false\r\n }\r\n }\r\n \r\n return true\r\n }\r\n\r\n const deleteQuestion = (questionIndex: number) => {\r\n if (confirm(intl.formatMessage({ id: 'editor.questions.confirmDelete' }))) {\r\n const newQuestions = [ ...questions ]\r\n newQuestions.splice(questionIndex, 1)\r\n\r\n setTotalPoints(totalPoints - questions[questionIndex].questionWeight)\r\n setQuestions(newQuestions)\r\n }\r\n }\r\n\r\n const handleAnswerInputChange = (questionIndex: number, answerIndex: number, event: string) => {\r\n const newQuestions = [ ...questions ]\r\n newQuestions[questionIndex].answers[answerIndex].text = event\r\n\r\n setQuestions(newQuestions)\r\n }\r\n\r\n const handleValidAnswerCheckboxChange = (questionIndex: number, answerIndex: number) => {\r\n const newQuestions = [ ...questions ]\r\n newQuestions[questionIndex].answers[answerIndex].isCorrect = !newQuestions[questionIndex].answers[answerIndex].isCorrect\r\n\r\n setQuestions(newQuestions)\r\n }\r\n\r\n // made async to be able to rapidly add answers by pressing Enter\r\n // (next input must be present in DOM before it can be focused)\r\n const addAnswer = async (questionIndex: number) => {\r\n const newQuestions = [ ...questions ]\r\n newQuestions[questionIndex].answers.push({ text: '', isCorrect: false })\r\n\r\n setQuestions(newQuestions)\r\n }\r\n\r\n const handleKeyDown = (questionIndex: number, answerIndex: number, event: React.KeyboardEvent) => {\r\n if (event.key === \"Enter\") {\r\n addAnswer(questionIndex).then(() => {\r\n const nextAnswerInput = document.getElementById(`answer-${questionIndex}-${answerIndex + 1}`)\r\n\r\n if (nextAnswerInput) {\r\n nextAnswerInput.focus()\r\n }\r\n })\r\n }\r\n }\r\n\r\n const deleteAnswer = (questionIndex: number, answerIndex: number) => {\r\n const newQuestions = [ ...questions ]\r\n newQuestions[questionIndex].answers.splice(answerIndex, 1)\r\n setQuestions(newQuestions)\r\n }\r\n\r\n if (course.isPublished) {\r\n return (\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 return (\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 setTotalPoints(e || 0)}\r\n value={totalPoints || 0}\r\n style={{ width: '5em' }}\r\n />\r\n \r\n\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n setQuestionPoolSize((e || questions.length))}\r\n value={questionPoolSize || questions.length}\r\n style={{ width: '5em'}}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n setMinPercentageToPass(e || 0)}\r\n value={minPercentageToPass}\r\n style={{ width: '25%' }}\r\n />\r\n ({Math.round((minPercentageToPass / 100) * totalPoints)} )\r\n \r\n \r\n\r\n {questions.map((question, questionIndex) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {`${questionIndex + 1}`}:\r\n \r\n \r\n {question.text}\r\n \r\n {/* TODO: i18n */}\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n {question.questionWeight}{\" \"}\r\n {question.questionWeight === 1\r\n ? \r\n : \r\n }\r\n \r\n \r\n \r\n window.open(`${imageUrl}/${course.id}/questions/${question.id}/question.jpg`, '_blank')}\r\n />\r\n \r\n\r\n {question.answers.map((answer, answerIndex) => (\r\n <>\r\n \r\n }\r\n mouseEnterDelay={1}\r\n >\r\n handleValidAnswerCheckboxChange(questionIndex, answerIndex)}\r\n />\r\n \r\n handleAnswerInputChange(questionIndex, answerIndex, event.target.value)}\r\n onKeyDown={(event) => handleKeyDown(questionIndex, answerIndex, event)}\r\n placeholder={intl.formatMessage({ id: 'editor.questions.answers.answerPlaceholder' })}\r\n style={{ margin: '1em'}}\r\n />\r\n \r\n \r\n \r\n }\r\n mouseEnterDelay={1}\r\n >\r\n \r\n \r\n \r\n \r\n window.open(`${imageUrl}/${course.id}/questions/${question.id}/answers/${answer.id}/answer.jpg`, '_blank')}\r\n />\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setModalContext(prev => ({ ...prev, show }))}\r\n courseId={course.id}\r\n questionId={modalContext.questionId}\r\n answerId={modalContext.answerId}\r\n imageType={modalContext.imageType}\r\n />\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setCurrentQuestion(event.target.value)}\r\n placeholder={intl.formatMessage({ id: 'editor.questions.createQuestion' })}\r\n />\r\n }\r\n mouseEnterDelay={1}\r\n >\r\n setCurrentQuestionWeight(event.target.value)}\r\n placeholder={intl.formatMessage({ id: 'editor.questions.pointsPlaceholderAbbreviated' })}\r\n style={{ width: '5em', margin: '0 1em 0 1em' }}\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\nexport default Questions\r\n\r\nconst QuestionText = styled.div`\r\n margin-right: 1em;\r\n\r\n`\r\nconst QuestionsContainer = styled.div`\r\n margin-top: 0.5em;\r\n padding-bottom: 2em;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`\r\n\r\nconst BoldText = styled(Typography.Text)`\r\n font-weight: bold;\r\n margin-right: 0.5em;\r\n`\r\n\r\nconst QuestionAnswerImage = styled.img`\r\n width: 50%;\r\n margin: 1em 0;\r\n height: auto;\r\n cursor: pointer;\r\n transition: all 0.2s ease-in-out;\r\n &:hover {\r\n transform: scale(1.05);\r\n border-color: lightgrey;\r\n }\r\n`","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar CheckCircle = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"22 4 12 14.01 9 11.01\"\n }));\n});\nCheckCircle.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nCheckCircle.displayName = 'CheckCircle';\nexport default CheckCircle;","import React, { useState, useEffect, useContext } from 'react'\r\nimport { useParams, useNavigate, useLocation } from 'react-router-dom'\r\nimport styled from 'styled-components'\r\nimport { injectIntl, useIntl, WrappedComponentProps } from 'react-intl'\r\nimport { Layout, notification } from 'antd'\r\n\r\nimport { CourseContext } from '../Components/Course/CourseContext'\r\nimport { Editor } from '../Components/Editor/Editor'\r\nimport { FlexColumn, FlexRow } from '../Components/FlexboxReusables/FlexItems'\r\nimport { Course as CourseType } from '../Components/Course/types'\r\nimport Sidebar from '../Components/Sidebar'\r\nimport { createDefaultCourseFromPdfImages, createDefaultCourse } from '../Components/Editor/misc'\r\nimport EditorSettingsRow from '../Components/Editor/SettingsRow/EditorSettingsRow'\r\nimport ViewportOptions from '../Components/Course/ViewportOptions'\r\nimport CourseName from '../Components/Course/CourseName'\r\nimport CourseDescription from '../Components/Course/CourseDescription'\r\nimport Questions from '../Components/Editor/Questions'\r\nimport { convertPdfPagesToBase64ImageUrls } from '../Components/Course/utils'\r\nimport { AuthContext } from '../Components/Auth/AuthContext'\r\nimport LoadingSpinner from '../Components/LoadingSpinner'\r\nimport { ThemeContext } from '../Theme/ThemeContext'\r\nimport CourseAlreadyPublished from '../Components/Course/CourseAlreadyPublished'\r\nimport { imageUrl } from '../globals'\r\n\r\ninterface CourseProps extends WrappedComponentProps {\r\n id?: string\r\n}\r\n\r\nexport enum View {\r\n EDITOR = 'editor',\r\n QUESTIONS = 'questions'\r\n}\r\n\r\nconst Course: React.FC = () => {\r\n const intl = useIntl()\r\n const navigate = useNavigate()\r\n\r\n const location = useLocation()\r\n const { fromPdf, pdfFile } = location.state || {}\r\n\r\n const { id } = useParams<{ id: string }>()\r\n const courseId = id ? parseInt(id) : null // react router hook 'useParams' needs a string, but we need a number\r\n\r\n const { courseContext, setCourseContext, createCourse } = useContext(CourseContext)\r\n const { authUser } = useContext(AuthContext)\r\n const { isDarkMode } = useContext(ThemeContext)\r\n\r\n const defaultCourse = createDefaultCourse(intl, authUser.id)\r\n\r\n const [ course, setCourse ] = useState(null)\r\n const [ editing, setEditing ] = useState>({ name: false, description: false })\r\n const [ selectedView, setSelectedView ] = useState(View.EDITOR)\r\n const [ selectedPage, setSelectedPage ] = useState(0)\r\n const [ loadingCourse, setLoadingCourse ] = useState(true)\r\n\r\n const showEditor = selectedView === View.EDITOR && course && !course.pages[selectedPage].previewPictureIsFromPdf\r\n const showPreviewPictureInsteadOfEditor = selectedView === View.EDITOR && course && course.fromPdf && course.pages[selectedPage].previewPictureIsFromPdf\r\n const showQuestions = selectedView === View.QUESTIONS && course\r\n\r\n const deleteCourse = (id: number) => {\r\n // TODO: Delete course from backend\r\n // TODO: Delete course from context\r\n console.log('Delete course with id: ', id)\r\n }\r\n\r\n // handle loading an existing course\r\n useEffect(() => {\r\n if (courseContext.loading || fromPdf) {\r\n return\r\n }\r\n\r\n const existingCourse = courseContext.courses.find((course: CourseType) => course.id === courseId)\r\n\r\n if (!existingCourse) {\r\n notification.error({\r\n message: intl.formatMessage({ id: 'notification.error' }),\r\n description: intl.formatMessage({ id: 'notification.error.courseNotFound' }),\r\n placement: 'bottomRight',\r\n })\r\n\r\n navigate('/')\r\n return\r\n }\r\n\r\n setCourse(existingCourse)\r\n setLoadingCourse(false)\r\n }, [ courseContext ])\r\n\r\n // handle creating a new course from a PDF\r\n useEffect(() => {\r\n if (id !== 'fromPdf' || !fromPdf || !pdfFile) {\r\n return\r\n }\r\n\r\n const convertPdfToImages = async () => {\r\n const images = await convertPdfPagesToBase64ImageUrls(pdfFile)\r\n const courseFromDb = await createCourse(createDefaultCourseFromPdfImages(images, intl, authUser.id))\r\n\r\n setCourse(courseFromDb)\r\n setCourseContext({\r\n ...courseContext,\r\n courses: [ ...courseContext.courses, courseFromDb ],\r\n })\r\n setLoadingCourse(false)\r\n\r\n navigate(`/course/${courseFromDb.id}`)\r\n }\r\n\r\n convertPdfToImages()\r\n }, [ id, fromPdf, pdfFile ])\r\n \r\n\r\n return (\r\n <>\r\n {loadingCourse ? (\r\n \r\n \r\n \r\n ) : course && (\r\n \r\n \r\n \r\n {course.isPublished && }\r\n \r\n \r\n \r\n \r\n {selectedView === View.EDITOR && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {showEditor &&\r\n \r\n }\r\n {showPreviewPictureInsteadOfEditor && (\r\n \r\n )}\r\n {showQuestions &&\r\n \r\n }\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default injectIntl(Course)\r\n\r\nconst EditorSettingsColumn = styled(FlexColumn)`\r\n align-items: flex-end;\r\n`\r\n\r\nexport const EditIconWrapper = styled.div`\r\n margin-left: 0.5em;\r\n padding-bottom: 0.3em;\r\n cursor: pointer;\r\n`\r\n\r\nconst Container = styled.div`\r\n width: 100%;\r\n height: 80%;\r\n`\r\n\r\nconst FullsizeImage = styled.img`\r\n max-width: 100%;\r\n`\r\n\r\nconst StyledLayout = styled(Layout.Content)<{ isDarkMode: boolean }>`\r\n background-color: ${(props) => props.isDarkMode ? '#1f1f1f' : 'white'};\r\n color: ${(props) => props.isDarkMode ? 'white' : 'black'};\r\n`\r\n","import React from 'react'\r\nimport { Course } from './types'\r\nimport moment from 'moment'\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport { CheckCircle } from 'react-feather'\r\nimport { Typography } from 'antd'\r\nimport { FormattedMessage } from 'react-intl'\r\n\r\ntype CourseAlreayPublishedProps = {\r\n course: Course\r\n}\r\n\r\nexport const CourseAlreadyPublished: React.FC = ({ course }) => {\r\n const dateDay = moment.utc(course.publishedAt).local().format('DD.MM.YYYY')\r\n const dateHour = moment.utc(course.publishedAt).local().format('HH:mm')\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CourseAlreadyPublished","// This icon file is generated automatically.\nvar WarningFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"warning\", \"theme\": \"filled\" };\nexport default WarningFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport WarningFilledSvg from \"@ant-design/icons-svg/es/asn/WarningFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar WarningFilled = function WarningFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: WarningFilledSvg\n }));\n};\nWarningFilled.displayName = 'WarningFilled';\nexport default /*#__PURE__*/React.forwardRef(WarningFilled);","import * as React from 'react';\nconst NoFound = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"252\",\n height: \"294\"\n}, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .387h251.772v251.772H0z\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .012)\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48\",\n fill: \"#1890FF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165\",\n fill: \"#7BB2F9\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.275 222.1s2.773-1.11 6.102-3.884\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z\",\n fill: \"#520038\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254\",\n fill: \"#552950\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M110.13 74.84l-.896 1.61-.298 4.357h-2.228\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.846 74.481s1.79-.716 2.506.537\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.287 72.93s1.83 1.113 4.137.954\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.405 122.865s-5.272 7.403-9.422 10.768\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.306 107.329s.452 4.366-2.127 32.062\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92\",\n fill: \"#F4D19D\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83\",\n fill: \"#F4D19D\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#5BA02E\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#92C110\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.979 89.48s7.776 5.384 16.6 2.842\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n})));\nexport default NoFound;","import * as React from 'react';\nconst ServerError = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"254\",\n height: \"294\"\n}, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .335h253.49v253.49H0z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 293.665h253.49V.401H0z\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .067)\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68\",\n fill: \"#FF603B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z\",\n fill: \"#520038\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26\",\n fill: \"#552950\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M99.206 73.644l-.9 1.62-.3 4.38h-2.24\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.926 73.284s1.8-.72 2.52.54\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.326 71.724s1.84 1.12 4.16.96\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.136\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69\",\n fill: \"#7BB2F9\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.973 219.373s2.882-1.153 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.032\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593\",\n stroke: \"#DB836E\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.278 112.533s3.38-3.613 7.575-4.662\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.375 123.006s9.697-2.745 11.445-.88\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955\",\n stroke: \"#BFCDDD\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01\",\n fill: \"#A3B4C6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813\",\n fill: \"#A3B4C6\"\n}), /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A3B4C6\",\n mask: \"url(#d)\",\n d: \"M154.098 190.096h70.513v-84.617h-70.513z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751\",\n stroke: \"#7C90A5\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.259 207.217v11.52M201.05 207.217v11.52\",\n stroke: \"#A3B4C6\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422\",\n fill: \"#5BA02E\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423\",\n fill: \"#92C110\",\n mask: \"url(#d)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209\",\n fill: \"#F2D7AD\",\n mask: \"url(#d)\"\n})));\nexport default ServerError;","import * as React from 'react';\nconst Unauthorized = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"251\",\n height: \"294\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023\",\n fill: \"#E4EBF7\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321\",\n fill: \"#A26EF4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61\",\n fill: \"#5BA02E\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611\",\n fill: \"#92C110\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17\",\n fill: \"#F2D7AD\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.18 94.656s.911 7.41-4.914 13.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437\",\n stroke: \"#E4EBF7\",\n strokeWidth: \".932\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91\",\n fill: \"#FFB594\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103\",\n fill: \"#5C2552\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32\",\n fill: \"#552950\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.132 86.786s5.269 4.957 12.679 2.327\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25\",\n fill: \"#DB836E\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.526\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.508 86.763s-1.598 8.83-6.697 14.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.114\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.31 87.934s3.013 4.121 4.06 11.785\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.09 84.816s-6.03 9.912-13.607 9.903\",\n stroke: \"#DB836E\",\n strokeWidth: \".795\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73\",\n fill: \"#FFC6A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.532 85.488s4.588 5.757 11.619 6.214\",\n stroke: \"#DB836E\",\n strokeWidth: \".75\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.708 105.73s-.393 8.564-1.34 13.612\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.784 161.512s-3.57-1.488-2.678-7.14\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z\",\n fill: \"#CBD1D1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078\",\n fill: \"#2B0849\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15\",\n fill: \"#A4AABA\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954\",\n fill: \"#7BB2F9\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.459 220.905s2.759-1.104 6.07-3.863\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806\",\n fill: \"#FFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64\",\n fill: \"#192064\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n})));\nexport default Unauthorized;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n lineHeightHeading3,\n iconCls,\n padding,\n paddingXL,\n paddingXS,\n paddingLG,\n marginXS,\n lineHeight\n } = token;\n return {\n // Result\n [componentCls]: {\n padding: `${paddingLG * 2}px ${paddingXL}px`,\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n },\n // Exception Status image\n [`${componentCls} ${componentCls}-image`]: {\n width: token.imageWidth,\n height: token.imageHeight,\n margin: 'auto'\n },\n [`${componentCls} ${componentCls}-icon`]: {\n marginBottom: paddingLG,\n textAlign: 'center',\n [`& > ${iconCls}`]: {\n fontSize: token.resultIconFontSize\n }\n },\n [`${componentCls} ${componentCls}-title`]: {\n color: token.colorTextHeading,\n fontSize: token.resultTitleFontSize,\n lineHeight: lineHeightHeading3,\n marginBlock: marginXS,\n textAlign: 'center'\n },\n [`${componentCls} ${componentCls}-subtitle`]: {\n color: token.colorTextDescription,\n fontSize: token.resultSubtitleFontSize,\n lineHeight,\n textAlign: 'center'\n },\n [`${componentCls} ${componentCls}-content`]: {\n marginTop: paddingLG,\n padding: `${paddingLG}px ${padding * 2.5}px`,\n backgroundColor: token.colorFillAlter\n },\n [`${componentCls} ${componentCls}-extra`]: {\n margin: token.resultExtraMargin,\n textAlign: 'center',\n '& > *': {\n marginInlineEnd: paddingXS,\n '&:last-child': {\n marginInlineEnd: 0\n }\n }\n }\n };\n};\nconst genStatusIconStyle = token => {\n const {\n componentCls,\n iconCls\n } = token;\n return {\n [`${componentCls}-success ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultSuccessIconColor\n },\n [`${componentCls}-error ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultErrorIconColor\n },\n [`${componentCls}-info ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultInfoIconColor\n },\n [`${componentCls}-warning ${componentCls}-icon > ${iconCls}`]: {\n color: token.resultWarningIconColor\n }\n };\n};\nconst genResultStyle = token => [genBaseStyle(token), genStatusIconStyle(token)];\n// ============================== Export ==============================\nconst getStyle = token => genResultStyle(token);\nexport default genComponentStyleHook('Result', token => {\n const {\n paddingLG,\n fontSizeHeading3\n } = token;\n const resultSubtitleFontSize = token.fontSize;\n const resultExtraMargin = `${paddingLG}px 0 0 0`;\n const resultInfoIconColor = token.colorInfo;\n const resultErrorIconColor = token.colorError;\n const resultSuccessIconColor = token.colorSuccess;\n const resultWarningIconColor = token.colorWarning;\n const resultToken = mergeToken(token, {\n resultTitleFontSize: fontSizeHeading3,\n resultSubtitleFontSize,\n resultIconFontSize: fontSizeHeading3 * 3,\n resultExtraMargin,\n resultInfoIconColor,\n resultErrorIconColor,\n resultSuccessIconColor,\n resultWarningIconColor\n });\n return [getStyle(resultToken)];\n}, {\n imageWidth: 250,\n imageHeight: 295\n});","import CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport WarningFilled from \"@ant-design/icons/es/icons/WarningFilled\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport warning from '../_util/warning';\nimport noFound from './noFound';\nimport serverError from './serverError';\nimport unauthorized from './unauthorized';\nimport useStyle from './style';\nexport const IconMap = {\n success: CheckCircleFilled,\n error: CloseCircleFilled,\n info: ExclamationCircleFilled,\n warning: WarningFilled\n};\nexport const ExceptionMap = {\n '404': noFound,\n '500': serverError,\n '403': unauthorized\n};\n// ExceptionImageMap keys\nconst ExceptionStatus = Object.keys(ExceptionMap);\nconst Icon = _ref => {\n let {\n prefixCls,\n icon,\n status\n } = _ref;\n const className = classNames(`${prefixCls}-icon`);\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Result', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n if (ExceptionStatus.includes(`${status}`)) {\n const SVGComponent = ExceptionMap[status];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${className} ${prefixCls}-image`\n }, /*#__PURE__*/React.createElement(SVGComponent, null));\n }\n const iconNode = /*#__PURE__*/React.createElement(IconMap[status]);\n if (icon === null || icon === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, icon || iconNode);\n};\nconst Extra = _ref2 => {\n let {\n prefixCls,\n extra\n } = _ref2;\n if (!extra) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-extra`\n }, extra);\n};\nconst Result = _ref3 => {\n let {\n prefixCls: customizePrefixCls,\n className: customizeClassName,\n subTitle,\n title,\n style,\n children,\n status = 'info',\n icon,\n extra\n } = _ref3;\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('result', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const className = classNames(prefixCls, `${prefixCls}-${status}`, customizeClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, /*#__PURE__*/React.createElement(Icon, {\n prefixCls: prefixCls,\n status: status,\n icon: icon\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-title`\n }, title), subTitle && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-subtitle`\n }, subTitle), /*#__PURE__*/React.createElement(Extra, {\n prefixCls: prefixCls,\n extra: extra\n }), children && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-content`\n }, children)));\n};\nResult.PRESENTED_IMAGE_403 = ExceptionMap['403'];\nResult.PRESENTED_IMAGE_404 = ExceptionMap['404'];\nResult.PRESENTED_IMAGE_500 = ExceptionMap['500'];\nexport default Result;","import React from 'react'\r\nimport { Result, Button } from 'antd'\r\nimport { Link } from 'react-router-dom'\r\nimport { FormattedMessage } from 'react-intl'\r\nimport { FlexRow } from '../Components/FlexboxReusables/FlexItems'\r\n\r\nconst NotFound: React.FC = () => {\r\n return (\r\n <>\r\n \r\n }\r\n extra={\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default NotFound\r\n","import React from \"react\"\r\nimport styled from \"styled-components\"\r\nimport { ThemeContext } from \"../Theme/ThemeContext\"\r\n\r\nconst Background = () => {\r\n const { isDarkMode } = React.useContext(ThemeContext)\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default Background\r\n\r\nconst StyledSvg = styled.div<{isDarkMode: boolean}>`\r\n position: absolute;\r\n top: 65px;\r\n left: 0;\r\n background-image: url(/background.svg);\r\n background-color: ${(props) => (props.isDarkMode ? \"#1f1f1f\" : \"white\")};\r\n height: 95%;\r\n width: 100%;\r\n background-size: auto 100%;\r\n background-repeat: no-repeat;\r\n transform: scaleX(-1);\r\n\r\n @media (max-width: 768px) {\r\n display: none;\r\n }\r\n`","import React, { useContext } from 'react'\r\nimport { Button, Typography } from 'antd'\r\nimport styled from 'styled-components'\r\nimport { FormattedMessage, injectIntl } from 'react-intl'\r\n\r\nimport Background from '../assets/Background'\r\nimport { AuthContext } from '../Components/Auth/AuthContext'\r\nimport { ThemeContext } from '../Theme/ThemeContext'\r\nimport { UserRole } from '../Components/User/types'\r\n\r\nconst Home: React.FC = () => {\r\n const { authUser } = useContext(AuthContext)\r\n const { isDarkMode } = useContext(ThemeContext)\r\n\r\n const renderWelcomeTextBasedOnRole = (role: UserRole): string => {\r\n switch (role.toLowerCase()) {\r\n case UserRole.ADMIN:\r\n return 'Instructing made easy.'\r\n case UserRole.CLIENT:\r\n return 'Schooling made easy.'\r\n default:\r\n return 'Instructing made easy.'\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {renderWelcomeTextBasedOnRole(authUser.role)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default injectIntl(Home)\r\n\r\nconst Container = styled.div`\r\n position: absolute;\r\n top: 30%;\r\n left: 15%;\r\n z-index: 1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n`\r\n\r\nconst StyledTitle = styled(Typography.Title)<{isDarkMode: boolean}>`\r\n font-family: 'Roboto', sans-serif;\r\n color: ${({ color, isDarkMode }) => (isDarkMode ? 'white' : color) || 'inherit'} !important;\r\n margin-bottom: 0 !important;\r\n`\r\n\r\nconst StyledSubtitle = styled(Typography.Title)`\r\n font-family: 'Roboto', sans-serif;\r\n margin-top: 0 !important;\r\n`","import classNames from 'classnames';\nimport * as React from 'react';\nconst Element = props => {\n const {\n prefixCls,\n className,\n style,\n size,\n shape\n } = props;\n const sizeCls = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small'\n });\n const shapeCls = classNames({\n [`${prefixCls}-circle`]: shape === 'circle',\n [`${prefixCls}-square`]: shape === 'square',\n [`${prefixCls}-round`]: shape === 'round'\n });\n const sizeStyle = React.useMemo(() => typeof size === 'number' ? {\n width: size,\n height: size,\n lineHeight: `${size}px`\n } : {}, [size]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(prefixCls, sizeCls, shapeCls, className),\n style: Object.assign(Object.assign({}, sizeStyle), style)\n });\n};\nexport default Element;","import { Keyframes } from '@ant-design/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst skeletonClsLoading = new Keyframes(`ant-skeleton-loading`, {\n '0%': {\n transform: 'translateX(-37.5%)'\n },\n '100%': {\n transform: 'translateX(37.5%)'\n }\n});\nconst genSkeletonElementCommonSize = size => ({\n height: size,\n lineHeight: `${size}px`\n});\nconst genSkeletonElementAvatarSize = size => Object.assign({\n width: size\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonColor = token => ({\n position: 'relative',\n // fix https://github.com/ant-design/ant-design/issues/36444\n // https://monshin.github.io/202109/css/safari-border-radius-overflow-hidden/\n /* stylelint-disable-next-line property-no-vendor-prefix,value-no-vendor-prefix */\n zIndex: 0,\n overflow: 'hidden',\n background: 'transparent',\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: '-150%',\n bottom: 0,\n insetInlineStart: '-150%',\n background: token.skeletonLoadingBackground,\n animationName: skeletonClsLoading,\n animationDuration: token.skeletonLoadingMotionDuration,\n animationTimingFunction: 'ease',\n animationIterationCount: 'infinite',\n content: '\"\"'\n }\n});\nconst genSkeletonElementInputSize = size => Object.assign({\n width: size * 5,\n minWidth: size * 5\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementAvatar = token => {\n const {\n skeletonAvatarCls,\n color,\n controlHeight,\n controlHeightLG,\n controlHeightSM\n } = token;\n return {\n [`${skeletonAvatarCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: color\n }, genSkeletonElementAvatarSize(controlHeight)),\n [`${skeletonAvatarCls}${skeletonAvatarCls}-circle`]: {\n borderRadius: '50%'\n },\n [`${skeletonAvatarCls}${skeletonAvatarCls}-lg`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightLG)),\n [`${skeletonAvatarCls}${skeletonAvatarCls}-sm`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightSM))\n };\n};\nconst genSkeletonElementInput = token => {\n const {\n controlHeight,\n borderRadiusSM,\n skeletonInputCls,\n controlHeightLG,\n controlHeightSM,\n color\n } = token;\n return {\n [`${skeletonInputCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: color,\n borderRadius: borderRadiusSM\n }, genSkeletonElementInputSize(controlHeight)),\n [`${skeletonInputCls}-lg`]: Object.assign({}, genSkeletonElementInputSize(controlHeightLG)),\n [`${skeletonInputCls}-sm`]: Object.assign({}, genSkeletonElementInputSize(controlHeightSM))\n };\n};\nconst genSkeletonElementImageSize = size => Object.assign({\n width: size\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementImage = token => {\n const {\n skeletonImageCls,\n imageSizeBase,\n color,\n borderRadiusSM\n } = token;\n return {\n [`${skeletonImageCls}`]: Object.assign(Object.assign({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n verticalAlign: 'top',\n background: color,\n borderRadius: borderRadiusSM\n }, genSkeletonElementImageSize(imageSizeBase * 2)), {\n [`${skeletonImageCls}-path`]: {\n fill: '#bfbfbf'\n },\n [`${skeletonImageCls}-svg`]: Object.assign(Object.assign({}, genSkeletonElementImageSize(imageSizeBase)), {\n maxWidth: imageSizeBase * 4,\n maxHeight: imageSizeBase * 4\n }),\n [`${skeletonImageCls}-svg${skeletonImageCls}-svg-circle`]: {\n borderRadius: '50%'\n }\n }),\n [`${skeletonImageCls}${skeletonImageCls}-circle`]: {\n borderRadius: '50%'\n }\n };\n};\nconst genSkeletonElementButtonShape = (token, size, buttonCls) => {\n const {\n skeletonButtonCls\n } = token;\n return {\n [`${buttonCls}${skeletonButtonCls}-circle`]: {\n width: size,\n minWidth: size,\n borderRadius: '50%'\n },\n [`${buttonCls}${skeletonButtonCls}-round`]: {\n borderRadius: size\n }\n };\n};\nconst genSkeletonElementButtonSize = size => Object.assign({\n width: size * 2,\n minWidth: size * 2\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementButton = token => {\n const {\n borderRadiusSM,\n skeletonButtonCls,\n controlHeight,\n controlHeightLG,\n controlHeightSM,\n color\n } = token;\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n [`${skeletonButtonCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: color,\n borderRadius: borderRadiusSM,\n width: controlHeight * 2,\n minWidth: controlHeight * 2\n }, genSkeletonElementButtonSize(controlHeight))\n }, genSkeletonElementButtonShape(token, controlHeight, skeletonButtonCls)), {\n [`${skeletonButtonCls}-lg`]: Object.assign({}, genSkeletonElementButtonSize(controlHeightLG))\n }), genSkeletonElementButtonShape(token, controlHeightLG, `${skeletonButtonCls}-lg`)), {\n [`${skeletonButtonCls}-sm`]: Object.assign({}, genSkeletonElementButtonSize(controlHeightSM))\n }), genSkeletonElementButtonShape(token, controlHeightSM, `${skeletonButtonCls}-sm`));\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n skeletonAvatarCls,\n skeletonTitleCls,\n skeletonParagraphCls,\n skeletonButtonCls,\n skeletonInputCls,\n skeletonImageCls,\n controlHeight,\n controlHeightLG,\n controlHeightSM,\n color,\n padding,\n marginSM,\n borderRadius,\n skeletonTitleHeight,\n skeletonBlockRadius,\n skeletonParagraphLineHeight,\n controlHeightXS,\n skeletonParagraphMarginTop\n } = token;\n return {\n [`${componentCls}`]: {\n display: 'table',\n width: '100%',\n [`${componentCls}-header`]: {\n display: 'table-cell',\n paddingInlineEnd: padding,\n verticalAlign: 'top',\n // Avatar\n [`${skeletonAvatarCls}`]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: color\n }, genSkeletonElementAvatarSize(controlHeight)),\n [`${skeletonAvatarCls}-circle`]: {\n borderRadius: '50%'\n },\n [`${skeletonAvatarCls}-lg`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightLG)),\n [`${skeletonAvatarCls}-sm`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightSM))\n },\n [`${componentCls}-content`]: {\n display: 'table-cell',\n width: '100%',\n verticalAlign: 'top',\n // Title\n [`${skeletonTitleCls}`]: {\n width: '100%',\n height: skeletonTitleHeight,\n background: color,\n borderRadius: skeletonBlockRadius,\n [`+ ${skeletonParagraphCls}`]: {\n marginBlockStart: controlHeightSM\n }\n },\n // paragraph\n [`${skeletonParagraphCls}`]: {\n padding: 0,\n '> li': {\n width: '100%',\n height: skeletonParagraphLineHeight,\n listStyle: 'none',\n background: color,\n borderRadius: skeletonBlockRadius,\n '+ li': {\n marginBlockStart: controlHeightXS\n }\n }\n },\n [`${skeletonParagraphCls}> li:last-child:not(:first-child):not(:nth-child(2))`]: {\n width: '61%'\n }\n },\n [`&-round ${componentCls}-content`]: {\n [`${skeletonTitleCls}, ${skeletonParagraphCls} > li`]: {\n borderRadius\n }\n }\n },\n [`${componentCls}-with-avatar ${componentCls}-content`]: {\n // Title\n [`${skeletonTitleCls}`]: {\n marginBlockStart: marginSM,\n [`+ ${skeletonParagraphCls}`]: {\n marginBlockStart: skeletonParagraphMarginTop\n }\n }\n },\n // Skeleton element\n [`${componentCls}${componentCls}-element`]: Object.assign(Object.assign(Object.assign(Object.assign({\n display: 'inline-block',\n width: 'auto'\n }, genSkeletonElementButton(token)), genSkeletonElementAvatar(token)), genSkeletonElementInput(token)), genSkeletonElementImage(token)),\n // Skeleton Block Button, Input\n [`${componentCls}${componentCls}-block`]: {\n width: '100%',\n [`${skeletonButtonCls}`]: {\n width: '100%'\n },\n [`${skeletonInputCls}`]: {\n width: '100%'\n }\n },\n // With active animation\n [`${componentCls}${componentCls}-active`]: {\n [`\n ${skeletonTitleCls},\n ${skeletonParagraphCls} > li,\n ${skeletonAvatarCls},\n ${skeletonButtonCls},\n ${skeletonInputCls},\n ${skeletonImageCls}\n `]: Object.assign({}, genSkeletonColor(token))\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Skeleton', token => {\n const {\n componentCls\n } = token;\n const skeletonToken = mergeToken(token, {\n skeletonAvatarCls: `${componentCls}-avatar`,\n skeletonTitleCls: `${componentCls}-title`,\n skeletonParagraphCls: `${componentCls}-paragraph`,\n skeletonButtonCls: `${componentCls}-button`,\n skeletonInputCls: `${componentCls}-input`,\n skeletonImageCls: `${componentCls}-image`,\n imageSizeBase: token.controlHeight * 1.5,\n skeletonTitleHeight: token.controlHeight / 2,\n skeletonBlockRadius: token.borderRadiusSM,\n skeletonParagraphLineHeight: token.controlHeight / 2,\n skeletonParagraphMarginTop: token.marginLG + token.marginXXS,\n borderRadius: 100,\n skeletonLoadingBackground: `linear-gradient(90deg, ${token.color} 25%, ${token.colorGradientEnd} 37%, ${token.color} 63%)`,\n skeletonLoadingMotionDuration: '1.4s'\n });\n return [genBaseStyle(skeletonToken)];\n}, token => {\n const {\n colorFillContent,\n colorFill\n } = token;\n return {\n color: colorFillContent,\n colorGradientEnd: colorFill\n };\n});","import classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonAvatar = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n active,\n shape = 'circle',\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls', 'className']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-avatar`,\n shape: shape,\n size: size\n }, otherProps))));\n};\nexport default SkeletonAvatar;","import classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonButton = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n active,\n block = false,\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-block`]: block\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-button`,\n size: size\n }, otherProps))));\n};\nexport default SkeletonButton;","// This icon file is generated automatically.\nvar DotChartOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"dot-chart\", \"theme\": \"outlined\" };\nexport default DotChartOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DotChartOutlinedSvg from \"@ant-design/icons-svg/es/asn/DotChartOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DotChartOutlined = function DotChartOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DotChartOutlinedSvg\n }));\n};\nDotChartOutlined.displayName = 'DotChartOutlined';\nexport default /*#__PURE__*/React.forwardRef(DotChartOutlined);","import DotChartOutlined from \"@ant-design/icons/es/icons/DotChartOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport useStyle from './style';\nimport { ConfigContext } from '../config-provider';\nconst SkeletonNode = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n active,\n children\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, hashId, className);\n const content = children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(DotChartOutlined, null);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-image`, className),\n style: style\n }, content)));\n};\nexport default SkeletonNode;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst path = 'M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z';\nconst SkeletonImage = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n active\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-image`, className),\n style: style\n }, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: \"0 0 1098 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n className: `${prefixCls}-image-svg`\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: path,\n className: `${prefixCls}-image-path`\n })))));\n};\nexport default SkeletonImage;","import classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonInput = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n active,\n block,\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-block`]: block\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-input`,\n size: size\n }, otherProps))));\n};\nexport default SkeletonInput;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nconst Paragraph = props => {\n const getWidth = index => {\n const {\n width,\n rows = 2\n } = props;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n };\n const {\n prefixCls,\n className,\n style,\n rows\n } = props;\n const rowList = _toConsumableArray(Array(rows)).map((_, index) =>\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: index,\n style: {\n width: getWidth(index)\n }\n }));\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(prefixCls, className),\n style: style\n }, rowList);\n};\nexport default Paragraph;","/* eslint-disable jsx-a11y/heading-has-content */\nimport classNames from 'classnames';\nimport * as React from 'react';\nconst Title = _ref => {\n let {\n prefixCls,\n className,\n width,\n style\n } = _ref;\n return /*#__PURE__*/React.createElement(\"h3\", {\n className: classNames(prefixCls, className),\n style: Object.assign({\n width\n }, style)\n });\n};\nexport default Title;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SkeletonAvatar from './Avatar';\nimport SkeletonButton from './Button';\nimport SkeletonNode from './Node';\nimport Element from './Element';\nimport SkeletonImage from './Image';\nimport SkeletonInput from './Input';\nimport Paragraph from './Paragraph';\nimport Title from './Title';\nimport useStyle from './style';\nfunction getComponentProps(prop) {\n if (prop && typeof prop === 'object') {\n return prop;\n }\n return {};\n}\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n // Square avatar\n return {\n size: 'large',\n shape: 'square'\n };\n }\n return {\n size: 'large',\n shape: 'circle'\n };\n}\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return {\n width: '38%'\n };\n }\n if (hasAvatar && hasParagraph) {\n return {\n width: '50%'\n };\n }\n return {};\n}\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n const basicProps = {};\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n return basicProps;\n}\nconst Skeleton = props => {\n const {\n prefixCls: customizePrefixCls,\n loading,\n className,\n style,\n children,\n avatar = false,\n title = true,\n paragraph = true,\n active,\n round\n } = props;\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n if (loading || !('loading' in props)) {\n const hasAvatar = !!avatar;\n const hasTitle = !!title;\n const hasParagraph = !!paragraph;\n // Avatar\n let avatarNode;\n if (hasAvatar) {\n const avatarProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-avatar`\n }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar));\n // We direct use SkeletonElement as avatar in skeleton internal.\n avatarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-header`\n }, /*#__PURE__*/React.createElement(Element, Object.assign({}, avatarProps)));\n }\n let contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n let $title;\n if (hasTitle) {\n const titleProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-title`\n }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title));\n $title = /*#__PURE__*/React.createElement(Title, Object.assign({}, titleProps));\n }\n // Paragraph\n let paragraphNode;\n if (hasParagraph) {\n const paragraphProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-paragraph`\n }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph));\n paragraphNode = /*#__PURE__*/React.createElement(Paragraph, Object.assign({}, paragraphProps));\n }\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-content`\n }, $title, paragraphNode);\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-with-avatar`]: hasAvatar,\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-round`]: round\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: style\n }, avatarNode, contentNode));\n }\n return typeof children !== 'undefined' ? children : null;\n};\nSkeleton.Button = SkeletonButton;\nSkeleton.Avatar = SkeletonAvatar;\nSkeleton.Input = SkeletonInput;\nSkeleton.Image = SkeletonImage;\nSkeleton.Node = SkeletonNode;\nexport default Skeleton;","import Skeleton from './Skeleton';\nexport default Skeleton;","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import * as React from 'react';\nimport classNames from 'classnames';\nvar TabPane = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n tabKey = _ref.tabKey,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: style,\n className: classNames(prefixCls, active && \"\".concat(prefixCls, \"-active\"), className),\n ref: ref\n }, children);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'TabPane';\n}\n\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"key\", \"forceRender\", \"style\", \"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"./TabPane\";\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\n var tabPaneAnimated = animated.tabPane;\n var tabPanePrefixCls = \"\".concat(prefixCls, \"-tabpane\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated))\n }, tabs.map(function (_ref2) {\n var key = _ref2.key,\n forceRender = _ref2.forceRender,\n paneStyle = _ref2.style,\n paneClassName = _ref2.className,\n restTabProps = _objectWithoutProperties(_ref2, _excluded);\n\n var active = key === activeKey;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: key,\n visible: active,\n forceRender: forceRender,\n removeOnLeave: !!destroyInactiveTabPane,\n leavedClassName: \"\".concat(tabPanePrefixCls, \"-hidden\")\n }, animated.tabPaneMotion), function (_ref3, ref) {\n var motionStyle = _ref3.style,\n motionClassName = _ref3.className;\n return /*#__PURE__*/React.createElement(TabPane, _extends({}, restTabProps, {\n prefixCls: tabPanePrefixCls,\n id: id,\n tabKey: key,\n animated: tabPaneAnimated,\n active: active,\n style: _objectSpread(_objectSpread({}, paneStyle), motionStyle),\n className: classNames(paneClassName, motionClassName),\n ref: ref\n }));\n });\n })));\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n};\nexport default function useOffsets(tabs, tabSizes, holderScrollWidth) {\n return useMemo(function () {\n var _tabs$;\n\n var map = new Map();\n var lastOffset = tabSizes.get((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key) || DEFAULT_SIZE;\n var rightOffset = lastOffset.left + lastOffset.width;\n\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key); // Reuse last one when not exist yet\n\n if (!data) {\n var _tabs;\n\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n\n var entity = map.get(key) || _objectSpread({}, data); // Right\n\n\n entity.right = rightOffset - entity.left - entity.width; // Update entity\n\n map.set(key, entity);\n }\n\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default function useRaf(callback) {\n var rafRef = useRef();\n var removedRef = useRef(false);\n\n function trigger() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!removedRef.current) {\n raf.cancel(rafRef.current);\n rafRef.current = raf(function () {\n callback.apply(void 0, args);\n });\n }\n }\n\n useEffect(function () {\n //be compatible with react 18 StrictMode in dev\n removedRef.current = false;\n return function () {\n removedRef.current = true;\n raf.cancel(rafRef.current);\n };\n }, []);\n return trigger;\n}\nexport function useRafState(defaultState) {\n var batchRef = useRef([]);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useRaf(function () {\n var current = state.current;\n batchRef.current.forEach(function (callback) {\n current = callback(current);\n });\n batchRef.current = [];\n state.current = current;\n forceUpdate({});\n });\n\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n\n return [state.current, updater];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n\n stateRef.current = newValue;\n forceUpdate({});\n }\n\n return [stateRef.current, setState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState, useRef } from 'react';\nvar MIN_SWIPE_DISTANCE = 0.1;\nvar STOP_SWIPE_DISTANCE = 0.01;\nvar REFRESH_INTERVAL = 20;\nvar SPEED_OFF_MULTIPLE = Math.pow(0.995, REFRESH_INTERVAL); // ================================= Hook =================================\n\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n\n var motionRef = useRef(); // ========================= Events =========================\n // >>> Touch events\n\n function onTouchStart(e) {\n var _e$touches$ = e.touches[0],\n screenX = _e$touches$.screenX,\n screenY = _e$touches$.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n window.clearInterval(motionRef.current);\n }\n\n function onTouchMove(e) {\n if (!touchPosition) return;\n e.preventDefault();\n var _e$touches$2 = e.touches[0],\n screenX = _e$touches$2.screenX,\n screenY = _e$touches$2.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n var offsetX = screenX - touchPosition.x;\n var offsetY = screenY - touchPosition.y;\n onOffset(offsetX, offsetY);\n var now = Date.now();\n setLastTimestamp(now);\n setLastTimeDiff(now - lastTimestamp);\n setLastOffset({\n x: offsetX,\n y: offsetY\n });\n }\n\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null); // Swipe if needed\n\n if (lastOffset) {\n var distanceX = lastOffset.x / lastTimeDiff;\n var distanceY = lastOffset.y / lastTimeDiff;\n var absX = Math.abs(distanceX);\n var absY = Math.abs(distanceY); // Skip swipe if low distance\n\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) return;\n var currentX = distanceX;\n var currentY = distanceY;\n motionRef.current = window.setInterval(function () {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(motionRef.current);\n return;\n }\n\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n } // >>> Wheel event\n\n\n var lastWheelDirectionRef = useRef();\n\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY; // Convert both to x & y since wheel only happened on PC\n\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n\n if (absX === absY) {\n mixed = lastWheelDirectionRef.current === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n lastWheelDirectionRef.current = 'x';\n } else {\n mixed = deltaY;\n lastWheelDirectionRef.current = 'y';\n }\n\n if (onOffset(-mixed, -mixed)) {\n e.preventDefault();\n }\n } // ========================= Effect =========================\n\n\n var touchEventsRef = useRef(null);\n touchEventsRef.current = {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onWheel: onWheel\n };\n React.useEffect(function () {\n function onProxyTouchStart(e) {\n touchEventsRef.current.onTouchStart(e);\n }\n\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n }); // No need to clean up since element removed\n\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: false\n });\n ref.current.addEventListener('wheel', onProxyWheel);\n return function () {\n document.removeEventListener('touchmove', onProxyTouchMove);\n document.removeEventListener('touchend', onProxyTouchEnd);\n };\n }, []);\n}","import { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n};\nexport default function useVisibleRange(tabOffsets, visibleTabContentValue, transform, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var charUnit;\n var position;\n var transformSize;\n\n if (['top', 'bottom'].includes(tabPosition)) {\n charUnit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(transform);\n } else {\n charUnit = 'height';\n position = 'top';\n transformSize = -transform;\n }\n\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n\n var len = tabs.length;\n var endIndex = len;\n\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n\n if (offset[position] + offset[charUnit] > transformSize + visibleTabContentValue) {\n endIndex = i - 1;\n break;\n }\n }\n\n var startIndex = 0;\n\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n\n return [startIndex, endIndex];\n }, [tabOffsets, visibleTabContentValue, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, transformSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","/**\n * We trade Map as deps which may change with same value but different ref object.\n * We should make it as hash for deps\n * */\nexport function stringify(obj) {\n var tgt;\n\n if (obj instanceof Map) {\n tgt = {};\n obj.forEach(function (v, k) {\n tgt[k] = v;\n });\n } else {\n tgt = obj;\n }\n\n return JSON.stringify(tgt);\n}","import * as React from 'react';\n\nfunction AddButton(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n editable = _ref.editable,\n locale = _ref.locale,\n style = _ref.style;\n\n if (!editable || editable.showAdd === false) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"button\", {\n ref: ref,\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-add\"),\n style: style,\n \"aria-label\": (locale === null || locale === void 0 ? void 0 : locale.addAriaLabel) || 'Add tab',\n onClick: function onClick(event) {\n editable.onEdit('add', {\n event: event\n });\n }\n }, editable.addIcon || '+');\n}\n\nexport default /*#__PURE__*/React.forwardRef(AddButton);","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nvar ExtraContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var position = _ref.position,\n prefixCls = _ref.prefixCls,\n extra = _ref.extra;\n if (!extra) return null;\n var content; // Parse extra\n\n var assertExtra = {};\n\n if (_typeof(extra) === 'object' && ! /*#__PURE__*/React.isValidElement(extra)) {\n assertExtra = extra;\n } else {\n assertExtra.right = extra;\n }\n\n if (position === 'right') {\n content = assertExtra.right;\n }\n\n if (position === 'left') {\n content = assertExtra.left;\n }\n\n return content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\"),\n ref: ref\n }, content) : null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ExtraContent.displayName = 'ExtraContent';\n}\n\nexport default ExtraContent;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport Dropdown from 'rc-dropdown';\nimport Menu, { MenuItem } from 'rc-menu';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport AddButton from \"./AddButton\";\n\nfunction OperationNode(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n tabs = _ref.tabs,\n locale = _ref.locale,\n mobile = _ref.mobile,\n _ref$moreIcon = _ref.moreIcon,\n moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n style = _ref.style,\n className = _ref.className,\n editable = _ref.editable,\n tabBarGutter = _ref.tabBarGutter,\n rtl = _ref.rtl,\n removeAriaLabel = _ref.removeAriaLabel,\n onTabClick = _ref.onTabClick,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName;\n\n // ======================== Dropdown ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n\n var popupId = \"\".concat(id, \"-more-popup\");\n var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n\n function onRemoveTab(event, key) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n\n var menu = /*#__PURE__*/React.createElement(Menu, {\n onClick: function onClick(_ref2) {\n var key = _ref2.key,\n domEvent = _ref2.domEvent;\n onTabClick(key, domEvent);\n setOpen(false);\n },\n prefixCls: \"\".concat(dropdownPrefix, \"-menu\"),\n id: popupId,\n tabIndex: -1,\n role: \"listbox\",\n \"aria-activedescendant\": selectedItemId,\n selectedKeys: [selectedKey],\n \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n }, tabs.map(function (tab) {\n var removable = editable && tab.closable !== false && !tab.disabled;\n return /*#__PURE__*/React.createElement(MenuItem, {\n key: tab.key,\n id: \"\".concat(popupId, \"-\").concat(tab.key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n disabled: tab.disabled\n }, /*#__PURE__*/React.createElement(\"span\", null, tab.label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(dropdownPrefix, \"-menu-item-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e, tab.key);\n }\n }, tab.closeIcon || editable.removeIcon || '×'));\n }));\n\n function selectOffset(offset) {\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n });\n var selectedIndex = enabledTabs.findIndex(function (tab) {\n return tab.key === selectedKey;\n }) || 0;\n var len = enabledTabs.length;\n\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n\n function onKeyDown(e) {\n var which = e.which;\n\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n\n return;\n }\n\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n\n case KeyCode.ESC:\n setOpen(false);\n break;\n\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) onTabClick(selectedKey, e);\n break;\n }\n } // ========================= Effect =========================\n\n\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]); // ========================= Render =========================\n\n var moreStyle = _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', tabBarGutter);\n\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, {\n prefixCls: dropdownPrefix,\n overlay: menu,\n trigger: ['hover'],\n visible: tabs.length ? open : false,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: classNames(overlayClassName, popupClassName),\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n}\n\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(OperationNode), function (_, next) {\n return (// https://github.com/ant-design/ant-design/issues/32544\n // We'd better remove syntactic sugar in `rc-menu` since this has perf issue\n next.tabMoving\n );\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\n\nfunction TabNode(_ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n active = _ref.active,\n _ref$tab = _ref.tab,\n key = _ref$tab.key,\n label = _ref$tab.label,\n disabled = _ref$tab.disabled,\n closeIcon = _ref$tab.closeIcon,\n closable = _ref.closable,\n renderWrapper = _ref.renderWrapper,\n removeAriaLabel = _ref.removeAriaLabel,\n editable = _ref.editable,\n onClick = _ref.onClick,\n onFocus = _ref.onFocus,\n style = _ref.style;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n var removable = editable && closable !== false && !disabled;\n\n function onInternalClick(e) {\n if (disabled) {\n return;\n }\n\n onClick(e);\n }\n\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n\n var node = /*#__PURE__*/React.createElement(\"div\", {\n key: key // ref={ref}\n ,\n \"data-node-key\": key,\n className: classNames(tabPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(tabPrefix, \"-with-remove\"), removable), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-active\"), active), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-disabled\"), disabled), _classNames)),\n style: style,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tab\",\n \"aria-selected\": active,\n id: id && \"\".concat(id, \"-tab-\").concat(key),\n className: \"\".concat(tabPrefix, \"-btn\"),\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n \"aria-disabled\": disabled,\n tabIndex: disabled ? null : 0,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: function onKeyDown(e) {\n if ([KeyCode.SPACE, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n onInternalClick(e);\n }\n },\n onFocus: onFocus\n }, label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n return renderWrapper ? renderWrapper(node) : node;\n}\n\nexport default TabNode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport raf from \"rc-util/es/raf\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport useOffsets from \"../hooks/useOffsets\";\nimport useRaf, { useRafState } from \"../hooks/useRaf\";\nimport useSyncState from \"../hooks/useSyncState\";\nimport useTouchMove from \"../hooks/useTouchMove\";\nimport useVisibleRange from \"../hooks/useVisibleRange\";\nimport TabContext from \"../TabContext\";\nimport { stringify } from \"../util\";\nimport AddButton from \"./AddButton\";\nimport ExtraContent from \"./ExtraContent\";\nimport OperationNode from \"./OperationNode\";\nimport TabNode from \"./TabNode\";\n\nvar getSize = function getSize(refObj) {\n var _ref = refObj.current || {},\n _ref$offsetWidth = _ref.offsetWidth,\n offsetWidth = _ref$offsetWidth === void 0 ? 0 : _ref$offsetWidth,\n _ref$offsetHeight = _ref.offsetHeight,\n offsetHeight = _ref$offsetHeight === void 0 ? 0 : _ref$offsetHeight;\n\n return [offsetWidth, offsetHeight];\n};\n/**\n * Convert `SizeInfo` to unit value. Such as [123, 456] with `top` position get `123`\n */\n\n\nvar getUnitValue = function getUnitValue(size, tabPositionTopOrBottom) {\n return size[tabPositionTopOrBottom ? 0 : 1];\n};\n\nfunction TabNavList(props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\n var className = props.className,\n style = props.style,\n id = props.id,\n animated = props.animated,\n activeKey = props.activeKey,\n rtl = props.rtl,\n extra = props.extra,\n editable = props.editable,\n locale = props.locale,\n tabPosition = props.tabPosition,\n tabBarGutter = props.tabBarGutter,\n children = props.children,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll;\n var containerRef = useRef();\n var extraLeftRef = useRef();\n var extraRightRef = useRef();\n var tabsWrapperRef = useRef();\n var tabListRef = useRef();\n var operationsRef = useRef();\n var innerAddButtonRef = useRef(); // const [getBtnRef, removeBtnRef] = useRefs();\n\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n\n var _useSyncState = useSyncState(0, function (next, prev) {\n if (tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'left' : 'right'\n });\n }\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n transformLeft = _useSyncState2[0],\n setTransformLeft = _useSyncState2[1];\n\n var _useSyncState3 = useSyncState(0, function (next, prev) {\n if (!tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'top' : 'bottom'\n });\n }\n }),\n _useSyncState4 = _slicedToArray(_useSyncState3, 2),\n transformTop = _useSyncState4[0],\n setTransformTop = _useSyncState4[1];\n\n var _useState = useState([0, 0]),\n _useState2 = _slicedToArray(_useState, 2),\n containerExcludeExtraSize = _useState2[0],\n setContainerExcludeExtraSize = _useState2[1];\n\n var _useState3 = useState([0, 0]),\n _useState4 = _slicedToArray(_useState3, 2),\n tabContentSize = _useState4[0],\n setTabContentSize = _useState4[1];\n\n var _useState5 = useState([0, 0]),\n _useState6 = _slicedToArray(_useState5, 2),\n addSize = _useState6[0],\n setAddSize = _useState6[1];\n\n var _useState7 = useState([0, 0]),\n _useState8 = _slicedToArray(_useState7, 2),\n operationSize = _useState8[0],\n setOperationSize = _useState8[1];\n\n var _useRafState = useRafState(new Map()),\n _useRafState2 = _slicedToArray(_useRafState, 2),\n tabSizes = _useRafState2[0],\n setTabSizes = _useRafState2[1];\n\n var tabOffsets = useOffsets(tabs, tabSizes, tabContentSize[0]); // ========================== Unit =========================\n\n var containerExcludeExtraSizeValue = getUnitValue(containerExcludeExtraSize, tabPositionTopOrBottom);\n var tabContentSizeValue = getUnitValue(tabContentSize, tabPositionTopOrBottom);\n var addSizeValue = getUnitValue(addSize, tabPositionTopOrBottom);\n var operationSizeValue = getUnitValue(operationSize, tabPositionTopOrBottom);\n var needScroll = containerExcludeExtraSizeValue < tabContentSizeValue + addSizeValue;\n var visibleTabContentValue = needScroll ? containerExcludeExtraSizeValue - operationSizeValue : containerExcludeExtraSizeValue - addSizeValue; // ========================== Util =========================\n\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, tabContentSizeValue - visibleTabContentValue);\n } else {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n }\n\n function alignInRange(value) {\n if (value < transformMin) {\n return transformMin;\n }\n\n if (value > transformMax) {\n return transformMax;\n }\n\n return value;\n } // ========================= Mobile ========================\n\n\n var touchMovingRef = useRef();\n\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n lockAnimation = _useState10[0],\n setLockAnimation = _useState10[1];\n\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n\n function clearTouchMoving() {\n window.clearTimeout(touchMovingRef.current);\n }\n\n useTouchMove(tabsWrapperRef, function (offsetX, offsetY) {\n function doMove(setState, offset) {\n setState(function (value) {\n var newValue = alignInRange(value + offset);\n return newValue;\n });\n } // Skip scroll if place is enough\n\n\n if (containerExcludeExtraSizeValue >= tabContentSizeValue) {\n return false;\n }\n\n if (tabPositionTopOrBottom) {\n doMove(setTransformLeft, offsetX);\n } else {\n doMove(setTransformTop, offsetY);\n }\n\n clearTouchMoving();\n doLockAnimation();\n return true;\n });\n useEffect(function () {\n clearTouchMoving();\n\n if (lockAnimation) {\n touchMovingRef.current = window.setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n\n return clearTouchMoving;\n }, [lockAnimation]); // ===================== Visible Range =====================\n // Render tab node & collect tab offset\n\n var _useVisibleRange = useVisibleRange(tabOffsets, // Container\n visibleTabContentValue, // Transform\n tabPositionTopOrBottom ? transformLeft : transformTop, // Tabs\n tabContentSizeValue, // Add\n addSizeValue, // Operation\n operationSizeValue, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1]; // ========================= Scroll ========================\n\n\n var scrollToTab = function scrollToTab() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key) || {\n width: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0\n };\n\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft; // RTL\n\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + visibleTabContentValue) {\n newTransform = tabOffset.right + tabOffset.width - visibleTabContentValue;\n }\n } // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + visibleTabContentValue) {\n newTransform = -(tabOffset.left + tabOffset.width - visibleTabContentValue);\n }\n\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform));\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + visibleTabContentValue) {\n _newTransform = -(tabOffset.top + tabOffset.height - visibleTabContentValue);\n }\n\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform));\n }\n }; // ========================== Tab ==========================\n\n\n var tabNodeStyle = {};\n\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n tabNodeStyle[rtl ? 'marginRight' : 'marginLeft'] = tabBarGutter;\n } else {\n tabNodeStyle.marginTop = tabBarGutter;\n }\n\n var tabNodes = tabs.map(function (tab, i) {\n var key = tab.key;\n return /*#__PURE__*/React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n tab: tab\n /* first node should not have margin left */\n ,\n style: i === 0 ? undefined : tabNodeStyle,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation();\n\n if (!tabsWrapperRef.current) {\n return;\n } // Focus element will make scrollLeft change which we should reset back\n\n\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n }); // Update buttons records\n\n var updateTabSizes = function updateTabSizes() {\n return setTabSizes(function () {\n var newSizes = new Map();\n tabs.forEach(function (_ref2) {\n var key = _ref2.key;\n var btnNode = tabListRef.current.querySelector(\"[data-node-key=\\\"\".concat(key, \"\\\"]\"));\n\n if (btnNode) {\n newSizes.set(key, {\n width: btnNode.offsetWidth,\n height: btnNode.offsetHeight,\n left: btnNode.offsetLeft,\n top: btnNode.offsetTop\n });\n }\n });\n return newSizes;\n });\n };\n\n useEffect(function () {\n updateTabSizes();\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_')]);\n var onListHolderResize = useRaf(function () {\n // Update wrapper records\n var containerSize = getSize(containerRef);\n var extraLeftSize = getSize(extraLeftRef);\n var extraRightSize = getSize(extraRightRef);\n setContainerExcludeExtraSize([containerSize[0] - extraLeftSize[0] - extraRightSize[0], containerSize[1] - extraLeftSize[1] - extraRightSize[1]]);\n var newAddSize = getSize(innerAddButtonRef);\n setAddSize(newAddSize);\n var newOperationSize = getSize(operationsRef);\n setOperationSize(newOperationSize); // Which includes add button size\n\n var tabContentFullSize = getSize(tabListRef);\n setTabContentSize([tabContentFullSize[0] - newAddSize[0], tabContentFullSize[1] - newAddSize[1]]); // Update buttons records\n\n updateTabSizes();\n }); // ======================== Dropdown =======================\n\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs)); // =================== Link & Operations ===================\n\n var _useState11 = useState(),\n _useState12 = _slicedToArray(_useState11, 2),\n inkStyle = _useState12[0],\n setInkStyle = _useState12[1];\n\n var activeTabOffset = tabOffsets.get(activeKey); // Delay set ink style to avoid remove tab blink\n\n var inkBarRafRef = useRef();\n\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n\n useEffect(function () {\n var newInkStyle = {};\n\n if (activeTabOffset) {\n if (tabPositionTopOrBottom) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right;\n } else {\n newInkStyle.left = activeTabOffset.left;\n }\n\n newInkStyle.width = activeTabOffset.width;\n } else {\n newInkStyle.top = activeTabOffset.top;\n newInkStyle.height = activeTabOffset.height;\n }\n }\n\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, tabPositionTopOrBottom, rtl]); // ========================= Effect ========================\n\n useEffect(function () {\n scrollToTab(); // eslint-disable-next-line\n }, [activeKey, stringify(activeTabOffset), stringify(tabOffsets), tabPositionTopOrBottom]); // Should recalculate when rtl changed\n\n useEffect(function () {\n onListHolderResize(); // eslint-disable-next-line\n }, [rtl]); // ========================= Render ========================\n\n var hasDropdown = !!hiddenTabs.length;\n var wrapPrefix = \"\".concat(prefixCls, \"-nav-wrap\");\n var pingLeft;\n var pingRight;\n var pingTop;\n var pingBottom;\n\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft + containerExcludeExtraSizeValue < tabContentSizeValue;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = -transformLeft + containerExcludeExtraSizeValue < tabContentSizeValue;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = -transformTop + containerExcludeExtraSizeValue < tabContentSizeValue;\n }\n\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: useComposeRef(ref, containerRef),\n role: \"tablist\",\n className: classNames(\"\".concat(prefixCls, \"-nav\"), className),\n style: style,\n onKeyDown: function onKeyDown() {\n // No need animation when use keyboard\n doLockAnimation();\n }\n }, /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraLeftRef,\n position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(wrapPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-left\"), pingLeft), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-right\"), pingRight), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-top\"), pingTop), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-bottom\"), pingBottom), _classNames)),\n ref: tabsWrapperRef\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: tabListRef,\n className: \"\".concat(prefixCls, \"-nav-list\"),\n style: {\n transform: \"translate(\".concat(transformLeft, \"px, \").concat(transformTop, \"px)\"),\n transition: lockAnimation ? 'none' : undefined\n }\n }, tabNodes, /*#__PURE__*/React.createElement(AddButton, {\n ref: innerAddButtonRef,\n prefixCls: prefixCls,\n locale: locale,\n editable: editable,\n style: _objectSpread(_objectSpread({}, tabNodes.length === 0 ? undefined : tabNodeStyle), {}, {\n visibility: hasDropdown ? 'hidden' : null\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-ink-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-ink-bar-animated\"), animated.inkBar)),\n style: inkStyle\n })))), /*#__PURE__*/React.createElement(OperationNode, _extends({}, props, {\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName,\n tabMoving: !!lockAnimation\n })), /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraRightRef,\n position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n })));\n /* eslint-enable */\n}\n\nexport default /*#__PURE__*/React.forwardRef(TabNavList);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"renderTabBar\"],\n _excluded2 = [\"label\", \"key\"];\n// zombieJ: To compatible with `renderTabBar` usage.\nimport * as React from 'react';\nimport TabNavList from '.';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"../TabPanelList/TabPane\";\n// We have to create a TabNavList components.\nexport default function TabNavListWrapper(_ref) {\n var renderTabBar = _ref.renderTabBar,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n var _React$useContext = React.useContext(TabContext),\n tabs = _React$useContext.tabs;\n\n if (renderTabBar) {\n var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {\n // Legacy support. We do not use this actually\n panes: tabs.map(function (_ref2) {\n var label = _ref2.label,\n key = _ref2.key,\n restTabProps = _objectWithoutProperties(_ref2, _excluded2);\n\n return /*#__PURE__*/React.createElement(TabPane, _extends({\n tab: label,\n key: key,\n tabKey: key\n }, restTabProps));\n })\n });\n\n return renderTabBar(tabNavBarProps, TabNavList);\n }\n\n return /*#__PURE__*/React.createElement(TabNavList, restProps);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"items\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\", \"getPopupContainer\", \"popupClassName\"];\n// Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport isMobile from \"rc-util/es/isMobile\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabPanelList from \"./TabPanelList\";\nimport TabContext from \"./TabContext\";\nimport TabNavListWrapper from \"./TabNavList/Wrapper\";\nimport useAnimateConfig from \"./hooks/useAnimateConfig\";\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n// Used for accessibility\n\nvar uuid = 0;\n\nfunction Tabs(_ref, ref) {\n var _classNames;\n\n var id = _ref.id,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-tabs' : _ref$prefixCls,\n className = _ref.className,\n items = _ref.items,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n animated = _ref.animated,\n _ref$tabPosition = _ref.tabPosition,\n tabPosition = _ref$tabPosition === void 0 ? 'top' : _ref$tabPosition,\n tabBarGutter = _ref.tabBarGutter,\n tabBarStyle = _ref.tabBarStyle,\n tabBarExtraContent = _ref.tabBarExtraContent,\n locale = _ref.locale,\n moreIcon = _ref.moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n renderTabBar = _ref.renderTabBar,\n onChange = _ref.onChange,\n onTabClick = _ref.onTabClick,\n onTabScroll = _ref.onTabScroll,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n var tabs = React.useMemo(function () {\n return (items || []).filter(function (item) {\n return item && _typeof(item) === 'object' && 'key' in item;\n });\n }, [items]);\n var rtl = direction === 'rtl';\n var mergedAnimated = useAnimateConfig(animated); // ======================== Mobile ========================\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ====================== Active Key ======================\n\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n\n return (_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key;\n }, {\n value: activeKey,\n defaultValue: defaultActiveKey\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActiveKey = _useMergedState2[0],\n setMergedActiveKey = _useMergedState2[1];\n\n var _useState3 = useState(function () {\n return tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1]; // Reset active key if not exist anymore\n\n\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n\n newActiveIndex = Math.max(0, Math.min(activeIndex, tabs.length - 1));\n setMergedActiveKey((_tabs$newActiveIndex = tabs[newActiveIndex]) === null || _tabs$newActiveIndex === void 0 ? void 0 : _tabs$newActiveIndex.key);\n }\n\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]); // ===================== Accessibility ====================\n\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1]; // Async generate id to avoid ssr mapping failed\n\n\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []); // ======================== Events ========================\n\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(key, e);\n var isActiveChanged = key !== mergedActiveKey;\n setMergedActiveKey(key);\n\n if (isActiveChanged) {\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n }\n } // ======================== Render ========================\n\n\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: tabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n moreIcon: moreIcon,\n moreTransitionName: moreTransitionName,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: null,\n getPopupContainer: getPopupContainer,\n popupClassName: popupClassName\n });\n\n return /*#__PURE__*/React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(tabPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-mobile\"), mobile), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable\"), editable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl), _classNames), className)\n }, restProps), tabNavBar, /*#__PURE__*/React.createElement(TabNavListWrapper, _extends({}, tabNavBarProps, {\n renderTabBar: renderTabBar\n })), /*#__PURE__*/React.createElement(TabPanelList, _extends({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\n\nvar ForwardTabs = /*#__PURE__*/React.forwardRef(Tabs);\n\nif (process.env.NODE_ENV !== 'production') {\n ForwardTabs.displayName = 'Tabs';\n}\n\nexport default ForwardTabs;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nexport default function useAnimateConfig() {\n var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n inkBar: true,\n tabPane: false\n };\n var mergedAnimated;\n\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true\n }, _typeof(animated) === 'object' ? animated : {});\n } // Enable tabPane animation if provide motion\n\n\n if (mergedAnimated.tabPaneMotion && mergedAnimated.tabPane === undefined) {\n mergedAnimated.tabPane = true;\n }\n\n if (!mergedAnimated.tabPaneMotion && mergedAnimated.tabPane) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`animated.tabPane` is true but `animated.tabPaneMotion` is not provided. Motion will not work.');\n }\n\n mergedAnimated.tabPane = false;\n }\n\n return mergedAnimated;\n}","import Tabs from \"./Tabs\";\nexport default Tabs;","import { getTransitionName } from '../../_util/motion';\nconst motion = {\n motionAppear: false,\n motionEnter: true,\n motionLeave: true\n};\nexport default function useAnimateConfig(prefixCls) {\n let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n inkBar: true,\n tabPane: false\n };\n let mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: true\n };\n } else {\n mergedAnimated = Object.assign({\n inkBar: true\n }, typeof animated === 'object' ? animated : {});\n }\n if (mergedAnimated.tabPane) {\n mergedAnimated.tabPaneMotion = Object.assign(Object.assign({}, motion), {\n motionName: getTransitionName(prefixCls, 'switch')\n });\n }\n return mergedAnimated;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from '../../_util/warning';\nfunction filter(items) {\n return items.filter(item => item);\n}\nexport default function useLegacyItems(items, children) {\n if (items) {\n return items;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!children, 'Tabs', 'Tabs.TabPane is deprecated. Please use `items` directly.') : void 0;\n const childrenItems = toArray(children).map(node => {\n if ( /*#__PURE__*/React.isValidElement(node)) {\n const {\n key,\n props\n } = node;\n const _a = props || {},\n {\n tab\n } = _a,\n restProps = __rest(_a, [\"tab\"]);\n const item = Object.assign(Object.assign({\n key: String(key)\n }, restProps), {\n label: tab\n });\n return item;\n }\n return null;\n });\n return filter(childrenItems);\n}","const TabPane = () => null;\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'DeprecatedTabPane';\n}\nexport default TabPane;","import { initSlideMotion } from '../../style/motion';\nconst genMotionStyle = token => {\n const {\n componentCls,\n motionDurationSlow\n } = token;\n return [{\n [componentCls]: {\n [`${componentCls}-switch`]: {\n '&-appear, &-enter': {\n transition: 'none',\n '&-start': {\n opacity: 0\n },\n '&-active': {\n opacity: 1,\n transition: `opacity ${motionDurationSlow}`\n }\n },\n '&-leave': {\n position: 'absolute',\n transition: 'none',\n inset: 0,\n '&-start': {\n opacity: 1\n },\n '&-active': {\n opacity: 0,\n transition: `opacity ${motionDurationSlow}`\n }\n }\n }\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down')]];\n};\nexport default genMotionStyle;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusStyle, resetComponent, textEllipsis } from '../../style';\nimport genMotionStyle from './motion';\nconst genCardStyle = token => {\n const {\n componentCls,\n tabsCardHorizontalPadding,\n tabsCardHeadBackground,\n tabsCardGutter,\n colorSplit\n } = token;\n return {\n [`${componentCls}-card`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: 0,\n padding: tabsCardHorizontalPadding,\n background: tabsCardHeadBackground,\n border: `${token.lineWidth}px ${token.lineType} ${colorSplit}`,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`\n },\n [`${componentCls}-tab-active`]: {\n color: token.colorPrimary,\n background: token.colorBgContainer\n },\n [`${componentCls}-ink-bar`]: {\n visibility: 'hidden'\n }\n },\n // ========================== Top & Bottom ==========================\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginLeft: {\n _skip_check_: true,\n value: `${tabsCardGutter}px`\n }\n }\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n },\n [`${componentCls}-tab-active`]: {\n borderBottomColor: token.colorBgContainer\n }\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`\n },\n [`${componentCls}-tab-active`]: {\n borderTopColor: token.colorBgContainer\n }\n }\n },\n // ========================== Left & Right ==========================\n [`&${componentCls}-left, &${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginTop: `${tabsCardGutter}px`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${token.borderRadiusLG}px 0 0 ${token.borderRadiusLG}px`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderRightColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px 0`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderLeftColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n }\n }\n };\n};\nconst genDropdownStyle = token => {\n const {\n componentCls,\n tabsHoverColor,\n dropdownEdgeChildVerticalPadding\n } = token;\n return {\n [`${componentCls}-dropdown`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: token.zIndexPopup,\n display: 'block',\n '&-hidden': {\n display: 'none'\n },\n [`${componentCls}-dropdown-menu`]: {\n maxHeight: token.tabsDropdownHeight,\n margin: 0,\n padding: `${dropdownEdgeChildVerticalPadding}px 0`,\n overflowX: 'hidden',\n overflowY: 'auto',\n textAlign: {\n _skip_check_: true,\n value: 'left'\n },\n listStyleType: 'none',\n backgroundColor: token.colorBgContainer,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadow,\n '&-item': Object.assign(Object.assign({}, textEllipsis), {\n display: 'flex',\n alignItems: 'center',\n minWidth: token.tabsDropdownWidth,\n margin: 0,\n padding: `${token.paddingXXS}px ${token.paddingSM}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '> span': {\n flex: 1,\n whiteSpace: 'nowrap'\n },\n '&-remove': {\n flex: 'none',\n marginLeft: {\n _skip_check_: true,\n value: token.marginSM\n },\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 0,\n cursor: 'pointer',\n '&:hover': {\n color: tabsHoverColor\n }\n },\n '&:hover': {\n background: token.controlItemBgHover\n },\n '&-disabled': {\n '&, &:hover': {\n color: token.colorTextDisabled,\n background: 'transparent',\n cursor: 'not-allowed'\n }\n }\n })\n }\n })\n };\n};\nconst genPositionStyle = token => {\n const {\n componentCls,\n margin,\n colorSplit\n } = token;\n return {\n // ========================== Top & Bottom ==========================\n [`${componentCls}-top, ${componentCls}-bottom`]: {\n flexDirection: 'column',\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n margin: `0 0 ${margin}px 0`,\n '&::before': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n borderBottom: `${token.lineWidth}px ${token.lineType} ${colorSplit}`,\n content: \"''\"\n },\n [`${componentCls}-ink-bar`]: {\n height: token.lineWidthBold,\n '&-animated': {\n transition: `width ${token.motionDurationSlow}, left ${token.motionDurationSlow},\n right ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-wrap`]: {\n '&::before, &::after': {\n top: 0,\n bottom: 0,\n width: token.controlHeight\n },\n '&::before': {\n left: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowLeft\n },\n '&::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowRight\n },\n [`&${componentCls}-nav-wrap-ping-left::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-right::after`]: {\n opacity: 1\n }\n }\n }\n },\n [`${componentCls}-top`]: {\n [`> ${componentCls}-nav,\n > div > ${componentCls}-nav`]: {\n '&::before': {\n bottom: 0\n },\n [`${componentCls}-ink-bar`]: {\n bottom: 0\n }\n }\n },\n [`${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n marginTop: `${margin}px`,\n marginBottom: 0,\n '&::before': {\n top: 0\n },\n [`${componentCls}-ink-bar`]: {\n top: 0\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n // ========================== Left & Right ==========================\n [`${componentCls}-left, ${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n flexDirection: 'column',\n minWidth: token.controlHeight * 1.25,\n // >>>>>>>>>>> Tab\n [`${componentCls}-tab`]: {\n padding: `${token.paddingXS}px ${token.paddingLG}px`,\n textAlign: 'center'\n },\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n margin: `${token.margin}px 0 0 0`\n },\n // >>>>>>>>>>> Nav\n [`${componentCls}-nav-wrap`]: {\n flexDirection: 'column',\n '&::before, &::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeight\n },\n '&::before': {\n top: 0,\n boxShadow: token.boxShadowTabsOverflowTop\n },\n '&::after': {\n bottom: 0,\n boxShadow: token.boxShadowTabsOverflowBottom\n },\n [`&${componentCls}-nav-wrap-ping-top::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-bottom::after`]: {\n opacity: 1\n }\n },\n // >>>>>>>>>>> Ink Bar\n [`${componentCls}-ink-bar`]: {\n width: token.lineWidthBold,\n '&-animated': {\n transition: `height ${token.motionDurationSlow}, top ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-list, ${componentCls}-nav-operations`]: {\n flex: '1 0 auto',\n flexDirection: 'column'\n }\n }\n },\n [`${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-ink-bar`]: {\n right: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n marginLeft: {\n _skip_check_: true,\n value: `-${token.lineWidth}px`\n },\n borderLeft: {\n _skip_check_: true,\n value: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingLeft: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n },\n [`${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n [`${componentCls}-ink-bar`]: {\n left: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0,\n marginRight: {\n _skip_check_: true,\n value: -token.lineWidth\n },\n borderRight: {\n _skip_check_: true,\n value: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingRight: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n }\n };\n};\nconst genSizeStyle = token => {\n const {\n componentCls,\n padding\n } = token;\n return {\n [componentCls]: {\n '&-small': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: `${token.paddingXS}px 0`,\n fontSize: token.fontSize\n }\n }\n },\n '&-large': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: `${padding}px 0`,\n fontSize: token.fontSizeLG\n }\n }\n }\n },\n [`${componentCls}-card`]: {\n [`&${componentCls}-small`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: `${token.paddingXXS * 1.5}px ${padding}px`\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `0 0 ${token.borderRadius}px ${token.borderRadius}px`\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `${token.borderRadius}px ${token.borderRadius}px 0 0`\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${token.borderRadius}px ${token.borderRadius}px 0`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${token.borderRadius}px 0 0 ${token.borderRadius}px`\n }\n }\n }\n },\n [`&${componentCls}-large`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: `${token.paddingXS}px ${padding}px ${token.paddingXXS * 1.5}px`\n }\n }\n }\n }\n };\n};\nconst genTabStyle = token => {\n const {\n componentCls,\n tabsActiveColor,\n tabsHoverColor,\n iconCls,\n tabsHorizontalGutter\n } = token;\n const tabCls = `${componentCls}-tab`;\n return {\n [tabCls]: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n padding: `${token.paddingSM}px 0`,\n fontSize: `${token.fontSize}px`,\n background: 'transparent',\n border: 0,\n outline: 'none',\n cursor: 'pointer',\n '&-btn, &-remove': Object.assign({\n '&:focus:not(:focus-visible), &:active': {\n color: tabsActiveColor\n }\n }, genFocusStyle(token)),\n '&-btn': {\n outline: 'none',\n transition: 'all 0.3s'\n },\n '&-remove': {\n flex: 'none',\n marginRight: {\n _skip_check_: true,\n value: -token.marginXXS\n },\n marginLeft: {\n _skip_check_: true,\n value: token.marginXS\n },\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n '&:hover': {\n color: tabsHoverColor\n },\n [`&${tabCls}-active ${tabCls}-btn`]: {\n color: token.colorPrimary,\n textShadow: token.tabsActiveTextShadow\n },\n [`&${tabCls}-disabled`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${tabCls}-disabled ${tabCls}-btn, &${tabCls}-disabled ${componentCls}-remove`]: {\n '&:focus, &:active': {\n color: token.colorTextDisabled\n }\n },\n [`& ${tabCls}-remove ${iconCls}`]: {\n margin: 0\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: token.marginSM\n }\n }\n },\n [`${tabCls} + ${tabCls}`]: {\n margin: {\n _skip_check_: true,\n value: `0 0 0 ${tabsHorizontalGutter}px`\n }\n }\n };\n};\nconst genRtlStyle = token => {\n const {\n componentCls,\n tabsHorizontalGutter,\n iconCls,\n tabsCardGutter\n } = token;\n const rtlCls = `${componentCls}-rtl`;\n return {\n [rtlCls]: {\n direction: 'rtl',\n [`${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: {\n _skip_check_: true,\n value: `0 0 0 ${tabsHorizontalGutter}px`\n },\n [`${componentCls}-tab:last-of-type`]: {\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: 0\n },\n marginLeft: {\n _skip_check_: true,\n value: `${token.marginSM}px`\n }\n },\n [`${componentCls}-tab-remove`]: {\n marginRight: {\n _skip_check_: true,\n value: `${token.marginXS}px`\n },\n marginLeft: {\n _skip_check_: true,\n value: `-${token.marginXXS}px`\n },\n [iconCls]: {\n margin: 0\n }\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav`]: {\n order: 1\n },\n [`> ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav`]: {\n order: 0\n },\n [`> ${componentCls}-content-holder`]: {\n order: 1\n }\n },\n // ====================== Card ======================\n [`&${componentCls}-card${componentCls}-top, &${componentCls}-card${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginRight: {\n _skip_check_: true,\n value: `${tabsCardGutter}px`\n },\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n }\n }\n }\n },\n [`${componentCls}-dropdown-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-menu-item`]: {\n [`${componentCls}-dropdown-rtl`]: {\n textAlign: {\n _skip_check_: true,\n value: 'right'\n }\n }\n }\n };\n};\nconst genTabsStyle = token => {\n const {\n componentCls,\n tabsCardHorizontalPadding,\n tabsCardHeight,\n tabsCardGutter,\n tabsHoverColor,\n tabsActiveColor,\n colorSplit\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n // ========================== Navigation ==========================\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n position: 'relative',\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n [`${componentCls}-nav-wrap`]: {\n position: 'relative',\n display: 'flex',\n flex: 'auto',\n alignSelf: 'stretch',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n transform: 'translate(0)',\n // >>>>> Ping shadow\n '&::before, &::after': {\n position: 'absolute',\n zIndex: 1,\n opacity: 0,\n transition: `opacity ${token.motionDurationSlow}`,\n content: \"''\",\n pointerEvents: 'none'\n }\n },\n [`${componentCls}-nav-list`]: {\n position: 'relative',\n display: 'flex',\n transition: `opacity ${token.motionDurationSlow}`\n },\n // >>>>>>>> Operations\n [`${componentCls}-nav-operations`]: {\n display: 'flex',\n alignSelf: 'stretch'\n },\n [`${componentCls}-nav-operations-hidden`]: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none'\n },\n [`${componentCls}-nav-more`]: {\n position: 'relative',\n padding: tabsCardHorizontalPadding,\n background: 'transparent',\n border: 0,\n '&::after': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: 0,\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeightLG / 8,\n transform: 'translateY(100%)',\n content: \"''\"\n }\n },\n [`${componentCls}-nav-add`]: Object.assign({\n minWidth: `${tabsCardHeight}px`,\n marginLeft: {\n _skip_check_: true,\n value: `${tabsCardGutter}px`\n },\n padding: `0 ${token.paddingXS}px`,\n background: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} ${colorSplit}`,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n outline: 'none',\n cursor: 'pointer',\n color: token.colorText,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`,\n '&:hover': {\n color: tabsHoverColor\n },\n '&:active, &:focus:not(:focus-visible)': {\n color: tabsActiveColor\n }\n }, genFocusStyle(token))\n },\n [`${componentCls}-extra-content`]: {\n flex: 'none'\n },\n // ============================ InkBar ============================\n [`${componentCls}-ink-bar`]: {\n position: 'absolute',\n background: token.colorPrimary,\n pointerEvents: 'none'\n }\n }), genTabStyle(token)), {\n // =========================== TabPanes ===========================\n [`${componentCls}-content`]: {\n position: 'relative',\n width: '100%'\n },\n [`${componentCls}-content-holder`]: {\n flex: 'auto',\n minWidth: 0,\n minHeight: 0\n },\n [`${componentCls}-tabpane`]: {\n outline: 'none',\n '&-hidden': {\n display: 'none'\n }\n }\n }),\n [`${componentCls}-centered`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-nav-wrap`]: {\n [`&:not([class*='${componentCls}-nav-wrap-ping'])`]: {\n justifyContent: 'center'\n }\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tabs', token => {\n const tabsCardHeight = token.controlHeightLG;\n const tabsToken = mergeToken(token, {\n tabsHoverColor: token.colorPrimaryHover,\n tabsActiveColor: token.colorPrimaryActive,\n tabsCardHorizontalPadding: `${(tabsCardHeight - Math.round(token.fontSize * token.lineHeight)) / 2 - token.lineWidth}px ${token.padding}px`,\n tabsCardHeight,\n tabsCardGutter: token.marginXXS / 2,\n tabsHorizontalGutter: 32,\n tabsCardHeadBackground: token.colorFillAlter,\n dropdownEdgeChildVerticalPadding: token.paddingXXS,\n tabsActiveTextShadow: '0 0 0.25px currentcolor',\n tabsDropdownHeight: 200,\n tabsDropdownWidth: 120\n });\n return [genSizeStyle(tabsToken), genRtlStyle(tabsToken), genPositionStyle(tabsToken), genDropdownStyle(tabsToken), genCardStyle(tabsToken), genTabsStyle(tabsToken), genMotionStyle(tabsToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport PlusOutlined from \"@ant-design/icons/es/icons/PlusOutlined\";\nimport classNames from 'classnames';\nimport RcTabs from 'rc-tabs';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport warning from '../_util/warning';\nimport useAnimateConfig from './hooks/useAnimateConfig';\nimport useLegacyItems from './hooks/useLegacyItems';\nimport TabPane from './TabPane';\nimport useStyle from './style';\nfunction Tabs(_a) {\n var {\n type,\n className,\n size: propSize,\n onEdit,\n hideAdd,\n centered,\n addIcon,\n popupClassName,\n children,\n items,\n animated\n } = _a,\n props = __rest(_a, [\"type\", \"className\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\", \"popupClassName\", \"children\", \"items\", \"animated\"]);\n const {\n prefixCls: customizePrefixCls,\n moreIcon = /*#__PURE__*/React.createElement(EllipsisOutlined, null)\n } = props;\n const {\n getPrefixCls,\n direction,\n getPopupContainer\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let editable;\n if (type === 'editable-card') {\n editable = {\n onEdit: (editType, _ref) => {\n let {\n key,\n event\n } = _ref;\n onEdit === null || onEdit === void 0 ? void 0 : onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n const rootPrefixCls = getPrefixCls();\n process.env.NODE_ENV !== \"production\" ? warning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.') : void 0;\n const mergedItems = useLegacyItems(items, children);\n const mergedAnimated = useAnimateConfig(prefixCls, animated);\n return wrapSSR( /*#__PURE__*/React.createElement(SizeContext.Consumer, null, contextSize => {\n const size = propSize !== undefined ? propSize : contextSize;\n return /*#__PURE__*/React.createElement(RcTabs, Object.assign({\n direction: direction,\n getPopupContainer: getPopupContainer,\n moreTransitionName: `${rootPrefixCls}-slide-up`\n }, props, {\n items: mergedItems,\n className: classNames({\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-card`]: ['card', 'editable-card'].includes(type),\n [`${prefixCls}-editable-card`]: type === 'editable-card',\n [`${prefixCls}-centered`]: centered\n }, className, hashId),\n popupClassName: classNames(popupClassName, hashId),\n editable: editable,\n moreIcon: moreIcon,\n prefixCls: prefixCls,\n animated: mergedAnimated\n }));\n }));\n}\nTabs.TabPane = TabPane;\nexport default Tabs;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nconst Grid = _a => {\n var {\n prefixCls,\n className,\n hoverable = true\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"className\", \"hoverable\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefix = getPrefixCls('card', prefixCls);\n const classString = classNames(`${prefix}-grid`, className, {\n [`${prefix}-grid-hoverable`]: hoverable\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, props, {\n className: classString\n }));\n};\nexport default Grid;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { clearFix, resetComponent, textEllipsis } from '../../style';\n// ============================== Styles ==============================\n// ============================== Head ==============================\nconst genCardHeadStyle = token => {\n const {\n antCls,\n componentCls,\n cardHeadHeight,\n cardPaddingBase,\n cardHeadTabsMarginBottom\n } = token;\n return Object.assign(Object.assign({\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n minHeight: cardHeadHeight,\n marginBottom: -1,\n padding: `0 ${cardPaddingBase}px`,\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.fontSizeLG,\n background: 'transparent',\n borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n }, clearFix()), {\n '&-wrapper': {\n width: '100%',\n display: 'flex',\n alignItems: 'center'\n },\n '&-title': Object.assign(Object.assign({\n display: 'inline-block',\n flex: 1\n }, textEllipsis), {\n [`\n > ${componentCls}-typography,\n > ${componentCls}-typography-edit-content\n `]: {\n insetInlineStart: 0,\n marginTop: 0,\n marginBottom: 0\n }\n }),\n [`${antCls}-tabs-top`]: {\n clear: 'both',\n marginBottom: cardHeadTabsMarginBottom,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n '&-bar': {\n borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`\n }\n }\n });\n};\n// ============================== Grid ==============================\nconst genCardGridStyle = token => {\n const {\n cardPaddingBase,\n colorBorderSecondary,\n cardShadow,\n lineWidth\n } = token;\n return {\n width: '33.33%',\n padding: cardPaddingBase,\n border: 0,\n borderRadius: 0,\n boxShadow: `\n ${lineWidth}px 0 0 0 ${colorBorderSecondary},\n 0 ${lineWidth}px 0 0 ${colorBorderSecondary},\n ${lineWidth}px ${lineWidth}px 0 0 ${colorBorderSecondary},\n ${lineWidth}px 0 0 0 ${colorBorderSecondary} inset,\n 0 ${lineWidth}px 0 0 ${colorBorderSecondary} inset;\n `,\n transition: `all ${token.motionDurationMid}`,\n '&-hoverable:hover': {\n position: 'relative',\n zIndex: 1,\n boxShadow: cardShadow\n }\n };\n};\n// ============================== Actions ==============================\nconst genCardActionsStyle = token => {\n const {\n componentCls,\n iconCls,\n cardActionsLiMargin,\n cardActionsIconSize,\n colorBorderSecondary\n } = token;\n return Object.assign(Object.assign({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n background: token.colorBgContainer,\n borderTop: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n display: 'flex',\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px `\n }, clearFix()), {\n '& > li': {\n margin: cardActionsLiMargin,\n color: token.colorTextDescription,\n textAlign: 'center',\n '> span': {\n position: 'relative',\n display: 'block',\n minWidth: token.cardActionsIconSize * 2,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n '&:hover': {\n color: token.colorPrimary,\n transition: `color ${token.motionDurationMid}`\n },\n [`a:not(${componentCls}-btn), > ${iconCls}`]: {\n display: 'inline-block',\n width: '100%',\n color: token.colorTextDescription,\n lineHeight: `${token.fontSize * token.lineHeight}px`,\n transition: `color ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorPrimary\n }\n },\n [`> ${iconCls}`]: {\n fontSize: cardActionsIconSize,\n lineHeight: `${cardActionsIconSize * token.lineHeight}px`\n }\n },\n '&:not(:last-child)': {\n borderInlineEnd: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`\n }\n }\n });\n};\n// ============================== Meta ==============================\nconst genCardMetaStyle = token => Object.assign(Object.assign({\n margin: `-${token.marginXXS}px 0`,\n display: 'flex'\n}, clearFix()), {\n '&-avatar': {\n paddingInlineEnd: token.padding\n },\n '&-detail': {\n overflow: 'hidden',\n flex: 1,\n '> div:not(:last-child)': {\n marginBottom: token.marginXS\n }\n },\n '&-title': Object.assign({\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.fontSizeLG\n }, textEllipsis),\n '&-description': {\n color: token.colorTextDescription\n }\n});\n// ============================== Inner ==============================\nconst genCardTypeInnerStyle = token => {\n const {\n componentCls,\n cardPaddingBase,\n colorFillAlter\n } = token;\n return {\n [`${componentCls}-head`]: {\n padding: `0 ${cardPaddingBase}px`,\n background: colorFillAlter,\n '&-title': {\n fontSize: token.fontSize\n }\n },\n [`${componentCls}-body`]: {\n padding: `${token.padding}px ${cardPaddingBase}px`\n }\n };\n};\n// ============================== Loading ==============================\nconst genCardLoadingStyle = token => {\n const {\n componentCls\n } = token;\n return {\n overflow: 'hidden',\n [`${componentCls}-body`]: {\n userSelect: 'none'\n }\n };\n};\n// ============================== Basic ==============================\nconst genCardStyle = token => {\n const {\n componentCls,\n cardShadow,\n cardHeadPadding,\n colorBorderSecondary,\n boxShadow,\n cardPaddingBase\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n background: token.colorBgContainer,\n borderRadius: token.borderRadiusLG,\n [`&:not(${componentCls}-bordered)`]: {\n boxShadow\n },\n [`${componentCls}-head`]: genCardHeadStyle(token),\n [`${componentCls}-extra`]: {\n // https://stackoverflow.com/a/22429853/3040605\n marginInlineStart: 'auto',\n color: '',\n fontWeight: 'normal',\n fontSize: token.fontSize\n },\n [`${componentCls}-body`]: Object.assign({\n padding: cardPaddingBase,\n borderRadius: ` 0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`\n }, clearFix()),\n [`${componentCls}-grid`]: genCardGridStyle(token),\n [`${componentCls}-cover`]: {\n '> *': {\n display: 'block',\n width: '100%'\n },\n img: {\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n }\n },\n [`${componentCls}-actions`]: genCardActionsStyle(token),\n [`${componentCls}-meta`]: genCardMetaStyle(token)\n }),\n [`${componentCls}-bordered`]: {\n border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n [`${componentCls}-cover`]: {\n marginTop: -1,\n marginInlineStart: -1,\n marginInlineEnd: -1\n }\n },\n [`${componentCls}-hoverable`]: {\n cursor: 'pointer',\n transition: `box-shadow ${token.motionDurationMid}, border-color ${token.motionDurationMid}`,\n '&:hover': {\n borderColor: 'transparent',\n boxShadow: cardShadow\n }\n },\n [`${componentCls}-contain-grid`]: {\n [`${componentCls}-body`]: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n [`&:not(${componentCls}-loading) ${componentCls}-body`]: {\n marginBlockStart: -token.lineWidth,\n marginInlineStart: -token.lineWidth,\n padding: 0\n }\n },\n [`${componentCls}-contain-tabs`]: {\n [`> ${componentCls}-head`]: {\n [`${componentCls}-head-title, ${componentCls}-extra`]: {\n paddingTop: cardHeadPadding\n }\n }\n },\n [`${componentCls}-type-inner`]: genCardTypeInnerStyle(token),\n [`${componentCls}-loading`]: genCardLoadingStyle(token),\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\n// ============================== Size ==============================\nconst genCardSizeStyle = token => {\n const {\n componentCls,\n cardPaddingSM,\n cardHeadHeightSM\n } = token;\n return {\n [`${componentCls}-small`]: {\n [`> ${componentCls}-head`]: {\n minHeight: cardHeadHeightSM,\n padding: `0 ${cardPaddingSM}px`,\n fontSize: token.fontSize,\n [`> ${componentCls}-head-wrapper`]: {\n [`> ${componentCls}-extra`]: {\n fontSize: token.fontSize\n }\n }\n },\n [`> ${componentCls}-body`]: {\n padding: cardPaddingSM\n }\n },\n [`${componentCls}-small${componentCls}-contain-tabs`]: {\n [`> ${componentCls}-head`]: {\n [`${componentCls}-head-title, ${componentCls}-extra`]: {\n minHeight: cardHeadHeightSM,\n paddingTop: 0,\n display: 'flex',\n alignItems: 'center'\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Card', token => {\n const cardToken = mergeToken(token, {\n cardShadow: token.boxShadowCard,\n cardHeadHeight: token.fontSizeLG * token.lineHeightLG + token.padding * 2,\n cardHeadHeightSM: token.fontSize * token.lineHeight + token.paddingXS * 2,\n cardHeadPadding: token.padding,\n cardPaddingBase: token.paddingLG,\n cardHeadTabsMarginBottom: -token.padding - token.lineWidth,\n cardActionsLiMargin: `${token.paddingSM}px 0`,\n cardActionsIconSize: token.fontSize,\n cardPaddingSM: 12 // Fixed padding.\n });\n\n return [\n // Style\n genCardStyle(cardToken),\n // Size\n genCardSizeStyle(cardToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport Skeleton from '../skeleton';\nimport Tabs from '../tabs';\nimport Grid from './Grid';\nimport useStyle from './style';\nfunction getAction(actions) {\n const actionList = actions.map((action, index) =>\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n style: {\n width: `${100 / actions.length}%`\n },\n key: `action-${index}`\n }, /*#__PURE__*/React.createElement(\"span\", null, action)));\n return actionList;\n}\nconst Card = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const size = React.useContext(SizeContext);\n const onTabChange = key => {\n var _a;\n (_a = props.onTabChange) === null || _a === void 0 ? void 0 : _a.call(props, key);\n };\n const isContainGrid = () => {\n let containGrid;\n React.Children.forEach(props.children, element => {\n if (element && element.type && element.type === Grid) {\n containGrid = true;\n }\n });\n return containGrid;\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n extra,\n headStyle = {},\n bodyStyle = {},\n title,\n loading,\n bordered = true,\n size: customizeSize,\n type,\n cover,\n actions,\n tabList,\n children,\n activeTabKey,\n defaultActiveTabKey,\n tabBarExtraContent,\n hoverable,\n tabProps = {}\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"extra\", \"headStyle\", \"bodyStyle\", \"title\", \"loading\", \"bordered\", \"size\", \"type\", \"cover\", \"actions\", \"tabList\", \"children\", \"activeTabKey\", \"defaultActiveTabKey\", \"tabBarExtraContent\", \"hoverable\", \"tabProps\"]);\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const loadingBlock = /*#__PURE__*/React.createElement(Skeleton, {\n loading: true,\n active: true,\n paragraph: {\n rows: 4\n },\n title: false\n }, children);\n const hasActiveTabKey = activeTabKey !== undefined;\n const extraProps = Object.assign(Object.assign({}, tabProps), {\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey ? activeTabKey : defaultActiveTabKey,\n tabBarExtraContent\n });\n let head;\n const tabs = tabList && tabList.length ? /*#__PURE__*/React.createElement(Tabs, Object.assign({\n size: \"large\"\n }, extraProps, {\n className: `${prefixCls}-head-tabs`,\n onChange: onTabChange,\n items: tabList.map(item => {\n var _a;\n return {\n label: item.tab,\n key: item.key,\n disabled: (_a = item.disabled) !== null && _a !== void 0 ? _a : false\n };\n })\n })) : null;\n if (title || extra || tabs) {\n head = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head`,\n style: headStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head-wrapper`\n }, title && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head-title`\n }, title), extra && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-extra`\n }, extra)), tabs);\n }\n const coverDom = cover ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-cover`\n }, cover) : null;\n const body = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-body`,\n style: bodyStyle\n }, loading ? loadingBlock : children);\n const actionDom = actions && actions.length ? /*#__PURE__*/React.createElement(\"ul\", {\n className: `${prefixCls}-actions`\n }, getAction(actions)) : null;\n const divProps = omit(others, ['onTabChange']);\n const mergedSize = customizeSize || size;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-hoverable`]: hoverable,\n [`${prefixCls}-contain-grid`]: isContainGrid(),\n [`${prefixCls}-contain-tabs`]: tabList && tabList.length,\n [`${prefixCls}-${mergedSize}`]: mergedSize,\n [`${prefixCls}-type-${type}`]: !!type,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref\n }, divProps, {\n className: classString\n }), head, coverDom, body, actionDom));\n});\nexport default Card;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nconst Meta = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n const classString = classNames(`${prefixCls}-meta`, className);\n const avatarDom = avatar ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-avatar`\n }, avatar) : null;\n const titleDom = title ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-title`\n }, title) : null;\n const descriptionDom = description ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-description`\n }, description) : null;\n const MetaDetail = titleDom || descriptionDom ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-detail`\n }, titleDom, descriptionDom) : null;\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classString\n }), avatarDom, MetaDetail);\n};\nexport default Meta;","import InternalCard from './Card';\nimport Grid from './Grid';\nimport Meta from './Meta';\nconst Card = InternalCard;\nCard.Grid = Grid;\nCard.Meta = Meta;\nexport default Card;","import React from 'react'\r\nimport { Typography, Card, Divider } from 'antd'\r\nimport styled from 'styled-components'\r\nimport { FlexRow } from '../Components/FlexboxReusables/FlexItems'\r\n\r\nconst { Title, Paragraph } = Typography\r\n\r\nconst Imprint: React.FC = () => {\r\n return (\r\n \r\n \r\n Postanschrift:\r\n \r\n et360° GmbH\r\n < br />\r\n Auweg 27\r\n < br />\r\n 63920 Großheubach\r\n \r\n \r\n Kontakt:\r\n \r\n Fon: 09371 / 9119036-0\r\n < br />\r\n Fax: 09371 / 9119036-9\r\n < br />\r\n eMail: info@et360.de\r\n \r\n \r\n Unternehmensdetails:\r\n \r\n Sitz der Gesellschaft:\r\n < br />\r\n Auweg 27, 63920 Großheubach, Deutschland\r\n < br />\r\n Registergericht: HRB Aschaffenburg\r\n < br />\r\n UST-ID Nr.: DE 300 011 732\r\n < br />\r\n Geschäftsführer: Markus Fuchs, Raffael Holz\r\n \r\n \r\n Haftungsausschluss:\r\n \r\n Alle in unseren Internetseiten enthaltenen Angaben und Informationen wurden von uns sorgfältig recherchiert und geprüft. Für die Richtigkeit, Vollständigkeit und Aktualität können wir jedoch keine Gewähr übernehmen. Dies gilt auch für die Internetseiten unserer Partner und Kooperationen, zu denen Sie über Hyperlink gelangen; für diesen Inhalt übernehmen wir keine Verantwortung.\r\n Insbesondere behalten wir uns das Recht vor, Änderungen oder Ergänzungen der bereitgestellten Informationen vorzunehmen. Für automatisch aus dem deutschen in andere Sprachen übersetzte Inhalte übernehmen wir keine Haftung.\r\n Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf unserer vorherigen schriftlichen Zustimmung.\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Imprint\r\n\r\nconst ImprintContainer = styled(Card)`\r\n max-width: 800px;\r\n margin: 0 auto;\r\n padding: 24px;\r\n`","import * as React from 'react';\nconst Empty = () => /*#__PURE__*/React.createElement(\"svg\", {\n width: \"184\",\n height: \"152\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 31.67)\"\n}, /*#__PURE__*/React.createElement(\"ellipse\", {\n fillOpacity: \".8\",\n fill: \"#F5F5F7\",\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\",\n fill: \"#AEB8C2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n fill: \"url(#linearGradient-1)\",\n transform: \"translate(13.56)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\",\n fill: \"#F5F5F7\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\",\n fill: \"#DCE0E6\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\",\n fill: \"#DCE0E6\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(149.65 15.383)\",\n fill: \"#FFF\"\n}, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"20.654\",\n cy: \"3.167\",\n rx: \"2.849\",\n ry: \"2.815\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"\n}))));\nexport default Empty;","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { useToken } from '../theme/internal';\nconst Simple = () => {\n const [, token] = useToken();\n const {\n colorFill,\n colorFillTertiary,\n colorFillQuaternary,\n colorBgContainer\n } = token;\n const {\n borderColor,\n shadowColor,\n contentColor\n } = useMemo(() => ({\n borderColor: new TinyColor(colorFill).onBackground(colorBgContainer).toHexString(),\n shadowColor: new TinyColor(colorFillTertiary).onBackground(colorBgContainer).toHexString(),\n contentColor: new TinyColor(colorFillQuaternary).onBackground(colorBgContainer).toHexString()\n }), [colorFill, colorFillTertiary, colorFillQuaternary, colorBgContainer]);\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"64\",\n height: \"41\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n fill: shadowColor,\n cx: \"32\",\n cy: \"33\",\n rx: \"32\",\n ry: \"7\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"nonzero\",\n stroke: borderColor\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n fill: contentColor\n }))));\n};\nexport default Simple;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Shared ==============================\nconst genSharedEmptyStyle = token => {\n const {\n componentCls,\n margin,\n marginXS,\n marginXL,\n fontSize,\n lineHeight\n } = token;\n return {\n [componentCls]: {\n marginInline: marginXS,\n fontSize,\n lineHeight,\n textAlign: 'center',\n // 原来 &-image 没有父子结构,现在为了外层承担我们的hashId,改成父子结果\n [`${componentCls}-image`]: {\n height: token.emptyImgHeight,\n marginBottom: marginXS,\n opacity: token.opacityImage,\n img: {\n height: '100%'\n },\n svg: {\n height: '100%',\n margin: 'auto'\n }\n },\n // 原来 &-footer 没有父子结构,现在为了外层承担我们的hashId,改成父子结果\n [`${componentCls}-footer`]: {\n marginTop: margin\n },\n '&-normal': {\n marginBlock: marginXL,\n color: token.colorTextDisabled,\n [`${componentCls}-image`]: {\n height: token.emptyImgHeightMD\n }\n },\n '&-small': {\n marginBlock: marginXS,\n color: token.colorTextDisabled,\n [`${componentCls}-image`]: {\n height: token.emptyImgHeightSM\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Empty', token => {\n const {\n componentCls,\n controlHeightLG\n } = token;\n const emptyToken = mergeToken(token, {\n emptyImgCls: `${componentCls}-img`,\n emptyImgHeight: controlHeightLG * 2.5,\n emptyImgHeightMD: controlHeightLG,\n emptyImgHeightSM: controlHeightLG * 0.875\n });\n return [genSharedEmptyStyle(emptyToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport LocaleReceiver from '../locale/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nimport useStyle from './style';\nconst defaultEmptyImg = /*#__PURE__*/React.createElement(DefaultEmptyImg, null);\nconst simpleEmptyImg = /*#__PURE__*/React.createElement(SimpleEmptyImg, null);\nconst Empty = _a => {\n var {\n className,\n prefixCls: customizePrefixCls,\n image = defaultEmptyImg,\n description,\n children,\n imageStyle\n } = _a,\n restProps = __rest(_a, [\"className\", \"prefixCls\", \"image\", \"description\", \"children\", \"imageStyle\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('empty', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n return wrapSSR( /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Empty\"\n }, locale => {\n const des = typeof description !== 'undefined' ? description : locale.description;\n const alt = typeof des === 'string' ? des : 'empty';\n let imageNode = null;\n if (typeof image === 'string') {\n imageNode = /*#__PURE__*/React.createElement(\"img\", {\n alt: alt,\n src: image\n });\n } else {\n imageNode = image;\n }\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames(hashId, prefixCls, {\n [`${prefixCls}-normal`]: image === simpleEmptyImg,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className)\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-image`,\n style: imageStyle\n }, imageNode), des && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-description`\n }, des), children && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-footer`\n }, children));\n }));\n};\nEmpty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;\nexport default Empty;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Save = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"17 21 17 13 7 13 7 21\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"7 3 7 8 15 8\"\n }));\n});\nSave.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nSave.displayName = 'Save';\nexport default Save;","import React, { useContext, useState } from 'react'\r\nimport { EditOutlined, DeleteOutlined, SettingOutlined } from '@ant-design/icons'\r\nimport { Tooltip } from 'antd'\r\nimport { FormattedMessage, useIntl } from 'react-intl'\r\n\r\nimport { CourseContext } from '../Course/CourseContext'\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport Modal from '../Modal/Modal'\r\nimport { UserRole } from '../User/types'\r\n\r\ninterface CourseActionsProps {\r\n courseId: number\r\n role: UserRole\r\n}\r\n\r\nconst CourseActions: React.FC = ({ courseId, role }) => {\r\n const [ showModal, setShowModal ] = useState(false)\r\n\r\n const { deleteCourse } = useContext(CourseContext)\r\n const intl = useIntl()\r\n\r\n const handleConfirmDelete = () => {\r\n deleteCourse(courseId, intl)\r\n setShowModal(false)\r\n }\r\n\r\n return (\r\n <>\r\n setShowModal(false)}\r\n message={}\r\n />\r\n {role.toLowerCase() === UserRole.ADMIN && (\r\n \r\n }>\r\n \r\n \r\n }>\r\n \r\n \r\n }>\r\n setShowModal(true)} />\r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default CourseActions\r\n","// This icon file is generated automatically.\nvar LineChartOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z\" } }] }, \"name\": \"line-chart\", \"theme\": \"outlined\" };\nexport default LineChartOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport LineChartOutlinedSvg from \"@ant-design/icons-svg/es/asn/LineChartOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar LineChartOutlined = function LineChartOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: LineChartOutlinedSvg\n }));\n};\nLineChartOutlined.displayName = 'LineChartOutlined';\nexport default /*#__PURE__*/React.forwardRef(LineChartOutlined);","import React, { useContext, useState } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport { EditOutlined, SettingOutlined, LineChartOutlined } from '@ant-design/icons'\r\nimport { Tooltip } from 'antd'\r\nimport { FormattedMessage, useIntl } from 'react-intl'\r\nimport { CourseContext } from '../Course/CourseContext'\r\nimport { FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport Modal from '../Modal/Modal'\r\n\r\ninterface CourseActionsProps {\r\n courseId: number\r\n}\r\n\r\nconst PublishedCourseActions: React.FC = ({ courseId }) => {\r\n const [ showModal, setShowModal ] = useState(false)\r\n\r\n const { deleteCourse } = useContext(CourseContext)\r\n const intl = useIntl()\r\n\r\n const handleConfirmDelete = () => {\r\n deleteCourse(courseId, intl)\r\n setShowModal(false)\r\n }\r\n\r\n return (\r\n <>\r\n setShowModal(false)}\r\n message={}\r\n />\r\n \r\n }>\r\n \r\n \r\n }>\r\n \r\n \r\n {/* INTL!!!!!! */}\r\n {/* ROUTER PROPS ID!!!! */}\r\n setShowModal(true)} />\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default PublishedCourseActions\r\n","import React, { useContext, useState, useEffect } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport styled from 'styled-components'\r\nimport { Typography, Card, Tabs, TabsProps, Empty, Button } from 'antd'\r\nimport { UploadCloud, Edit, Save } from 'react-feather'\r\nimport { FormattedMessage, injectIntl } from 'react-intl'\r\n\r\nimport { CourseContext } from '../Course/CourseContext'\r\nimport { FlexColumn, FlexRow } from '../FlexboxReusables/FlexItems'\r\nimport { Course } from '../Course/types'\r\nimport { Base64ImageUrl } from '../Course/types'\r\nimport CourseActions from './CourseActions'\r\nimport NewCourseSettingsModal from './NewCourseSettingsModal'\r\nimport { ThemeContext } from '../../Theme/ThemeContext'\r\nimport PublishedCourseActions from './PublishedCourseActions'\r\nimport { AuthContext } from '../Auth/AuthContext'\r\nimport { imageUrl } from '../../globals'\r\n\r\nconst { Meta } = Card\r\n\r\nconst CoursesOverview: React.FC = () => {\r\n const [ showNewCourseSettingsModal, setShowNewCourseSettingsModal ] = useState(false)\r\n \r\n const { courseContext } = useContext(CourseContext)\r\n const { isDarkMode } = useContext(ThemeContext)\r\n const { authUser } = useContext(AuthContext)\r\n\r\n if (!courseContext) { // only relevant when there are no courses at all (i.e. on first login ever)\r\n return (\r\n \r\n setShowNewCourseSettingsModal(false)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n setShowNewCourseSettingsModal(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const { courses } = courseContext\r\n\r\n const drafts = courses.filter((course) => !course.isPublished)\r\n const unsavedCourses = courses.filter((course) => course.hasUnsavedChanges)\r\n const publishedCourses = courses.filter((course) => course.isPublished)\r\n\r\n useEffect(() => {\r\n selectTabIfUnsavedChanges()\r\n }, [ courses ])\r\n\r\n const selectTabIfUnsavedChanges = (): string => courses.some((course) => course.hasUnsavedChanges) ? 'unsavedCourses' : 'courses'\r\n\r\n const items: TabsProps['items'] = [\r\n {\r\n key: 'unsavedCourses',\r\n label: (\r\n \r\n \r\n \r\n \r\n ),\r\n children: (\r\n \r\n {unsavedCourses && unsavedCourses.map((course: Course) => (\r\n \r\n \r\n \r\n }\r\n actions={[\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 key: 'drafts',\r\n label: (\r\n \r\n \r\n \r\n \r\n ),\r\n children: (\r\n \r\n {drafts.length ? drafts.map((course: Course) => (\r\n \r\n \r\n \r\n }\r\n actions={[\r\n \r\n ]}\r\n >\r\n \r\n \r\n {course.name}\r\n \r\n }\r\n description={course.description}\r\n style={{lineHeight: '1em', color: 'black'}}\r\n />\r\n \r\n \r\n ))\r\n : } />\r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'publishedCourses',\r\n label: (\r\n \r\n \r\n \r\n \r\n ),\r\n children: (\r\n \r\n {publishedCourses.length ? publishedCourses.map((course: Course) => (\r\n \r\n \r\n \r\n }\r\n actions={[ ]}\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 return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setShowNewCourseSettingsModal(false)}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default injectIntl(CoursesOverview)\r\n\r\nconst Container = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n margin: 1em;\r\n`\r\n\r\nconst PreviewImage = styled.img<{src: Base64ImageUrl }>`\r\n width: 100%;\r\n height: 12em;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n`\r\n\r\nexport const StyledCard = styled(Card)`\r\n cursor: pointer;\r\n margin: 1em;\r\n background-color: #f9f9f9;\r\n border-radius: 8px;\r\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);\r\n transition: all 0.2s ease-in-out;\r\n overflow: hidden;\r\n \r\n &:hover {\r\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.1);\r\n transform: translateY(-2px);\r\n }\r\n\r\n .ant-card-body {\r\n padding: 1.5em;\r\n\r\n .ant-card-meta-title {\r\n font-size: 1.2em;\r\n height: 1.2em;\r\n font-weight: bold;\r\n }\r\n\r\n .ant-card-meta-description {\r\n font-size: 0.9em;\r\n color: #777;\r\n line-height: 1.4;\r\n }\r\n }\r\n\r\n .ant-card-actions {\r\n border-top: 1px solid #e8e8e8;\r\n\r\n .anticon {\r\n transition: color 0.2s ease-in-out;\r\n\r\n &:hover {\r\n color: #1890ff;\r\n }\r\n }\r\n }\r\n\r\n .dark-mode-title {\r\n color: black;\r\n }\r\n`","// This icon file is generated automatically.\nvar MailOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z\" } }] }, \"name\": \"mail\", \"theme\": \"outlined\" };\nexport default MailOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport MailOutlinedSvg from \"@ant-design/icons-svg/es/asn/MailOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar MailOutlined = function MailOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: MailOutlinedSvg\n }));\n};\nMailOutlined.displayName = 'MailOutlined';\nexport default /*#__PURE__*/React.forwardRef(MailOutlined);","// This icon file is generated automatically.\nvar PhoneOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 01-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 00-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 00285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z\" } }] }, \"name\": \"phone\", \"theme\": \"outlined\" };\nexport default PhoneOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport PhoneOutlinedSvg from \"@ant-design/icons-svg/es/asn/PhoneOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar PhoneOutlined = function PhoneOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PhoneOutlinedSvg\n }));\n};\nPhoneOutlined.displayName = 'PhoneOutlined';\nexport default /*#__PURE__*/React.forwardRef(PhoneOutlined);","// This icon file is generated automatically.\nvar EditFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z\" } }] }, \"name\": \"edit\", \"theme\": \"filled\" };\nexport default EditFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EditFilledSvg from \"@ant-design/icons-svg/es/asn/EditFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar EditFilled = function EditFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EditFilledSvg\n }));\n};\nEditFilled.displayName = 'EditFilled';\nexport default /*#__PURE__*/React.forwardRef(EditFilled);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar UserCheck = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"17 11 19 13 23 9\"\n }));\n});\nUserCheck.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nUserCheck.displayName = 'UserCheck';\nexport default UserCheck;","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport { FormattedMessage, useIntl } from 'react-intl'\r\nimport { Input, Button, Typography } from 'antd'\r\nimport { UserOutlined, MailOutlined, PhoneOutlined, EditFilled, CloseOutlined } from '@ant-design/icons'\r\nimport { UserCheck } from 'react-feather'\r\nimport { FlexRow, FlexColumn } from '../FlexboxReusables/FlexItems'\r\n\r\ntype PersonalInfoSegmentProps = {\r\n firstName: string\r\n lastName: string\r\n email: string\r\n phone: string\r\n position: string\r\n setFirstName: (firstName: string) => void\r\n setLastName: (lastName: string) => void\r\n setEmail: (email: string) => void\r\n setPhone: (phone: string) => void\r\n setPosition: (position: string) => void\r\n setEditPersonalInfo: (editPersonalInfo: boolean) => void\r\n editPersonalInfo: boolean\r\n}\r\n\r\nconst PersonalInfoSegment: React.FC = (\r\n {\r\n firstName,\r\n lastName,\r\n email,\r\n phone,\r\n position,\r\n setFirstName,\r\n setLastName,\r\n setEmail,\r\n setPhone,\r\n setPosition,\r\n setEditPersonalInfo,\r\n editPersonalInfo\r\n }: PersonalInfoSegmentProps) => {\r\n const intl = useIntl()\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n setEditPersonalInfo(!editPersonalInfo)}>\r\n {!editPersonalInfo ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editPersonalInfo ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.firstName' })}\r\n value={firstName}\r\n onChange={(e) => setFirstName(e.target.value)}\r\n />\r\n ) : (\r\n {firstName}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {editPersonalInfo ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.lastName' })}\r\n value={lastName}\r\n onChange={(e) => setLastName(e.target.value)}\r\n />\r\n ) : (\r\n {lastName}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n {editPersonalInfo ? (\r\n }\r\n placeholder='Email'\r\n value={email}\r\n onChange={(e) => setEmail(e.target.value)}\r\n />\r\n ) : (\r\n {email}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {editPersonalInfo ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.phone' })}\r\n value={phone}\r\n onChange={(e) => setPhone(e.target.value)}\r\n />\r\n ) : (\r\n {phone}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Position\r\n \r\n {editPersonalInfo ? (\r\n }\r\n placeholder='Position'\r\n value={position}\r\n onChange={(e) => setPosition(e.target.value)}\r\n style={{ width: '25%' }}\r\n />\r\n ) : (\r\n {position}\r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default PersonalInfoSegment\r\n\r\nconst SubHeading = styled(Typography.Title)`\r\n margin: 0 0 1.5em 0 !important;\r\n`\r\n\r\nconst Description = styled(Typography.Text)`\r\n font-size: 0.8em;\r\n color: grey;\r\n`\r\n\r\nconst EditButton = styled(Button)`\r\n margin: 0 0 1.5em 0 !important;\r\n`\r\n\r\nconst EditIcon = styled(EditFilled)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst EndEditIcon = styled(CloseOutlined)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst StyledInput = styled(Input)`\r\n width: 50%;\r\n\r\n @media (max-width: 768px) {\r\n width: 100%;\r\n }\r\n`","// This icon file is generated automatically.\nvar NumberOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z\" } }] }, \"name\": \"number\", \"theme\": \"outlined\" };\nexport default NumberOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport NumberOutlinedSvg from \"@ant-design/icons-svg/es/asn/NumberOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar NumberOutlined = function NumberOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: NumberOutlinedSvg\n }));\n};\nNumberOutlined.displayName = 'NumberOutlined';\nexport default /*#__PURE__*/React.forwardRef(NumberOutlined);","// This icon file is generated automatically.\nvar HomeOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 00-44.4 0L77.5 505a63.9 63.9 0 00-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0018.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z\" } }] }, \"name\": \"home\", \"theme\": \"outlined\" };\nexport default HomeOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport HomeOutlinedSvg from \"@ant-design/icons-svg/es/asn/HomeOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar HomeOutlined = function HomeOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: HomeOutlinedSvg\n }));\n};\nHomeOutlined.displayName = 'HomeOutlined';\nexport default /*#__PURE__*/React.forwardRef(HomeOutlined);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Flag = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"4\",\n y1: \"22\",\n x2: \"4\",\n y2: \"15\"\n }));\n});\nFlag.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nFlag.displayName = 'Flag';\nexport default Flag;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Briefcase = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"rect\", {\n x: \"2\",\n y: \"7\",\n width: \"20\",\n height: \"14\",\n rx: \"2\",\n ry: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\n }));\n});\nBriefcase.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nBriefcase.displayName = 'Briefcase';\nexport default Briefcase;","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport { FormattedMessage, useIntl } from 'react-intl'\r\nimport { Input, Button, Typography } from 'antd'\r\nimport {\r\n NumberOutlined,\r\n EditFilled,\r\n CloseOutlined,\r\n HomeOutlined\r\n} from '@ant-design/icons'\r\nimport { Briefcase, Flag } from 'react-feather'\r\nimport { FlexRow, FlexColumn } from '../FlexboxReusables/FlexItems'\r\n\r\ntype AddressSegmentProps = {\r\n country: string\r\n state: string\r\n street: string\r\n zipCode: string\r\n city: string\r\n setCountry: (country: string) => void\r\n setState: (state: string) => void\r\n setStreet: (street: string) => void\r\n setZipCode: (zipCode: string) => void\r\n setCity: (city: string) => void\r\n setEditAddress: (editAddress: boolean) => void\r\n editAddress: boolean\r\n}\r\n\r\nconst AddressSegment: React.FC = (\r\n {\r\n country,\r\n state,\r\n street,\r\n zipCode,\r\n city,\r\n setCountry,\r\n setState,\r\n setStreet,\r\n setZipCode,\r\n setCity,\r\n setEditAddress,\r\n editAddress\r\n }: AddressSegmentProps) => {\r\n const intl = useIntl()\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n setEditAddress(!editAddress)}>\r\n {!editAddress ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editAddress ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.country' })}\r\n value={country}\r\n onChange={(e) => setCountry(e.target.value)}\r\n />\r\n ) : (\r\n {country}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {editAddress ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.state' })}\r\n value={state}\r\n onChange={(e) => setState(e.target.value)}\r\n />\r\n ) : (\r\n {state}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editAddress ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.street' })}\r\n value={street}\r\n onChange={(e) => setStreet(e.target.value)}\r\n />\r\n ) : (\r\n {street}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {editAddress ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.zipCode' })}\r\n value={zipCode}\r\n onChange={(e) => setZipCode(e.target.value)}\r\n />\r\n ) : (\r\n {zipCode}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editAddress ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.city' })}\r\n value={city}\r\n onChange={(e) => setCity(e.target.value)}\r\n style={{ width: '25%' }}\r\n />\r\n ) : (\r\n {city}\r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddressSegment\r\n\r\nconst SubHeading = styled(Typography.Title)`\r\n margin: 0 0 1.5em 0 !important;\r\n`\r\n\r\nconst Description = styled(Typography.Text)`\r\n font-size: 0.8em;\r\n color: grey;\r\n`\r\n\r\nconst EditButton = styled(Button)`\r\n margin: 0 0 1.5em 0 !important;\r\n`\r\n\r\nconst EditIcon = styled(EditFilled)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst EndEditIcon = styled(CloseOutlined)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst StyledInput = styled(Input)`\r\n width: 50%;\r\n\r\n @media (max-width: 768px) {\r\n width: 100%;\r\n }\r\n`","import { genComponentStyleHook } from '../../theme/internal';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n iconCls,\n zIndexPopup,\n colorText,\n colorWarning,\n marginXS,\n fontSize,\n fontWeightStrong,\n lineHeight\n } = token;\n return {\n [componentCls]: {\n zIndex: zIndexPopup,\n [`${componentCls}-inner-content`]: {\n color: colorText\n },\n [`${componentCls}-message`]: {\n position: 'relative',\n marginBottom: marginXS,\n color: colorText,\n fontSize,\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'start',\n [`> ${componentCls}-message-icon ${iconCls}`]: {\n color: colorWarning,\n fontSize,\n flex: 'none',\n lineHeight: 1,\n paddingTop: (Math.round(fontSize * lineHeight) - fontSize) / 2\n },\n '&-title': {\n flex: 'auto',\n marginInlineStart: marginXS\n },\n '&-title-only': {\n fontWeight: fontWeightStrong\n }\n },\n [`${componentCls}-description`]: {\n position: 'relative',\n marginInlineStart: fontSize + marginXS,\n marginBottom: marginXS,\n color: colorText,\n fontSize\n },\n [`${componentCls}-buttons`]: {\n textAlign: 'end',\n button: {\n marginInlineStart: marginXS\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Popconfirm', token => genBaseStyle(token), token => {\n const {\n zIndexPopupBase\n } = token;\n return {\n zIndexPopup: zIndexPopupBase + 60\n };\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport classNames from 'classnames';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nimport ActionButton from '../_util/ActionButton';\nimport LocaleReceiver from '../locale/LocaleReceiver';\nimport defaultLocale from '../locale/en_US';\nimport { getRenderPropValue } from '../_util/getRenderPropValue';\nimport { ConfigContext } from '../config-provider';\nimport PopoverPurePanel from '../popover/PurePanel';\nimport useStyle from './style';\nexport const Overlay = props => {\n const {\n prefixCls,\n okButtonProps,\n cancelButtonProps,\n title,\n description,\n cancelText,\n okText,\n okType = 'primary',\n icon = /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n showCancel = true,\n close,\n onConfirm,\n onCancel\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Popconfirm\",\n defaultLocale: defaultLocale.Popconfirm\n }, contextLocale => /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inner-content`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-message`\n }, icon && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-message-icon`\n }, icon), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-message-title`, {\n [`${prefixCls}-message-title-only`]: !!description\n })\n }, getRenderPropValue(title))), description && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-description`\n }, getRenderPropValue(description)), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-buttons`\n }, showCancel && /*#__PURE__*/React.createElement(Button, Object.assign({\n onClick: onCancel,\n size: \"small\"\n }, cancelButtonProps), cancelText !== null && cancelText !== void 0 ? cancelText : contextLocale.cancelText), /*#__PURE__*/React.createElement(ActionButton, {\n buttonProps: Object.assign(Object.assign({\n size: 'small'\n }, convertLegacyProps(okType)), okButtonProps),\n actionFn: onConfirm,\n close: close,\n prefixCls: getPrefixCls('btn'),\n quitOnNullishReturnValue: true,\n emitEvent: true\n }, okText !== null && okText !== void 0 ? okText : contextLocale.okText))));\n};\nexport default function PurePanel(props) {\n const {\n prefixCls: customizePrefixCls,\n placement,\n className,\n style\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"placement\", \"className\", \"style\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('popconfirm', customizePrefixCls);\n const [wrapSSR] = useStyle(prefixCls);\n return wrapSSR( /*#__PURE__*/React.createElement(PopoverPurePanel, {\n placement: placement,\n className: classNames(prefixCls, className),\n style: style,\n content: /*#__PURE__*/React.createElement(Overlay, Object.assign({\n prefixCls: prefixCls\n }, restProps))\n }));\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport Popover from '../popover';\nimport { cloneElement } from '../_util/reactNode';\nimport PurePanel, { Overlay } from './PurePanel';\nimport usePopconfirmStyle from './style';\nconst Popconfirm = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const [open, setOpen] = useMergedState(false, {\n value: props.open,\n defaultValue: props.defaultOpen\n });\n // const isDestroyed = useDestroyed();\n const settingOpen = (value, e) => {\n var _a;\n setOpen(value, true);\n (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, value, e);\n };\n const close = e => {\n settingOpen(false, e);\n };\n const onConfirm = e => {\n var _a;\n return (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(this, e);\n };\n const onCancel = e => {\n var _a;\n settingOpen(false, e);\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(this, e);\n };\n const onKeyDown = e => {\n if (e.keyCode === KeyCode.ESC && open) {\n settingOpen(false, e);\n }\n };\n const onOpenChange = value => {\n const {\n disabled = false\n } = props;\n if (disabled) {\n return;\n }\n settingOpen(value);\n };\n const {\n prefixCls: customizePrefixCls,\n placement = 'top',\n trigger = 'click',\n okType = 'primary',\n icon = /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n children,\n overlayClassName\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"placement\", \"trigger\", \"okType\", \"icon\", \"children\", \"overlayClassName\"]);\n const prefixCls = getPrefixCls('popconfirm', customizePrefixCls);\n const overlayClassNames = classNames(prefixCls, overlayClassName);\n const [wrapSSR] = usePopconfirmStyle(prefixCls);\n return wrapSSR( /*#__PURE__*/React.createElement(Popover, Object.assign({}, omit(restProps, ['title']), {\n trigger: trigger,\n placement: placement,\n onOpenChange: onOpenChange,\n open: open,\n ref: ref,\n overlayClassName: overlayClassNames,\n content: /*#__PURE__*/React.createElement(Overlay, Object.assign({\n okType: okType,\n icon: icon\n }, props, {\n prefixCls: prefixCls,\n close: close,\n onConfirm: onConfirm,\n onCancel: onCancel\n })),\n \"data-popover-inject\": true\n }), cloneElement(children, {\n onKeyDown: e => {\n var _a, _b;\n if ( /*#__PURE__*/React.isValidElement(children)) {\n (_b = children === null || children === void 0 ? void 0 : (_a = children.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }\n onKeyDown(e);\n }\n })));\n});\n// We don't care debug panel\n/* istanbul ignore next */\nPopconfirm._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Popconfirm;","import React, { ReactNode, useContext, useState } from 'react'\r\nimport styled from 'styled-components'\r\nimport { FormattedMessage, IntlShape, useIntl } from 'react-intl'\r\nimport { LoadingOutlined, UploadOutlined } from '@ant-design/icons'\r\nimport { Upload, Popconfirm, Avatar} from 'antd'\r\nimport type { RcFile } from 'antd/es/upload/interface'\r\nimport type { UploadRequestOption } from 'rc-upload/lib/interface'\r\n\r\nimport { UserContext } from './UserContext'\r\n\r\nconst allowedFileTypes = [ 'image/jpeg', 'image/png' ]\r\n\r\ntype Error = {\r\n error: boolean\r\n message: IntlShape | string\r\n}\r\n\r\ntype ChangeProfilePictureProps = {\r\n editMode: boolean\r\n}\r\n\r\nconst ChangeProfilePicture: React.FC = ({editMode}) => {\r\n const { userDetails } = useContext(UserContext)\r\n const { changeProfilePicture } = useContext(UserContext)\r\n \r\n const [ loading, setLoading ] = useState(false)\r\n const [ imageUrl, setImageUrl ] = useState()\r\n const [ error, setError ] = useState({ error: false, message: ''})\r\n\r\n const intl = useIntl()\r\n\r\n const alreadyHasProfilePicture = userDetails.profilePicture !== '' && userDetails.profilePicture !== null\r\n\r\n const getBase64 = (img: RcFile, callback: (url: string) => void) => {\r\n const reader = new FileReader()\r\n \r\n reader.addEventListener('load', () => callback(reader.result as string))\r\n reader.readAsDataURL(img)\r\n }\r\n \r\n const checkFileTypeAndSize = (file: RcFile) => {\r\n const isOfAllowedFileType = allowedFileTypes.includes(file.type)\r\n if (!isOfAllowedFileType) {\r\n setError({\r\n error: true,\r\n message: intl.formatMessage({ id: 'profilePicture.error.fileType' })\r\n })\r\n }\r\n \r\n const isSmallerThan3Mb = file.size / 1024 / 1024 < 3\r\n if (!isSmallerThan3Mb) {\r\n setError({\r\n error: true,\r\n message: intl.formatMessage({ id: 'profilePicture.error.fileSize' })\r\n })\r\n }\r\n \r\n return isOfAllowedFileType && isSmallerThan3Mb\r\n }\r\n\r\n const uploadImage = (options: UploadRequestOption) => {\r\n const { file } = options\r\n\r\n getBase64(file as RcFile, async (base64ImageUrl) => {\r\n await changeProfilePicture(base64ImageUrl)\r\n setImageUrl(base64ImageUrl)\r\n setLoading(false)\r\n })\r\n }\r\n\r\n const uploadButton = (\r\n
    \r\n {loading ? : }\r\n
    \r\n Upload\r\n
    \r\n
    \r\n )\r\n\r\n if (alreadyHasProfilePicture && !editMode) {\r\n return (\r\n \r\n ) \r\n }\r\n\r\n return (\r\n <>\r\n {error ? (\r\n }\r\n description={error.message as ReactNode}\r\n onConfirm={() => setError({ error: false, message: ''})}\r\n onCancel={() => setError({ error: false, message: ''})}\r\n okText={}\r\n cancelText={}\r\n open={error.error}\r\n >\r\n \r\n {imageUrl ? \"avatar\" : uploadButton}\r\n \r\n \r\n ) : (\r\n \r\n {imageUrl ? \"avatar\" : uploadButton}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default ChangeProfilePicture\r\n\r\nconst StyledUpload = styled(Upload)`\r\n margin-top: 10px !important;\r\n width: 150px !important;\r\n display: flex !important;\r\n justify-content: center !important;\r\n align-items: center !important;\r\n`","import React, { useContext } from 'react'\r\nimport styled from 'styled-components'\r\nimport { FormattedMessage } from 'react-intl'\r\nimport { Button, Typography } from 'antd'\r\nimport { EditFilled, CloseOutlined } from '@ant-design/icons'\r\n\r\nimport { FlexRow, FlexColumn } from '../FlexboxReusables/FlexItems'\r\nimport ChangeProfilePicture from './ChangeProfilePicture'\r\nimport { AuthContext } from '../Auth/AuthContext'\r\nimport { UserRole } from './types'\r\n\r\ntype ProfileSummarySegmentProps = {\r\n id: number\r\n firstName: string\r\n lastName: string\r\n companyName: string\r\n position: string\r\n city: string\r\n state: string\r\n setEditProfilePicture: (editProfilePicture: boolean) => void\r\n editProfilePicture: boolean\r\n}\r\n\r\nconst ProfileSummarySegment: React.FC = (\r\n {\r\n id,\r\n firstName,\r\n lastName,\r\n companyName,\r\n position,\r\n city,\r\n state,\r\n setEditProfilePicture,\r\n editProfilePicture\r\n }: ProfileSummarySegmentProps) => {\r\n const { authUser, translateUserRole } = useContext(AuthContext)\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n setEditProfilePicture(!editProfilePicture)}\r\n style={{ marginTop: '1em'}}\r\n >\r\n {!editProfilePicture ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {companyName}\r\n \r\n \r\n \r\n \r\n {firstName} {lastName}\r\n \r\n \r\n \r\n \r\n {position}\r\n \r\n \r\n {city && (\r\n \r\n \r\n {city}, {state}\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n :{' '}\r\n {translateUserRole(authUser.role.toLowerCase() as UserRole)}\r\n \r\n \r\n \r\n User Id: {id}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default ProfileSummarySegment\r\n\r\nconst EditIcon = styled(EditFilled)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst EndEditIcon = styled(CloseOutlined)`\r\n margin-right: 1em;\r\n`","// This icon file is generated automatically.\nvar SaveOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\" } }] }, \"name\": \"save\", \"theme\": \"outlined\" };\nexport default SaveOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SaveOutlinedSvg from \"@ant-design/icons-svg/es/asn/SaveOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar SaveOutlined = function SaveOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SaveOutlinedSvg\n }));\n};\nSaveOutlined.displayName = 'SaveOutlined';\nexport default /*#__PURE__*/React.forwardRef(SaveOutlined);","/**\n * view 中三层 group 分层 key\n */\nexport enum LAYER {\n /** 前景层 */\n FORE = 'fore',\n /** 中间层 */\n MID = 'mid',\n /** 背景层 */\n BG = 'bg',\n}\n\n/**\n * 组件在画布的布局方位 12 方位\n */\nexport enum DIRECTION {\n TOP = 'top',\n TOP_LEFT = 'top-left',\n TOP_RIGHT = 'top-right',\n RIGHT = 'right',\n RIGHT_TOP = 'right-top',\n RIGHT_BOTTOM = 'right-bottom',\n LEFT = 'left',\n LEFT_TOP = 'left-top',\n LEFT_BOTTOM = 'left-bottom',\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right',\n RADIUS = 'radius',\n CIRCLE = 'circle',\n // no direction information\n NONE = 'none',\n}\n\n/**\n * 组件的类型,可能会影响到布局算法\n */\nexport enum COMPONENT_TYPE {\n /** axis 组件 */\n AXIS = 'axis',\n /** grid 组件 */\n GRID = 'grid',\n /** legend 组件 */\n LEGEND = 'legend',\n /** tooltip 组件 */\n TOOLTIP = 'tooltip',\n /** annotation 组件 */\n ANNOTATION = 'annotation',\n /** 缩略轴组件 */\n SLIDER = 'slider',\n /** 滚动条组件 */\n SCROLLBAR = 'scrollbar',\n /** 其他组件,自定义组件 */\n OTHER = 'other',\n}\n\n/**\n * 三层 group 的 z index\n */\nexport const GROUP_Z_INDEX = {\n FORE: 3,\n MID: 2,\n BG: 1,\n};\n\n/**\n * View 的生命周期阶段(和 3.x 的生命周期略有不同)\n * 我们需要先确定在那写场景需要用到生命周期,如果只是为了在生命周期插入一下什么组件之类的,那么在现有架构就是不需要的\n */\nexport enum VIEW_LIFE_CIRCLE {\n BEFORE_RENDER = 'beforerender',\n AFTER_RENDER = 'afterrender',\n\n BEFORE_PAINT = 'beforepaint',\n AFTER_PAINT = 'afterpaint',\n\n BEFORE_CHANGE_DATA = 'beforechangedata',\n AFTER_CHANGE_DATA = 'afterchangedata',\n\n BEFORE_CLEAR = 'beforeclear',\n AFTER_CLEAR = 'afterclear',\n\n BEFORE_DESTROY = 'beforedestroy',\n\n BEFORE_CHANGE_SIZE = 'beforechangesize',\n AFTER_CHANGE_SIZE = 'afterchangesize',\n}\n\n/**\n * geometry 的生命周期\n */\nexport enum GEOMETRY_LIFE_CIRCLE {\n BEFORE_DRAW_ANIMATE = 'beforeanimate',\n AFTER_DRAW_ANIMATE = 'afteranimate',\n\n BEFORE_RENDER_LABEL = 'beforerenderlabel',\n AFTER_RENDER_LABEL = 'afterrenderlabel',\n}\n\n/**\n * 绘图区的事件列表\n */\nexport enum PLOT_EVENTS {\n // mouse 事件\n MOUSE_ENTER = 'plot:mouseenter',\n MOUSE_DOWN = 'plot:mousedown',\n MOUSE_MOVE = 'plot:mousemove',\n MOUSE_UP = 'plot:mouseup',\n MOUSE_LEAVE = 'plot:mouseleave',\n // 移动端事件\n TOUCH_START = 'plot:touchstart',\n TOUCH_MOVE = 'plot:touchmove',\n TOUCH_END = 'plot:touchend',\n TOUCH_CANCEL = 'plot:touchcancel',\n // click 事件\n CLICK = 'plot:click',\n DBLCLICK = 'plot:dblclick',\n CONTEXTMENU = 'plot:contextmenu',\n\n LEAVE = 'plot:leave',\n ENTER = 'plot:enter',\n}\n\n/**\n * Element 图形交互状态\n */\nexport enum ELEMENT_STATE {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n SELECTED = 'selected',\n DEFAULT = 'default',\n}\n\n/** 参与分组的图形属性名 */\nexport const GROUP_ATTRS = ['color', 'shape', 'size'];\n/** 存储原始数据的字段名 */\nexport const FIELD_ORIGIN = '_origin';\n/** 最小的图表宽度 */\nexport const MIN_CHART_WIDTH = 1;\n/** 最小的图表高度 */\nexport const MIN_CHART_HEIGHT = 1;\n/** 辅助组件占图表的尺寸的最大比例:如图表上方的图例最多占图表高度的25% */\nexport const COMPONENT_MAX_VIEW_PERCENTAGE = 0.25;\n","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport { useIntl, FormattedMessage } from 'react-intl'\r\nimport { Input, Button, Typography } from 'antd'\r\nimport {\r\n EditFilled,\r\n CloseOutlined,\r\n NumberOutlined,\r\n HomeOutlined,\r\n MailOutlined\r\n} from '@ant-design/icons'\r\nimport { Briefcase, Flag } from 'react-feather'\r\n\r\nimport { FlexRow, FlexColumn } from '../FlexboxReusables/FlexItems'\r\nimport { Company } from './types'\r\n\r\ntype CompanySegmentProps = Company & {\r\n setCompanyName: (companyName: string) => void\r\n setCompanyStreet: (street: string) => void\r\n setCompanyZipCode: (zipCode: string) => void\r\n setCompanyCity: (city: string) => void\r\n setCompanyCountry: (country: string) => void\r\n setEditBuyersDetails: (editBuyersDetails: boolean) => void\r\n editBuyersDetails: boolean\r\n} \r\n\r\nconst CompanySegment: React.FC = (\r\n {\r\n name,\r\n setCompanyName,\r\n street,\r\n setCompanyStreet,\r\n zipCode,\r\n setCompanyZipCode,\r\n city,\r\n setCompanyCity,\r\n country,\r\n setCompanyCountry,\r\n setEditBuyersDetails,\r\n editBuyersDetails\r\n }: CompanySegmentProps) => {\r\n const intl = useIntl()\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n setEditBuyersDetails(!editBuyersDetails)}>\r\n {!editBuyersDetails ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editBuyersDetails ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.companyName' })}\r\n value={name}\r\n onChange={(e) => setCompanyName(e.target.value)}\r\n />\r\n ) : (\r\n {name}\r\n )}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {editBuyersDetails ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.street' })}\r\n value={street}\r\n onChange={(e) => setCompanyStreet(e.target.value)}\r\n />\r\n ) : (\r\n {street}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editBuyersDetails ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.country' })}\r\n value={country}\r\n onChange={(e) => setCompanyCountry(e.target.value)}\r\n />\r\n ) : (\r\n {country}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {editBuyersDetails ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.zipCode' })}\r\n value={zipCode}\r\n onChange={(e) => setCompanyZipCode(e.target.value)}\r\n />\r\n ) : (\r\n {zipCode}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editBuyersDetails ? (\r\n }\r\n placeholder={intl.formatMessage({ id: 'generic.city' })}\r\n value={city}\r\n onChange={(e) => setCompanyCity(e.target.value)}\r\n style={{ width: '25%' }}\r\n />\r\n ) : (\r\n {city}\r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CompanySegment\r\n\r\nconst SubHeading = styled(Typography.Title)`\r\n margin: 0 0 1.5em 0 !important;\r\n`\r\n\r\nconst Description = styled(Typography.Text)`\r\n font-size: 0.8em;\r\n color: grey;\r\n`\r\n\r\nconst EditButton = styled(Button)`\r\n margin: 0 0 1.5em 0 !important;\r\n`\r\n\r\nconst EditIcon = styled(EditFilled)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst EndEditIcon = styled(CloseOutlined)`\r\n margin-right: 1em;\r\n`\r\n\r\nconst StyledInput = styled(Input)`\r\n width: 50%;\r\n\r\n @media (max-width: 768px) {\r\n width: 100%;\r\n }\r\n`","import React, { useState, useContext, useEffect } from 'react'\r\nimport styled from 'styled-components'\r\nimport { Button, Typography } from 'antd'\r\nimport { FormattedMessage } from 'react-intl'\r\n\r\nimport { FlexRow } from '../Components/FlexboxReusables/FlexItems'\r\nimport { ThemeContext } from '../Theme/ThemeContext'\r\nimport { UserContext } from '../Components/User/UserContext'\r\nimport PersonalInfoSegment from '../Components/User/PersonalInfoSegment'\r\nimport AddressSegment from '../Components/User/AddressSegment'\r\nimport ProfileSummarySegment from '../Components/User/ProfileSummarySegment'\r\nimport { AuthContext } from '../Components/Auth/AuthContext'\r\nimport { SaveOutlined } from '@ant-design/icons'\r\nimport CompanySegment from '../Components/User/CompanySegment'\r\n\r\nconst notAvailable = '/'\r\n\r\nconst UserSettings: React.FC = () => {\r\n const { isDarkMode } = useContext(ThemeContext)\r\n const { authUser } = useContext(AuthContext)\r\n const { userDetails, changeUserDetails } = useContext(UserContext)\r\n\r\n const [ firstName, setFirstName ] = useState(userDetails.firstName)\r\n const [ lastName, setLastName ] = useState(userDetails.lastName)\r\n const [ email, setEmail ] = useState(userDetails.email)\r\n const [ phone, setPhone ] = useState(userDetails.phone || notAvailable)\r\n const [ position, setPosition ] = useState(userDetails.position || notAvailable)\r\n\r\n const [ country, setCountry ] = useState(userDetails.country || notAvailable)\r\n const [ state, setState ] = useState(userDetails.state || notAvailable)\r\n const [ street, setStreet ] = useState(userDetails.street || notAvailable)\r\n const [ zipCode, setZipCode ] = useState(userDetails.zipCode || notAvailable)\r\n const [ city, setCity ] = useState(userDetails.city || notAvailable)\r\n\r\n const [ companyName, setCompanyName ] = useState(userDetails.company?.name || notAvailable)\r\n const [ companyStreet, setCompanyStreet ] = useState(userDetails.company?.street || notAvailable)\r\n const [ companyZipCode, setCompanyZipCode ] = useState(userDetails.company?.zipCode || notAvailable)\r\n const [ companyCity, setCompanyCity ] = useState(userDetails.company?.city || notAvailable)\r\n const [ companyCountry, setCompanyCountry ] = useState(userDetails.company?.country || notAvailable)\r\n\r\n const [ editProfilePicture, setEditProfilePicture ] = useState(false)\r\n const [ editPersonalInfo, setEditPersonalInfo ] = useState(false)\r\n const [ editAddress, setEditAddress ] = useState(false)\r\n const [ editBuyersDetails, setEditBuyersDetails ] = useState(false)\r\n\r\n useEffect(() => {\r\n setFirstName(userDetails.firstName)\r\n setLastName(userDetails.lastName)\r\n setEmail(userDetails.email)\r\n setPhone(userDetails.phone || notAvailable)\r\n setPosition(userDetails.position || notAvailable)\r\n\r\n setCountry(userDetails.country || notAvailable)\r\n setState(userDetails.state || notAvailable)\r\n setStreet(userDetails.street || notAvailable)\r\n setZipCode(userDetails.zipCode || notAvailable)\r\n setCity(userDetails.city || notAvailable)\r\n\r\n setCompanyName(userDetails.company?.name || notAvailable)\r\n setCompanyStreet(userDetails.company?.street || notAvailable)\r\n setCompanyZipCode(userDetails.company?.zipCode || notAvailable)\r\n setCompanyCity(userDetails.company?.city || notAvailable)\r\n setCompanyCountry(userDetails.company?.country || notAvailable)\r\n }, [ userDetails ])\r\n\r\n const onChangeUserDetails = () => {\r\n changeUserDetails(\r\n {\r\n id: authUser.id,\r\n firstName,\r\n lastName,\r\n email,\r\n phone,\r\n position,\r\n country,\r\n state,\r\n street,\r\n zipCode,\r\n city,\r\n company: userDetails.company ? {\r\n id: userDetails.company.id,\r\n name: companyName,\r\n street: companyStreet,\r\n zipCode: companyZipCode,\r\n city: companyCity,\r\n country: companyCountry\r\n } : undefined\r\n }\r\n )\r\n }\r\n\r\n return (\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 \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\nexport default UserSettings\r\n\r\nconst Container = styled.div<{isDarkMode: boolean}>`\r\n width: 95%;\r\n height: 100%;\r\n margin: 0 auto;\r\n padding-top: 2em;\r\n padding-bottom: 2em;\r\n border-radius: 2em;\r\n background-color: ${({ isDarkMode }) => isDarkMode ? '#1e1e1e' : 'white'};\r\n`\r\n\r\nconst SegmentContainer = styled.div`\r\n width: 90%;\r\n margin: 0 auto 4em auto;\r\n padding: 1.5em;\r\n border-radius: 2em;\r\n border: 0.1em dashed darkgrey;\r\n`","/**\n * 创建DOM 节点\n * @param {String} str Dom 字符串\n * @return {HTMLElement} DOM 节点\n */\n\nlet TABLE:HTMLTableElement;\nlet TABLE_TR:HTMLTableRowElement;\nlet FRAGMENT_REG:RegExp;\nlet CONTAINERS:{\n '*': HTMLDivElement;\n [key:string]: any;\n};\n\nfunction initConstants() {\n TABLE = document.createElement('table');\n TABLE_TR = document.createElement('tr');\n FRAGMENT_REG = /^\\s*<(\\w+|!)[^>]*>/;\n CONTAINERS = {\n tr: document.createElement('tbody'),\n tbody: TABLE,\n thead: TABLE,\n tfoot: TABLE,\n td: TABLE_TR,\n th: TABLE_TR,\n '*': document.createElement('div'),\n };\n}\n\nexport default function createDom(str:string): any {\n if (!TABLE) {\n initConstants();\n }\n let name = FRAGMENT_REG.test(str) && RegExp.$1;\n if (!name || !(name in CONTAINERS)) {\n name = '*';\n }\n const container = CONTAINERS[name];\n str = typeof str === 'string' ? str.replace(/(^\\s*)|(\\s*$)/g, '') : str;\n container.innerHTML = '' + str;\n const dom = container.childNodes[0];\n if (dom && container.contains(dom)) {\n container.removeChild(dom);\n }\n return dom;\n}\n","import { IG } from '../dependents';\n\nconst ENGINES: Record = {};\n\n/**\n * 通过名字获取渲染 engine\n * @param name 渲染引擎名字\n * @returns G engine\n */\nexport function getEngine(name: string): IG {\n const G = ENGINES[name];\n\n if (!G) {\n throw new Error(`G engine '${name}' is not exist, please register it at first.`);\n }\n\n return G;\n}\n\n/**\n * 注册渲染引擎\n * @param name\n * @param engine\n */\nexport function registerEngine(name: string, engine: IG) {\n ENGINES[name] = engine;\n}\n","export default function modifyCSS(dom: HTMLElement, css: { [key:string]: any }): HTMLElement {\n if (dom) {\n for (const key in css) {\n if (css.hasOwnProperty(key)) {\n dom.style[key] = css[key];\n }\n }\n }\n return dom;\n}\n","import { MIN_CHART_HEIGHT, MIN_CHART_WIDTH } from '../constant';\nimport { Size } from '../interface';\n\n/**\n * get the element's bounding size\n * @param ele dom element\n * @returns the element width and height\n */\nfunction getElementSize(ele: HTMLElement): Size {\n const style = getComputedStyle(ele);\n\n return {\n width:\n (ele.clientWidth || parseInt(style.width, 10)) -\n parseInt(style.paddingLeft, 10) -\n parseInt(style.paddingRight, 10),\n height:\n (ele.clientHeight || parseInt(style.height, 10)) -\n parseInt(style.paddingTop, 10) -\n parseInt(style.paddingBottom, 10),\n };\n}\n\n/**\n * is value a valid number\n * @param v the input value\n * @returns whether it is a number\n */\nfunction isNumber(v: any): boolean {\n return typeof v === 'number' && !isNaN(v);\n}\n\n/**\n * @ignore\n * calculate the chart size\n * @param ele DOM element\n * @param autoFit should auto fit\n * @param width chart width which is set by user\n * @param height chart height which is set by user\n * @returns the chart width and height\n */\nexport function getChartSize(ele: HTMLElement, autoFit: boolean, width: number, height: number): Size {\n let w = width;\n let h = height;\n\n if (autoFit) {\n const size = getElementSize(ele);\n\n w = size.width ? size.width : w;\n h = size.height ? size.height : h;\n }\n\n return {\n width: Math.max(isNumber(w) ? w : MIN_CHART_WIDTH, MIN_CHART_WIDTH),\n height: Math.max(isNumber(h) ? h : MIN_CHART_HEIGHT, MIN_CHART_HEIGHT),\n };\n}\n\n/**\n * @ignore\n * remove html element from its parent\n * @param dom\n */\nexport function removeDom(dom: HTMLElement) {\n const parent = dom.parentNode;\n\n if (parent) {\n parent.removeChild(dom);\n }\n}\n\n/** @ignore */\nexport { createDom, modifyCSS } from '@antv/dom-util';\n","import EE from '@antv/event-emitter';\n\ninterface BaseCfg {\n visible?: boolean;\n}\n\n/**\n * G2 Chart、View、Geometry 以及 Element 等的基类,提供事件以及一些通用的方法。\n */\nexport default class Base extends EE {\n /** 是否可见 */\n public visible: boolean;\n /** 标识对象是否已销毁 */\n public destroyed: boolean = false;\n\n constructor(cfg: BaseCfg) {\n super();\n const { visible = true } = cfg;\n this.visible = visible;\n }\n\n /**\n * 显示。\n */\n public show() {\n const visible = this.visible;\n if (!visible) {\n this.changeVisible(true);\n }\n }\n\n /**\n * 隐藏。\n */\n public hide() {\n const visible = this.visible;\n if (visible) {\n this.changeVisible(false);\n }\n }\n\n /**\n * 销毁。\n */\n public destroy() {\n this.off();\n this.destroyed = true;\n }\n\n /**\n * 显示或者隐藏。\n * @param visible\n * @returns\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.visible = visible;\n }\n}\n","import * as _ from '@antv/util';\nimport { DEFAULT_Y } from '../constant';\nimport { AdjustCfg, Data, Range } from '../interface';\n\nexport type AdjustConstructor = new (cfg: any) => Adjust;\n\nexport interface DimValuesMapType {\n [dim: string]: number[];\n}\n\nexport default abstract class Adjust {\n /** 参与调整的维度 */\n public adjustNames: string[];\n /** x 维度对应的字段 */\n public xField: string;\n /** y 维度对应的字段 */\n public yField: string;\n\n // Dodge 属性\n /** 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 */\n public dodgeRatio: number;\n /** 调整过程中 2 个数据的间距,以 dodgeRatio 为分母 */\n public marginRatio: number;\n /** 指定进行 dodge 的字段 */\n public dodgeBy: string;\n /** 自定义 offset */\n public customOffset: ((data: any, range: any) => number) | number;\n\n // Stack 属性\n public height: number;\n public size: number;\n public reverseOrder: boolean;\n\n /** 像素级组间距 */\n public intervalPadding: number;\n /** 像素级组内间距 */\n public dodgePadding: number;\n /** x维度长度,计算归一化padding使用 */\n public xDimensionLegenth: number;\n /** 分组数 */\n public groupNum: number;\n\n // 图形宽度相关配置\n /** 用户配置宽度 */\n public defaultSize: number;\n /** 最大宽度约束 */\n public maxColumnWidth: number;\n /** 最小宽度约束 */\n public minColumnWidth: number;\n /** 宽度比例 */\n public columnWidthRatio: number;\n\n /** 用户自定义的dimValuesMap */\n public dimValuesMap: DimValuesMapType;\n\n constructor(cfg: AdjustCfg & { dimValuesMap?: DimValuesMapType }) {\n const { xField, yField, adjustNames = ['x', 'y'], dimValuesMap } = cfg;\n\n this.adjustNames = adjustNames;\n this.xField = xField;\n this.yField = yField;\n this.dimValuesMap = dimValuesMap;\n }\n\n // 需要各自实现的方法\n public abstract process(dataArray: Data[][]): Data[][];\n\n /**\n * 查看维度是否是 adjust 字段\n * @param dim\n */\n public isAdjust(dim: string): boolean {\n return this.adjustNames.indexOf(dim) >= 0;\n }\n\n protected getAdjustRange(dim: string, dimValue: number, values: number[]): Range {\n const { yField } = this;\n\n const index = values.indexOf(dimValue);\n const length = values.length;\n\n let pre;\n let next;\n\n // 没有 y 字段,但是需要根据 y 调整\n if (!yField && this.isAdjust('y')) {\n pre = 0;\n next = 1;\n } else if (length > 1) {\n // 如果以其开头,则取之,否则取他前面一个\n pre = values[index === 0 ? 0 : index - 1];\n // 如果以其结尾,则取之,否则取他后面一个\n next = values[index === length - 1 ? length - 1 : index + 1];\n\n if (index !== 0) {\n pre += (dimValue - pre) / 2;\n } else {\n pre -= (next - dimValue) / 2;\n }\n\n if (index !== length - 1) {\n next -= (next - dimValue) / 2;\n } else {\n next += (dimValue - values[length - 2]) / 2;\n }\n } else {\n pre = dimValue === 0 ? 0 : dimValue - 0.5;\n next = dimValue === 0 ? 1 : dimValue + 0.5;\n }\n\n return {\n pre,\n next,\n };\n }\n\n protected adjustData(groupedDataArray: Data[][], mergedData: Data[]) {\n // 所有调整维度的值数组\n const dimValuesMap = this.getDimValues(mergedData);\n\n // 按照每一个分组来进行调整\n _.each(groupedDataArray, (dataArray, index) => {\n // 遍历所有数据集合\n // 每个分组中,分别按照不同的 dim 进行调整\n _.each(dimValuesMap, (values: number[], dim: string) => {\n // 根据不同的度量分别调整位置\n this.adjustDim(dim, values, dataArray, index);\n });\n });\n }\n\n /**\n * 对数据进行分组adjustData\n * @param data 数据\n * @param dim 分组的字段\n * @return 分组结果\n */\n protected groupData(data: Data[], dim: string): { [dim: string]: Data[] } {\n // 补齐数据空数据为默认值\n _.each(data, (record: Data) => {\n if (record[dim] === undefined) {\n record[dim] = DEFAULT_Y;\n }\n });\n\n // 按照 dim 维度分组\n return _.groupBy(data, dim);\n }\n\n /** @override */\n protected adjustDim(dim: string, values: number[], data: Data[], index?: number): void {}\n\n /**\n * 获取可调整度量对应的值\n * @param mergedData 数据\n * @return 值的映射\n */\n private getDimValues(mergedData: Data[]): DimValuesMapType {\n const { xField, yField } = this;\n\n const dimValuesMap: DimValuesMapType = _.assign({}, this.dimValuesMap);\n\n // 所有的维度\n const dims = [];\n if (xField && this.isAdjust('x')) {\n dims.push(xField);\n }\n if (yField && this.isAdjust('y')) {\n dims.push(yField);\n }\n\n dims.forEach((dim: string): void => {\n if (dimValuesMap && dimValuesMap[dim]) {\n return;\n }\n // 在每个维度上,所有的值\n dimValuesMap[dim] = _.valuesOfKey(mergedData, dim).sort((v1, v2) => v1 - v2) as number[];\n });\n\n // 只有一维的情况下,同时调整 y,赋予默认值\n if (!yField && this.isAdjust('y')) {\n const dim = 'y';\n dimValuesMap[dim] = [DEFAULT_Y, 1]; // 默认分布在 y 轴的 0 与 1 之间\n }\n\n return dimValuesMap;\n }\n}\n","export const DEFAULT_Y = 0; // 默认的 y 的值\n\n// 偏移之后,间距\nexport const MARGIN_RATIO = 1 / 2;\nexport const DODGE_RATIO = 1 / 2;\n\n// 散点分开之后,距离边界的距离\nexport const GAP = 0.05;\n","import Adjust, { AdjustConstructor } from './adjusts/adjust';\n\ninterface AdjustMapType {\n [type: string]: AdjustConstructor;\n}\n\nconst ADJUST_MAP: AdjustMapType = {};\n\n/**\n * 根据类型获取 Adjust 类\n * @param type\n */\nconst getAdjust = (type: string): AdjustConstructor => {\n return ADJUST_MAP[type.toLowerCase()];\n};\n\n/**\n * 注册自定义 Adjust\n * @param type\n * @param ctor\n */\nconst registerAdjust = (type: string, ctor: AdjustConstructor): void => {\n // 注册的时候,需要校验 type 重名,不区分大小写\n if (getAdjust(type)) {\n throw new Error(`Adjust type '${type}' existed.`);\n }\n // 存储到 map 中\n ADJUST_MAP[type.toLowerCase()] = ctor;\n};\n\nexport { getAdjust, registerAdjust, Adjust };\n\nexport * from './interface';\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import * as _ from '@antv/util';\nimport { DODGE_RATIO, MARGIN_RATIO } from '../constant';\nimport { Data, DodgeCfg, Range } from '../interface';\nimport Adjust from './adjust';\n\nexport default class Dodge extends Adjust {\n private cacheMap: { [key: string]: any } = {};\n private adjustDataArray: Data[][] = [];\n private mergeData: Data[] = [];\n\n constructor(cfg: DodgeCfg) {\n super(cfg);\n const {\n marginRatio = MARGIN_RATIO,\n dodgeRatio = DODGE_RATIO,\n dodgeBy,\n intervalPadding,\n dodgePadding,\n xDimensionLength,\n groupNum,\n defaultSize,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n customOffset\n } = cfg;\n this.marginRatio = marginRatio;\n this.dodgeRatio = dodgeRatio;\n this.dodgeBy = dodgeBy;\n this.intervalPadding = intervalPadding;\n this.dodgePadding = dodgePadding;\n this.xDimensionLegenth = xDimensionLength;\n this.groupNum = groupNum;\n this.defaultSize = defaultSize;\n this.maxColumnWidth = maxColumnWidth;\n this.minColumnWidth = minColumnWidth;\n this.columnWidthRatio = columnWidthRatio;\n this.customOffset = customOffset;\n }\n\n public process(groupDataArray: Data[][]): Data[][] {\n const groupedDataArray = _.clone(groupDataArray);\n // 将数据数组展开一层\n const mergeData = _.flatten(groupedDataArray);\n\n const { dodgeBy } = this;\n\n // 如果指定了分组 dim 的字段\n const adjustDataArray = dodgeBy ? _.group(mergeData, dodgeBy) : groupedDataArray;\n\n this.cacheMap = {};\n this.adjustDataArray = adjustDataArray;\n this.mergeData = mergeData;\n\n this.adjustData(adjustDataArray, mergeData);\n\n this.adjustDataArray = [];\n this.mergeData = [];\n\n return groupedDataArray;\n }\n\n protected adjustDim(dim: string, values: number[], data: Data[], frameIndex: number): any[] {\n const { customOffset } = this;\n const map = this.getDistribution(dim);\n const groupData = this.groupData(data, dim); // 根据值分组\n \n _.each(groupData, (group, key) => {\n let range: Range;\n\n // xField 中只有一个值,不需要做 dodge\n if (values.length === 1) {\n range = {\n pre: values[0] - 1,\n next: values[0] + 1,\n };\n } else {\n // 如果有多个,则需要获取调整的范围\n range = this.getAdjustRange(dim, parseFloat(key), values);\n }\n _.each(group, (d) => {\n const value = d[dim];\n const valueArr = map[value];\n const valIndex = valueArr.indexOf(frameIndex);\n if (!_.isNil(customOffset)) {\n const { pre, next } = range;\n d[dim] = _.isFunction(customOffset) ? customOffset(d, range) : (pre + next) / 2 + customOffset;\n } else {\n d[dim] = this.getDodgeOffset(range, valIndex, valueArr.length);\n }\n });\n });\n return [];\n }\n\n private getDodgeOffset(range: Range, idx: number, len: number): number {\n const {\n dodgeRatio,\n marginRatio,\n intervalPadding,\n dodgePadding,\n } = this;\n const { pre, next } = range;\n\n const tickLength = next - pre;\n let position;\n // 分多种输入情况\n if (!_.isNil(intervalPadding) && _.isNil(dodgePadding) && intervalPadding >= 0) {\n // 仅配置intervalPadding\n const offset = this.getIntervalOnlyOffset(len, idx);\n position = pre + offset;\n } else if (!_.isNil(dodgePadding) && _.isNil(intervalPadding) && dodgePadding >= 0) {\n // 仅配置dodgePadding\n const offset = this.getDodgeOnlyOffset(len, idx);\n position = pre + offset;\n } else if (\n !_.isNil(intervalPadding) &&\n !_.isNil(dodgePadding) &&\n intervalPadding >= 0 &&\n dodgePadding >= 0\n ) {\n // 同时配置intervalPadding和dodgePadding\n const offset = this.getIntervalAndDodgeOffset(len, idx);\n position = pre + offset;\n } else {\n // 默认情况\n const width = (tickLength * dodgeRatio) / len;\n const margin = marginRatio * width;\n const offset =\n (1 / 2) * (tickLength - len * width - (len - 1) * margin) +\n ((idx + 1) * width + idx * margin) -\n (1 / 2) * width -\n (1 / 2) * tickLength;\n position = (pre + next) / 2 + offset;\n }\n return position;\n }\n\n private getIntervalOnlyOffset(len: number, idx: number): number {\n const {\n defaultSize,\n intervalPadding,\n xDimensionLegenth,\n groupNum,\n dodgeRatio,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n } = this;\n const normalizedIntervalPadding = intervalPadding / xDimensionLegenth;\n let normalizedDodgePadding = (1 - (groupNum - 1) * normalizedIntervalPadding) / groupNum * dodgeRatio / (len - 1);\n let geomWidth = ((1 - normalizedIntervalPadding * (groupNum - 1)) / groupNum - normalizedDodgePadding * (len - 1)) / len;\n // 根据columnWidthRatio/defaultSize/maxColumnWidth/minColumnWidth调整宽度\n geomWidth = (!_.isNil(columnWidthRatio)) ? 1 / groupNum / len * columnWidthRatio : geomWidth;\n if (!_.isNil(maxColumnWidth)) {\n const normalizedMaxWidht = maxColumnWidth / xDimensionLegenth;\n geomWidth = Math.min(geomWidth, normalizedMaxWidht);\n }\n if (!_.isNil(minColumnWidth)) {\n const normalizedMinWidht = minColumnWidth / xDimensionLegenth;\n geomWidth = Math.max(geomWidth, normalizedMinWidht);\n }\n geomWidth = defaultSize ? (defaultSize / xDimensionLegenth) : geomWidth;\n // 调整组内间隔\n normalizedDodgePadding = ((1 - (groupNum - 1) * normalizedIntervalPadding) / groupNum - len * geomWidth) / (len - 1);\n const offset =\n ((1 / 2 + idx) * geomWidth + idx * normalizedDodgePadding +\n (1 / 2) * normalizedIntervalPadding) * groupNum -\n normalizedIntervalPadding / 2;\n return offset;\n }\n\n private getDodgeOnlyOffset(len: number, idx: number): number {\n const {\n defaultSize,\n dodgePadding,\n xDimensionLegenth,\n groupNum,\n marginRatio,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n } = this;\n const normalizedDodgePadding = dodgePadding / xDimensionLegenth;\n let normalizedIntervalPadding = 1 * marginRatio / (groupNum - 1);\n let geomWidth = ((1 - normalizedIntervalPadding * (groupNum - 1)) / groupNum - normalizedDodgePadding * (len - 1)) / len;\n // 根据columnWidthRatio/defaultSize/maxColumnWidth/minColumnWidth调整宽度\n geomWidth = columnWidthRatio ? 1 / groupNum / len * columnWidthRatio : geomWidth;\n if (!_.isNil(maxColumnWidth)) {\n const normalizedMaxWidht = maxColumnWidth / xDimensionLegenth;\n geomWidth = Math.min(geomWidth, normalizedMaxWidht);\n }\n if (!_.isNil(minColumnWidth)) {\n const normalizedMinWidht = minColumnWidth / xDimensionLegenth;\n geomWidth = Math.max(geomWidth, normalizedMinWidht);\n }\n geomWidth = defaultSize ? (defaultSize / xDimensionLegenth) : geomWidth;\n // 调整组间距\n normalizedIntervalPadding = (1 - (geomWidth * len + normalizedDodgePadding * (len - 1)) * groupNum) / (groupNum - 1);\n const offset =\n ((1 / 2 + idx) * geomWidth + idx * normalizedDodgePadding +\n (1 / 2) * normalizedIntervalPadding) * groupNum -\n normalizedIntervalPadding / 2;\n return offset;\n }\n\n private getIntervalAndDodgeOffset(len: number, idx: number): number {\n const {\n intervalPadding,\n dodgePadding,\n xDimensionLegenth,\n groupNum,\n } = this;\n const normalizedIntervalPadding = intervalPadding / xDimensionLegenth;\n const normalizedDodgePadding = dodgePadding / xDimensionLegenth;\n const geomWidth = ((1 - normalizedIntervalPadding * (groupNum - 1)) / groupNum - normalizedDodgePadding * (len - 1)) / len;\n const offset =\n ((1 / 2 + idx) * geomWidth + idx * normalizedDodgePadding +\n (1 / 2) * normalizedIntervalPadding) * groupNum -\n normalizedIntervalPadding / 2;\n return offset;\n }\n\n private getDistribution(dim: string) {\n const groupedDataArray = this.adjustDataArray;\n const cacheMap = this.cacheMap;\n let map = cacheMap[dim];\n\n if (!map) {\n map = {};\n _.each(groupedDataArray, (data, index) => {\n const values = _.valuesOfKey(data, dim) as number[];\n if (!values.length) {\n values.push(0);\n }\n _.each(values, (val: number) => {\n if (!map[val]) {\n map[val] = [];\n }\n map[val].push(index);\n });\n });\n cacheMap[dim] = map;\n }\n\n return map;\n }\n}\n","import * as _ from '@antv/util';\nimport { GAP } from '../constant';\nimport { Data, Range } from '../interface';\nimport Adjust from './adjust';\n\nfunction randomNumber(min: number, max: number): number {\n return (max - min) * Math.random() + min;\n}\n\nexport default class Jitter extends Adjust {\n public process(groupDataArray: Data[][]): Data[][] {\n const groupedDataArray = _.clone(groupDataArray);\n\n // 之前分组之后的数据,然后有合并回去(和分组前可以理解成是一样的)\n const mergeData = _.flatten(groupedDataArray) as Data[];\n\n // 返回值\n this.adjustData(groupedDataArray, mergeData);\n\n return groupedDataArray;\n }\n\n /**\n * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整\n * @param dim\n * @param values\n * @param dataArray\n */\n protected adjustDim(dim: string, values: number[], dataArray: Data[]) {\n // 在每一个分组中,将数据再按照 dim 分组,用于散列\n const groupDataArray = this.groupData(dataArray, dim);\n return _.each(groupDataArray, (data: Data[], dimValue: string) => {\n return this.adjustGroup(data, dim, parseFloat(dimValue), values);\n });\n }\n\n // 随机出来的字段值\n private getAdjustOffset(range: Range): number {\n const { pre, next } = range;\n // 随机的范围\n const margin = (next - pre) * GAP;\n return randomNumber(pre + margin, next - margin);\n }\n\n // adjust group data\n private adjustGroup(group: Data[], dim: string, dimValue: number, values: number[]): Data[] {\n // 调整范围\n const range = this.getAdjustRange(dim, dimValue, values);\n\n _.each(group, (data: Data) => {\n data[dim] = this.getAdjustOffset(range); // 获取调整的位置\n });\n return group;\n }\n}\n","import * as _ from '@antv/util';\nimport { Data, StackCfg } from '../interface';\nimport Adjust from './adjust';\n\nconst Cache = _.Cache;\n\nexport default class Stack extends Adjust {\n constructor(cfg: StackCfg) {\n super(cfg);\n\n const { adjustNames = ['y'], height = NaN, size = 10, reverseOrder = false } = cfg;\n this.adjustNames = adjustNames;\n this.height = height;\n this.size = size;\n this.reverseOrder = reverseOrder;\n }\n\n /**\n * 方法入参是经过数据分组、数据数字化之后的二维数组\n * @param groupDataArray 分组之后的数据\n */\n public process(groupDataArray: Data[][]): Data[][] {\n const { yField, reverseOrder } = this;\n\n // 如果有指定 y 字段,那么按照 y 字段来 stack\n // 否则,按照高度均分\n const d = yField ? this.processStack(groupDataArray) : this.processOneDimStack(groupDataArray);\n\n return reverseOrder ? this.reverse(d) : d;\n }\n\n private reverse(groupedDataArray: Data[][]): Data[][] {\n return groupedDataArray.slice(0).reverse();\n }\n\n private processStack(groupDataArray: Data[][]): Data[][] {\n const { xField, yField, reverseOrder } = this;\n\n // 层叠顺序翻转\n const groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray;\n\n // 用来缓存,正数和负数的堆叠问题\n const positive = new Cache();\n const negative = new Cache();\n\n return groupedDataArray.map((dataArray) => {\n return dataArray.map((data) => {\n const x: number = _.get(data, xField, 0);\n let y: number = _.get(data, [yField]);\n\n const xKey = x.toString();\n\n // todo 是否应该取 _origin?因为 y 可能取到的值不正确,比如先 symmetric,再 stack!\n y = _.isArray(y) ? y[1] : y;\n\n if (!_.isNil(y)) {\n const cache = y >= 0 ? positive : negative;\n\n if (!cache.has(xKey)) {\n cache.set(xKey, 0);\n }\n const xValue = cache.get(xKey) as number;\n const newXValue = y + xValue;\n\n // 存起来\n cache.set(xKey, newXValue);\n\n return {\n ...data,\n // 叠加成数组,覆盖之前的数据\n [yField]: [xValue, newXValue],\n };\n }\n\n // 没有修改,则直接返回\n return data;\n });\n });\n }\n\n private processOneDimStack(groupDataArray: Data[][]): Data[][] {\n const { xField, height, reverseOrder } = this;\n const yField = 'y';\n\n // 如果层叠的顺序翻转\n const groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray;\n\n // 缓存累加数据\n const cache = new Cache();\n\n return groupedDataArray.map((dataArray): Data[] => {\n return dataArray.map(\n (data): Data => {\n const { size } = this;\n const xValue: string = data[xField];\n\n // todo 没有看到这个 stack 计算原理\n const stackHeight = (size * 2) / height;\n\n if (!cache.has(xValue)) {\n cache.set(xValue, stackHeight / 2); // 初始值大小\n }\n\n const stackValue = cache.get(xValue) as number;\n // 增加一层 stackHeight\n cache.set(xValue, stackValue + stackHeight);\n\n return {\n ...data,\n [yField]: stackValue,\n };\n }\n );\n });\n }\n}\n","import * as _ from '@antv/util';\nimport { Data } from '../interface';\nimport Adjust from './adjust';\n\nexport default class Symmetric extends Adjust {\n public process(groupDataArray: Data[][]): Data[][] {\n const mergeData = _.flatten(groupDataArray);\n\n const { xField, yField } = this;\n\n // 每个 x 值对应的 最大值\n const cache = this.getXValuesMaxMap(mergeData);\n\n // 所有数据的最大的值\n const max = Math.max(...Object.keys(cache).map((key) => cache[key]));\n\n return _.map(groupDataArray, (dataArray) => {\n return _.map(dataArray, (data) => {\n const yValue = data[yField];\n const xValue = data[xField];\n\n // 数组处理逻辑\n if (_.isArray(yValue)) {\n const off = (max - cache[xValue]) / 2;\n\n return {\n ...data,\n [yField]: _.map(yValue, (y: number) => off + y),\n };\n }\n\n // 非数组处理逻辑\n const offset = (max - yValue) / 2;\n return {\n ...data,\n [yField]: [offset, yValue + offset],\n };\n });\n });\n }\n\n // 获取每个 x 对应的最大的值\n private getXValuesMaxMap(mergeData: Data[]): { [key: string]: number } {\n const { xField, yField } = this;\n\n // 根据 xField 的值进行分组\n const groupDataArray = _.groupBy(mergeData, (data) => data[xField] as string);\n\n // 获取每个 xField 值中的最大值\n return _.mapValues(groupDataArray, (dataArray) => this.getDimMaxValue(dataArray, yField));\n }\n\n private getDimMaxValue(mergeData: Data[], dim: string): number {\n // 所有的 value 值\n const dimValues = _.map(mergeData, (data) => _.get(data, dim, []));\n // 将数组打平(dim value 有可能是数组,比如 stack 之后的)\n const flattenValues = _.flatten(dimValues);\n\n // 求出数组的最大值\n return Math.max(...flattenValues);\n }\n}\n","import { getAdjust, registerAdjust } from './factory';\n\nimport Adjust from './adjusts/adjust';\n\nimport Dodge from './adjusts/dodge';\nimport Jitter from './adjusts/jitter';\nimport Stack from './adjusts/stack';\nimport Symmetric from './adjusts/symmetric';\n\n// 注册内置的 adjust\nregisterAdjust('Dodge', Dodge);\nregisterAdjust('Jitter', Jitter);\nregisterAdjust('Stack', Stack);\nregisterAdjust('Symmetric', Symmetric);\n\n// 最终暴露给外部的方法\nexport { getAdjust, registerAdjust, Adjust };\n\nexport * from './interface';\n","import { each, identity, isArray, isNil, isString, mix } from '@antv/util';\nimport { AttributeCfg, CallbackType, Scale } from '../interface';\n\n// todo 这个到底目的是什么?\nconst toScaleString = (scale: Scale, value: any): any => {\n if (isString(value)) {\n return value;\n }\n return scale.invert(scale.scale(value));\n};\n\nexport type AttributeConstructor = new (cfg: any) => Attribute;\n\n/**\n * 所有视觉通道属性的基类\n * @class Base\n */\nexport default class Attribute {\n public type: string;\n public names: string[] = [];\n public scales: Scale[] = [];\n public linear: boolean = false;\n\n public values: any[] = [];\n\n constructor(cfg: AttributeCfg) {\n // 解析配置\n this._parseCfg(cfg);\n }\n public callback: CallbackType = () => [];\n\n /**\n * 映射的值组成的数组\n * @param params 对应 scale 顺序的值传入\n */\n public mapping(...params: any[]): any[] {\n const values = params.map((param, idx) => {\n return this._toOriginParam(param, this.scales[idx]);\n });\n\n return this.callback.apply(this, values);\n }\n\n /**\n * 如果进行线性映射,返回对应的映射值\n * @param percent\n */\n public getLinearValue(percent: number): number | string {\n // 分段数量\n const steps = this.values.length - 1;\n\n const step = Math.floor(steps * percent);\n const leftPercent = steps * percent - step;\n\n // todo 不懂这个逻辑\n const start = this.values[step];\n const end = step === steps ? start : this.values[step + 1];\n\n // 线性方程\n return start + (end - start) * leftPercent;\n }\n\n /**\n * 根据度量获取属性名\n */\n public getNames() {\n const scales = this.scales;\n const names = this.names;\n\n const length = Math.min(scales.length, names.length);\n const rst = [];\n for (let i = 0; i < length; i += 1) {\n rst.push(names[i]);\n }\n return rst;\n }\n\n /**\n * 获取所有的维度名\n */\n public getFields() {\n return this.scales.map((scale) => scale.field);\n }\n\n /**\n * 根据名称获取度量\n * @param name\n */\n public getScale(name: string) {\n return this.scales[this.names.indexOf(name)];\n }\n\n /**\n * 默认的回调函数(用户没有自定义 callback,或者用户自定义 callback 返回空的时候,使用 values 映射)\n * @param params\n */\n private defaultCallback(...params: any[]): any[] {\n // 没有 params 的情况,是指没有指定 fields,直接返回配置的 values 常量\n if (params.length === 0) {\n return this.values;\n }\n\n return params.map((param, idx) => {\n const scale = this.scales[idx];\n\n return scale.type === 'identity' ? scale.values[0] : this._getAttributeValue(scale, param);\n });\n }\n\n // 解析配置\n private _parseCfg(cfg: AttributeCfg) {\n const { type = 'base', names = [], scales = [], values = [], callback } = cfg;\n\n this.type = type;\n\n this.scales = scales;\n this.values = values;\n this.names = names;\n\n // 构造 callback 方法\n this.callback = (...params: any[]): any[] => {\n /**\n * 当用户设置的 callback 返回 null 时, 应该返回默认 callback 中的值\n */\n if (callback) {\n // 使用用户返回的值处理\n const ret = callback(...params);\n if (!isNil(ret)) {\n return [ret];\n }\n }\n\n // 没有 callback 或者用户 callback 返回值为空,则使用默认的逻辑处理\n return this.defaultCallback.apply(this, params);\n };\n }\n\n // 获取属性值,将值映射到视觉通道\n private _getAttributeValue(scale: Scale, value: any) {\n // 如果是非线性的字段,直接从 values 中取值即可\n if (scale.isCategory && !this.linear) {\n // 离散 scale 变换成索引\n const idx = scale.translate(value) as number;\n return this.values[idx % this.values.length];\n }\n\n // 线性则使用线性值\n const percent = scale.scale(value);\n return this.getLinearValue(percent);\n }\n\n /**\n * 通过 scale 拿到数据对应的原始的参数\n * @param param\n * @param scale\n * @private\n */\n private _toOriginParam(param: any, scale: Scale) {\n // 是线性,直接返回\n // 非线性,使用 scale 变换\n return !scale.isLinear\n ? isArray(param)\n ? param.map((p: any) => toScaleString(scale, p))\n : toScaleString(scale, param)\n : param;\n }\n}\n","import { map, memoize, isString, each } from '@antv/util';\n\nconst RGB_REG = /rgba?\\(([\\s.,0-9]+)\\)/;\nconst regexLG = /^l\\s*\\(\\s*([\\d.]+)\\s*\\)\\s*(.*)/i;\nconst regexRG = /^r\\s*\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*\\)\\s*(.*)/i;\nconst regexColorStop = /[\\d.]+:(#[^\\s]+|[^\\)]+\\))/gi;\n\nconst isGradientColor = (val) => /^[r,R,L,l]{1}[\\s]*\\(/.test(val);\n\n// 创建辅助 tag 取颜色\nconst createTmp = (): HTMLElement => {\n const i = document.createElement('i');\n i.title = 'Web Colour Picker';\n i.style.display = 'none';\n document.body.appendChild(i);\n return i;\n};\n\n// 获取颜色之间的插值\nconst getValue = (start: number[], end: number[], percent: number, index: number): number => {\n return start[index] + (end[index] - start[index]) * percent;\n};\n\n// 数组转换成颜色\nfunction arr2rgb(arr: number[]): string {\n return `#${toHex(arr[0])}${toHex(arr[1])}${toHex(arr[2])}`;\n}\n\n// rgb 颜色转换成数组\nconst rgb2arr = (str: string): number[] => {\n return [\n parseInt(str.substr(1, 2), 16),\n parseInt(str.substr(3, 2), 16),\n parseInt(str.substr(5, 2), 16),\n ];\n};\n\n// 将数值从 0-255 转换成16进制字符串\nconst toHex = (value: number): string => {\n const x16Value = Math.round(value).toString(16);\n\n return x16Value.length === 1 ? `0${x16Value}` : x16Value;\n};\n\n// 计算颜色\nconst calColor = (points: number[][], percent: number) => {\n const fixedPercent = isNaN(Number(percent)) || percent < 0 ? 0 :\n percent > 1 ? 1 :\n Number(percent);\n\n const steps = points.length - 1;\n\n const step = Math.floor(steps * fixedPercent);\n\n const left = steps * fixedPercent - step;\n\n const start = points[step];\n\n const end = step === steps ? start : points[step + 1];\n\n return arr2rgb([\n getValue(start, end, left, 0),\n getValue(start, end, left, 1),\n getValue(start, end, left, 2),\n ]);\n};\n\n// 用于给 toRGB 的缓存(使用 memoize 方法替换)\n// const colorCache = {};\nlet iEl: HTMLElement;\n\n/**\n * 将颜色转换到 rgb 的格式\n * @param {color} color 颜色\n * @return 将颜色转换到 '#ffffff' 的格式\n */\nconst toRGB = (color: string): string => {\n // 如果已经是 rgb的格式\n if (color[0] === '#' && color.length === 7) {\n return color;\n }\n\n if (!iEl) {\n // 防止防止在页头报错\n iEl = createTmp();\n }\n\n iEl.style.color = color;\n\n let rst = document.defaultView.getComputedStyle(iEl, '').getPropertyValue('color');\n\n const matches = RGB_REG.exec(rst) as string[] ;\n const cArray: number[] = matches[1].split(/\\s*,\\s*/).map((s) => Number(s));\n\n rst = arr2rgb(cArray);\n\n return rst;\n};\n\n/**\n * 获取渐变函数\n * @param colors 多个颜色\n * @return 颜色值\n */\nconst gradient = (colors: string | string[]) => {\n const colorArray = isString(colors) ? (colors as string).split('-') : colors;\n\n const points = map(colorArray, (color) => {\n return rgb2arr(color.indexOf('#') === -1 ? toRGB(color) : color);\n });\n\n // 返回一个函数\n return (percent: number): string => {\n return calColor(points, percent);\n };\n};\n\nconst toCSSGradient = (gradientColor) => {\n if (isGradientColor(gradientColor)) {\n let cssColor;\n let steps;\n if (gradientColor[0] === 'l') {\n // 线性渐变\n const arr = regexLG.exec(gradientColor);\n const angle = +arr[1] + 90; // css 和 g 的渐变起始角度不同\n steps = arr[2];\n\n cssColor = `linear-gradient(${angle}deg, `;\n } else if (gradientColor[0] === 'r') {\n // 径向渐变\n cssColor = 'radial-gradient(';\n const arr = regexRG.exec(gradientColor);\n steps = arr[4];\n }\n\n const colorStops: string[] = steps.match(regexColorStop);\n each(colorStops, (item, index) => {\n const itemArr = item.split(':');\n cssColor += `${itemArr[1]} ${itemArr[0] * 100}%`;\n if (index !== (colorStops.length - 1)) {\n cssColor += ', ';\n }\n });\n\n cssColor += ')';\n\n return cssColor;\n }\n\n return gradientColor;\n};\n\nexport default {\n rgb2arr,\n gradient,\n toRGB: memoize(toRGB),\n toCSSGradient,\n};\n","import colorUtil from '@antv/color-util';\nimport { isString } from '@antv/util';\nimport { AttributeCfg } from '../interface';\nimport Attribute from './base';\n\nexport default class Color extends Attribute {\n public gradient: (percent: number) => string;\n\n constructor(cfg: AttributeCfg) {\n super(cfg);\n this.type = 'color';\n this.names = ['color'];\n\n if (isString(this.values)) {\n this.linear = true;\n }\n\n this.gradient = colorUtil.gradient(this.values);\n }\n\n /**\n * @override\n */\n public getLinearValue(percent: number): string {\n return this.gradient(percent);\n }\n}\n","import { AttributeCfg } from '../interface';\nimport Attribute from './base';\n\nexport default class Opacity extends Attribute {\n constructor(cfg: AttributeCfg) {\n super(cfg);\n this.type = 'opacity';\n this.names = ['opacity'];\n }\n}\n","import { isArray, isNil } from '@antv/util';\nimport { AttributeCfg } from '../interface';\nimport Attribute from './base';\n\nexport type Value = number | string;\nexport type MappingValue = Value[] | Value;\n\nexport default class Position extends Attribute {\n constructor(cfg: AttributeCfg) {\n super(cfg);\n this.names = ['x', 'y'];\n this.type = 'position';\n }\n\n public mapping(x: MappingValue, y: MappingValue) {\n const [scaleX, scaleY] = this.scales;\n\n if (isNil(x) || isNil(y)) {\n return [];\n }\n\n return [\n isArray(x) ? x.map((xi) => scaleX.scale(xi)) : scaleX.scale(x),\n isArray(y) ? y.map((yi) => scaleY.scale(yi)) : scaleY.scale(y),\n ];\n }\n}\n","import { AttributeCfg } from '../interface';\nimport Attribute from './base';\n\nexport default class Shape extends Attribute {\n constructor(cfg: AttributeCfg) {\n super(cfg);\n this.type = 'shape';\n this.names = ['shape'];\n }\n\n /**\n * @override\n */\n public getLinearValue(percent: number): string {\n const idx = Math.round((this.values.length - 1) * percent);\n return this.values[idx];\n }\n}\n","import { AttributeCfg } from '../interface';\nimport Attribute from './base';\n\nexport default class Size extends Attribute {\n constructor(cfg: AttributeCfg) {\n super(cfg);\n this.type = 'size';\n this.names = ['size'];\n }\n}\n","import { TickMethod } from '../types';\ninterface MethodMap {\n [key: string]: TickMethod;\n}\nconst methodCache: MethodMap = {};\n\n/**\n * 获取计算 ticks 的方法\n * @param key 键值\n * @returns 计算 ticks 的方法\n */\nexport function getTickMethod(key: string): TickMethod {\n return methodCache[key];\n}\n\n/**\n * 注册计算 ticks 的方法\n * @param key 键值\n * @param method 方法\n */\nexport function registerTickMethod(key: string, method: TickMethod) {\n methodCache[key] = method;\n}\n","import { assign, isEmpty, isFunction, isNil, isNumber, isObject, isString, map } from '@antv/util';\nimport { getTickMethod } from './tick-method/register';\nimport { ScaleConfig, Tick } from './types';\nexport default abstract class Scale {\n /**\n * 度量的类型\n */\n public type: string = 'base';\n /**\n * 是否分类类型的度量\n */\n public isCategory?: boolean = false;\n /**\n * 是否线性度量,有linear, time 度量\n */\n public isLinear?: boolean = false;\n /**\n * 是否连续类型的度量,linear,time,log, pow, quantile, quantize 都支持\n */\n public isContinuous?: boolean = false;\n /**\n * 是否是常量的度量,传入和传出一致\n */\n public isIdentity: boolean = false;\n\n public field?: ScaleConfig['field'];\n public alias?: ScaleConfig['alias'];\n public values: ScaleConfig['values'] = [];\n public min?: ScaleConfig['min'];\n public max?: ScaleConfig['max'];\n public minLimit?: ScaleConfig['minLimit'];\n public maxLimit?: ScaleConfig['maxLimit'];\n public range: ScaleConfig['range'] = [0, 1];\n public ticks: ScaleConfig['ticks'] = [];\n public tickCount: ScaleConfig['tickCount'];\n public tickInterval: ScaleConfig['tickInterval'];\n public formatter?: ScaleConfig['formatter'];\n public tickMethod?: ScaleConfig['tickMethod'];\n protected __cfg__: ScaleConfig; // 缓存的旧配置, 用于 clone\n\n constructor(cfg: ScaleConfig) {\n this.__cfg__ = cfg;\n this.initCfg();\n this.init();\n }\n\n // 对于原始值的必要转换,如分类、时间字段需转换成数值,用transform/map命名可能更好\n public translate(v: any) {\n return v;\n }\n\n /** 将定义域转换为值域 */\n public abstract scale(value: any): number;\n\n /** 将值域转换为定义域 */\n public abstract invert(scaled: number): any;\n\n /** 重新初始化 */\n public change(cfg: ScaleConfig) {\n // 覆盖配置项,而不替代\n assign(this.__cfg__, cfg);\n this.init();\n }\n\n public clone(): Scale {\n return this.constructor(this.__cfg__);\n }\n\n /** 获取坐标轴需要的ticks */\n public getTicks(): Tick[] {\n return map(this.ticks, (tick: any, idx: number) => {\n if (isObject(tick)) {\n // 仅当符合Tick类型时才有意义\n return tick as Tick;\n }\n return {\n text: this.getText(tick, idx),\n tickValue: tick, // 原始value\n value: this.scale(tick), // scaled\n };\n });\n }\n\n /** 获取Tick的格式化结果 */\n public getText(value: any, key?: number): string {\n const formatter = this.formatter;\n const res = formatter ? formatter(value, key) : value;\n if (isNil(res) || !isFunction(res.toString)) {\n return '';\n }\n return res.toString();\n }\n\n // 获取配置项中的值,当前 scale 上的值可能会被修改\n protected getConfig(key) {\n return this.__cfg__[key];\n }\n\n // scale初始化\n protected init(): void {\n assign(this, this.__cfg__);\n this.setDomain();\n if (isEmpty(this.getConfig('ticks'))) {\n this.ticks = this.calculateTicks();\n }\n }\n\n // 子类上覆盖某些属性,不能直接在类上声明,否则会被覆盖\n protected initCfg() {}\n\n protected setDomain(): void {}\n\n protected calculateTicks(): any[] {\n const tickMethod = this.tickMethod;\n let ticks = [];\n if (isString(tickMethod)) {\n const method = getTickMethod(tickMethod);\n if (!method) {\n throw new Error('There is no method to to calculate ticks!');\n }\n ticks = method(this);\n } else if (isFunction(tickMethod)) {\n ticks = tickMethod(this);\n }\n return ticks;\n }\n\n // range 的最小值\n protected rangeMin() {\n return this.range[0];\n }\n\n // range 的最大值\n protected rangeMax() {\n return this.range[1];\n }\n\n /** 定义域转 0~1 */\n protected calcPercent(value: any, min: number, max: number): number {\n if (isNumber(value)) {\n return (value - min) / (max - min);\n }\n return NaN;\n }\n\n /** 0~1转定义域 */\n protected calcValue(percent: number, min: number, max: number): number {\n return min + percent * (max - min);\n }\n}\n","import { indexOf, isNil, isNumber } from '@antv/util';\nimport Base from '../base';\n\n/**\n * 分类度量\n * @class\n */\nclass Category extends Base {\n public readonly type: string = 'cat';\n public readonly isCategory: boolean = true;\n\n // 用于缓存 translate 函数\n private translateIndexMap;\n\n private buildIndexMap() {\n if (!this.translateIndexMap) {\n this.translateIndexMap = new Map();\n // 重新构建缓存\n for (let i = 0; i < this.values.length; i ++) {\n this.translateIndexMap.set(this.values[i], i);\n }\n }\n }\n\n public translate(value: any): number {\n // 按需构建 map\n this.buildIndexMap();\n // 找得到\n let idx = this.translateIndexMap.get(value);\n \n if (idx === undefined) {\n idx = isNumber(value) ? value : NaN;\n }\n return idx;\n }\n\n public scale(value: any): number {\n const order = this.translate(value);\n // 分类数据允许 0.5 范围内调整\n // if (order < this.min - 0.5 || order > this.max + 0.5) {\n // return NaN;\n // }\n const percent = this.calcPercent(order, this.min, this.max);\n return this.calcValue(percent, this.rangeMin(), this.rangeMax());\n }\n\n public invert(scaledValue: number) {\n const domainRange = this.max - this.min;\n const percent = this.calcPercent(scaledValue, this.rangeMin(), this.rangeMax());\n const idx = Math.round(domainRange * percent) + this.min;\n if (idx < this.min || idx > this.max) {\n return NaN;\n }\n return this.values[idx];\n }\n\n public getText(value: any, ...args: any[]): string {\n let v = value;\n // value为index\n if (isNumber(value) && !this.values.includes(value)) {\n v = this.values[v];\n }\n return super.getText(v, ...args);\n }\n // 复写属性\n protected initCfg() {\n this.tickMethod = 'cat';\n }\n // 设置 min, max\n protected setDomain() {\n // 用户有可能设置 min\n if (isNil(this.getConfig('min'))) {\n this.min = 0;\n }\n if (isNil(this.getConfig('max'))) {\n const size = this.values.length;\n this.max = size > 1 ? size - 1 : size;\n }\n\n // scale.init 的时候清除缓存\n if (this.translateIndexMap) {\n this.translateIndexMap = undefined;\n }\n }\n}\n\nexport default Category;\n","const token = /d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\nconst twoDigitsOptional = \"\\\\d\\\\d?\";\nconst twoDigits = \"\\\\d\\\\d\";\nconst threeDigits = \"\\\\d{3}\";\nconst fourDigits = \"\\\\d{4}\";\nconst word = \"[^\\\\s]+\";\nconst literal = /\\[([^]*?)\\]/gm;\n\ntype DateInfo = {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n millisecond: number;\n isPm: number | null;\n timezoneOffset: number | null;\n};\n\nexport type I18nSettings = {\n amPm: [string, string];\n dayNames: Days;\n dayNamesShort: Days;\n monthNames: Months;\n monthNamesShort: Months;\n DoFn(dayOfMonth: number): string;\n};\n\nexport type I18nSettingsOptional = Partial;\n\nexport type Days = [string, string, string, string, string, string, string];\nexport type Months = [\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string\n];\n\nfunction shorten(arr: T, sLen: number): string[] {\n const newArr: string[] = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n newArr.push(arr[i].substr(0, sLen));\n }\n return newArr;\n}\n\nconst monthUpdate = (\n arrName: \"monthNames\" | \"monthNamesShort\" | \"dayNames\" | \"dayNamesShort\"\n) => (v: string, i18n: I18nSettings): number | null => {\n const lowerCaseArr = i18n[arrName].map(v => v.toLowerCase());\n const index = lowerCaseArr.indexOf(v.toLowerCase());\n if (index > -1) {\n return index;\n }\n return null;\n};\n\nexport function assign(a: A): A;\nexport function assign(a: A, b: B): A & B;\nexport function assign(a: A, b: B, c: C): A & B & C;\nexport function assign(a: A, b: B, c: C, d: D): A & B & C & D;\nexport function assign(origObj: any, ...args: any[]): any {\n for (const obj of args) {\n for (const key in obj) {\n // @ts-ignore ex\n origObj[key] = obj[key];\n }\n }\n return origObj;\n}\n\nconst dayNames: Days = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\nconst monthNames: Months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\n\nconst monthNamesShort: Months = shorten(monthNames, 3) as Months;\nconst dayNamesShort: Days = shorten(dayNames, 3) as Days;\n\nconst defaultI18n: I18nSettings = {\n dayNamesShort,\n dayNames,\n monthNamesShort,\n monthNames,\n amPm: [\"am\", \"pm\"],\n DoFn(dayOfMonth: number) {\n return (\n dayOfMonth +\n [\"th\", \"st\", \"nd\", \"rd\"][\n dayOfMonth % 10 > 3\n ? 0\n : ((dayOfMonth - (dayOfMonth % 10) !== 10 ? 1 : 0) * dayOfMonth) % 10\n ]\n );\n }\n};\nlet globalI18n = assign({}, defaultI18n);\nconst setGlobalDateI18n = (i18n: I18nSettingsOptional): I18nSettings =>\n (globalI18n = assign(globalI18n, i18n));\n\nconst regexEscape = (str: string): string =>\n str.replace(/[|\\\\{()[^$+*?.-]/g, \"\\\\$&\");\n\nconst pad = (val: string | number, len = 2): string => {\n val = String(val);\n while (val.length < len) {\n val = \"0\" + val;\n }\n return val;\n};\n\nconst formatFlags: Record<\n string,\n (dateObj: Date, i18n: I18nSettings) => string\n> = {\n D: (dateObj: Date): string => String(dateObj.getDate()),\n DD: (dateObj: Date): string => pad(dateObj.getDate()),\n Do: (dateObj: Date, i18n: I18nSettings): string =>\n i18n.DoFn(dateObj.getDate()),\n d: (dateObj: Date): string => String(dateObj.getDay()),\n dd: (dateObj: Date): string => pad(dateObj.getDay()),\n ddd: (dateObj: Date, i18n: I18nSettings): string =>\n i18n.dayNamesShort[dateObj.getDay()],\n dddd: (dateObj: Date, i18n: I18nSettings): string =>\n i18n.dayNames[dateObj.getDay()],\n M: (dateObj: Date): string => String(dateObj.getMonth() + 1),\n MM: (dateObj: Date): string => pad(dateObj.getMonth() + 1),\n MMM: (dateObj: Date, i18n: I18nSettings): string =>\n i18n.monthNamesShort[dateObj.getMonth()],\n MMMM: (dateObj: Date, i18n: I18nSettings): string =>\n i18n.monthNames[dateObj.getMonth()],\n YY: (dateObj: Date): string =>\n pad(String(dateObj.getFullYear()), 4).substr(2),\n YYYY: (dateObj: Date): string => pad(dateObj.getFullYear(), 4),\n h: (dateObj: Date): string => String(dateObj.getHours() % 12 || 12),\n hh: (dateObj: Date): string => pad(dateObj.getHours() % 12 || 12),\n H: (dateObj: Date): string => String(dateObj.getHours()),\n HH: (dateObj: Date): string => pad(dateObj.getHours()),\n m: (dateObj: Date): string => String(dateObj.getMinutes()),\n mm: (dateObj: Date): string => pad(dateObj.getMinutes()),\n s: (dateObj: Date): string => String(dateObj.getSeconds()),\n ss: (dateObj: Date): string => pad(dateObj.getSeconds()),\n S: (dateObj: Date): string =>\n String(Math.round(dateObj.getMilliseconds() / 100)),\n SS: (dateObj: Date): string =>\n pad(Math.round(dateObj.getMilliseconds() / 10), 2),\n SSS: (dateObj: Date): string => pad(dateObj.getMilliseconds(), 3),\n a: (dateObj: Date, i18n: I18nSettings): string =>\n dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1],\n A: (dateObj: Date, i18n: I18nSettings): string =>\n dateObj.getHours() < 12\n ? i18n.amPm[0].toUpperCase()\n : i18n.amPm[1].toUpperCase(),\n ZZ(dateObj: Date): string {\n const offset = dateObj.getTimezoneOffset();\n return (\n (offset > 0 ? \"-\" : \"+\") +\n pad(Math.floor(Math.abs(offset) / 60) * 100 + (Math.abs(offset) % 60), 4)\n );\n },\n Z(dateObj: Date): string {\n const offset = dateObj.getTimezoneOffset();\n return (\n (offset > 0 ? \"-\" : \"+\") +\n pad(Math.floor(Math.abs(offset) / 60), 2) +\n \":\" +\n pad(Math.abs(offset) % 60, 2)\n );\n }\n};\n\ntype ParseInfo = [\n keyof DateInfo,\n string,\n ((v: string, i18n: I18nSettings) => number | null)?,\n string?\n];\nconst monthParse = (v: string): number => +v - 1;\nconst emptyDigits: ParseInfo = [null, twoDigitsOptional];\nconst emptyWord: ParseInfo = [null, word];\nconst amPm: ParseInfo = [\n \"isPm\",\n word,\n (v: string, i18n: I18nSettings): number | null => {\n const val = v.toLowerCase();\n if (val === i18n.amPm[0]) {\n return 0;\n } else if (val === i18n.amPm[1]) {\n return 1;\n }\n return null;\n }\n];\nconst timezoneOffset: ParseInfo = [\n \"timezoneOffset\",\n \"[^\\\\s]*?[\\\\+\\\\-]\\\\d\\\\d:?\\\\d\\\\d|[^\\\\s]*?Z?\",\n (v: string): number | null => {\n const parts = (v + \"\").match(/([+-]|\\d\\d)/gi);\n\n if (parts) {\n const minutes = +parts[1] * 60 + parseInt(parts[2], 10);\n return parts[0] === \"+\" ? minutes : -minutes;\n }\n\n return 0;\n }\n];\nconst parseFlags: Record = {\n D: [\"day\", twoDigitsOptional],\n DD: [\"day\", twoDigits],\n Do: [\"day\", twoDigitsOptional + word, (v: string): number => parseInt(v, 10)],\n M: [\"month\", twoDigitsOptional, monthParse],\n MM: [\"month\", twoDigits, monthParse],\n YY: [\n \"year\",\n twoDigits,\n (v: string): number => {\n const now = new Date();\n const cent = +(\"\" + now.getFullYear()).substr(0, 2);\n return +(\"\" + (+v > 68 ? cent - 1 : cent) + v);\n }\n ],\n h: [\"hour\", twoDigitsOptional, undefined, \"isPm\"],\n hh: [\"hour\", twoDigits, undefined, \"isPm\"],\n H: [\"hour\", twoDigitsOptional],\n HH: [\"hour\", twoDigits],\n m: [\"minute\", twoDigitsOptional],\n mm: [\"minute\", twoDigits],\n s: [\"second\", twoDigitsOptional],\n ss: [\"second\", twoDigits],\n YYYY: [\"year\", fourDigits],\n S: [\"millisecond\", \"\\\\d\", (v: string): number => +v * 100],\n SS: [\"millisecond\", twoDigits, (v: string): number => +v * 10],\n SSS: [\"millisecond\", threeDigits],\n d: emptyDigits,\n dd: emptyDigits,\n ddd: emptyWord,\n dddd: emptyWord,\n MMM: [\"month\", word, monthUpdate(\"monthNamesShort\")],\n MMMM: [\"month\", word, monthUpdate(\"monthNames\")],\n a: amPm,\n A: amPm,\n ZZ: timezoneOffset,\n Z: timezoneOffset\n};\n\n// Some common format strings\nconst globalMasks: { [key: string]: string } = {\n default: \"ddd MMM DD YYYY HH:mm:ss\",\n shortDate: \"M/D/YY\",\n mediumDate: \"MMM D, YYYY\",\n longDate: \"MMMM D, YYYY\",\n fullDate: \"dddd, MMMM D, YYYY\",\n isoDate: \"YYYY-MM-DD\",\n isoDateTime: \"YYYY-MM-DDTHH:mm:ssZ\",\n shortTime: \"HH:mm\",\n mediumTime: \"HH:mm:ss\",\n longTime: \"HH:mm:ss.SSS\"\n};\nconst setGlobalDateMasks = (masks: {\n [key: string]: string;\n}): { [key: string]: string } => assign(globalMasks, masks);\n\n/***\n * Format a date\n * @method format\n * @param {Date|number} dateObj\n * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate'\n * @returns {string} Formatted date string\n */\nconst format = (\n dateObj: Date,\n mask: string = globalMasks[\"default\"],\n i18n: I18nSettingsOptional = {}\n): string => {\n if (typeof dateObj === \"number\") {\n dateObj = new Date(dateObj);\n }\n\n if (\n Object.prototype.toString.call(dateObj) !== \"[object Date]\" ||\n isNaN(dateObj.getTime())\n ) {\n throw new Error(\"Invalid Date pass to format\");\n }\n\n mask = globalMasks[mask] || mask;\n\n const literals: string[] = [];\n\n // Make literals inactive by replacing them with @@@\n mask = mask.replace(literal, function($0, $1) {\n literals.push($1);\n return \"@@@\";\n });\n\n const combinedI18nSettings: I18nSettings = assign(\n assign({}, globalI18n),\n i18n\n );\n // Apply formatting rules\n mask = mask.replace(token, $0 =>\n formatFlags[$0](dateObj, combinedI18nSettings)\n );\n // Inline literal values back into the formatted value\n return mask.replace(/@@@/g, () => literals.shift());\n};\n\n/**\n * Parse a date string into a Javascript Date object /\n * @method parse\n * @param {string} dateStr Date string\n * @param {string} format Date parse format\n * @param {i18n} I18nSettingsOptional Full or subset of I18N settings\n * @returns {Date|null} Returns Date object. Returns null what date string is invalid or doesn't match format\n */\nfunction parse(\n dateStr: string,\n format: string,\n i18n: I18nSettingsOptional = {}\n): Date | null {\n if (typeof format !== \"string\") {\n throw new Error(\"Invalid format in fecha parse\");\n }\n\n // Check to see if the format is actually a mask\n format = globalMasks[format] || format;\n\n // Avoid regular expression denial of service, fail early for really long strings\n // https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS\n if (dateStr.length > 1000) {\n return null;\n }\n\n // Default to the beginning of the year.\n const today = new Date();\n const dateInfo: DateInfo = {\n year: today.getFullYear(),\n month: 0,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n isPm: null,\n timezoneOffset: null\n };\n const parseInfo: ParseInfo[] = [];\n const literals: string[] = [];\n\n // Replace all the literals with @@@. Hopefully a string that won't exist in the format\n let newFormat = format.replace(literal, ($0, $1) => {\n literals.push(regexEscape($1));\n return \"@@@\";\n });\n const specifiedFields: { [field: string]: boolean } = {};\n const requiredFields: { [field: string]: boolean } = {};\n\n // Change every token that we find into the correct regex\n newFormat = regexEscape(newFormat).replace(token, $0 => {\n const info = parseFlags[$0];\n const [field, regex, , requiredField] = info;\n\n // Check if the person has specified the same field twice. This will lead to confusing results.\n if (specifiedFields[field]) {\n throw new Error(`Invalid format. ${field} specified twice in format`);\n }\n\n specifiedFields[field] = true;\n\n // Check if there are any required fields. For instance, 12 hour time requires AM/PM specified\n if (requiredField) {\n requiredFields[requiredField] = true;\n }\n\n parseInfo.push(info);\n return \"(\" + regex + \")\";\n });\n\n // Check all the required fields are present\n Object.keys(requiredFields).forEach(field => {\n if (!specifiedFields[field]) {\n throw new Error(\n `Invalid format. ${field} is required in specified format`\n );\n }\n });\n\n // Add back all the literals after\n newFormat = newFormat.replace(/@@@/g, () => literals.shift());\n\n // Check if the date string matches the format. If it doesn't return null\n const matches = dateStr.match(new RegExp(newFormat, \"i\"));\n if (!matches) {\n return null;\n }\n\n const combinedI18nSettings: I18nSettings = assign(\n assign({}, globalI18n),\n i18n\n );\n\n // For each match, call the parser function for that date part\n for (let i = 1; i < matches.length; i++) {\n const [field, , parser] = parseInfo[i - 1];\n const value = parser\n ? parser(matches[i], combinedI18nSettings)\n : +matches[i];\n\n // If the parser can't make sense of the value, return null\n if (value == null) {\n return null;\n }\n\n dateInfo[field] = value;\n }\n\n if (dateInfo.isPm === 1 && dateInfo.hour != null && +dateInfo.hour !== 12) {\n dateInfo.hour = +dateInfo.hour + 12;\n } else if (dateInfo.isPm === 0 && +dateInfo.hour === 12) {\n dateInfo.hour = 0;\n }\n\n let dateTZ: Date;\n if (dateInfo.timezoneOffset == null) {\n dateTZ = new Date(\n dateInfo.year,\n dateInfo.month,\n dateInfo.day,\n dateInfo.hour,\n dateInfo.minute,\n dateInfo.second,\n dateInfo.millisecond\n );\n const validateFields: [\n \"month\" | \"day\" | \"hour\" | \"minute\" | \"second\",\n \"getMonth\" | \"getDate\" | \"getHours\" | \"getMinutes\" | \"getSeconds\"\n ][] = [\n [\"month\", \"getMonth\"],\n [\"day\", \"getDate\"],\n [\"hour\", \"getHours\"],\n [\"minute\", \"getMinutes\"],\n [\"second\", \"getSeconds\"]\n ];\n for (let i = 0, len = validateFields.length; i < len; i++) {\n // Check to make sure the date field is within the allowed range. Javascript dates allows values\n // outside the allowed range. If the values don't match the value was invalid\n if (\n specifiedFields[validateFields[i][0]] &&\n dateInfo[validateFields[i][0]] !== dateTZ[validateFields[i][1]]()\n ) {\n return null;\n }\n }\n } else {\n dateTZ = new Date(\n Date.UTC(\n dateInfo.year,\n dateInfo.month,\n dateInfo.day,\n dateInfo.hour,\n dateInfo.minute - dateInfo.timezoneOffset,\n dateInfo.second,\n dateInfo.millisecond\n )\n );\n\n // We can't validate dates in another timezone unfortunately. Do a basic check instead\n if (\n dateInfo.month > 11 ||\n dateInfo.month < 0 ||\n dateInfo.day > 31 ||\n dateInfo.day < 1 ||\n dateInfo.hour > 23 ||\n dateInfo.hour < 0 ||\n dateInfo.minute > 59 ||\n dateInfo.minute < 0 ||\n dateInfo.second > 59 ||\n dateInfo.second < 0\n ) {\n return null;\n }\n }\n\n // Don't allow invalid dates\n\n return dateTZ;\n}\nexport default {\n format,\n parse,\n defaultI18n,\n setGlobalDateI18n,\n setGlobalDateMasks\n};\nexport { format, parse, defaultI18n, setGlobalDateI18n, setGlobalDateMasks };\n","import { isDate, isString, last } from '@antv/util';\nimport fecha from 'fecha';\nimport * as fecha1 from 'fecha';\n\nimport bisector from './bisector';\nconst FORMAT_METHOD = 'format';\n\nexport function timeFormat(time, mask) { // 由于 fecha 包的 typescript 定义有问题,所以暂时兼容一下\n const method = fecha1[FORMAT_METHOD] || fecha[FORMAT_METHOD];\n return method(time, mask);\n}\n/**\n * 转换成时间戳\n * @param value 时间值\n */\nexport function toTimeStamp(value: any): number {\n if (isString(value)) {\n if (value.indexOf('T') > 0) {\n value = new Date(value).getTime();\n } else {\n // new Date('2010/01/10') 和 new Date('2010-01-10') 的差别在于:\n // 如果仅有年月日时,前者是带有时区的: Fri Jan 10 2020 02:40:13 GMT+0800 (中国标准时间)\n // 后者会格式化成 Sun Jan 10 2010 08:00:00 GMT+0800 (中国标准时间)\n value = new Date(value.replace(/-/gi, '/')).getTime();\n }\n }\n if (isDate(value)) {\n value = value.getTime();\n }\n return value;\n}\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = DAY * 31;\nconst YEAR = DAY * 365;\n\nexport { SECOND, MINUTE, HOUR, DAY, MONTH, YEAR };\ntype Interval = [string, number]; // [defaultMomentFormat, interval]\nconst intervals: Interval[] = [\n ['HH:mm:ss', SECOND],\n ['HH:mm:ss', SECOND * 10],\n ['HH:mm:ss', SECOND * 30],\n ['HH:mm', MINUTE],\n ['HH:mm', MINUTE * 10],\n ['HH:mm', MINUTE * 30],\n ['HH', HOUR],\n ['HH', HOUR * 6],\n ['HH', HOUR * 12],\n ['YYYY-MM-DD', DAY],\n ['YYYY-MM-DD', DAY * 4],\n ['YYYY-WW', DAY * 7],\n ['YYYY-MM', MONTH],\n ['YYYY-MM', MONTH * 4],\n ['YYYY-MM', MONTH * 6],\n ['YYYY', DAY * 380], // 借鉴echarts,保证每个周期累加时不会碰到恰巧不够的问题\n];\n\nexport function getTickInterval(min: number, max: number, tickCount: number): Interval {\n const target = (max - min) / tickCount;\n const idx = bisector((o: Interval) => o[1])(intervals, target) - 1;\n let interval: Interval = intervals[idx];\n if (idx < 0) {\n interval = intervals[0];\n } else if (idx >= intervals.length) {\n interval = last(intervals);\n }\n return interval;\n}\n","import { isNil } from '@antv/util';\n\ntype GetterFunc = (o: T) => number;\n\n/**\n * 二分右侧查找\n * https://github.com/d3/d3-array/blob/master/src/bisector.js\n */\nexport default function(getter: GetterFunc) {\n /**\n * x: 目标值\n * lo: 起始位置\n * hi: 结束位置\n */\n return function(a: T[], x: number, _lo?: number, _hi?: number) {\n let lo = isNil(_lo) ? 0 : _lo;\n let hi = isNil(_hi) ? a.length : _hi;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (getter(a[mid]) > x) {\n hi = mid;\n } else {\n lo = mid + 1;\n }\n }\n return lo;\n };\n}\n","import { each, isNumber } from '@antv/util';\nimport { timeFormat, toTimeStamp } from '../util/time';\nimport Category from './base';\n\n/**\n * 时间分类度量\n * @class\n */\nclass TimeCat extends Category {\n public readonly type: string = 'timeCat';\n public mask;\n /**\n * @override\n */\n public translate(value) {\n value = toTimeStamp(value);\n let index = this.values.indexOf(value);\n if (index === -1) {\n if (isNumber(value) && value < this.values.length) {\n index = value;\n } else {\n index = NaN;\n }\n }\n return index;\n }\n\n /**\n * 由于时间类型数据需要转换一下,所以复写 getText\n * @override\n */\n public getText(value: string | number, tickIndex?: number) {\n const index = this.translate(value);\n if (index > -1) {\n let result = this.values[index];\n const formatter = this.formatter;\n result = formatter ? formatter(result, tickIndex) : timeFormat(result, this.mask);\n return result;\n }\n return value;\n }\n protected initCfg() {\n this.tickMethod = 'time-cat';\n this.mask = 'YYYY-MM-DD';\n this.tickCount = 7; // 一般时间数据会显示 7, 14, 30 天的数字\n }\n\n protected setDomain() {\n const values = this.values;\n // 针对时间分类类型,会将时间统一转换为时间戳\n each(values, (v, i) => {\n values[i] = toTimeStamp(v);\n });\n values.sort((v1, v2) => {\n return v1 - v2;\n });\n super.setDomain();\n }\n}\n\nexport default TimeCat;\n","import { filter, getRange, head, isNil, last } from '@antv/util';\nimport Base from '../base';\n\n/**\n * 连续度量的基类\n * @class\n */\nexport default abstract class Continuous extends Base {\n public isContinuous?: boolean = true;\n public nice: boolean;\n\n public scale(value: any): number {\n if (isNil(value)) {\n return NaN;\n }\n const rangeMin = this.rangeMin();\n const rangeMax = this.rangeMax();\n const max = this.max;\n const min = this.min;\n if (max === min) {\n return rangeMin;\n }\n const percent = this.getScalePercent(value);\n return rangeMin + percent * (rangeMax - rangeMin);\n }\n\n protected init() {\n super.init();\n // init 完成后保证 min, max 包含 ticks 的范围\n const ticks = this.ticks;\n const firstTick = head(ticks);\n const lastTick = last(ticks);\n if (firstTick < this.min) {\n this.min = firstTick;\n }\n if (lastTick > this.max) {\n this.max = lastTick;\n }\n // strict-limit 方式\n if (!isNil(this.minLimit)) {\n this.min = firstTick;\n }\n if (!isNil(this.maxLimit)) {\n this.max = lastTick;\n }\n }\n\n protected setDomain() {\n const { min, max } = getRange(this.values);\n if (isNil(this.min)) {\n this.min = min;\n }\n if (isNil(this.max)) {\n this.max = max;\n }\n if (this.min > this.max) {\n this.min = min;\n this.max = max;\n }\n }\n\n protected calculateTicks(): any[] {\n let ticks = super.calculateTicks();\n if (!this.nice) {\n ticks = filter(ticks, (tick) => {\n return tick >= this.min && tick <= this.max;\n });\n }\n return ticks;\n }\n\n // 计算原始值值占的百分比\n protected getScalePercent(value) {\n const max = this.max;\n const min = this.min;\n return (value - min) / (max - min);\n }\n\n protected getInvertPercent(value) {\n return (value - this.rangeMin()) / (this.rangeMax() - this.rangeMin());\n }\n}\n","import Continuous from './base';\n\n/**\n * 线性度量\n * @class\n */\nexport default class Linear extends Continuous {\n public minTickInterval: number;\n public type = 'linear';\n public readonly isLinear: boolean = true;\n\n public invert(value: number): any {\n const percent = this.getInvertPercent(value);\n return this.min + percent * (this.max - this.min);\n }\n\n protected initCfg() {\n this.tickMethod = 'wilkinson-extended';\n this.nice = false;\n }\n}\n","import { each, isNil } from '@antv/util';\n\n// 求以a为次幂,结果为b的基数,如 x^^a = b;求x\n// 虽然数学上 b 不支持负数,但是这里需要支持 负数\nexport function calBase(a: number, b: number) {\n const e = Math.E;\n let value;\n if (b >= 0) {\n value = Math.pow(e, Math.log(b) / a); // 使用换底公式求底\n } else {\n value = Math.pow(e, Math.log(-b) / a) * -1; // 使用换底公式求底\n }\n return value;\n}\n\nexport function log(a: number, b: number) {\n if (a === 1) {\n return 1;\n }\n return Math.log(b) / Math.log(a);\n}\n\nexport function getLogPositiveMin(values, base, max?: number) {\n if (isNil(max)) {\n max = Math.max.apply(null, values);\n }\n let positiveMin = max;\n each(values, (value) => {\n if (value > 0 && value < positiveMin) {\n positiveMin = value;\n }\n });\n if (positiveMin === max) {\n positiveMin = max / base;\n }\n if (positiveMin > 1) {\n positiveMin = 1;\n }\n return positiveMin;\n}\n\nfunction digitLength(num: number) {\n // Get digit length of e\n const eSplit = num.toString().split(/[eE]/);\n const len = (eSplit[0].split('.')[1] || '').length - +(eSplit[1] || 0);\n return len > 0 ? len : 0;\n}\n\n/**\n * 高精度加法,解决 0.1 + 0.2 !== 0.3 的经典问题\n *\n * @param num1 加数\n * @param num2 被加数\n * @return {number} 返回值\n */\nexport function precisionAdd(num1: number, num2: number) {\n const num1Digits = digitLength(num1);\n const num2Digits = digitLength(num2);\n const baseNum = 10 ** Math.max(num1Digits, num2Digits);\n return (num1 * baseNum + num2 * baseNum) / baseNum;\n}\n","import { getLogPositiveMin, log } from '../util/math';\nimport Continuous from './base';\n/**\n * Log 度量,处理非均匀分布\n */\nclass Log extends Continuous {\n public readonly type: string = 'log';\n public base: number;\n // 用于解决 min: 0 的场景下的问题\n private positiveMin: number;\n\n /**\n * @override\n */\n public invert(value: number) {\n const base = this.base;\n const max = log(base, this.max);\n const rangeMin = this.rangeMin();\n const range = this.rangeMax() - rangeMin;\n let min;\n const positiveMin = this.positiveMin;\n if (positiveMin) {\n if (value === 0) {\n return 0;\n }\n min = log(base, positiveMin / base);\n const appendPercent = (1 / (max - min)) * range; // 0 到 positiveMin的占比\n if (value < appendPercent) {\n // 落到 0 - positiveMin 之间\n return (value / appendPercent) * positiveMin;\n }\n } else {\n min = log(base, this.min);\n }\n const percent = (value - rangeMin) / range;\n const tmp = percent * (max - min) + min;\n return Math.pow(base, tmp);\n }\n\n protected initCfg() {\n this.tickMethod = 'log';\n this.base = 10;\n this.tickCount = 6;\n this.nice = true;\n }\n\n // 设置\n protected setDomain() {\n super.setDomain();\n const min = this.min;\n if (min < 0) {\n throw new Error('When you use log scale, the minimum value must be greater than zero!');\n }\n if (min === 0) {\n this.positiveMin = getLogPositiveMin(this.values, this.base, this.max);\n }\n }\n\n // 根据当前值获取占比\n protected getScalePercent(value: number) {\n const max = this.max;\n let min = this.min;\n if (max === min) {\n return 0;\n }\n // 如果值小于等于0,则按照0处理\n if (value <= 0) {\n return 0;\n }\n const base = this.base;\n const positiveMin = this.positiveMin;\n // 如果min == 0, 则根据比0大的最小值,计算比例关系。这个最小值作为坐标轴上的第二个tick,第一个是0但是不显示\n if (positiveMin) {\n min = (positiveMin * 1) / base;\n }\n let percent;\n // 如果数值小于次小值,那么就计算 value / 次小值 占整体的比例\n if (value < positiveMin) {\n percent = value / positiveMin / (log(base, max) - log(base, min));\n } else {\n percent = (log(base, value) - log(base, min)) / (log(base, max) - log(base, min));\n }\n return percent;\n }\n}\n\nexport default Log;\n","import { calBase } from '../util/math';\nimport Continuous from './base';\n\n/**\n * Pow 度量,处理非均匀分布\n */\nclass Pow extends Continuous {\n public readonly type: string = 'pow';\n /**\n * 指数\n */\n public exponent: number;\n\n /**\n * @override\n */\n public invert(value: number) {\n const percent = this.getInvertPercent(value);\n const exponent = this.exponent;\n const max = calBase(exponent, this.max);\n const min = calBase(exponent, this.min);\n const tmp = percent * (max - min) + min;\n const factor = tmp >= 0 ? 1 : -1;\n return Math.pow(tmp, exponent) * factor;\n }\n\n protected initCfg() {\n this.tickMethod = 'pow';\n this.exponent = 2;\n this.tickCount = 5;\n this.nice = true;\n }\n\n // 获取度量计算时,value占的定义域百分比\n protected getScalePercent(value: number) {\n const max = this.max;\n const min = this.min;\n if (max === min) {\n return 0;\n }\n const exponent = this.exponent;\n const percent =\n (calBase(exponent, value) - calBase(exponent, min)) / (calBase(exponent, max) - calBase(exponent, min));\n return percent;\n }\n}\n\nexport default Pow;\n","import { each, isDate, isNil, isNumber, isString } from '@antv/util';\nimport { timeFormat, toTimeStamp } from '../util/time';\nimport Linear from './linear';\n\n/**\n * 时间度量\n * @class\n */\nclass Time extends Linear {\n public readonly type: string = 'time';\n public mask: string;\n\n /**\n * @override\n */\n public getText(value: string | number | Date, index?: number) {\n const numberValue = this.translate(value);\n const formatter = this.formatter;\n return formatter ? formatter(numberValue, index) : timeFormat(numberValue, this.mask);\n }\n /**\n * @override\n */\n public scale(value): number {\n let v = value;\n if (isString(v) || isDate(v)) {\n v = this.translate(v);\n }\n return super.scale(v);\n }\n /**\n * 将时间转换成数字\n * @override\n */\n public translate(v): number {\n return toTimeStamp(v);\n }\n protected initCfg() {\n this.tickMethod = 'time-pretty';\n this.mask = 'YYYY-MM-DD';\n this.tickCount = 7;\n this.nice = false;\n }\n\n protected setDomain() {\n const values = this.values;\n // 是否设置了 min, max,而不是直接取 this.min, this.max\n const minConfig = this.getConfig('min');\n const maxConfig = this.getConfig('max');\n // 如果设置了 min,max 则转换成时间戳\n if (!isNil(minConfig) || !isNumber(minConfig)) {\n this.min = this.translate(this.min);\n }\n if (!isNil(maxConfig) || !isNumber(maxConfig)) {\n this.max = this.translate(this.max);\n }\n // 没有设置 min, max 时\n if (values && values.length) {\n // 重新计算最大最小值\n const timeStamps = [];\n let min = Infinity; // 最小值\n let secondMin = min; // 次小值\n let max = 0;\n // 使用一个循环,计算min,max,secondMin\n each(values, (v) => {\n const timeStamp = toTimeStamp(v);\n if (isNaN(timeStamp)) {\n throw new TypeError(`Invalid Time: ${v} in time scale!`);\n }\n if (min > timeStamp) {\n secondMin = min;\n min = timeStamp;\n } else if (secondMin > timeStamp) {\n secondMin = timeStamp;\n }\n if (max < timeStamp) {\n max = timeStamp;\n }\n timeStamps.push(timeStamp);\n });\n // 存在多个值时,设置最小间距\n if (values.length > 1) {\n this.minTickInterval = secondMin - min;\n }\n if (isNil(minConfig)) {\n this.min = min;\n }\n if (isNil(maxConfig)) {\n this.max = max;\n }\n }\n }\n}\nexport default Time;\n","import { each, head, last } from '@antv/util';\nimport Continuous from './base';\n\n/**\n * 分段度量\n */\nclass Quantize extends Continuous {\n public type = 'quantize';\n\n public invert(value): number {\n const ticks = this.ticks;\n const length = ticks.length;\n const percent = this.getInvertPercent(value);\n const minIndex = Math.floor(percent * (length - 1));\n // 最后一个\n if (minIndex >= length - 1) {\n return last(ticks);\n }\n // 超出左边界, 则取第一个\n if (minIndex < 0) {\n return head(ticks);\n }\n const minTick = ticks[minIndex];\n const nextTick = ticks[minIndex + 1];\n // 比当前值小的 tick 在度量上的占比\n const minIndexPercent = minIndex / (length - 1);\n const maxIndexPercent = (minIndex + 1) / (length - 1);\n return minTick + (percent - minIndexPercent) / (maxIndexPercent - minIndexPercent) * (nextTick - minTick);\n }\n\n protected initCfg() {\n this.tickMethod = 'r-pretty';\n this.tickCount = 5;\n this.nice = true;\n }\n\n protected calculateTicks(): any[] {\n const ticks = super.calculateTicks();\n if (!this.nice) { // 如果 nice = false ,补充 min, max\n if (last(ticks) !== this.max) {\n ticks.push(this.max);\n }\n if (head(ticks) !== this.min) {\n ticks.unshift(this.min);\n }\n }\n return ticks;\n }\n\n // 计算当前值在刻度中的占比\n protected getScalePercent(value) {\n const ticks = this.ticks;\n // 超出左边界\n if (value < head(ticks)) {\n return 0;\n }\n // 超出右边界\n if (value > last(ticks)) {\n return 1;\n }\n let minIndex = 0;\n each(ticks, (tick, index) => {\n if (value >= tick) {\n minIndex = index;\n } else {\n return false;\n }\n });\n return minIndex / (ticks.length - 1);\n }\n}\n\nexport default Quantize;\n","import Quantize from './quantize';\n\nclass Quantile extends Quantize {\n public type = 'quantile';\n protected initCfg() {\n this.tickMethod = 'quantile';\n this.tickCount = 5;\n this.nice = true;\n }\n}\n\nexport default Quantile;\n","import Scale from './base';\nimport { ScaleConfig } from './types';\ntype ScaleConstructor = new (cfg: ScaleConfig) => T;\n\ninterface ScaleMap {\n [key: string]: ScaleConstructor;\n}\n\nconst map: ScaleMap = {};\n\nfunction getClass(key: string): ScaleConstructor {\n return map[key];\n}\n\nfunction registerClass(key: string, cls: ScaleConstructor) {\n if (getClass(key)) {\n throw new Error(`type '${key}' existed.`);\n }\n map[key] = cls;\n}\n\nexport { Scale, getClass as getScale, registerClass as registerScale };\n","import { has, isNumber } from '@antv/util';\nimport Base from '../base';\nimport { ScaleType } from '../types';\n\n/**\n * identity scale原则上是定义域和值域一致,scale/invert方法也是一致的\n * 参考R的实现:https://github.com/r-lib/scales/blob/master/R/pal-identity.r\n * 参考d3的实现(做了下转型):https://github.com/d3/d3-scale/blob/master/src/identity.js\n */\nexport default class Identity extends Base {\n public readonly type: ScaleType = 'identity';\n public readonly isIdentity: boolean = true;\n\n public calculateTicks() {\n return this.values;\n }\n\n public scale(value: any): number {\n // 如果传入的值不等于 identity 的值,则直接返回,用于一维图时的 dodge\n if (this.values[0] !== value && isNumber(value)) {\n return value;\n }\n return this.range[0];\n }\n\n public invert(value?: number): number {\n const range = this.range;\n if (value < range[0] || value > range[1]) {\n return NaN;\n }\n return this.values[0];\n }\n}\n","import { filter, isNil, isNumber, last } from '@antv/util';\nimport { ScaleConfig } from '../types';\n\n/**\n * 计算分类 ticks\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculateCatTicks(cfg: ScaleConfig): any[] {\n const { values, tickInterval, tickCount, showLast } = cfg;\n\n if (isNumber(tickInterval)) {\n const ticks = filter(values, (__: any, i: number) => i % tickInterval === 0);\n const lastValue = last(values);\n if (showLast && last(ticks) !== lastValue) {\n ticks.push(lastValue);\n }\n return ticks;\n }\n\n const len = values.length;\n let { min, max } = cfg;\n if (isNil(min)) {\n min = 0;\n }\n if (isNil(max)) {\n max = values.length - 1;\n }\n\n if (!isNumber(tickCount) || tickCount >= len) return values.slice(min, max + 1);\n if (tickCount <= 0 || max <= 0) return [];\n\n const interval = tickCount === 1 ? len : Math.floor(len / (tickCount - 1));\n const ticks = [];\n\n let idx = min;\n for (let i = 0; i < tickCount; i++) {\n if (idx >= max) break;\n\n idx = Math.min(min + i * interval, max);\n if (i === tickCount - 1 && showLast) ticks.push(values[max]);\n else ticks.push(values[idx]);\n }\n return ticks;\n}\n","import { ScaleConfig } from '../types';\n\nexport default function d3Linear(cfg: ScaleConfig): number[] {\n const { min, max, nice, tickCount } = cfg;\n const linear = new D3Linear();\n linear.domain([min, max]);\n if (nice) {\n linear.nice(tickCount);\n }\n return linear.ticks(tickCount);\n}\n\nconst DEFAULT_COUNT = 5;\nconst e10 = Math.sqrt(50);\nconst e5 = Math.sqrt(10);\nconst e2 = Math.sqrt(2);\n\n// https://github.com/d3/d3-scale\nexport class D3Linear {\n private _domain: number[] = [0, 1];\n\n public domain(domain?: number[]): D3Linear | number[] {\n if (domain) {\n this._domain = Array.from(domain, Number);\n return this;\n }\n return this._domain.slice();\n }\n\n public nice(count = DEFAULT_COUNT) {\n const d = this._domain.slice();\n let i0 = 0;\n let i1 = this._domain.length - 1;\n let start = this._domain[i0];\n let stop = this._domain[i1];\n let step;\n\n if (stop < start) {\n [start, stop] = [stop, start];\n [i0, i1] = [i1, i0];\n }\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n this.domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n this.domain(d);\n }\n\n return this;\n }\n\n public ticks(count = DEFAULT_COUNT): number[] {\n return d3ArrayTicks(this._domain[0], this._domain[this._domain.length - 1], count || DEFAULT_COUNT);\n }\n}\n\nfunction d3ArrayTicks(start: number, stop: number, count: number): number[] {\n let reverse;\n let i = -1;\n let n;\n let ticks;\n let step;\n\n (stop = +stop), (start = +start), (count = +count);\n if (start === stop && count > 0) {\n return [start];\n }\n // tslint:disable-next-line\n if ((reverse = stop < start)) {\n (n = start), (start = stop), (stop = n);\n }\n // tslint:disable-next-line\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) {\n return [];\n }\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array((n = Math.ceil(stop - start + 1)));\n while (++i < n) {\n ticks[i] = (start + i) * step;\n }\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array((n = Math.ceil(start - stop + 1)));\n while (++i < n) {\n ticks[i] = (start - i) / step;\n }\n }\n\n if (reverse) {\n ticks.reverse();\n }\n\n return ticks;\n}\n\nfunction tickIncrement(start: number, stop: number, count: number): number {\n const step = (stop - start) / Math.max(0, count);\n const power = Math.floor(Math.log(step) / Math.LN10);\n const error = step / Math.pow(10, power);\n\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n","\nimport { fixedBase } from '@antv/util';\n\nfunction snapMultiple(v, base, snapType) {\n let div;\n if (snapType === 'ceil') {\n div = Math.ceil(v / base);\n } else if (snapType === 'floor') {\n div = Math.floor(v / base);\n } else {\n div = Math.round(v / base);\n }\n return div * base;\n}\n\nexport default function intervalTicks(min, max, interval) {\n // 变成 interval 的倍数\n let minTick = snapMultiple(min, interval, 'floor');\n let maxTick = snapMultiple(max, interval, 'ceil');\n // 统一小数位数\n minTick = fixedBase(minTick, interval);\n maxTick = fixedBase(maxTick, interval);\n const ticks = [];\n // https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Errors/Invalid_array_length\n const availableInterval = Math.max((maxTick - minTick) / (2 ** 12 - 1), interval);\n for (let i = minTick; i <= maxTick; i = i + availableInterval) {\n const tickValue = fixedBase(i, availableInterval); // 防止浮点数加法出现问题\n ticks.push(tickValue);\n }\n return {\n min: minTick,\n max: maxTick,\n ticks\n };\n}","import { isNil } from '@antv/util';\nimport { ScaleConfig } from '../types';\n\n/**\n * 按照给定的 minLimit/maxLimit/tickCount 均匀计算出刻度 ticks\n *\n * @param cfg Scale 配置项\n * @return ticks\n */\nexport default function strictLimit(cfg: ScaleConfig, defaultMin?: number, defaultMax?: number): number[] {\n const { minLimit, maxLimit, min, max, tickCount = 5 } = cfg;\n let tickMin = isNil(minLimit) ? (isNil(defaultMin) ? min : defaultMin) : minLimit;\n let tickMax = isNil(maxLimit) ? (isNil(defaultMax) ? max : defaultMax) : maxLimit;\n\n if (tickMin > tickMax) {\n [tickMax, tickMin] = [tickMin, tickMax];\n }\n\n if (tickCount <= 2) {\n return [tickMin, tickMax];\n }\n\n const step = (tickMax - tickMin) / (tickCount - 1);\n const ticks: number[] = [];\n\n for (let i = 0; i < tickCount; i++) {\n ticks.push(tickMin + step * i);\n }\n\n return ticks;\n}\n","// 为了解决 js 运算的精度问题\nexport function prettyNumber(n: number) {\n return Math.abs(n) < 1e-15 ? n : parseFloat(n.toFixed(15));\n}\n","import { head, indexOf, size, last } from '@antv/util';\nimport { prettyNumber } from './pretty-number';\n\nexport const DEFAULT_Q = [1, 5, 2, 2.5, 4, 3];\n\nexport const ALL_Q = [1, 5, 2, 2.5, 4, 3, 1.5, 7, 6, 8, 9];\n\nconst eps = Number.EPSILON * 100;\n\nfunction mod(n: number, m: number) {\n return ((n % m) + m) % m;\n}\n\nfunction round(n: number) {\n return Math.round(n * 1e12) / 1e12;\n}\n\nfunction simplicity(q: number, Q: number[], j: number, lmin: number, lmax: number, lstep: number) {\n const n = size(Q);\n const i = indexOf(Q, q);\n let v = 0;\n const m = mod(lmin, lstep);\n if ((m < eps || lstep - m < eps) && lmin <= 0 && lmax >= 0) {\n v = 1;\n }\n return 1 - i / (n - 1) - j + v;\n}\n\nfunction simplicityMax(q: number, Q: number[], j: number) {\n const n = size(Q);\n const i = indexOf(Q, q);\n const v = 1;\n return 1 - i / (n - 1) - j + v;\n}\n\nfunction density(k: number, m: number, dMin: number, dMax: number, lMin: number, lMax: number) {\n const r = (k - 1) / (lMax - lMin);\n const rt = (m - 1) / (Math.max(lMax, dMax) - Math.min(dMin, lMin));\n return 2 - Math.max(r / rt, rt / r);\n}\n\nfunction densityMax(k: number, m: number) {\n if (k >= m) {\n return 2 - (k - 1) / (m - 1);\n }\n return 1;\n}\n\nfunction coverage(dMin: number, dMax: number, lMin: number, lMax: number) {\n const range = dMax - dMin;\n return 1 - (0.5 * ((dMax - lMax) ** 2 + (dMin - lMin) ** 2)) / (0.1 * range) ** 2;\n}\n\nfunction coverageMax(dMin: number, dMax: number, span: number) {\n const range = dMax - dMin;\n if (span > range) {\n const half = (span - range) / 2;\n return 1 - half ** 2 / (0.1 * range) ** 2;\n }\n return 1;\n}\n\nfunction legibility() {\n return 1;\n}\n\n/**\n * An Extension of Wilkinson's Algorithm for Position Tick Labels on Axes\n * https://www.yuque.com/preview/yuque/0/2019/pdf/185317/1546999150858-45c3b9c2-4e86-4223-bf1a-8a732e8195ed.pdf\n * @param dMin 最小值\n * @param dMax 最大值\n * @param m tick个数\n * @param onlyLoose 是否允许扩展min、max,不绝对强制,例如[3, 97]\n * @param Q nice numbers集合\n * @param w 四个优化组件的权重\n */\nexport default function extended(\n dMin: number,\n dMax: number,\n n: number = 5,\n onlyLoose: boolean = true,\n Q: number[] = DEFAULT_Q,\n w: [number, number, number, number] = [0.25, 0.2, 0.5, 0.05]\n): { min: number; max: number; ticks: number[] } {\n // 处理小于 0 和小数的 tickCount\n const m = n < 0 ? 0 : Math.round(n);\n\n // nan 也会导致异常\n if (Number.isNaN(dMin) || Number.isNaN(dMax) || typeof dMin !== 'number' || typeof dMax !== 'number' || !m) {\n return {\n min: 0,\n max: 0,\n ticks: [],\n };\n }\n\n // js 极大值极小值问题,差值小于 1e-15 会导致计算出错\n if (dMax - dMin < 1e-15 || m === 1) {\n return {\n min: dMin,\n max: dMax,\n ticks: [dMin],\n };\n }\n\n // js 超大值问题\n if (dMax - dMin > 1e148) {\n const count = n || 5;\n const step = (dMax - dMin) / count;\n return {\n min: dMin,\n max: dMax,\n ticks: Array(count).fill(null).map((_,idx) => {\n return prettyNumber(dMin + step * idx);\n }),\n };\n }\n\n const best = {\n score: -2,\n lmin: 0,\n lmax: 0,\n lstep: 0,\n };\n\n let j = 1;\n while (j < Infinity) {\n for (let i = 0; i < Q.length; i += 1) {\n const q = Q[i];\n const sm = simplicityMax(q, Q, j);\n if (w[0] * sm + w[1] + w[2] + w[3] < best.score) {\n j = Infinity;\n break;\n }\n let k = 2;\n while (k < Infinity) {\n const dm = densityMax(k, m);\n if (w[0] * sm + w[1] + w[2] * dm + w[3] < best.score) {\n break;\n }\n\n const delta = (dMax - dMin) / (k + 1) / j / q;\n let z = Math.ceil(Math.log10(delta));\n\n while (z < Infinity) {\n const step = j * q * 10 ** z;\n const cm = coverageMax(dMin, dMax, step * (k - 1));\n\n if (w[0] * sm + w[1] * cm + w[2] * dm + w[3] < best.score) {\n break;\n }\n\n const minStart = Math.floor(dMax / step) * j - (k - 1) * j;\n const maxStart = Math.ceil(dMin / step) * j;\n\n if (minStart <= maxStart) {\n const count = maxStart - minStart;\n for (let i = 0; i <= count; i += 1) {\n const start = minStart + i;\n const lMin = start * (step / j);\n const lMax = lMin + step * (k - 1);\n const lStep = step;\n\n const s = simplicity(q, Q, j, lMin, lMax, lStep);\n const c = coverage(dMin, dMax, lMin, lMax);\n const g = density(k, m, dMin, dMax, lMin, lMax);\n const l = legibility();\n\n const score = w[0] * s + w[1] * c + w[2] * g + w[3] * l;\n if (score > best.score && (!onlyLoose || (lMin <= dMin && lMax >= dMax))) {\n best.lmin = lMin;\n best.lmax = lMax;\n best.lstep = lStep;\n best.score = score;\n }\n }\n }\n z += 1;\n }\n k += 1;\n }\n }\n j += 1;\n }\n\n // 处理精度问题,保证这三个数没有精度问题\n const lmax = prettyNumber(best.lmax);\n const lmin = prettyNumber(best.lmin);\n const lstep = prettyNumber(best.lstep);\n\n // 加 round 是为处理 extended(0.94, 1, 5)\n // 保证生成的 tickCount 没有精度问题\n const tickCount = Math.floor(round((lmax - lmin) / lstep)) + 1;\n const ticks = new Array(tickCount);\n\n // 少用乘法:防止出现 -1.2 + 1.2 * 3 = 2.3999999999999995 的情况\n ticks[0] = prettyNumber(lmin);\n for (let i = 1; i < tickCount; i++) {\n ticks[i] = prettyNumber(ticks[i - 1] + lstep);\n }\n\n return {\n min: Math.min(dMin, head(ticks)),\n max: Math.max(dMax, last(ticks)),\n ticks,\n };\n}\n","import { prettyNumber } from './pretty-number';\n\nexport default function pretty(min: number, max: number, m: number = 5) {\n if (min === max) {\n return {\n max,\n min,\n ticks: [min],\n };\n }\n\n const n = m < 0 ? 0 : Math.round(m);\n if (n === 0) return { max, min, ticks: [] };\n\n /*\n R pretty:\n https://svn.r-project.org/R/trunk/src/appl/pretty.c\n https://www.rdocumentation.org/packages/base/versions/3.5.2/topics/pretty\n */\n const h = 1.5; // high.u.bias\n const h5 = 0.5 + 1.5 * h; // u5.bias\n // 反正我也不会调参,跳过所有判断步骤\n const d = max - min;\n const c = d / n;\n // 当d非常小的时候触发,但似乎没什么用\n // const min_n = Math.floor(n / 3);\n // const shrink_sml = Math.pow(2, 5);\n // if (Math.log10(d) < -2) {\n // c = (_.max([ Math.abs(max), Math.abs(min) ]) * shrink_sml) / min_n;\n // }\n\n const base = Math.pow(10, Math.floor(Math.log10(c)));\n let unit = base;\n if (2 * base - c < h * (c - unit)) {\n unit = 2 * base;\n if (5 * base - c < h5 * (c - unit)) {\n unit = 5 * base;\n if (10 * base - c < h * (c - unit)) {\n unit = 10 * base;\n }\n }\n }\n const nu = Math.ceil(max / unit);\n const ns = Math.floor(min / unit);\n\n const hi = Math.max(nu * unit, max);\n const lo = Math.min(ns * unit, min);\n\n const size = Math.floor((hi - lo) / unit) + 1;\n const ticks = new Array(size);\n for (let i = 0; i < size; i++) {\n ticks[i] = prettyNumber(lo + i * unit);\n }\n\n return {\n min: lo,\n max: hi,\n ticks,\n };\n}\n","import { ScaleConfig } from '../types';\n/**\n * 计算几分位 https://github.com/simple-statistics/simple-statistics/blob/master/src/quantile_sorted.js\n * @param x 数组\n * @param p 百分比\n */\nfunction quantileSorted(x, p) {\n const idx = x.length * p;\n /*if (x.length === 0) { // 当前场景这些条件不可能命中\n throw new Error('quantile requires at least one value.');\n } else if (p < 0 || p > 1) {\n throw new Error('quantiles must be between 0 and 1');\n } else */\n \n if (p === 1) {\n // If p is 1, directly return the last element\n return x[x.length - 1];\n } else if (p === 0) {\n // If p is 0, directly return the first element\n return x[0];\n } else if (idx % 1 !== 0) {\n // If p is not integer, return the next element in array\n return x[Math.ceil(idx) - 1];\n } else if (x.length % 2 === 0) {\n // If the list has even-length, we'll take the average of this number\n // and the next value, if there is one\n return (x[idx - 1] + x[idx]) / 2;\n } else {\n // Finally, in the simple case of an integer value\n // with an odd-length list, return the x value at the index.\n return x[idx];\n }\n}\n\nexport default function calculateTicks(cfg: ScaleConfig) {\n const { tickCount, values } = cfg;\n if (!values || !values.length) {\n return [];\n }\n const sorted = values.slice().sort((a, b) => {\n return a - b;\n });\n const ticks = [];\n for (let i = 0; i < tickCount; i++) {\n const p = i / (tickCount - 1);\n ticks.push(quantileSorted(sorted, p));\n }\n return ticks;\n}\n","import { ScaleConfig } from '../types';\nimport { DAY, getTickInterval, HOUR, MINUTE, MONTH, SECOND, YEAR } from '../util/time';\n\nfunction getYear(date: number) {\n return new Date(date).getFullYear();\n}\n\nfunction createYear(year: number) {\n return new Date(year, 0, 1).getTime();\n}\n\nfunction getMonth(date: number) {\n return new Date(date).getMonth();\n}\n\nfunction diffMonth(min: number, max: number) {\n const minYear = getYear(min);\n const maxYear = getYear(max);\n const minMonth = getMonth(min);\n const maxMonth = getMonth(max);\n return (maxYear - minYear) * 12 + ((maxMonth - minMonth) % 12);\n}\n\nfunction creatMonth(year: number, month: number) {\n return new Date(year, month, 1).getTime();\n}\n\nfunction diffDay(min: number, max: number) {\n return Math.ceil((max - min) / DAY);\n}\n\nfunction diffHour(min: number, max: number) {\n return Math.ceil((max - min) / HOUR);\n}\n\nfunction diffMinus(min: number, max: number) {\n return Math.ceil((max - min) / (60 * 1000));\n}\n\n/**\n * 计算 time 的 ticks,对 month, year 进行 pretty 处理\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function timePretty(cfg: ScaleConfig): number[] {\n const { min, max, minTickInterval, tickCount } = cfg;\n let { tickInterval } = cfg;\n const ticks: number[] = [];\n // 指定 tickInterval 后 tickCount 不生效,需要重新计算\n if (!tickInterval) {\n tickInterval = (max - min) / tickCount;\n // 如果设置了最小间距,则使用最小间距\n if (minTickInterval && tickInterval < minTickInterval) {\n tickInterval = minTickInterval;\n }\n }\n tickInterval = Math.max(Math.floor((max - min) / (2 ** 12 - 1)), tickInterval);\n const minYear = getYear(min);\n // 如果间距大于 1 年,则将开始日期从整年开始\n if (tickInterval > YEAR) {\n const maxYear = getYear(max);\n const yearInterval = Math.ceil(tickInterval / YEAR);\n for (let i = minYear; i <= maxYear + yearInterval; i = i + yearInterval) {\n ticks.push(createYear(i));\n }\n } else if (tickInterval > MONTH) {\n // 大于月时\n const monthInterval = Math.ceil(tickInterval / MONTH);\n const mmMoth = getMonth(min);\n const dMonths = diffMonth(min, max);\n for (let i = 0; i <= dMonths + monthInterval; i = i + monthInterval) {\n ticks.push(creatMonth(minYear, i + mmMoth));\n }\n } else if (tickInterval > DAY) {\n // 大于天\n const date = new Date(min);\n const year = date.getFullYear();\n const month = date.getMonth();\n const mday = date.getDate();\n const day = Math.ceil(tickInterval / DAY);\n const ddays = diffDay(min, max);\n for (let i = 0; i < ddays + day; i = i + day) {\n ticks.push(new Date(year, month, mday + i).getTime());\n }\n } else if (tickInterval > HOUR) {\n // 大于小时\n const date = new Date(min);\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate();\n const hour = date.getHours();\n const hours = Math.ceil(tickInterval / HOUR);\n const dHours = diffHour(min, max);\n for (let i = 0; i <= dHours + hours; i = i + hours) {\n ticks.push(new Date(year, month, day, hour + i).getTime());\n }\n } else if (tickInterval > MINUTE) {\n // 大于分钟\n const dMinus = diffMinus(min, max);\n const minutes = Math.ceil(tickInterval / MINUTE);\n for (let i = 0; i <= dMinus + minutes; i = i + minutes) {\n ticks.push(min + i * MINUTE);\n }\n } else {\n // 小于分钟\n let interval = tickInterval;\n if (interval < SECOND) {\n interval = SECOND;\n }\n const minSecond = Math.floor(min / SECOND) * SECOND;\n const dSeconds = Math.ceil((max - min) / SECOND);\n const seconds = Math.ceil(interval / SECOND);\n for (let i = 0; i < dSeconds + seconds; i = i + seconds) {\n ticks.push(minSecond + i * SECOND);\n }\n }\n\n // 最好是能从算法能解决这个问题,但是如果指定了 tickInterval,计算 ticks,也只能这么算,所以\n // 打印警告提示\n if (ticks.length >= 512) {\n console.warn(`Notice: current ticks length(${ticks.length}) >= 512, may cause performance issues, even out of memory. Because of the configure \"tickInterval\"(in milliseconds, current is ${tickInterval}) is too small, increase the value to solve the problem!`);\n }\n\n return ticks;\n}\n","import cat from './cat';\nimport d3Linear from './d3-linear';\nimport linear from './linear';\nimport log from './log';\nimport pow from './pow';\nimport quantile from './quantile';\nimport rPretty from './r-prettry';\nimport { getTickMethod, registerTickMethod } from './register';\nimport time from './time';\nimport timeCat from './time-cat';\nimport timePretty from './time-pretty';\n\nregisterTickMethod('cat', cat);\nregisterTickMethod('time-cat', timeCat);\nregisterTickMethod('wilkinson-extended', linear);\nregisterTickMethod('r-pretty', rPretty);\nregisterTickMethod('time', time);\nregisterTickMethod('time-pretty', timePretty);\nregisterTickMethod('log', log);\nregisterTickMethod('pow', pow);\nregisterTickMethod('quantile', quantile);\nregisterTickMethod('d3-linear', d3Linear);\n\nexport { getTickMethod, registerTickMethod };\n","import { ScaleConfig } from '../types';\nimport catTicks from './cat';\n/**\n * 计算时间分类的 ticks, 保头,保尾\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function timeCat(cfg: ScaleConfig): any[] {\n // 默认保留最后一条\n const ticks = catTicks({ showLast: true, ...cfg });\n return ticks;\n}\n","import { head, isNil, last } from '@antv/util';\nimport { ScaleConfig } from '../types';\nimport extended from '../util/extended';\nimport interval from '../util/interval';\nimport strictLimit from '../util/strict-limit';\n\n/**\n * 计算线性的 ticks,使用 wilkinson extended 方法\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function linear(cfg: ScaleConfig): number[] {\n const { min, max, tickCount, nice, tickInterval, minLimit, maxLimit } = cfg;\n const ticks = extended(min, max, tickCount, nice).ticks;\n\n if (!isNil(minLimit) || !isNil(maxLimit)) {\n return strictLimit(cfg, head(ticks), last(ticks));\n }\n if (tickInterval) {\n return interval(min, max, tickInterval).ticks;\n }\n return ticks;\n}\n","import { head, isNil, last } from '@antv/util';\nimport { ScaleConfig } from '../types';\nimport interval from '../util/interval';\nimport pretty from '../util/pretty';\nimport strictLimit from '../util/strict-limit';\n\n/**\n * 计算线性的 ticks,使用 R's pretty 方法\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function linearPretty(cfg: ScaleConfig): number[] {\n const { min, max, tickCount, tickInterval, minLimit, maxLimit } = cfg;\n const ticks = pretty(min, max, tickCount).ticks;\n\n if (!isNil(minLimit) || !isNil(maxLimit)) {\n return strictLimit(cfg, head(ticks), last(ticks));\n }\n if (tickInterval) {\n return interval(min, max, tickInterval).ticks;\n }\n return ticks;\n}\n","import { ScaleConfig } from '../types';\nimport { getTickInterval } from '../util/time';\n\nexport default function calculateTimeTicks(cfg: ScaleConfig): number[] {\n const { min, max, minTickInterval } = cfg;\n let tickInterval = cfg.tickInterval;\n let tickCount = cfg.tickCount;\n // 指定 tickInterval 后 tickCount 不生效,需要重新计算\n if (tickInterval) {\n tickCount = Math.ceil((max - min) / tickInterval);\n } else {\n tickInterval = getTickInterval(min, max, tickCount)[1];\n const count = (max - min) / tickInterval;\n const ratio = count / tickCount;\n if (ratio > 1) {\n tickInterval = tickInterval * Math.ceil(ratio);\n }\n // 如果设置了最小间距,则使用最小间距\n if (minTickInterval && tickInterval < minTickInterval) {\n tickInterval = minTickInterval;\n }\n }\n\n tickInterval = Math.max(Math.floor((max - min) / (2 ** 12 - 1)), tickInterval);\n const ticks = [];\n for (let i = min; i < max + tickInterval; i += tickInterval) {\n ticks.push(i);\n }\n return ticks;\n}\n","import { isEmpty } from '@antv/util';\nimport { ScaleConfig } from '../types';\nimport { getLogPositiveMin, log } from '../util/math';\n\n/**\n * 计算 log 的 ticks,考虑 min = 0 的场景\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculateLogTicks(cfg: ScaleConfig) {\n const { base, tickCount, min, max, values } = cfg;\n let minTick;\n const maxTick = log(base, max);\n if (min > 0) {\n minTick = Math.floor(log(base, min));\n } else {\n const positiveMin = getLogPositiveMin(values, base, max);\n minTick = Math.floor(log(base, positiveMin));\n }\n const count = maxTick - minTick;\n const avg = Math.ceil(count / tickCount);\n const ticks = [];\n for (let i = minTick; i < maxTick + avg; i = i + avg) {\n ticks.push(Math.pow(base, i));\n }\n if (min <= 0) {\n // 最小值 <= 0 时显示 0\n ticks.unshift(0);\n }\n return ticks;\n}\n","import { ScaleConfig } from '../types';\nimport { calBase } from '../util/math';\nimport pretty from '../util/pretty';\n/**\n * 计算 Pow 的 ticks\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculatePowTicks(cfg: ScaleConfig) {\n const { exponent, tickCount } = cfg;\n const max = Math.ceil(calBase(exponent, cfg.max));\n const min = Math.floor(calBase(exponent, cfg.min));\n const ticks = pretty(min, max, tickCount).ticks;\n return ticks.map((tick) => {\n const factor = tick >= 0 ? 1 : -1;\n return Math.pow(tick, exponent) * factor;\n });\n}\n","import { head, isNil, last } from '@antv/util';\nimport { ScaleConfig } from '../types';\nimport d3Linear from '../util/d3-linear';\nimport interval from '../util/interval';\nimport strictLimit from '../util/strict-limit';\n\nexport default function d3LinearTickMethod(cfg: ScaleConfig): number[] {\n const { min, max, tickInterval, minLimit, maxLimit } = cfg;\n const ticks = d3Linear(cfg);\n\n if (!isNil(minLimit) || !isNil(maxLimit)) {\n return strictLimit(cfg, head(ticks), last(ticks));\n }\n if (tickInterval) {\n return interval(min, max, tickInterval).ticks;\n }\n return ticks;\n}\n","import Scale from './base';\nimport Category from './category/base';\nimport TimeCat from './category/time';\nimport Linear from './continuous/linear';\nimport Log from './continuous/log';\nimport Pow from './continuous/pow';\nimport Time from './continuous/time';\nimport Quantize from './continuous/quantize';\nimport Quantile from './continuous/quantile';\nimport { getScale, registerScale } from './factory';\nimport Identity from './identity/index';\nimport { getTickMethod, registerTickMethod } from './tick-method/index';\nimport { ScaleConfig, Tick } from './types';\n\nregisterScale('cat', Category);\nregisterScale('category', Category);\nregisterScale('identity', Identity);\nregisterScale('linear', Linear);\nregisterScale('log', Log);\nregisterScale('pow', Pow);\nregisterScale('time', Time);\nregisterScale('timeCat', TimeCat);\nregisterScale('quantize', Quantize);\nregisterScale('quantile', Quantile);\n\nexport {\n Category,\n Identity,\n Linear,\n Log,\n Pow,\n Time,\n TimeCat,\n Quantile,\n Quantize,\n Scale,\n getScale,\n registerScale,\n ScaleConfig,\n Tick,\n getTickMethod,\n registerTickMethod,\n};\n","import Attribute, { AttributeConstructor } from './attributes/base';\n\ninterface AttributeMapType {\n [key: string]: any;\n}\n\n// 所有的 attribute map\nconst ATTRIBUTE_MAP: AttributeMapType = {};\n\n/**\n * 通过类型获得 Attribute 类\n * @param type\n */\nconst getAttribute = (type: string) => {\n return ATTRIBUTE_MAP[type.toLowerCase()];\n};\n\nconst registerAttribute = (type: string, ctor: AttributeConstructor) => {\n // 注册的时候,需要校验 type 重名,不区分大小写\n if (getAttribute(type)) {\n throw new Error(`Attribute type '${type}' existed.`);\n }\n // 存储到 map 中\n ATTRIBUTE_MAP[type.toLowerCase()] = ctor;\n};\n\nexport { getAttribute, registerAttribute, Attribute };\nexport * from './interface';\n","import Attribute from './attributes/base';\n\nimport Color from './attributes/color';\nimport Opacity from './attributes/opacity';\nimport Position from './attributes/position';\nimport Shape from './attributes/shape';\nimport Size from './attributes/size';\n\nimport { getAttribute, registerAttribute } from './factory';\n\nregisterAttribute('Color', Color);\nregisterAttribute('Opacity', Opacity);\nregisterAttribute('Position', Position);\nregisterAttribute('Shape', Shape);\nregisterAttribute('Size', Size);\n\nexport {\n registerAttribute,\n getAttribute,\n Attribute,\n // 以下 export 是为了兼容,理论上是不需要的\n Color,\n Opacity,\n Position,\n Shape,\n Size,\n};\n\nexport * from './interface';\n","import * as glMatrix from \"./common.js\";\n/**\n * 3 Dimensional Vector\n * @module vec3\n */\n\n/**\n * Creates a new, empty vec3\n *\n * @returns {vec3} a new 3D vector\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(3);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n }\n\n return out;\n}\n/**\n * Creates a new vec3 initialized with values from an existing vector\n *\n * @param {ReadonlyVec3} a vector to clone\n * @returns {vec3} a new 3D vector\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(3);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n}\n/**\n * Calculates the length of a vec3\n *\n * @param {ReadonlyVec3} a vector to calculate length of\n * @returns {Number} length of a\n */\n\nexport function length(a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n return Math.hypot(x, y, z);\n}\n/**\n * Creates a new vec3 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} a new 3D vector\n */\n\nexport function fromValues(x, y, z) {\n var out = new glMatrix.ARRAY_TYPE(3);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n}\n/**\n * Copy the values from one vec3 to another\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the source vector\n * @returns {vec3} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n}\n/**\n * Set the components of a vec3 to the given values\n *\n * @param {vec3} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} out\n */\n\nexport function set(out, x, y, z) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n}\n/**\n * Adds two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n return out;\n}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n return out;\n}\n/**\n * Multiplies two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n return out;\n}\n/**\n * Divides two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n return out;\n}\n/**\n * Math.ceil the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to ceil\n * @returns {vec3} out\n */\n\nexport function ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n out[2] = Math.ceil(a[2]);\n return out;\n}\n/**\n * Math.floor the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to floor\n * @returns {vec3} out\n */\n\nexport function floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n out[2] = Math.floor(a[2]);\n return out;\n}\n/**\n * Returns the minimum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n return out;\n}\n/**\n * Returns the maximum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n return out;\n}\n/**\n * Math.round the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to round\n * @returns {vec3} out\n */\n\nexport function round(out, a) {\n out[0] = Math.round(a[0]);\n out[1] = Math.round(a[1]);\n out[2] = Math.round(a[2]);\n return out;\n}\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */\n\nexport function scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n return out;\n}\n/**\n * Adds two vec3's after scaling the second operand by a scalar value\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec3} out\n */\n\nexport function scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n return out;\n}\n/**\n * Calculates the euclidian distance between two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} distance between a and b\n */\n\nexport function distance(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n var z = b[2] - a[2];\n return Math.hypot(x, y, z);\n}\n/**\n * Calculates the squared euclidian distance between two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} squared distance between a and b\n */\n\nexport function squaredDistance(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n var z = b[2] - a[2];\n return x * x + y * y + z * z;\n}\n/**\n * Calculates the squared length of a vec3\n *\n * @param {ReadonlyVec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\n\nexport function squaredLength(a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n return x * x + y * y + z * z;\n}\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to negate\n * @returns {vec3} out\n */\n\nexport function negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n return out;\n}\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to invert\n * @returns {vec3} out\n */\n\nexport function inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n return out;\n}\n/**\n * Normalize a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to normalize\n * @returns {vec3} out\n */\n\nexport function normalize(out, a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n var len = x * x + y * y + z * z;\n\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n }\n\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n out[2] = a[2] * len;\n return out;\n}\n/**\n * Calculates the dot product of two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} dot product of a and b\n */\n\nexport function dot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\nexport function cross(out, a, b) {\n var ax = a[0],\n ay = a[1],\n az = a[2];\n var bx = b[0],\n by = b[1],\n bz = b[2];\n out[0] = ay * bz - az * by;\n out[1] = az * bx - ax * bz;\n out[2] = ax * by - ay * bx;\n return out;\n}\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\n\nexport function lerp(out, a, b, t) {\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n return out;\n}\n/**\n * Performs a hermite interpolation with two control points\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {ReadonlyVec3} c the third operand\n * @param {ReadonlyVec3} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\n\nexport function hermite(out, a, b, c, d, t) {\n var factorTimes2 = t * t;\n var factor1 = factorTimes2 * (2 * t - 3) + 1;\n var factor2 = factorTimes2 * (t - 2) + t;\n var factor3 = factorTimes2 * (t - 1);\n var factor4 = factorTimes2 * (3 - 2 * t);\n out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;\n out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;\n out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;\n return out;\n}\n/**\n * Performs a bezier interpolation with two control points\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {ReadonlyVec3} c the third operand\n * @param {ReadonlyVec3} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\n\nexport function bezier(out, a, b, c, d, t) {\n var inverseFactor = 1 - t;\n var inverseFactorTimesTwo = inverseFactor * inverseFactor;\n var factorTimes2 = t * t;\n var factor1 = inverseFactorTimesTwo * inverseFactor;\n var factor2 = 3 * t * inverseFactorTimesTwo;\n var factor3 = 3 * factorTimes2 * inverseFactor;\n var factor4 = factorTimes2 * t;\n out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;\n out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;\n out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;\n return out;\n}\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec3} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec3} out\n */\n\nexport function random(out, scale) {\n scale = scale || 1.0;\n var r = glMatrix.RANDOM() * 2.0 * Math.PI;\n var z = glMatrix.RANDOM() * 2.0 - 1.0;\n var zScale = Math.sqrt(1.0 - z * z) * scale;\n out[0] = Math.cos(r) * zScale;\n out[1] = Math.sin(r) * zScale;\n out[2] = z * scale;\n return out;\n}\n/**\n * Transforms the vec3 with a mat4.\n * 4th vector component is implicitly '1'\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec3} out\n */\n\nexport function transformMat4(out, a, m) {\n var x = a[0],\n y = a[1],\n z = a[2];\n var w = m[3] * x + m[7] * y + m[11] * z + m[15];\n w = w || 1.0;\n out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;\n out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;\n out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;\n return out;\n}\n/**\n * Transforms the vec3 with a mat3.\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyMat3} m the 3x3 matrix to transform with\n * @returns {vec3} out\n */\n\nexport function transformMat3(out, a, m) {\n var x = a[0],\n y = a[1],\n z = a[2];\n out[0] = x * m[0] + y * m[3] + z * m[6];\n out[1] = x * m[1] + y * m[4] + z * m[7];\n out[2] = x * m[2] + y * m[5] + z * m[8];\n return out;\n}\n/**\n * Transforms the vec3 with a quat\n * Can also be used for dual quaternions. (Multiply it with the real part)\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyQuat} q quaternion to transform with\n * @returns {vec3} out\n */\n\nexport function transformQuat(out, a, q) {\n // benchmarks: https://jsperf.com/quaternion-transform-vec3-implementations-fixed\n var qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3];\n var x = a[0],\n y = a[1],\n z = a[2]; // var qvec = [qx, qy, qz];\n // var uv = vec3.cross([], qvec, a);\n\n var uvx = qy * z - qz * y,\n uvy = qz * x - qx * z,\n uvz = qx * y - qy * x; // var uuv = vec3.cross([], qvec, uv);\n\n var uuvx = qy * uvz - qz * uvy,\n uuvy = qz * uvx - qx * uvz,\n uuvz = qx * uvy - qy * uvx; // vec3.scale(uv, uv, 2 * w);\n\n var w2 = qw * 2;\n uvx *= w2;\n uvy *= w2;\n uvz *= w2; // vec3.scale(uuv, uuv, 2);\n\n uuvx *= 2;\n uuvy *= 2;\n uuvz *= 2; // return vec3.add(out, a, vec3.add(out, uv, uuv));\n\n out[0] = x + uvx + uuvx;\n out[1] = y + uvy + uuvy;\n out[2] = z + uvz + uuvz;\n return out;\n}\n/**\n * Rotate a 3D vector around the x-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\n\nexport function rotateX(out, a, b, rad) {\n var p = [],\n r = []; //Translate point to the origin\n\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2]; //perform rotation\n\n r[0] = p[0];\n r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad);\n r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad); //translate to correct position\n\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n return out;\n}\n/**\n * Rotate a 3D vector around the y-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\n\nexport function rotateY(out, a, b, rad) {\n var p = [],\n r = []; //Translate point to the origin\n\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2]; //perform rotation\n\n r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad);\n r[1] = p[1];\n r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad); //translate to correct position\n\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n return out;\n}\n/**\n * Rotate a 3D vector around the z-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\n\nexport function rotateZ(out, a, b, rad) {\n var p = [],\n r = []; //Translate point to the origin\n\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2]; //perform rotation\n\n r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad);\n r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad);\n r[2] = p[2]; //translate to correct position\n\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n return out;\n}\n/**\n * Get the angle between two 3D vectors\n * @param {ReadonlyVec3} a The first operand\n * @param {ReadonlyVec3} b The second operand\n * @returns {Number} The angle in radians\n */\n\nexport function angle(a, b) {\n var ax = a[0],\n ay = a[1],\n az = a[2],\n bx = b[0],\n by = b[1],\n bz = b[2],\n mag1 = Math.sqrt(ax * ax + ay * ay + az * az),\n mag2 = Math.sqrt(bx * bx + by * by + bz * bz),\n mag = mag1 * mag2,\n cosine = mag && dot(a, b) / mag;\n return Math.acos(Math.min(Math.max(cosine, -1), 1));\n}\n/**\n * Set the components of a vec3 to zero\n *\n * @param {vec3} out the receiving vector\n * @returns {vec3} out\n */\n\nexport function zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n out[2] = 0.0;\n return out;\n}\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec3} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\n\nexport function str(a) {\n return \"vec3(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \")\";\n}\n/**\n * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec3} a The first vector.\n * @param {ReadonlyVec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];\n}\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec3} a The first vector.\n * @param {ReadonlyVec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2));\n}\n/**\n * Alias for {@link vec3.subtract}\n * @function\n */\n\nexport var sub = subtract;\n/**\n * Alias for {@link vec3.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link vec3.divide}\n * @function\n */\n\nexport var div = divide;\n/**\n * Alias for {@link vec3.distance}\n * @function\n */\n\nexport var dist = distance;\n/**\n * Alias for {@link vec3.squaredDistance}\n * @function\n */\n\nexport var sqrDist = squaredDistance;\n/**\n * Alias for {@link vec3.length}\n * @function\n */\n\nexport var len = length;\n/**\n * Alias for {@link vec3.squaredLength}\n * @function\n */\n\nexport var sqrLen = squaredLength;\n/**\n * Perform some operation over an array of vec3s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\n\nexport var forEach = function () {\n var vec = create();\n return function (a, stride, offset, count, fn, arg) {\n var i, l;\n\n if (!stride) {\n stride = 3;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n vec[2] = a[i + 2];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n a[i + 2] = vec[2];\n }\n\n return a;\n };\n}();","import { ext, mat3, vec3 } from '@antv/matrix-util';\nimport { assign } from '@antv/util';\nimport { CoordinateCfg, ICoordinate, Point, Range } from '../interface';\n\nexport type CoordinateCtor = new (cfg: any) => Coordinate;\nexport type Vector2 = [number, number];\nexport type Vector3 = [number, number, number];\nexport type Matrix3 = [number, number, number, number, number, number, number, number, number];\n\n/**\n * Coordinate Base Class\n */\nexport default abstract class Coordinate implements ICoordinate {\n // 自身属性\n public readonly type: string = 'coordinate';\n public readonly isRect: boolean = false;\n public readonly isHelix: boolean = false;\n public readonly isPolar: boolean = false;\n\n // 外部属性\n public start: Point;\n public end: Point;\n public matrix: Matrix3;\n public isTransposed: boolean;\n\n // 极坐标下的属性\n public startAngle: number;\n public endAngle: number;\n public innerRadius: number;\n public radius: number;\n\n public x: Range;\n public y: Range;\n\n // 计算属性,通过相应的 get 方法获取,所以使用 protected 访问修饰符\n protected center: Point;\n protected width: number;\n protected height: number;\n private isReflectX = false;\n private isReflectY = false;\n // 初始构造时候的 matrix,存储起来用于 reset\n private originalMatrix: Matrix3;\n\n constructor(cfg: CoordinateCfg) {\n const { start, end, matrix = [1, 0, 0, 0, 1, 0, 0, 0, 1], isTransposed = false } = cfg;\n this.start = start;\n this.end = end;\n this.matrix = matrix as Matrix3;\n this.originalMatrix = [...matrix] as Matrix3; // 去除引用\n this.isTransposed = isTransposed;\n }\n\n /**\n * 初始化流程\n */\n public initial() {\n // center、width、height\n this.center = {\n x: (this.start.x + this.end.x) / 2,\n y: (this.start.y + this.end.y) / 2,\n };\n\n this.width = Math.abs(this.end.x - this.start.x);\n this.height = Math.abs(this.end.y - this.start.y);\n }\n\n /**\n * 更新配置\n * @param cfg\n */\n public update(cfg: CoordinateCfg) {\n assign(this, cfg);\n this.initial();\n }\n\n public convertDim(percent: number, dim: string): number {\n let { start, end } = this[dim];\n\n // 交换\n if (this.isReflect(dim)) {\n [start, end] = [end, start];\n }\n\n return start + percent * (end - start);\n }\n\n public invertDim(value: number, dim: string): number {\n let { start, end } = this[dim];\n // 交换\n if (this.isReflect(dim)) {\n [start, end] = [end, start];\n }\n\n return (value - start) / (end - start);\n }\n\n /**\n * 将坐标点进行矩阵变换\n * @param x 对应 x 轴画布坐标\n * @param y 对应 y 轴画布坐标\n * @param tag 默认为 0,可取值 0, 1\n * @return 返回变换后的三阶向量 [x, y, z]\n */\n public applyMatrix(x: number, y: number, tag: number = 0): number[] {\n const matrix = this.matrix;\n const vector: Vector3 = [x, y, tag];\n vec3.transformMat3(vector, vector, matrix);\n return vector;\n }\n\n /**\n * 将坐标点进行矩阵逆变换\n * @param x 对应 x 轴画布坐标\n * @param y 对应 y 轴画布坐标\n * @param tag 默认为 0,可取值 0, 1\n * @return 返回矩阵逆变换后的三阶向量 [x, y, z]\n */\n public invertMatrix(x: number, y: number, tag: number = 0): number[] {\n const matrix = this.matrix;\n const inverted = mat3.invert([0, 0, 0, 0, 0, 0, 0, 0, 0], matrix);\n const vector: Vector3 = [x, y, tag];\n if (inverted) {\n // 如果为空则不进行矩阵变化,防止报错\n vec3.transformMat3(vector, vector, inverted);\n }\n return vector;\n }\n\n /**\n * 将归一化的坐标点数据转换为画布坐标,并根据坐标系当前矩阵进行变换\n * @param point 归一化的坐标点\n * @return 返回进行矩阵变换后的画布坐标\n */\n public convert(point: Point): Point {\n const { x, y } = this.convertPoint(point);\n const vector = this.applyMatrix(x, y, 1);\n return {\n x: vector[0],\n y: vector[1],\n };\n }\n\n /**\n * 将进行过矩阵变换画布坐标转换为归一化坐标\n * @param point 画布坐标\n * @return 返回归一化的坐标点\n */\n public invert(point: Point): Point {\n const vector = this.invertMatrix(point.x, point.y, 1);\n return this.invertPoint({\n x: vector[0],\n y: vector[1],\n });\n }\n\n /**\n * 坐标系旋转变换\n * @param radian 旋转弧度\n * @return 返回坐标系对象\n */\n public rotate(radian: number) {\n const matrix = this.matrix;\n const center = this.center;\n ext.leftTranslate(matrix, matrix, [-center.x, -center.y]);\n ext.leftRotate(matrix, matrix, radian);\n ext.leftTranslate(matrix, matrix, [center.x, center.y]);\n return this;\n }\n\n /**\n * 坐标系反射变换\n * @param dim 反射维度\n * @return 返回坐标系对象\n */\n public reflect(dim: string) {\n if (dim === 'x') {\n this.isReflectX = !this.isReflectX;\n } else {\n this.isReflectY = !this.isReflectY;\n }\n return this;\n }\n\n /**\n * 坐标系比例变换\n * @param s1 x 方向缩放比例\n * @param s2 y 方向缩放比例\n * @return 返回坐标系对象\n */\n public scale(s1: number, s2: number) {\n const matrix = this.matrix;\n const center = this.center;\n ext.leftTranslate(matrix, matrix, [-center.x, -center.y]);\n ext.leftScale(matrix, matrix, [s1, s2]);\n ext.leftTranslate(matrix, matrix, [center.x, center.y]);\n return this;\n }\n\n /**\n * 坐标系平移变换\n * @param x x 方向平移像素\n * @param y y 方向平移像素\n * @return 返回坐标系对象\n */\n public translate(x: number, y: number) {\n const matrix = this.matrix;\n ext.leftTranslate(matrix, matrix, [x, y]);\n return this;\n }\n\n /**\n * 将坐标系 x y 两个轴进行转置\n * @return 返回坐标系对象\n */\n public transpose() {\n this.isTransposed = !this.isTransposed;\n return this;\n }\n\n public getCenter(): Point {\n return this.center;\n }\n\n public getWidth(): number {\n return this.width;\n }\n\n public getHeight(): number {\n return this.height;\n }\n\n public getRadius(): number {\n return this.radius;\n }\n\n /**\n * whether has reflect\n * @param dim\n */\n public isReflect(dim: string): boolean {\n return dim === 'x' ? this.isReflectX : this.isReflectY;\n }\n\n /**\n * 重置 matrix\n * @param matrix 如果传入,则使用,否则使用构造函数中传入的默认 matrix\n */\n public resetMatrix(matrix?: Matrix3) {\n // 去除引用关系\n this.matrix = matrix ? matrix : ([...this.originalMatrix] as Matrix3);\n }\n\n /**\n * 将归一化的坐标点数据转换为画布坐标\n * @param point\n */\n public abstract convertPoint(point: Point): Point;\n\n /**\n * 画布坐标转换为归一化的坐标点数据\n * @param point\n */\n public abstract invertPoint(point: Point): Point;\n}\n","import { CoordinateCfg, Point } from '../interface';\nimport Coordinate from './base';\n\n/**\n * 笛卡尔坐标系\n * https://www.zhihu.com/question/20665303\n */\nexport default class Cartesian extends Coordinate {\n public readonly isRect: boolean = true;\n public readonly type: string = 'cartesian';\n\n constructor(cfg: CoordinateCfg) {\n super(cfg);\n\n this.initial();\n }\n\n public initial() {\n super.initial();\n\n const start = this.start;\n const end = this.end;\n\n this.x = {\n start: start.x,\n end: end.x,\n };\n this.y = {\n start: start.y,\n end: end.y,\n };\n }\n\n public convertPoint(point: Point) {\n let { x, y } = point;\n\n // 交换\n if (this.isTransposed) {\n [x, y] = [y, x];\n }\n return {\n x: this.convertDim(x, 'x'),\n y: this.convertDim(y, 'y'),\n };\n }\n\n public invertPoint(point: Point) {\n let x = this.invertDim(point.x, 'x');\n let y = this.invertDim(point.y, 'y');\n\n if (this.isTransposed) {\n [x, y] = [y, x];\n }\n\n return { x, y };\n }\n}\n","import { ext, vec2 } from '@antv/matrix-util';\nimport { isNumberEqual } from '@antv/util';\nimport { Point, PolarCfg } from '../interface';\nimport Coordinate, { Vector2 } from './base';\n\n/**\n * 螺旋坐标系\n */\nexport default class Helix extends Coordinate {\n public readonly isHelix: boolean = true;\n public readonly type: string = 'helix';\n\n // 螺线系数\n private a: number;\n private d: number;\n\n constructor(cfg: PolarCfg) {\n super(cfg);\n\n const { startAngle = 1.25 * Math.PI, endAngle = 7.25 * Math.PI, innerRadius = 0, radius } = cfg;\n\n this.startAngle = startAngle;\n this.endAngle = endAngle;\n this.innerRadius = innerRadius;\n this.radius = radius;\n\n this.initial();\n }\n\n public initial() {\n super.initial();\n\n const index: number = (this.endAngle - this.startAngle) / (2 * Math.PI) + 1; // 螺线圈数\n let maxRadius: number = Math.min(this.width, this.height) / 2;\n\n if (this.radius && this.radius >= 0 && this.radius <= 1) {\n maxRadius = maxRadius * this.radius;\n }\n\n this.d = Math.floor((maxRadius * (1 - this.innerRadius)) / index);\n this.a = this.d / (Math.PI * 2); // 螺线系数\n\n this.x = {\n start: this.startAngle,\n end: this.endAngle,\n };\n this.y = {\n start: this.innerRadius * maxRadius,\n end: this.innerRadius * maxRadius + this.d * 0.99,\n };\n }\n\n /**\n * 将百分比数据变成屏幕坐标\n * @param point 归一化的点坐标\n * @return 返回对应的屏幕坐标\n */\n public convertPoint(point: Point): Point {\n let { x, y } = point;\n if (this.isTransposed) {\n [x, y] = [y, x];\n }\n\n const thi = this.convertDim(x, 'x');\n const r = this.a * thi;\n const newY = this.convertDim(y, 'y');\n\n return {\n x: this.center.x + Math.cos(thi) * (r + newY),\n y: this.center.y + Math.sin(thi) * (r + newY),\n };\n }\n\n /**\n * 将屏幕坐标点还原成百分比数据\n * @param point 屏幕坐标\n * @return 返回对应的归一化后的数据\n */\n public invertPoint(point: Point): Point {\n const d = this.d + this.y.start;\n\n const v = vec2.subtract([0, 0], [point.x, point.y], [this.center.x, this.center.y]) as Vector2;\n\n let thi = ext.angleTo(v, [1, 0], true);\n let rMin = thi * this.a; // 坐标与原点的连线在第一圈上的交点,最小r值\n\n if (vec2.length(v) < rMin) {\n // 坐标与原点的连线不可能小于最小r值,但不排除因小数计算产生的略小于rMin的情况\n rMin = vec2.length(v);\n }\n\n const index = Math.floor((vec2.length(v) - rMin) / d); // 当前点位于第index圈\n thi = 2 * index * Math.PI + thi;\n const r = this.a * thi;\n let newY = vec2.length(v) - r;\n newY = isNumberEqual(newY, 0) ? 0 : newY;\n\n let x = this.invertDim(thi, 'x');\n let y = this.invertDim(newY, 'y');\n x = isNumberEqual(x, 0) ? 0 : x;\n y = isNumberEqual(y, 0) ? 0 : y;\n\n if (this.isTransposed) {\n [x, y] = [y, x];\n }\n\n return { x, y };\n }\n}\n","import { ext, vec2, vec3 } from '@antv/matrix-util';\nimport { isNumberEqual } from '@antv/util';\nimport { Point, PolarCfg } from '../interface';\nimport Coordinate, { Matrix3, Vector2, Vector3 } from './base';\n\nexport default class Polar extends Coordinate {\n public readonly isPolar: boolean = true;\n public readonly type: string = 'polar';\n\n public circleCenter: Point;\n\n // 极坐标的半径值,区别于用户设置的归一化 radius\n private polarRadius: number;\n\n constructor(cfg: PolarCfg) {\n super(cfg);\n\n const { startAngle = -Math.PI / 2, endAngle = (Math.PI * 3) / 2, innerRadius = 0, radius } = cfg;\n this.startAngle = startAngle;\n this.endAngle = endAngle;\n this.innerRadius = innerRadius;\n this.radius = radius;\n\n this.initial();\n }\n\n public initial() {\n super.initial();\n\n while (this.endAngle < this.startAngle) {\n this.endAngle += Math.PI * 2;\n }\n\n const oneBox = this.getOneBox();\n\n const oneWidth = oneBox.maxX - oneBox.minX;\n const oneHeight = oneBox.maxY - oneBox.minY;\n\n const left = Math.abs(oneBox.minX) / oneWidth;\n const top = Math.abs(oneBox.minY) / oneHeight;\n\n let maxRadius: number;\n\n if (this.height / oneHeight > this.width / oneWidth) {\n // width 为主\n maxRadius = this.width / oneWidth;\n this.circleCenter = {\n x: this.center.x - (0.5 - left) * this.width,\n y: this.center.y - (0.5 - top) * maxRadius * oneHeight,\n };\n } else {\n // height 为主\n maxRadius = this.height / oneHeight;\n this.circleCenter = {\n x: this.center.x - (0.5 - left) * maxRadius * oneWidth,\n y: this.center.y - (0.5 - top) * this.height,\n };\n }\n\n this.polarRadius = this.radius;\n if (!this.radius) {\n this.polarRadius = maxRadius;\n } else if (this.radius > 0 && this.radius <= 1) {\n this.polarRadius = maxRadius * this.radius;\n } else if (this.radius <= 0 || this.radius > maxRadius) {\n this.polarRadius = maxRadius;\n }\n\n this.x = {\n start: this.startAngle,\n end: this.endAngle,\n };\n\n this.y = {\n start: this.innerRadius * this.polarRadius,\n end: this.polarRadius,\n };\n }\n\n public getRadius() {\n return this.polarRadius;\n }\n\n public convertPoint(point: Point): Point {\n const center = this.getCenter();\n\n let { x, y } = point;\n\n if (this.isTransposed) {\n [x, y] = [y, x];\n }\n\n x = this.convertDim(x, 'x');\n y = this.convertDim(y, 'y');\n\n return {\n x: center.x + Math.cos(x) * y,\n y: center.y + Math.sin(x) * y,\n };\n }\n\n public invertPoint(point: Point): Point {\n const center = this.getCenter();\n const vPoint: Vector2 = [point.x - center.x, point.y - center.y];\n\n let { startAngle, endAngle } = this;\n if (this.isReflect('x')) {\n [startAngle, endAngle] = [endAngle, startAngle];\n }\n\n const m: Matrix3 = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n ext.leftRotate(m, m, startAngle);\n\n const vStart3: Vector3 = [1, 0, 0];\n vec3.transformMat3(vStart3, vStart3, m);\n const vStart2: Vector2 = [vStart3[0], vStart3[1]];\n let angle = ext.angleTo(vStart2, vPoint, endAngle < startAngle);\n if (isNumberEqual(angle, Math.PI * 2)) {\n angle = 0;\n }\n const radius = vec2.length(vPoint);\n\n let xPercent = angle / (endAngle - startAngle);\n xPercent = endAngle - startAngle > 0 ? xPercent : -xPercent;\n\n const yPercent = this.invertDim(radius, 'y');\n const rst = { x: 0, y: 0 };\n rst.x = this.isTransposed ? yPercent : xPercent;\n rst.y = this.isTransposed ? xPercent : yPercent;\n return rst;\n }\n\n public getCenter() {\n return this.circleCenter;\n }\n\n private getOneBox() {\n const startAngle = this.startAngle;\n const endAngle = this.endAngle;\n if (Math.abs(endAngle - startAngle) >= Math.PI * 2) {\n return {\n minX: -1,\n maxX: 1,\n minY: -1,\n maxY: 1,\n };\n }\n const xs = [0, Math.cos(startAngle), Math.cos(endAngle)];\n const ys = [0, Math.sin(startAngle), Math.sin(endAngle)];\n\n for (let i = Math.min(startAngle, endAngle); i < Math.max(startAngle, endAngle); i += Math.PI / 18) {\n xs.push(Math.cos(i));\n ys.push(Math.sin(i));\n }\n\n return {\n minX: Math.min(...xs),\n maxX: Math.max(...xs),\n minY: Math.min(...ys),\n maxY: Math.max(...ys),\n };\n }\n}\n","import { CoordinateCtor } from './coord/base';\n\n// 所有的 Coordinate map\nconst COORDINATE_MAP: Record = {};\n\n/**\n * 通过类型获得 coordinate 类\n * @param type\n */\nexport const getCoordinate = (type: string): CoordinateCtor => {\n return COORDINATE_MAP[type.toLowerCase()];\n};\n\n/**\n * 注册 coordinate 类\n * @param type\n * @param ctor\n */\nexport const registerCoordinate = (type: string, ctor: CoordinateCtor): void => {\n // 存储到 map 中\n COORDINATE_MAP[type.toLowerCase()] = ctor;\n};\n\nexport * from './interface';\n","import { IGroup } from '@antv/g-base';\nimport { Event as GraphEvent } from '@antv/g-base';\nimport { LooseObject } from '../types';\n\n/**\n *\n * @param group 分组\n * @param eventName 事件名\n * @param eventObject 事件对象\n */\nexport function propagationDelegate(group: IGroup, eventName: string, eventObject: LooseObject) {\n const event = new GraphEvent(eventName, eventObject);\n event.target = group;\n event.propagationPath.push(group); // 从当前 group 开始触发 delegation\n group.emitDelegation(eventName, event);\n let parent = group.getParent() as IGroup;\n // 执行冒泡\n while (parent) {\n // 委托事件要先触发\n parent.emitDelegation(eventName, event);\n event.propagationPath.push(parent);\n parent = parent.getParent() as IGroup;\n }\n}\n","import Coordinate from './coord/base';\nimport Cartesian from './coord/cartesian';\nimport Helix from './coord/helix';\nimport Polar from './coord/polar';\n\nimport { getCoordinate, registerCoordinate } from './factory';\n\nregisterCoordinate('rect', Cartesian);\nregisterCoordinate('cartesian', Cartesian);\nregisterCoordinate('polar', Polar);\nregisterCoordinate('helix', Helix);\n\nexport { getCoordinate, registerCoordinate, Coordinate };\n\nexport { Point, PolarCfg, CoordinateCfg } from './interface';\n","import { IElement } from '@antv/g-base';\nimport { ext, vec2, vec3 } from '@antv/matrix-util';\nimport { BBox, Point } from '../types';\n\nconst identityMatrix = [1, 0, 0, 0, 1, 0, 0, 0, 1];\nexport function getMatrixByAngle(point: Point, angle: number, matrix = identityMatrix): number[] {\n if (!angle) {\n // 角度为 0 或者 null 时返回 null\n return null;\n }\n const m = ext.transform(matrix, [\n ['t', -point.x, -point.y],\n ['r', angle],\n ['t', point.x, point.y],\n ]);\n return m;\n}\n\nexport function getMatrixByTranslate(point: Point, currentMatrix?: number[]): number[] {\n if (!point.x && !point.y) {\n // 0,0 或者 nan 的情况下返回 null\n return null;\n }\n return ext.transform(currentMatrix || identityMatrix, [['t', point.x, point.y]]);\n}\n\n// 从矩阵获取旋转的角度\nexport function getAngleByMatrix(matrix: [\n number, number, number,\n number, number, number,\n number, number, number\n]): number {\n const xVector: [number, number, number] = [1, 0, 0];\n const out: [ number, number, number ] = [0, 0, 0];\n vec3.transformMat3(out, xVector, matrix);\n return Math.atan2(out[1], out[0]);\n}\n// 矩阵 * 向量\nfunction multiplyVec2(matrix, v) {\n const out: [number, number] = [0, 0];\n vec2.transformMat3(out, v, matrix);\n return out;\n}\n\nexport function applyMatrix2BBox(matrix: number[], bbox: BBox) {\n const topLeft = multiplyVec2(matrix, [bbox.minX, bbox.minY]);\n const topRight = multiplyVec2(matrix, [bbox.maxX, bbox.minY]);\n const bottomLeft = multiplyVec2(matrix, [bbox.minX, bbox.maxY]);\n const bottomRight = multiplyVec2(matrix, [bbox.maxX, bbox.maxY]);\n const minX = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\n const maxX = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\n const minY = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n const maxY = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n return {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n}\n\nexport function applyRotate(shape: IElement, rotate: number, x: number, y: number) {\n if (rotate) {\n const matrix = getMatrixByAngle({ x, y }, rotate, shape.getMatrix());\n shape.setMatrix(matrix);\n }\n}\n\nexport function applyTranslate(shape: IElement, x: number, y: number) {\n const translateMatrix = getMatrixByTranslate({ x, y });\n shape.attr('matrix', translateMatrix);\n}\n","import { IElement, IGroup } from '@antv/g-base';\nimport { each, isArray, isNil, isNumber } from '@antv/util';\nimport { BBox, Point, Region } from '../types';\n\nexport function formatPadding(padding: number | number[]): number[] {\n let top = 0;\n let left = 0;\n let right = 0;\n let bottom = 0;\n\n if (isNumber(padding)) {\n top = left = right = bottom = padding;\n } else if (isArray(padding)) {\n top = padding[0];\n right = !isNil(padding[1]) ? padding[1] : padding[0];\n bottom = !isNil(padding[2]) ? padding[2] : padding[0];\n left = !isNil(padding[3]) ? padding[3] : right;\n }\n\n return [top, right, bottom, left];\n}\n\nexport function clearDom(container: HTMLElement) {\n const children = container.childNodes;\n const length = children.length;\n for (let i = length - 1; i >= 0; i--) {\n container.removeChild(children[i]);\n }\n}\n\nexport function hasClass(elements, cName): boolean {\n return !!elements.className.match(new RegExp(`(\\\\s|^)${cName}(\\\\s|$)`));\n}\n\nexport function regionToBBox(region: Region): BBox {\n const { start, end } = region;\n const minX = Math.min(start.x, end.x);\n const minY = Math.min(start.y, end.y);\n const maxX = Math.max(start.x, end.x);\n const maxY = Math.max(start.y, end.y);\n return {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n}\n\nexport function pointsToBBox(points: Point[]): BBox {\n const xs: number[] = points.map((point) => point.x);\n const ys: number[] = points.map((point) => point.y);\n const minX = Math.min(...xs);\n const minY = Math.min(...ys);\n const maxX = Math.max(...xs);\n const maxY = Math.max(...ys);\n return {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n}\n\nexport function createBBox(x: number, y: number, width: number, height: number): BBox {\n const maxX = x + width;\n const maxY = y + height;\n\n return {\n x,\n y,\n width,\n height,\n minX: x,\n minY: y,\n // 非常奇葩的 js 特性\n // Infinity + Infinity = Infinity\n // Infinity - Infinity = NaN\n // fixed https://github.com/antvis/G2Plot/issues/1243\n maxX: isNaN(maxX) ? 0 : maxX,\n maxY: isNaN(maxY) ? 0 : maxY,\n };\n}\n\nexport function getValueByPercent(min: number, max: number, percent: number) {\n return (1 - percent) * min + max * percent;\n}\n\nexport function getCirclePoint(center: Point, radius: number, angle: number) {\n return {\n x: center.x + Math.cos(angle) * radius,\n y: center.y + Math.sin(angle) * radius,\n };\n}\n\nexport function distance(p1: Point, p2: Point): number {\n const dx = p2.x - p1.x;\n const dy = p2.y - p1.y;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nexport const wait = (interval: number): Promise => {\n return new Promise((resolve) => {\n setTimeout(resolve, interval);\n });\n};\n\n/**\n * 判断两个数值 是否接近\n * - 解决精度问题(由于无法确定精度上限,根据具体场景可传入 精度 参数)\n */\nexport const near = (x: number, y: number, e = Number.EPSILON ** 0.5): boolean =>\n [x, y].includes(Infinity) ? Math.abs(x) === Math.abs(y) : Math.abs(x - y) < e;\n\nexport function intersectBBox(box1: BBox, box2: BBox): BBox {\n const minX = Math.max(box1.minX, box2.minX);\n const minY = Math.max(box1.minY, box2.minY);\n const maxX = Math.min(box1.maxX, box2.maxX);\n const maxY = Math.min(box1.maxY, box2.maxY);\n return createBBox(minX, minY, maxX - minX, maxY - minY);\n}\n\nexport function mergeBBox(box1: BBox, box2: BBox): BBox {\n const minX = Math.min(box1.minX, box2.minX);\n const minY = Math.min(box1.minY, box2.minY);\n const maxX = Math.max(box1.maxX, box2.maxX);\n const maxY = Math.max(box1.maxY, box2.maxY);\n return createBBox(minX, minY, maxX - minX, maxY - minY);\n}\n\nexport function getBBoxWithClip(element: IElement): BBox {\n const clipShape = element.getClip();\n const clipBBox = clipShape && clipShape.getBBox();\n let bbox;\n if (!element.isGroup()) {\n // 如果是普通的图形\n bbox = element.getBBox();\n } else {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n const children = (element as IGroup).getChildren();\n if (children.length > 0) {\n each(children, (child: IElement) => {\n if (child.get('visible')) {\n // 如果分组没有子元素,则直接跳过\n if (child.isGroup() && child.get('children').length === 0) {\n return true;\n }\n const box = getBBoxWithClip(child);\n // 计算 4 个顶点\n const leftTop = child.applyToMatrix([box.minX, box.minY, 1]);\n const leftBottom = child.applyToMatrix([box.minX, box.maxY, 1]);\n const rightTop = child.applyToMatrix([box.maxX, box.minY, 1]);\n const rightBottom = child.applyToMatrix([box.maxX, box.maxY, 1]);\n // 从中取最小的范围\n const boxMinX = Math.min(leftTop[0], leftBottom[0], rightTop[0], rightBottom[0]);\n const boxMaxX = Math.max(leftTop[0], leftBottom[0], rightTop[0], rightBottom[0]);\n const boxMinY = Math.min(leftTop[1], leftBottom[1], rightTop[1], rightBottom[1]);\n const boxMaxY = Math.max(leftTop[1], leftBottom[1], rightTop[1], rightBottom[1]);\n\n if (boxMinX < minX) {\n minX = boxMinX;\n }\n\n if (boxMaxX > maxX) {\n maxX = boxMaxX;\n }\n\n if (boxMinY < minY) {\n minY = boxMinY;\n }\n\n if (boxMaxY > maxY) {\n maxY = boxMaxY;\n }\n }\n });\n } else {\n minX = 0;\n maxX = 0;\n minY = 0;\n maxY = 0;\n }\n bbox = createBBox(minX, minY, maxX - minX, maxY - minY);\n }\n if (clipBBox) {\n return intersectBBox(bbox, clipBBox);\n } else {\n return bbox;\n }\n}\n\nexport function updateClip(element: IElement, newElement: IElement) {\n if (!element.getClip() && !newElement.getClip()) {\n // 两者都没有 clip\n return;\n }\n const newClipShape = newElement.getClip();\n if (!newClipShape) {\n // 新的 element 没有 clip\n element.setClip(null); // 移除 clip\n return;\n }\n const clipCfg = {\n type: newClipShape.get('type'),\n attrs: newClipShape.attr(),\n };\n element.setClip(clipCfg);\n}\n\nexport function toPx(number) {\n return `${number}px`;\n}\n\nexport function getTextPoint(start: Point, end: Point, position: string, offset: number): Point {\n const lineLength = distance(start, end);\n const offsetPercent = offset / lineLength; // 计算间距同线的比例,用于计算最终的位置\n let percent = 0;\n if (position === 'start') {\n percent = 0 - offsetPercent;\n } else if (position === 'end') {\n percent = 1 + offsetPercent;\n }\n return {\n x: getValueByPercent(start.x, end.x, percent),\n y: getValueByPercent(start.y, end.y, percent),\n };\n}\n","import { Base } from '@antv/g-base';\nimport { deepMix, each, hasKey, isObject } from '@antv/util';\nimport { ILocation } from '../interfaces';\nimport { BBox, ComponentCfg, LocationCfg, OffsetPoint } from '../types';\nconst LOCATION_FIELD_MAP = {\n none: [],\n point: ['x', 'y'],\n region: ['start', 'end'],\n points: ['points'],\n circle: ['center', 'radius', 'startAngle', 'endAngle'],\n};\n\nabstract class Component extends Base implements ILocation {\n constructor(cfg: T) {\n super(cfg);\n this.initCfg();\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n return {\n id: '',\n name: '',\n type: '',\n locationType: 'none',\n offsetX: 0,\n offsetY: 0,\n animate: false,\n capture: true,\n updateAutoRender: false,\n animateOption: {\n appear: null, // 初始入场动画配置\n update: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时发生变更的动画配置\n enter: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时新增元素的入场动画配置\n leave: {\n duration: 350,\n easing: 'easeQuadIn',\n }, // 更新时销毁动画配置\n },\n events: null,\n defaultCfg: {},\n visible: true,\n };\n }\n\n /**\n * 清理组件的内容,一般配合 render 使用\n * @example\n * axis.clear();\n * axis.render();\n */\n public clear() {}\n\n /**\n * 更新组件\n * @param {object} cfg 更新属性\n */\n public update(cfg: Partial) {\n const defaultCfg = this.get('defaultCfg') || {};\n each(cfg, (value, name) => {\n const originCfg = this.get(name);\n let newCfg = value;\n if (originCfg !== value) {\n // 判断两者是否相等,主要是进行 null 的判定\n if (isObject(value) && defaultCfg[name]) {\n // 新设置的属性与默认值进行合并\n newCfg = deepMix({}, defaultCfg[name], value);\n }\n this.set(name, newCfg);\n }\n });\n this.updateInner(cfg);\n this.afterUpdate(cfg);\n }\n // 更新内部\n protected updateInner(cfg: Partial) {\n\n }\n\n protected afterUpdate(cfg: Partial) {\n // 更新时考虑显示、隐藏\n if (hasKey(cfg, 'visible')) {\n if (cfg.visible) {\n this.show();\n } else {\n this.hide();\n }\n }\n // 更新时考虑capture\n if (hasKey(cfg, 'capture')) {\n this.setCapture(cfg.capture);\n }\n }\n\n public abstract getBBox(): BBox;\n\n public getLayoutBBox(): BBox {\n return this.getBBox(); // 默认返回 getBBox,不同的组件内部单独实现\n }\n\n public getLocationType() {\n return this.get('locationType');\n }\n\n public getOffset(): OffsetPoint {\n return {\n offsetX: this.get('offsetX'),\n offsetY: this.get('offsetY'),\n };\n }\n\n // 默认使用 update\n public setOffset(offsetX: number, offsetY: number) {\n this.update({\n offsetX,\n offsetY,\n } as T);\n }\n\n public setLocation(cfg: LocationCfg) {\n const location = { ...cfg } as Partial;\n this.update(location);\n }\n\n // 实现 ILocation 接口的 getLocation\n public getLocation(): LocationCfg {\n const location = {} as LocationCfg;\n const locationType = this.get('locationType');\n const fields = LOCATION_FIELD_MAP[locationType];\n each(fields, (field) => {\n location[field] = this.get(field);\n });\n return location;\n }\n\n public isList(): boolean {\n return false;\n }\n\n public isSlider(): boolean {\n return false;\n }\n\n /**\n * @protected\n * 初始化,用于具体的组件继承\n */\n public init() {}\n\n /**\n * 绘制组件\n */\n public abstract render();\n\n /**\n * 显示\n */\n public abstract show();\n\n public abstract setCapture(capture: boolean);\n\n /**\n * 隐藏\n */\n public abstract hide();\n\n // 将组件默认的配置项设置合并到传入的配置项\n private initCfg() {\n const defaultCfg = this.get('defaultCfg');\n each(defaultCfg, (value, name) => {\n const cfg = this.get(name);\n if (isObject(cfg)) {\n const newCfg = deepMix({}, value, cfg);\n this.set(name, newCfg);\n }\n });\n }\n}\n\nexport default Component;\n","/**\n * @fileoverview 使用 G.Group 的组件\n * @author dxq613@gmail.com\n */\nimport { IElement, IGroup, IShape } from '@antv/g-base';\nimport { difference, each, isNil, keys, mix, pick } from '@antv/util';\nimport { BBox, GroupComponentCfg, LooseObject, Point } from '../types';\nimport { propagationDelegate } from '../util/event';\nimport { applyMatrix2BBox, getMatrixByTranslate } from '../util/matrix';\nimport { getBBoxWithClip, updateClip } from '../util/util';\nimport Component from './component';\ntype Callback = (evt: object) => void;\n\nconst STATUS_UPDATE = 'update_status';\nconst COPY_PROPERTIES = ['visible', 'tip', 'delegateObject']; // 更新对象时需要复制的属性\nconst COPY_PROPERTIES_EXCLUDES = ['container', 'group', 'shapesMap', 'isRegister', 'isUpdating', 'destroyed']; // 更新子组件时排除的属性\n\nexport type GroupComponentCtor<\n C extends GroupComponentCfg = GroupComponentCfg,\n T extends GroupComponent = GroupComponent\n> = new (cfg: C) => T;\n\nabstract class GroupComponent extends Component {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n container: null,\n /**\n * @private\n * 缓存图形的 Map\n */\n shapesMap: {},\n group: null,\n capture: true,\n /**\n * @private 组件或者图形是否允许注册\n * @type {false}\n */\n isRegister: false,\n /**\n * @private 是否正在更新\n * @type {false}\n */\n isUpdating: false,\n /**\n * @private\n * 是否初始状态,一旦 render,update 后,这个状态就变成 false, clear 后恢复\n */\n isInit: true,\n };\n }\n\n public remove() {\n this.clear();\n const group = this.get('group');\n group.remove();\n }\n\n public clear() {\n const group = this.get('group');\n group.clear();\n this.set('shapesMap', {});\n this.clearOffScreenCache();\n this.set('isInit', true);\n }\n\n public getChildComponentById(id: string) {\n const group = this.getElementById(id);\n const inst = group && group.get('component');\n return inst;\n }\n\n public getElementById(id: string) {\n return this.get('shapesMap')[id];\n }\n\n public getElementByLocalId(localId) {\n const id = this.getElementId(localId);\n return this.getElementById(id);\n }\n\n public getElementsByName(name: string) {\n const rst = [];\n each(this.get('shapesMap'), (elem) => {\n if (elem.get('name') === name) {\n rst.push(elem);\n }\n });\n\n return rst;\n }\n\n public getContainer(): IGroup {\n return this.get('container') as IGroup;\n }\n\n public updateInner(cfg: Partial) {\n // this.updateInner();\n // this.set('isUpdating', false);\n this.offScreenRender();\n if (this.get('updateAutoRender')) {\n this.render();\n }\n }\n\n public render() {\n let offScreenGroup = this.get('offScreenGroup');\n if (!offScreenGroup) {\n offScreenGroup = this.offScreenRender();\n }\n const group = this.get('group');\n this.updateElements(offScreenGroup, group);\n this.deleteElements();\n this.applyOffset();\n if (!this.get('eventInitted')) {\n this.initEvent();\n this.set('eventInitted', true);\n }\n this.set('isInit', false);\n }\n\n public show() {\n const group = this.get('group');\n group.show();\n this.set('visible', true);\n }\n\n public hide() {\n const group = this.get('group');\n group.hide();\n this.set('visible', false);\n }\n\n public setCapture(capture) {\n const group = this.get('group');\n group.set('capture', capture);\n this.set('capture', capture);\n }\n\n public destroy() {\n this.removeEvent();\n this.remove();\n super.destroy();\n }\n\n public getBBox(): BBox {\n return this.get('group').getCanvasBBox();\n }\n\n public getLayoutBBox(): BBox {\n const group = this.get('group');\n // 防止被 clear 了,offScreenBBox 不存在\n let bbox = this.getInnerLayoutBBox();\n const matrix = group.getTotalMatrix();\n if (matrix) {\n bbox = applyMatrix2BBox(matrix, bbox);\n }\n return bbox; // 默认返回 getBBox,不同的组件内部单独实现\n }\n\n // 复写 on, off, emit 透传到 group\n public on(evt: string, callback: Callback, once?: boolean): this {\n const group = this.get('group');\n group.on(evt, callback, once);\n return this;\n }\n\n public off(evt?: string, callback?: Callback): this {\n const group = this.get('group');\n group && group.off(evt, callback);\n return this;\n }\n\n public emit(eventName: string, eventObject: LooseObject) {\n const group = this.get('group');\n group.emit(eventName, eventObject);\n }\n\n public init() {\n super.init();\n if (!this.get('group')) {\n this.initGroup();\n }\n this.offScreenRender(); // 绘制离屏 group\n }\n\n // 获取组件内部布局占的包围盒\n protected getInnerLayoutBBox() {\n return this.get('offScreenBBox') || this.get('group').getBBox();\n }\n\n // 抛出委托对象\n protected delegateEmit(eventName: string, eventObject: LooseObject) {\n const group = this.get('group');\n eventObject.target = group;\n group.emit(eventName, eventObject);\n propagationDelegate(group, eventName, eventObject);\n }\n // 创建离屏的 group ,不添加在 canvas 中\n protected createOffScreenGroup() {\n const group = this.get('group');\n const GroupClass = group.getGroupBase(); // 获取分组的构造函数\n const newGroup = new GroupClass({\n delegateObject: this.getDelegateObject(), // 生成委托事件触发时附加的对象\n });\n return newGroup;\n }\n\n // 应用 offset\n protected applyOffset() {\n const offsetX = this.get('offsetX');\n const offsetY = this.get('offsetY');\n this.moveElementTo(this.get('group'), {\n x: offsetX,\n y: offsetY,\n });\n }\n\n protected initGroup() {\n const container = this.get('container');\n this.set(\n 'group',\n container.addGroup({\n id: this.get('id'),\n name: this.get('name'),\n capture: this.get('capture'),\n visible: this.get('visible'),\n isComponent: true,\n component: this,\n delegateObject: this.getDelegateObject(),\n })\n );\n }\n\n // 离屏渲染\n protected offScreenRender() {\n this.clearOffScreenCache();\n const offScreenGroup = this.createOffScreenGroup();\n\n this.renderInner(offScreenGroup);\n this.set('offScreenGroup', offScreenGroup);\n // 包含包围盒的 bbox\n this.set('offScreenBBox', getBBoxWithClip(offScreenGroup));\n return offScreenGroup;\n }\n\n /**\n * @protected\n * 在组件上添加分组,主要解决 isReigeter 的问题\n * @param {IGroup} parent 父元素\n * @param {object} cfg 分组的配置项\n */\n protected addGroup(parent: IGroup, cfg) {\n this.appendDelegateObject(parent, cfg);\n const group = parent.addGroup(cfg);\n if (this.get('isRegister')) {\n this.registerElement(group);\n }\n return group;\n }\n\n /**\n * @protected\n * 在组件上添加图形,主要解决 isReigeter 的问题\n * @param {IGroup} parent 父元素\n * @param {object} cfg 分组的配置项\n */\n protected addShape(parent: IGroup, cfg) {\n this.appendDelegateObject(parent, cfg);\n const shape = parent.addShape(cfg);\n if (this.get('isRegister')) {\n this.registerElement(shape);\n }\n return shape;\n }\n\n /**\n * 在组件上添加子组件\n *\n * @param parent 父元素\n * @param cfg 子组件配置项\n */\n protected addComponent(\n parent: IGroup,\n cfg: Omit & { component: GroupComponentCtor }\n ) {\n const { id, component: Ctor, ...restCfg } = cfg;\n // @ts-ignore\n const inst: CT = new Ctor({\n ...restCfg,\n id,\n container: parent,\n updateAutoRender: this.get('updateAutoRender'),\n });\n inst.init();\n inst.render();\n\n if (this.get('isRegister')) {\n this.registerElement(inst.get('group'));\n }\n\n return inst;\n }\n\n protected initEvent() {}\n\n protected removeEvent() {\n const group = this.get('group');\n group.off();\n }\n\n protected getElementId(localId: string) {\n const id = this.get('id'); // 组件的 Id\n const name = this.get('name'); // 组件的名称\n return `${id}-${name}-${localId}`;\n }\n\n protected registerElement(element) {\n const id = element.get('id');\n this.get('shapesMap')[id] = element;\n }\n\n protected unregisterElement(element) {\n const id = element.get('id');\n delete this.get('shapesMap')[id];\n }\n\n // 移动元素\n protected moveElementTo(element: IElement, point: Point) {\n const matrix = getMatrixByTranslate(point);\n element.attr('matrix', matrix);\n }\n\n /**\n * 内部的渲染\n * @param {IGroup} group 图形分组\n */\n protected abstract renderInner(group: IGroup);\n\n /**\n * 图形元素新出现时的动画,默认图形从透明度 0 到当前透明度\n * @protected\n * @param {string} elmentName 图形元素名称\n * @param {IElement} newElement 新的图形元素\n * @param {object} animateCfg 动画的配置项\n */\n protected addAnimation(elmentName, newElement, animateCfg) {\n // 缓存透明度\n let originOpacity = newElement.attr('opacity');\n if (isNil(originOpacity)) {\n originOpacity = 1;\n }\n newElement.attr('opacity', 0);\n newElement.animate({ opacity: originOpacity }, animateCfg);\n }\n\n /**\n * 图形元素新出现时的动画,默认图形从透明度 0 到当前透明度\n * @protected\n * @param {string} elmentName 图形元素名称\n * @param {IElement} originElement 要删除的图形元素\n * @param {object} animateCfg 动画的配置项\n */\n protected removeAnimation(elementName, originElement, animateCfg) {\n originElement.animate({ opacity: 0 }, animateCfg);\n }\n\n /**\n * 图形元素的更新动画\n * @param {string} elmentName 图形元素名称\n * @param {IElement} originElement 现有的图形元素\n * @param {object} newAttrs 新的图形元素\n * @param {object} animateCfg 动画的配置项\n */\n protected updateAnimation(elementName, originElement, newAttrs, animateCfg) {\n originElement.animate(newAttrs, animateCfg);\n }\n\n // 更新组件的图形\n protected updateElements(newGroup, originGroup) {\n const animate = this.get('animate');\n const animateOption = this.get('animateOption');\n const children = newGroup.getChildren().slice(0); // 创建一个新数组,防止添加到 originGroup 时, children 变动\n let preElement; // 前面已经匹配到的图形元素,用于\n each(children, (element) => {\n const elementId = element.get('id');\n const originElement = this.getElementById(elementId);\n const elementName = element.get('name');\n if (originElement) {\n if (element.get('isComponent')) {\n // 嵌套子组件更新\n const childComponent = element.get('component');\n const origChildComponent: GroupComponent = originElement.get('component');\n const newCfg = pick(childComponent.cfg, difference(keys(childComponent.cfg), COPY_PROPERTIES_EXCLUDES));\n origChildComponent.update(newCfg);\n originElement.set(STATUS_UPDATE, 'update');\n } else {\n const replaceAttrs = this.getReplaceAttrs(originElement, element);\n // 更新\n if (animate && animateOption.update) {\n // 没有动画\n this.updateAnimation(elementName, originElement, replaceAttrs, animateOption.update);\n } else {\n // originElement.attrs = replaceAttrs; // 直接替换\n originElement.attr(replaceAttrs);\n }\n // 如果是分组,则继续执行\n if (element.isGroup()) {\n this.updateElements(element, originElement);\n }\n // 复制属性\n each(COPY_PROPERTIES, (name) => {\n originElement.set(name, element.get(name));\n });\n updateClip(originElement, element);\n\n preElement = originElement;\n // 执行完更新后设置状态位为更新\n originElement.set(STATUS_UPDATE, 'update');\n }\n } else {\n // 没有对应的图形,则插入当前图形\n originGroup.add(element); // 应该在 group 加个 insertAt 的方法\n const siblings = originGroup.getChildren(); // 兄弟节点\n siblings.splice(siblings.length - 1, 1); // 先从数组中移除,然后放到合适的位置\n if (preElement) {\n // 前面已经有更新的图形或者插入的图形,则在这个图形后面插入\n const index = siblings.indexOf(preElement);\n siblings.splice(index + 1, 0, element); // 在已经更新的图形元素后面插入\n } else {\n siblings.unshift(element);\n }\n this.registerElement(element); // 注册节点\n element.set(STATUS_UPDATE, 'add'); // 执行完更新后设置状态位为添加\n if (element.get('isComponent')) {\n // 直接新增子组件container属性,实例不变\n const childComponent = element.get('component');\n childComponent.set('container', originGroup);\n } else if (element.isGroup()) {\n // 如果元素是新增加的元素,则遍历注册所有的子节点\n this.registerNewGroup(element);\n }\n preElement = element;\n if (animate) {\n const animateCfg = this.get('isInit') ? animateOption.appear : animateOption.enter;\n if (animateCfg) {\n this.addAnimation(elementName, element, animateCfg);\n }\n }\n }\n });\n }\n\n protected clearUpdateStatus(group: IGroup) {\n const children = group.getChildren();\n each(children, (el) => {\n el.set(STATUS_UPDATE, null); // 清理掉更新状态\n });\n }\n\n // 清理离屏缓存\n private clearOffScreenCache() {\n const offScreenGroup = this.get('offScreenGroup');\n if (offScreenGroup) {\n // 销毁原先的离线 Group\n offScreenGroup.destroy();\n }\n this.set('offScreenGroup', null);\n this.set('offScreenBBox', null);\n }\n\n // private updateInner() {\n // const group = this.get('group');\n // const newGroup = this.createOffScreenGroup();\n // this.renderInner(newGroup);\n // this.applyOffset();\n // this.updateElements(newGroup, group);\n // this.deleteElements();\n // newGroup.destroy(); // 销毁虚拟分组\n // }\n\n // 获取发生委托时的对象,在事件中抛出\n private getDelegateObject() {\n const name = this.get('name');\n const delegateObject = {\n [name]: this,\n component: this,\n };\n return delegateObject;\n }\n\n // 附加委托信息,用于事件\n private appendDelegateObject(parent: IGroup, cfg) {\n const parentObject = parent.get('delegateObject');\n if (!cfg.delegateObject) {\n cfg.delegateObject = {};\n }\n mix(cfg.delegateObject, parentObject); // 将父元素上的委托信息复制到自身\n }\n\n // 获取需要替换的属性,如果原先图形元素存在,而新图形不存在,则设置 undefined\n private getReplaceAttrs(originElement: IElement, newElement: IElement) {\n const originAttrs = originElement.attr();\n const newAttrs = newElement.attr();\n each(originAttrs, (v, k) => {\n if (newAttrs[k] === undefined) {\n newAttrs[k] = undefined;\n }\n });\n return newAttrs;\n }\n\n private registerNewGroup(group) {\n const children = group.getChildren();\n each(children, (element) => {\n this.registerElement(element); // 注册节点\n element.set(STATUS_UPDATE, 'add'); // 执行完更新后设置状态位为添加\n if (element.isGroup()) {\n this.registerNewGroup(element);\n }\n });\n }\n\n // 移除多余的元素\n private deleteElements() {\n const shapesMap = this.get('shapesMap');\n const deleteArray = [];\n // 遍历获取需要删除的图形元素\n each(shapesMap, (element, id) => {\n if (!element.get(STATUS_UPDATE) || element.destroyed) {\n deleteArray.push([id, element]);\n } else {\n element.set(STATUS_UPDATE, null); // 清理掉更新状态\n }\n });\n const animate = this.get('animate');\n const animateOption = this.get('animateOption');\n // 删除图形元素\n each(deleteArray, (item) => {\n const [id, element] = item;\n if (!element.destroyed) {\n const elementName = element.get('name');\n if (animate && animateOption.leave) {\n // 需要动画结束时移除图形\n const callbackAnimCfg = mix(\n {\n callback: () => {\n this.removeElement(element);\n },\n },\n animateOption.leave\n );\n this.removeAnimation(elementName, element, callbackAnimCfg);\n } else {\n this.removeElement(element);\n }\n }\n delete shapesMap[id]; // 从缓存中移除\n });\n }\n\n private removeElement(element: IShape | IGroup) {\n if (element.get('isGroup')) {\n const component = element.get('component');\n if (component) {\n component.destroy();\n }\n }\n element.remove();\n }\n}\n\nexport default GroupComponent;\n","const ELLIPSIS_CODE = '\\u2026';\n\n/** 获取字符串长度 */\nexport function strLen(str: string) {\n let len = 0;\n for (let i = 0; i < str.length; i++) {\n len += charAtLength(str, i);\n }\n return len;\n}\n\n/** 是否属于ASCII编码范畴 */\nexport function charAtLength(str: string, i: number) {\n if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 128) {\n return 1;\n } else {\n return 2;\n }\n}\n\n/** 文本省略 */\nexport function ellipsisString(str: string, reseveLength: number, position:string = 'tail') {\n const count = str.length;\n let rst = '';\n if (position === 'tail') {\n for (let i = 0, index = 0; i < reseveLength; ) {\n const charLength = charAtLength(str, index);\n if (i + charLength <= reseveLength) {\n rst += str[index];\n i += charAtLength(str, index);\n index++;\n } else {\n break;\n }\n }\n rst += ELLIPSIS_CODE;\n } else if (position === 'head') {\n for (let i = 0, index = count - 1; i < reseveLength; ) {\n const charLength = charAtLength(str, index);\n if (i + charLength <= reseveLength) {\n rst += str[index];\n i += charAtLength(str, index);\n index--;\n } else {\n break;\n }\n }\n rst = ELLIPSIS_CODE + rst;\n } else {\n let startStr = '';\n let endStr = '';\n for (let i = 0, startIndex = 0, endIndex = count - 1; i < reseveLength; ) {\n const startCodeLen = charAtLength(str, startIndex);\n let hasAdd = false; // 设置标志位,防止头尾都没有附加字符\n if (startCodeLen + i <= reseveLength) {\n startStr += str[startIndex];\n startIndex++;\n i += startCodeLen;\n hasAdd = true;\n }\n\n const endCodeLen = charAtLength(str, endIndex);\n if (endCodeLen + i <= reseveLength) {\n endStr = str[endIndex] + endStr;\n i += endCodeLen;\n endIndex--;\n hasAdd = true;\n }\n if (!hasAdd) {\n // 如果都没有增加字符,说明都不适合则中断\n break;\n }\n }\n rst = startStr + ELLIPSIS_CODE + endStr;\n }\n return rst;\n }\n","import { IElement } from '@antv/g-base';\nimport { each, isNil, getEllipsisText, pick } from '@antv/util';\n\nimport { ellipsisString, strLen } from './text';\n\nconst ELLIPSIS_CODE = '\\u2026';\nconst ELLIPSIS_CODE_LENGTH = 2; // 省略号的长度\n\n/** 大数据量阈值 */\nconst OPTIMIZE_THRESHOLD = 400;\n/**\n * 针对大数据量做优化的 getMaxLabelWidth,做法不是直接去比较每一个 label 的最大宽度\n * 而是先通过比较每个 label 每个的字符串的长度,这里区分了下中英文字符\n * 最终是去字符串最“长”的那个 label 的宽度。\n * @param labels\n */\nfunction getMaxLabelWidthOptimized(labels: IElement[]) {\n const texts: string[] = labels.map((label) => {\n const text = label.attr('text');\n return isNil(text) ? '' : `${text}`;\n });\n let maxLen = 0;\n let maxIdx = 0;\n\n for (let i = 0; i < texts.length; i += 1) {\n let len = 0;\n for (let j = 0; j <= texts[i].length; j += 1) {\n const code = texts[i].charCodeAt(j);\n if (code >= 19968 && code <= 40869) {\n len += 2;\n } else {\n len += 1;\n }\n }\n if (len > maxLen) {\n maxLen = len;\n maxIdx = i;\n }\n }\n\n return labels[maxIdx].getBBox().width;\n}\n\n/** 获取最长的 label */\nexport function getMaxLabelWidth(labels: IElement[]) {\n if (labels.length > OPTIMIZE_THRESHOLD) {\n return getMaxLabelWidthOptimized(labels);\n }\n\n let max = 0;\n each(labels, (label) => {\n const bbox = label.getBBox();\n const width = bbox.width;\n if (max < width) {\n max = width;\n }\n });\n return max;\n}\n\n/** 获取label长度 */\nexport function getLabelLength(isVertical: boolean, label) {\n const bbox = label.getCanvasBBox();\n return isVertical ? bbox.width : bbox.height;\n}\n\n/* label长度是否超过约束值 */\nexport function testLabel(label: IElement, limitLength: number): boolean {\n return label.getBBox().width < limitLength;\n}\n\n/** 处理 text shape 的自动省略 */\nexport function ellipsisLabel(isVertical: boolean, label: IElement, limitLength: number, position: string = 'tail') {\n const text = label.attr('text') ?? ''; // 避免出现null、undefined\n\n if (position === 'tail') {\n // component 里的缩略处理做得很糟糕,文字长度测算完全不准确\n // 这里暂时只对 tail 做处理\n const font = pick(label.attr(), ['fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'fontVariant']);\n const ellipsisText = getEllipsisText(text, limitLength, font, '…') as string;\n if (text !== ellipsisText) {\n label.attr('text', ellipsisText);\n label.set('tip', text);\n return true;\n }\n label.set('tip', null);\n return false;\n }\n\n const labelLength = getLabelLength(isVertical, label);\n const codeLength = strLen(text);\n let ellipsisFlag = false;\n if (limitLength < labelLength) {\n const reserveLength = Math.floor((limitLength / labelLength) * codeLength) - ELLIPSIS_CODE_LENGTH; // 计算出来的应该保存的长度\n let newText;\n if (reserveLength >= 0) {\n newText = ellipsisString(text, reserveLength, position);\n } else {\n newText = ELLIPSIS_CODE;\n }\n if (newText) {\n label.attr('text', newText);\n ellipsisFlag = true;\n }\n }\n if (ellipsisFlag) {\n label.set('tip', text);\n } else {\n label.set('tip', null);\n }\n return ellipsisFlag;\n}\n","import { IGroup } from '@antv/g-base';\nimport { get } from '@antv/util';\n\nimport { EnhancedTextCfg } from '../types';\nimport { ellipsisLabel } from './label';\nimport { applyRotate, applyTranslate } from './matrix';\nimport { formatPadding } from './util';\n\nexport interface TagCfg extends EnhancedTextCfg {\n /** 组件的 id 标识 */\n id?: string;\n /** 组件的名字 */\n name?: string;\n /**\n * 文本标注位置 x\n */\n x: number;\n /**\n * 文本标注位置 y\n */\n y: number;\n}\n\nexport function renderTag(container: IGroup, tagCfg: TagCfg) {\n const { x, y, content, style, id, name, rotate, maxLength, autoEllipsis, isVertical, ellipsisPosition, background } = tagCfg;\n const tagGroup = container.addGroup({\n id: `${id}-group`,\n name: `${name}-group`,\n attrs: {\n x,\n y,\n }\n });\n\n // Text shape\n const text = tagGroup.addShape({\n type: 'text',\n id,\n name,\n attrs: {\n x: 0,\n y: 0,\n text: content,\n ...style,\n },\n });\n\n // maxLength 应包含 background 中的 padding 值\n const padding = formatPadding(get(background, 'padding', 0));\n if (maxLength && autoEllipsis) {\n const maxTextLength = maxLength - (padding[1] + padding[3]);\n // 超出自动省略\n ellipsisLabel(!isVertical, text, maxTextLength, ellipsisPosition);\n }\n\n if (background) {\n // 渲染文本背景\n const backgroundStyle = get(background, 'style', {});\n const { minX, minY, width, height } = text.getCanvasBBox();\n const tagBg = tagGroup.addShape('rect', {\n id: `${id}-bg`,\n name: `${id}-bg`,\n attrs: {\n x: minX - padding[3],\n y: minY - padding[0],\n width: width + padding[1] + padding[3],\n height: height + padding[0] + padding[2],\n ...backgroundStyle,\n },\n });\n tagBg.toBack();\n }\n\n applyTranslate(tagGroup, x, y);\n applyRotate(tagGroup, rotate, x, y);\n}\n","export default {\n fontFamily: `\n BlinkMacSystemFont, \"Segoe UI\", Roboto,\"Helvetica Neue\",\n Helvetica, \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\",\n SimSun, \"sans-serif\"`,\n textColor: '#2C3542',\n activeTextColor: '#333333',\n uncheckedColor: '#D8D8D8',\n lineColor: '#416180',\n regionColor: '#CCD7EB',\n verticalAxisRotate: -Math.PI / 4,\n horizontalAxisRotate: Math.PI / 4,\n\n // descriptionIcon theme\n descriptionIconStroke: '#fff',\n descriptionIconFill: 'rgba(58, 73, 101, .25)',\n};\n","import { IGroup, Point } from '@antv/g-base';\nimport { isNumber, isString } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { LineAnnotationCfg, RegionLocationCfg } from '../types';\nimport { renderTag, TagCfg } from '../util/graphic';\nimport Theme from '../util/theme';\nimport { getValueByPercent } from '../util/util';\n\nclass LineAnnotation extends GroupComponent implements ILocation {\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'line',\n locationType: 'region',\n start: null,\n end: null,\n style: {},\n text: null,\n defaultCfg: {\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'center',\n textBaseline: 'bottom',\n fontFamily: Theme.fontFamily,\n },\n text: {\n position: 'center',\n autoRotate: true,\n content: null,\n offsetX: 0,\n offsetY: 0,\n style: {\n stroke: Theme.lineColor,\n lineWidth: 1,\n },\n },\n },\n };\n }\n\n protected renderInner(group: IGroup) {\n this.renderLine(group);\n if (this.get('text')) {\n this.renderLabel(group);\n }\n }\n\n // 绘制线\n private renderLine(group: IGroup) {\n const start = this.get('start');\n const end = this.get('end');\n const style = this.get('style');\n this.addShape(group, {\n type: 'line',\n id: this.getElementId('line'),\n name: 'annotation-line',\n attrs: {\n x1: start.x,\n y1: start.y,\n x2: end.x,\n y2: end.y,\n ...style,\n },\n });\n }\n\n // 获取 label 的位置\n private getLabelPoint(start: Point, end: Point, position: string) {\n let percent;\n if (position === 'start') {\n percent = 0;\n } else if (position === 'center') {\n percent = 0.5;\n } else if (isString(position) && position.indexOf('%') !== -1) {\n percent = parseInt(position, 10) / 100;\n } else if (isNumber(position)) {\n percent = position;\n } else {\n percent = 1;\n }\n\n if (percent > 1 || percent < 0) {\n percent = 1;\n }\n\n return {\n x: getValueByPercent(start.x, end.x, percent),\n y: getValueByPercent(start.y, end.y, percent),\n };\n }\n\n // 绘制 label\n private renderLabel(group: IGroup) {\n const text = this.get('text');\n const start = this.get('start');\n const end = this.get('end');\n const { position, content, style, offsetX, offsetY, autoRotate,\n maxLength, autoEllipsis, ellipsisPosition, background, isVertical = false } = text;\n const point = this.getLabelPoint(start, end, position);\n const x = point.x + offsetX;\n const y = point.y + offsetY;\n\n const cfg: TagCfg = {\n id: this.getElementId('line-text'),\n name: 'annotation-line-text',\n x,\n y,\n content,\n style,\n maxLength,\n autoEllipsis,\n ellipsisPosition,\n background,\n isVertical,\n };\n\n // 如果自动旋转\n if (autoRotate) {\n const vector = [end.x - start.x, end.y - start.y];\n cfg.rotate = Math.atan2(vector[1], vector[0]);\n }\n\n renderTag(group, cfg);\n }\n}\n\nexport default LineAnnotation;\n","import { IGroup } from '@antv/g-base';\n\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { PointLocationCfg, TextAnnotationCfg } from '../types';\nimport { renderTag } from '../util/graphic';\nimport { applyRotate, applyTranslate } from '../util/matrix';\nimport Theme from '../util/theme';\n\nclass TextAnnotation extends GroupComponent implements ILocation {\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'text',\n locationType: 'point',\n x: 0,\n y: 0,\n content: '',\n rotate: null,\n style: {},\n background: null,\n maxLength: null,\n autoEllipsis: true,\n isVertical: false,\n ellipsisPosition: 'tail',\n defaultCfg: {\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'center',\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n },\n },\n };\n }\n\n // 复写 setLocation 方法,不需要重新创建 text\n public setLocation(location: PointLocationCfg) {\n this.set('x', location.x);\n this.set('y', location.y);\n this.resetLocation();\n }\n\n protected renderInner(group: IGroup) {\n const { x, y } = this.getLocation();\n const content = this.get('content');\n const style = this.get('style');\n const id = this.getElementId('text');\n const name = `${this.get('name')}-text`;\n const maxLength = this.get('maxLength');\n const autoEllipsis = this.get('autoEllipsis');\n const isVertical = this.get('isVertical');\n const ellipsisPosition = this.get('ellipsisPosition');\n const background = this.get('background');\n const rotate = this.get('rotate');\n\n const cfg = {\n id,\n name,\n x,\n y,\n content,\n style,\n maxLength,\n autoEllipsis,\n isVertical,\n ellipsisPosition,\n background,\n rotate,\n };\n\n renderTag(group, cfg);\n }\n\n private resetLocation() {\n const textGroup = this.getElementByLocalId('text-group');\n if (textGroup) {\n const {x, y} = this.getLocation();\n const rotate = this.get('rotate')\n applyTranslate(textGroup, x, y);\n applyRotate(textGroup, rotate, x, y);\n }\n }\n}\n\nexport default TextAnnotation;\n","import { IGroup } from '@antv/g-base';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { ArcAnnotationCfg, CircleLocationCfg } from '../types';\nimport { getCirclePoint } from '../util/util';\n\nclass ArcAnnotation extends GroupComponent implements ILocation {\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'arc',\n locationType: 'circle',\n center: null,\n radius: 100,\n startAngle: -Math.PI / 2,\n endAngle: (Math.PI * 3) / 2,\n style: {\n stroke: '#999',\n lineWidth: 1,\n },\n };\n }\n\n protected renderInner(group: IGroup) {\n this.renderArc(group);\n }\n\n private getArcPath() {\n const { center, radius, startAngle, endAngle } = this.getLocation();\n const startPoint = getCirclePoint(center, radius, startAngle);\n const endPoint = getCirclePoint(center, radius, endAngle);\n const largeFlag = endAngle - startAngle > Math.PI ? 1 : 0;\n\n const path = [['M', startPoint.x, startPoint.y]];\n if (endAngle - startAngle === Math.PI * 2) {\n // 整个圆是分割成两个圆\n const middlePoint = getCirclePoint(center, radius, startAngle + Math.PI);\n path.push(['A', radius, radius, 0, largeFlag, 1, middlePoint.x, middlePoint.y]);\n path.push(['A', radius, radius, 0, largeFlag, 1, endPoint.x, endPoint.y]);\n } else {\n path.push(['A', radius, radius, 0, largeFlag, 1, endPoint.x, endPoint.y]);\n }\n return path;\n }\n\n // 绘制 arc\n private renderArc(group: IGroup) {\n // 也可以 通过 get('center') 类似的方式逐个获取\n const path = this.getArcPath();\n const style = this.get('style');\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('arc'),\n name: 'annotation-arc',\n attrs: {\n path,\n ...style,\n },\n });\n }\n}\n\nexport default ArcAnnotation;\n","import { IGroup } from '@antv/g-base';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { RegionAnnotationCfg, RegionLocationCfg } from '../types';\nimport Theme from '../util/theme';\nimport { regionToBBox } from '../util/util';\n\nclass RegionAnnotation extends GroupComponent implements ILocation {\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'region',\n locationType: 'region',\n start: null,\n end: null,\n style: {},\n defaultCfg: {\n style: {\n lineWidth: 0,\n fill: Theme.regionColor,\n opacity: 0.4,\n },\n },\n };\n }\n\n protected renderInner(group: IGroup) {\n this.renderRegion(group);\n }\n\n private renderRegion(group: IGroup) {\n const start = this.get('start');\n const end = this.get('end');\n const style = this.get('style');\n const bbox = regionToBBox({ start, end });\n this.addShape(group, {\n type: 'rect',\n id: this.getElementId('region'),\n name: 'annotation-region',\n attrs: {\n x: bbox.x,\n y: bbox.y,\n width: bbox.width,\n height: bbox.height,\n ...style,\n },\n });\n }\n}\n\nexport default RegionAnnotation;\n","import { IGroup } from '@antv/g-base';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { ImageAnnotationCfg, RegionLocationCfg } from '../types';\nimport { regionToBBox } from '../util/util';\n\nclass ImageAnnotation extends GroupComponent implements ILocation {\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'image',\n locationType: 'region',\n start: null,\n end: null,\n src: null,\n style: {},\n };\n }\n\n public renderInner(group: IGroup) {\n this.renderImage(group);\n }\n\n private getImageAttrs() {\n const start = this.get('start');\n const end = this.get('end');\n const style = this.get('style');\n const bbox = regionToBBox({ start, end });\n const src = this.get('src');\n return {\n x: bbox.x,\n y: bbox.y,\n img: src,\n width: bbox.width,\n height: bbox.height,\n ...style,\n };\n }\n\n // 绘制图片\n private renderImage(group: IGroup) {\n this.addShape(group, {\n type: 'image',\n id: this.getElementId('image'),\n name: 'annotation-image',\n attrs: this.getImageAttrs(),\n });\n }\n}\n\nexport default ImageAnnotation;\n","import { IGroup } from '@antv/g-base';\nimport { get } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { DataMarkerAnnotationCfg, PointLocationCfg } from '../types';\nimport { renderTag } from '../util/graphic';\nimport { applyTranslate } from '../util/matrix';\nimport Theme from '../util/theme';\n\nclass DataMarkerAnnotation extends GroupComponent implements ILocation {\n /**\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'dataMarker',\n locationType: 'point',\n x: 0,\n y: 0,\n point: {},\n line: {},\n text: {},\n direction: 'upward',\n autoAdjust: true,\n coordinateBBox: null,\n defaultCfg: {\n point: {\n display: true,\n style: {\n r: 3,\n fill: '#FFFFFF',\n stroke: '#1890FF',\n lineWidth: 2,\n },\n },\n line: {\n display: true,\n length: 20,\n style: {\n stroke: Theme.lineColor,\n lineWidth: 1,\n },\n },\n text: {\n content: '',\n display: true,\n style: {\n fill: Theme.textColor,\n opacity: 0.65,\n fontSize: 12,\n textAlign: 'start',\n fontFamily: Theme.fontFamily,\n },\n },\n },\n };\n }\n\n protected renderInner(group: IGroup) {\n if (get(this.get('line'), 'display')) {\n this.renderLine(group);\n }\n if (get(this.get('text'), 'display')) {\n this.renderText(group);\n }\n if (get(this.get('point'), 'display')) {\n this.renderPoint(group);\n }\n\n if (this.get('autoAdjust')) {\n this.autoAdjust(group);\n }\n }\n\n protected applyOffset() {\n this.moveElementTo(this.get('group'), {\n x: this.get('x') + this.get('offsetX'),\n y: this.get('y') + this.get('offsetY'),\n });\n }\n\n private renderPoint(group: IGroup) {\n const { point } = this.getShapeAttrs();\n\n this.addShape(group, {\n type: 'circle',\n id: this.getElementId('point'),\n name: 'annotation-point',\n attrs: point,\n });\n }\n\n private renderLine(group: IGroup) {\n const { line } = this.getShapeAttrs();\n\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('line'),\n name: 'annotation-line',\n attrs: line,\n });\n }\n\n private renderText(group: IGroup) {\n const { text: textAttrs } = this.getShapeAttrs();\n\n const { x, y, text, ...style } = textAttrs;\n const { background, maxLength, autoEllipsis, isVertival, ellipsisPosition } = this.get('text');\n const tagCfg = {\n x,\n y,\n id: this.getElementId('text'),\n name: 'annotation-text',\n content: text,\n style,\n background,\n maxLength,\n autoEllipsis,\n isVertival,\n ellipsisPosition,\n };\n\n renderTag(group, tagCfg);\n }\n\n private autoAdjust(group: IGroup) {\n const direction: string = this.get('direction');\n const x: number = this.get('x');\n const y: number = this.get('y');\n const lineLength: number = get(this.get('line'), 'length', 0);\n const coordinateBBox = this.get('coordinateBBox');\n const { minX, maxX, minY, maxY } = group.getBBox();\n\n const textGroup = group.findById(this.getElementId('text-group'));\n const textShape = group.findById(this.getElementId('text'));\n const lineShape = group.findById(this.getElementId('line'));\n\n if (!coordinateBBox) {\n return;\n }\n\n if (textGroup) {\n let translateX = textGroup.attr('x'), translateY = textGroup.attr('y');\n let textBaseline, textAlign;\n let xFactor = 0, yFactor = 0;\n if (x + minX <= coordinateBBox.minX) {\n // 左侧超出\n if (direction === 'leftward') {\n textAlign = 'start';\n xFactor = 1;\n } else {\n const overflow = coordinateBBox.minX - (x + minX);\n translateX = textGroup.attr('x') + overflow;\n }\n } else if (x + maxX >= coordinateBBox.maxX) {\n // 右侧超出\n if (direction === 'rightward') {\n textAlign = 'end';\n xFactor = -1;\n } else {\n const overflow = x + maxX - coordinateBBox.maxX;\n translateX = textGroup.attr('x') - overflow;\n }\n }\n if (!!xFactor && textAlign) {\n textShape.attr('textAlign', textAlign);\n if (lineShape) {\n lineShape.attr('path', [\n ['M', 0, 0],\n ['L', lineLength * xFactor, 0],\n ]);\n }\n translateX = (lineLength + 2) * xFactor;\n }\n if (y + minY <= coordinateBBox.minY) {\n // 上方超出\n if (direction === 'upward') {\n textBaseline = 'top';\n yFactor = 1;\n } else {\n const overflow = coordinateBBox.minY - (y + minY);\n translateY = textGroup.attr('y') + overflow;\n }\n } else if (y + maxY >= coordinateBBox.maxY) {\n // 下方超出\n if (direction === 'downward') {\n textBaseline = 'bottom';\n yFactor = -1;\n } else {\n const overflow = y + maxY - coordinateBBox.maxY;\n translateY = textGroup.attr('y') - overflow;\n }\n }\n if (!!yFactor && textBaseline) {\n textShape.attr('textBaseline', textBaseline);\n if (lineShape) {\n lineShape.attr('path', [\n ['M', 0, 0],\n ['L', 0, lineLength * yFactor],\n ]);\n }\n translateY = (lineLength + 2) * yFactor;\n }\n if (translateX !== textGroup.attr('x') || translateY !== textGroup.attr('y'))\n applyTranslate(textGroup, translateX, translateY);\n }\n }\n\n private getShapeAttrs() {\n const lineDisplay = get(this.get('line'), 'display');\n const pointStyle = get(this.get('point'), 'style', {});\n const lineStyle = get(this.get('line'), 'style', {});\n const textStyle = get(this.get('text'), 'style', {});\n const direction = this.get('direction');\n const lineLength = lineDisplay ? get(this.get('line'), 'length', 0) : 0;\n let xFactor = 0, yFactor = 0;\n let textBaseline = 'top',\n textAlign = 'start';\n switch (direction) {\n case 'upward':\n yFactor = -1;\n textBaseline = 'bottom';\n break;\n case 'downward':\n yFactor = 1;\n textBaseline = 'top';\n break;\n case 'leftward':\n xFactor = -1;\n textAlign = 'end';\n break;\n case 'rightward':\n xFactor = 1;\n textAlign = 'start';\n break;\n }\n return {\n point: {\n x: 0,\n y: 0,\n ...pointStyle,\n },\n line: {\n path: [\n ['M', 0, 0],\n ['L', 0, lineLength * xFactor, lineLength * yFactor],\n ],\n ...lineStyle,\n },\n text: {\n x: (lineLength + 2) * xFactor,\n y: (lineLength + 2) * yFactor,\n text: get(this.get('text'), 'content', ''),\n textBaseline,\n textAlign,\n ...textStyle,\n },\n };\n }\n}\n\nexport default DataMarkerAnnotation;\n","import { IGroup } from '@antv/g-base';\nimport { get } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { DataRegionAnnotationCfg, Point, PointsLocationCfg } from '../types';\nimport Theme from '../util/theme';\nimport { pointsToBBox } from '../util/util';\nimport { renderTag } from '../util/graphic';\n\nclass DataRegionAnnotation extends GroupComponent implements ILocation {\n /**\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'dataRegion',\n locationType: 'points',\n points: [],\n lineLength: 0,\n region: {},\n text: {},\n defaultCfg: {\n region: {\n style: {\n lineWidth: 0,\n fill: Theme.regionColor,\n opacity: 0.4,\n },\n },\n text: {\n content: '',\n style: {\n textAlign: 'center',\n textBaseline: 'bottom',\n fontSize: 12,\n fill: Theme.textColor,\n fontFamily: Theme.fontFamily,\n },\n },\n },\n };\n }\n\n protected renderInner(group: IGroup) {\n const regionStyle = get(this.get('region'), 'style', {});\n const textStyle = get(this.get('text'), 'style', {});\n const lineLength = this.get('lineLength') || 0;\n const points: Point[] = this.get('points');\n\n if (!points.length) {\n return;\n }\n const bbox = pointsToBBox(points);\n\n // render region\n const path = [];\n path.push(['M', points[0].x, bbox.minY - lineLength]);\n points.forEach((point) => {\n path.push(['L', point.x, point.y]);\n });\n path.push(['L', points[points.length - 1].x, points[points.length - 1].y - lineLength]);\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('region'),\n name: 'annotation-region',\n attrs: {\n path,\n ...regionStyle,\n },\n });\n\n // render text\n const textCfg = {\n id: this.getElementId('text'),\n name: 'annotation-text',\n x: (bbox.minX + bbox.maxX) / 2,\n y: bbox.minY - lineLength,\n ...this.get('text'),\n };\n\n renderTag(group, textCfg);\n }\n}\n\nexport default DataRegionAnnotation;\n","import { IGroup, IShape, Point, ShapeAttrs } from '@antv/g-base';\nimport { clone, each } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { RegionFilterAnnotationCfg, RegionLocationCfg } from '../types';\nimport { regionToBBox } from '../util/util';\n\nclass RegionFilterAnnotation extends GroupComponent implements ILocation {\n /**\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'regionFilter',\n locationType: 'region',\n start: null,\n end: null,\n color: null,\n shape: [],\n };\n }\n\n protected renderInner(group: IGroup) {\n const start: Point = this.get('start');\n const end: Point = this.get('end');\n\n // 1. add region layer\n const layer: IGroup = this.addGroup(group, {\n id: this.getElementId('region-filter'),\n capture: false,\n });\n\n // 2. clone shape & color it\n each(this.get('shapes'), (shape: IShape, shapeIdx: number) => {\n const type = shape.get('type');\n const attrs = clone(shape.attr());\n this.adjustShapeAttrs(attrs);\n this.addShape(layer, {\n id: this.getElementId(`shape-${type}-${shapeIdx}`),\n capture: false,\n type,\n attrs,\n });\n });\n\n // 3. clip\n const clipBBox = regionToBBox({ start, end });\n layer.setClip({\n type: 'rect',\n attrs: {\n x: clipBBox.minX,\n y: clipBBox.minY,\n width: clipBBox.width,\n height: clipBBox.height,\n },\n });\n }\n\n private adjustShapeAttrs(attr: ShapeAttrs) {\n const color = this.get('color');\n if (attr.fill) {\n attr.fill = attr.fillStyle = color;\n }\n attr.stroke = attr.strokeStyle = color;\n }\n}\n\nexport default RegionFilterAnnotation;\n","import { IGroup } from '@antv/g-base';\nimport { isFunction, noop } from '@antv/util';\n\nimport GroupComponent from '../abstract/group-component';\nimport { ShapeAnnotationCfg } from '../types';\n\nexport default class ShapeAnnotation extends GroupComponent {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'shape',\n draw: noop,\n };\n }\n\n protected renderInner(group: IGroup) {\n const render = this.get('render');\n if (isFunction(render)) {\n render(group);\n }\n }\n}\n","/**\n * 获取样式\n * @param {Object} dom DOM节点\n * @param {String} name 样式名\n * @param {Any} defaultValue 默认值\n * @return {String} 属性值\n */\nexport default function getStyle(dom: HTMLElement, name: string, defaultValue?: any) {\n let v;\n try {\n v = window.getComputedStyle ?\n window.getComputedStyle(dom, null)[name] :\n dom.style[name]; // 一般不会走到这个逻辑,dom.style 获取的是标签 style 属性,也不准确\n } catch (e) {\n // do nothing\n } finally {\n v = v === undefined ? defaultValue : v;\n }\n return v;\n}\n","\nimport getStyle from './get-style';\nimport getWidth from './get-width';\n\nexport default function getOuterWidth(el: HTMLElement, defaultValue?: any): number {\n const width = getWidth(el, defaultValue);\n const bLeft = parseFloat(getStyle(el, 'borderLeftWidth')) || 0;\n const pLeft = parseFloat(getStyle(el, 'paddingLeft')) || 0;\n const pRight = parseFloat(getStyle(el, 'paddingRight')) || 0;\n const bRight = parseFloat(getStyle(el, 'borderRightWidth')) || 0;\n const mRight = parseFloat(getStyle(el, 'marginRight')) || 0;\n const mLeft = parseFloat(getStyle(el, 'marginLeft')) || 0;\n return width + bLeft + bRight + pLeft + pRight + mLeft + mRight;\n}\n","import getStyle from './get-style';\n\nexport default function getHeight(el: HTMLElement, defaultValue?: any): number {\n let width = getStyle(el, 'width', defaultValue);\n if (width === 'auto') {\n width = el.offsetWidth;\n }\n return parseFloat(width);\n}\n","\nimport getStyle from './get-style';\nimport getHeight from './get-height';\n\nexport default function getOuterHeight(el: HTMLElement, defaultValue?: any): number {\n const height = getHeight(el, defaultValue);\n const bTop = parseFloat(getStyle(el, 'borderTopWidth')) || 0;\n const pTop = parseFloat(getStyle(el, 'paddingTop')) || 0;\n const pBottom = parseFloat(getStyle(el, 'paddingBottom')) || 0;\n const bBottom = parseFloat(getStyle(el, 'borderBottomWidth')) || 0;\n const mTop = parseFloat(getStyle(el, 'marginTop')) || 0;\n const mBottom = parseFloat(getStyle(el, 'marginBottom')) || 0;\n return height + bTop + bBottom + pTop + pBottom + mTop + mBottom;\n}\n","import getStyle from './get-style';\n\nexport default function getHeight(el: HTMLElement, defaultValue?: any): number {\n let height = getStyle(el, 'height', defaultValue);\n if (height === 'auto') {\n height = el.offsetHeight;\n }\n return parseFloat(height);\n}\n","import { createDom, modifyCSS } from '@antv/dom-util';\nimport { isNil, isString, deepMix, each, hasKey } from '@antv/util';\nimport { BBox, ComponentCfg, HtmlComponentCfg } from '../types';\nimport { clearDom, createBBox, hasClass } from '../util/util';\nimport Component from './component';\n\nabstract class HtmlComponent extends Component {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n container: null,\n containerTpl: '
    ',\n updateAutoRender: true,\n containerClassName: '',\n parent: null,\n };\n }\n\n public getContainer(): HTMLElement {\n return this.get('container') as HTMLElement;\n }\n\n /**\n * 显示组件\n */\n public show() {\n const container = this.get('container');\n container.style.display = '';\n this.set('visible', true);\n }\n /**\n * 隐藏组件\n */\n public hide() {\n const container = this.get('container');\n container.style.display = 'none';\n this.set('visible', false);\n }\n /**\n * 是否允许捕捉事件\n * @param capture 事件捕捉\n */\n public setCapture(capture) {\n const container = this.getContainer();\n const value = capture ? 'auto' : 'none';\n container.style.pointerEvents = value;\n this.set('capture', capture);\n }\n public getBBox(): BBox {\n const container = this.getContainer();\n const x = parseFloat(container.style.left) || 0;\n const y = parseFloat(container.style.top) || 0;\n return createBBox(x, y, container.clientWidth, container.clientHeight);\n }\n\n public clear() {\n const container = this.get('container');\n clearDom(container);\n }\n\n public destroy() {\n this.removeEvent();\n this.removeDom();\n super.destroy();\n }\n\n /**\n * 复写 init,主要是初始化 DOM 和事件\n */\n public init() {\n super.init();\n this.initContainer();\n this.initDom();\n this.resetStyles(); // 初始化样式\n this.applyStyles(); // 应用样式\n this.initEvent();\n this.initCapture();\n this.initVisible();\n }\n\n protected initCapture() {\n this.setCapture(this.get('capture'));\n }\n protected initVisible() {\n if (!this.get('visible')) {\n // 设置初始显示状态\n this.hide();\n } else {\n this.show();\n }\n }\n\n protected initDom() {\n\n }\n\n protected initContainer() {\n let container = this.get('container');\n if (isNil(container)) {\n // 未指定 container 则创建\n container = this.createDom();\n let parent = this.get('parent');\n if (isString(parent)) {\n parent = document.getElementById(parent);\n this.set('parent', parent);\n }\n parent.appendChild(container);\n if (this.get('containerId')) {\n container.setAttribute('id', this.get('containerId'));\n }\n this.set('container', container);\n } else if (isString(container)) {\n // 用户传入的 id, 作为 container\n container = document.getElementById(container);\n this.set('container', container);\n } // else container 是 DOM\n if (!this.get('parent')) {\n this.set('parent', container.parentNode);\n }\n }\n\n // 样式需要进行合并,不能单纯的替换,否则使用非常不方便\n protected resetStyles() {\n let style = this.get('domStyles');\n const defaultStyles = this.get('defaultStyles');\n if (!style) {\n style = defaultStyles;\n } else {\n style = deepMix({}, defaultStyles, style);\n }\n this.set('domStyles', style);\n }\n // 应用所有的样式\n protected applyStyles() {\n const domStyles = this.get('domStyles');\n if (!domStyles) {\n return;\n }\n const container = this.getContainer();\n this.applyChildrenStyles(container, domStyles);\n const containerClassName = this.get('containerClassName');\n if (containerClassName && hasClass(container, containerClassName)) {\n const containerCss = domStyles[containerClassName];\n modifyCSS(container, containerCss);\n }\n }\n\n protected applyChildrenStyles(element, styles) {\n each(styles, (style, name) => {\n const elements = element.getElementsByClassName(name);\n each(elements, (el) => {\n modifyCSS(el, style);\n });\n });\n }\n // 应用到单个 DOM\n protected applyStyle(cssName, dom) {\n const domStyles = this.get('domStyles');\n modifyCSS(dom, domStyles[cssName]);\n }\n\n /**\n * @protected\n */\n protected createDom() {\n const containerTpl = this.get('containerTpl');\n return createDom(containerTpl);\n }\n\n /**\n * @protected\n * 初始化事件\n */\n protected initEvent() { }\n\n /**\n * @protected\n * 清理 DOM\n */\n protected removeDom() {\n const container = this.get('container');\n // 节点不一定有parentNode\n container && container.parentNode && container.parentNode.removeChild(container);\n }\n\n /**\n * @protected\n * 清理事件\n */\n protected removeEvent() { }\n\n protected updateInner(cfg) {\n // 更新样式\n if (hasKey(cfg, 'domStyles')) {\n this.resetStyles();\n this.applyStyles();\n }\n // 只要属性发生变化,都调整一些位置\n this.resetPosition();\n }\n protected resetPosition() { };\n}\n\nexport default HtmlComponent;\n","import { createDom, getOuterHeight, getOuterWidth, modifyCSS } from '@antv/dom-util';\nimport { isElement, isFunction, isNumber, isString } from '@antv/util';\nimport HtmlComponent from '../abstract/html-component';\nimport { ILocation } from '../interfaces';\nimport { HtmlAnnotationCfg, PointLocationCfg } from '../types';\nimport { clearDom } from '../util/util';\n\nexport default class HtmlAnnotation extends HtmlComponent implements ILocation {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'annotation',\n type: 'html',\n locationType: 'point',\n x: 0,\n y: 0,\n containerTpl: `
    `,\n alignX: 'left',\n alignY: 'top',\n html: '',\n zIndex: 7,\n };\n }\n\n public render() {\n const container = this.getContainer();\n const html = this.get('html');\n\n clearDom(container);\n\n const rst: HTMLElement | string = isFunction(html) ? html(container) : html;\n\n if (isElement(rst)) {\n container.appendChild(rst as HTMLElement);\n } else if (isString(rst) || isNumber(rst)) {\n const dom = createDom(`${rst}` as string);\n if (dom) {\n container.appendChild(dom);\n }\n }\n\n this.resetPosition();\n }\n\n protected resetPosition() {\n const container = this.getContainer();\n const { x, y } = this.getLocation();\n const alignX = this.get('alignX');\n const alignY = this.get('alignY');\n const offsetX = this.get('offsetX');\n const offsetY = this.get('offsetY');\n const domWidth = getOuterWidth(container);\n const domHeight = getOuterHeight(container);\n\n const position = {\n x, // alignX left\n y, // alignY top\n };\n\n if (alignX === 'middle') {\n position.x -= Math.round(domWidth / 2);\n } else if (alignX === 'right') {\n position.x -= Math.round(domWidth);\n }\n if (alignY === 'middle') {\n position.y -= Math.round(domHeight / 2);\n } else if (alignY === 'bottom') {\n position.y -= Math.round(domHeight);\n }\n if (offsetX) {\n position.x += offsetX;\n }\n if (offsetY) {\n position.y += offsetY;\n }\n\n modifyCSS(container, {\n position: 'absolute',\n left: `${position.x}px`,\n top: `${position.y}px`,\n zIndex: this.get('zIndex'),\n });\n }\n}\n","import { each, mix } from '@antv/util';\nimport { ListItem } from '../types';\n\n// 获取多个状态量的合并值\nexport function getStatesStyle(item: ListItem, elementName: string, stateStyles: object) {\n const styleName = `${elementName}Style`; // activeStyle\n let styles = null;\n each(stateStyles, (v, state) => {\n if (item[state] && v[styleName]) {\n if (!styles) {\n styles = {};\n }\n mix(styles, v[styleName]); // 合并样式\n }\n });\n return styles;\n}\n","import { IGroup, IShape } from '@antv/g-base';\nimport { ext } from '@antv/matrix-util';\nimport { each, filter, get, isFunction, isNil, isNumberEqual, mix, size, isArray } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { IList } from '../interfaces';\nimport { AxisBaseCfg, ListItem, OptimizeCfg, Point } from '../types';\nimport { getMatrixByAngle } from '../util/matrix';\nimport { getStatesStyle } from '../util/state';\nimport Theme from '../util/theme';\n\nabstract class AxisBase extends GroupComponent implements IList {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'axis',\n ticks: [],\n line: {},\n tickLine: {},\n subTickLine: null,\n title: null,\n /**\n * 文本标签的配置项\n */\n label: {},\n /**\n * 垂直于坐标轴方向的因子,决定文本、title、tickLine 在坐标轴的哪一侧\n */\n verticalFactor: 1,\n // 垂直方向限制的长度,对文本自适应有很大影响\n verticalLimitLength: null,\n overlapOrder: ['autoRotate', 'autoEllipsis', 'autoHide'],\n tickStates: {},\n optimize: {},\n defaultCfg: {\n line: {\n // @type {Attrs} 坐标轴线的图形属性,如果设置成null,则不显示轴线\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n },\n tickLine: {\n // @type {Attrs} 标注坐标线的图形属性\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n alignTick: true, // 是否同 tick 对齐\n length: 5,\n displayWithLabel: true,\n },\n subTickLine: {\n // @type {Attrs} 标注坐标线的图形属性\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n count: 4, // 子刻度线的数量,将两个刻度线划分成 5 份\n length: 2,\n },\n label: {\n autoRotate: true,\n autoHide: false,\n autoEllipsis: false,\n style: {\n fontSize: 12,\n fill: Theme.textColor,\n fontFamily: Theme.fontFamily,\n fontWeight: 'normal',\n },\n offset: 10,\n offsetX: 0,\n offsetY: 0,\n },\n title: {\n autoRotate: true,\n spacing: 5,\n position: 'center', // start, center, end\n style: {\n fontSize: 12,\n fill: Theme.textColor,\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n textAlign: 'center',\n },\n iconStyle: {\n fill: Theme.descriptionIconFill,\n stroke: Theme.descriptionIconStroke,\n },\n description: ''\n },\n tickStates: {\n active: {\n labelStyle: {\n fontWeight: 500,\n },\n tickLineStyle: {\n lineWidth: 2,\n },\n },\n inactive: {\n labelStyle: {\n fill: Theme.uncheckedColor,\n },\n },\n },\n // 针对大数据量进行优化配置\n optimize: {\n enable: true,\n threshold: 400,\n },\n },\n theme: {},\n };\n }\n\n /**\n * 绘制组件\n */\n public renderInner(group: IGroup) {\n if (this.get('line')) {\n this.drawLine(group);\n }\n // drawTicks 包括 drawLabels 和 drawTickLines\n this.drawTicks(group);\n if (this.get('title')) {\n this.drawTitle(group);\n }\n }\n\n // 实现 IList 接口\n public isList(): boolean {\n return true;\n }\n\n /**\n * 获取图例项\n * @return {ListItem[]} 列表项集合\n */\n public getItems(): ListItem[] {\n return this.get('ticks');\n }\n\n /**\n * 设置列表项\n * @param {ListItem[]} items 列表项集合\n */\n public setItems(items: ListItem[]) {\n this.update({\n ticks: items,\n } as Partial);\n }\n\n /**\n * 更新列表项\n * @param {ListItem} item 列表项\n * @param {object} cfg 列表项\n */\n public updateItem(item: ListItem, cfg: object) {\n mix(item, cfg);\n this.clear(); // 由于单个图例项变化,会引起全局变化,所以全部更新\n this.render();\n }\n\n /**\n * 清空列表\n */\n public clearItems() {\n const itemGroup = this.getElementByLocalId('label-group');\n itemGroup && itemGroup.clear();\n }\n\n /**\n * 设置列表项的状态\n * @param {ListItem} item 列表项\n * @param {string} state 状态名\n * @param {boolean} value 状态值, true, false\n */\n public setItemState(item: ListItem, state: string, value: boolean) {\n item[state] = value;\n this.updateTickStates(item); // 应用状态样式\n }\n\n /**\n * 是否存在指定的状态\n * @param {ListItem} item 列表项\n * @param {boolean} state 状态名\n */\n public hasState(item: ListItem, state: string): boolean {\n return !!item[state];\n }\n\n public getItemStates(item: ListItem): string[] {\n const tickStates = this.get('tickStates');\n const rst = [];\n each(tickStates, (v, k) => {\n if (item[k]) {\n // item.selected\n rst.push(k);\n }\n });\n return rst;\n }\n\n /**\n * 清楚所有列表项的状态\n * @param {string} state 状态值\n */\n public clearItemsState(state: string) {\n const items = this.getItemsByState(state);\n each(items, (item) => {\n this.setItemState(item, state, false);\n });\n }\n\n /**\n * 根据状态获取图例项\n * @param {string} state [description]\n * @return {ListItem[]} [description]\n */\n public getItemsByState(state: string): ListItem[] {\n const items = this.getItems();\n return filter(items, (item) => {\n return this.hasState(item, state);\n });\n }\n\n /**\n * @protected\n * 获取坐标轴线的路径,不同的坐标轴不一样\n */\n protected abstract getLinePath(): any[];\n\n /**\n * 获取坐标轴垂直方向的向量\n * @param {number} offset 距离点距离\n * @param {Point} point 坐标轴上的一点\n */\n protected abstract getSideVector(offset: number, point: Point);\n /**\n * 获取坐标轴的向量\n * @param {Point} point 坐标轴上的点\n */\n protected abstract getAxisVector(point: Point): [number, number];\n\n protected getSidePoint(point: Point, offset: number): Point {\n const self = this;\n const vector = self.getSideVector(offset, point);\n return {\n x: point.x + vector[0],\n y: point.y + vector[1],\n };\n }\n\n /**\n * 根据 tick.value 获取坐标轴上对应的点\n * @param {number} tickValue\n * @returns {Point}\n */\n protected abstract getTickPoint(tickValue: number): Point;\n\n protected getTextAnchor(vector: number[]): string {\n let align;\n if (isNumberEqual(vector[0], 0)) {\n align = 'center';\n } else if (vector[0] > 0) {\n align = 'start';\n } else if (vector[0] < 0) {\n align = 'end';\n }\n return align;\n }\n\n protected getTextBaseline(vector: number[]): string {\n let base;\n if (isNumberEqual(vector[1], 0)) {\n base = 'middle';\n } else if (vector[1] > 0) {\n base = 'top';\n } else if (vector[1] < 0) {\n base = 'bottom';\n }\n return base;\n }\n\n protected processOverlap(labelGroup) {}\n\n // 绘制坐标轴线\n private drawLine(group: IGroup) {\n const path = this.getLinePath();\n const line = this.get('line'); // line 的判空在调用 drawLine 之前,不在这里判定\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('line'),\n name: 'axis-line',\n attrs: mix(\n {\n path,\n },\n line.style\n ),\n });\n }\n\n private getTickLineItems(ticks: ListItem[]) {\n const tickLineItems = [];\n const tickLine = this.get('tickLine');\n const alignTick = tickLine.alignTick;\n const tickLineLength = tickLine.length;\n let tickSegment = 1;\n const tickCount = ticks.length;\n if (tickCount >= 2) {\n tickSegment = ticks[1].value - ticks[0].value;\n }\n\n each(ticks, (tick) => {\n let point = tick.point;\n if (!alignTick) {\n // tickLine 不同 tick 对齐时需要调整 point\n point = this.getTickPoint(tick.value - tickSegment / 2);\n }\n const endPoint = this.getSidePoint(point, tickLineLength);\n tickLineItems.push({\n startPoint: point,\n tickValue: tick.value,\n endPoint,\n tickId: tick.id,\n id: `tickline-${tick.id}`,\n });\n });\n\n // 如果 tickLine 不居中对齐,则需要在最后面补充一个 tickLine\n // if (!alignTick && tickCount > 0) {\n // const tick = ticks[tickCount - 1];\n // const point = this.getTickPoint(tick.value + tickSegment / 2);\n // }\n return tickLineItems;\n }\n\n private getSubTickLineItems(tickLineItems) {\n const subTickLineItems = [];\n const subTickLine = this.get('subTickLine');\n const subCount = subTickLine.count;\n const tickLineCount = tickLineItems.length;\n // 刻度线的数量大于 2 时,才绘制子刻度\n if (tickLineCount >= 2) {\n for (let i = 0; i < tickLineCount - 1; i++) {\n const pre = tickLineItems[i];\n const next = tickLineItems[i + 1];\n for (let j = 0; j < subCount; j++) {\n const percent = (j + 1) / (subCount + 1);\n const tickValue = (1 - percent) * pre.tickValue + percent * next.tickValue;\n const point = this.getTickPoint(tickValue);\n const endPoint = this.getSidePoint(point, subTickLine.length);\n subTickLineItems.push({\n startPoint: point,\n endPoint,\n tickValue,\n id: `sub-${pre.id}-${j}`,\n });\n }\n }\n }\n return subTickLineItems;\n }\n\n private getTickLineAttrs(tickItem: ListItem, type: string, index: number, tickItems: ListItem[]) {\n let style = this.get(type).style;\n\n // 保持和 grid 相同的数据结构\n const item = {\n points: [tickItem.startPoint, tickItem.endPoint],\n };\n\n const defaultTickLineStyle = get(this.get('theme'), ['tickLine', 'style'], {});\n style = isFunction(style) ? mix({}, defaultTickLineStyle, style(item, index, tickItems)) : style;\n\n const { startPoint, endPoint } = tickItem;\n return {\n x1: startPoint.x,\n y1: startPoint.y,\n x2: endPoint.x,\n y2: endPoint.y,\n ...style,\n };\n }\n\n // 绘制坐标轴刻度线\n private drawTick(tickItem: ListItem, tickLineGroup: IGroup, type: string, index: number, tickItems: ListItem[]) {\n this.addShape(tickLineGroup, {\n type: 'line',\n id: this.getElementId(tickItem.id),\n name: `axis-${type}`,\n attrs: this.getTickLineAttrs(tickItem, type, index, tickItems),\n });\n }\n\n // 绘制坐标轴刻度线,包括子刻度线\n private drawTickLines(group: IGroup) {\n const ticks = this.get('ticks');\n const subTickLine = this.get('subTickLine');\n const tickLineItems = this.getTickLineItems(ticks);\n const tickLineGroup = this.addGroup(group, {\n name: 'axis-tickline-group',\n id: this.getElementId('tickline-group'),\n });\n const tickCfg = this.get('tickLine');\n each(tickLineItems, (item, index) => {\n if (tickCfg.displayWithLabel) {\n // 如果跟随 label 显示,则检测是否存在对应的 label\n const labelId = this.getElementId(`label-${item.tickId}`);\n if (group.findById(labelId)) {\n this.drawTick(item, tickLineGroup, 'tickLine', index, tickLineItems);\n }\n } else {\n this.drawTick(item, tickLineGroup, 'tickLine', index, tickLineItems);\n }\n });\n\n if (subTickLine) {\n const subTickLineItems = this.getSubTickLineItems(tickLineItems);\n each(subTickLineItems, (item, index: number) => {\n this.drawTick(item, tickLineGroup, 'subTickLine', index, subTickLineItems);\n });\n }\n }\n\n // 预处理 ticks 确定位置和补充 id\n private processTicks() {\n const ticks = this.get('ticks');\n each(ticks, (tick) => {\n tick.point = this.getTickPoint(tick.value);\n // 补充 tick 的 id,为动画和更新做准备\n if (isNil(tick.id)) {\n // 默认使用 tick.name 作为id\n tick.id = tick.name;\n }\n });\n }\n\n // 绘制 ticks 包括文本和 tickLine\n private drawTicks(group: IGroup) {\n this.optimizeTicks();\n this.processTicks();\n if (this.get('label')) {\n this.drawLabels(group);\n }\n\n if (this.get('tickLine')) {\n this.drawTickLines(group);\n }\n\n const ticks = this.get('ticks');\n each(ticks, (tick) => {\n this.applyTickStates(tick, group);\n });\n }\n\n /**\n * 根据 optimize 配置对 ticks 进行抽样,对抽样过后的 ticks 才进行真实的渲染\n */\n private optimizeTicks() {\n const optimize: OptimizeCfg = this.get('optimize');\n const ticks = this.get('ticks');\n if (optimize && optimize.enable && optimize.threshold > 0) {\n const len = size(ticks);\n if (len > optimize.threshold) {\n const page = Math.ceil(len / optimize.threshold);\n const optimizedTicks = ticks.filter((tick, idx) => idx % page === 0);\n this.set('ticks', optimizedTicks);\n this.set('originalTicks', ticks);\n }\n }\n }\n\n // 获取 label 的配置项\n private getLabelAttrs(tick: ListItem, index: number, ticks: ListItem[]) {\n const labelCfg = this.get('label');\n const { offset, offsetX, offsetY, rotate, formatter } = labelCfg;\n const point = this.getSidePoint(tick.point, offset);\n const vector = this.getSideVector(offset, point);\n const text = formatter ? formatter(tick.name, tick, index) : tick.name;\n let { style } = labelCfg;\n style = isFunction(style) ? get(this.get('theme'), ['label', 'style'], {}) : style;\n\n const attrs = mix(\n {\n x: point.x + offsetX,\n y: point.y + offsetY,\n text,\n textAlign: this.getTextAnchor(vector),\n textBaseline: this.getTextBaseline(vector),\n },\n style\n );\n if (rotate) {\n attrs.matrix = getMatrixByAngle(point, rotate);\n }\n return attrs;\n }\n\n // 绘制文本\n private drawLabels(group: IGroup) {\n const ticks = this.get('ticks');\n const labelGroup = this.addGroup(group, {\n name: 'axis-label-group',\n id: this.getElementId('label-group'),\n });\n each(ticks, (tick: ListItem, index: number) => {\n this.addShape(labelGroup, {\n type: 'text',\n name: 'axis-label',\n id: this.getElementId(`label-${tick.id}`),\n attrs: this.getLabelAttrs(tick, index, ticks),\n delegateObject: {\n tick,\n item: tick,\n index,\n },\n });\n });\n this.processOverlap(labelGroup);\n\n // 处理完后再进行 style 回调处理\n const labels = labelGroup.getChildren();\n const defaultLabelStyle = get(this.get('theme'), ['label', 'style'], {});\n const { style, formatter } = this.get('label');\n if (isFunction(style)) {\n const afterProcessTicks = labels.map((label) => get(label.get('delegateObject'), 'tick'));\n each(labels, (label, index) => {\n const { tick } = label.get('delegateObject');\n const text = formatter ? formatter(tick.name, tick, index) : tick.name;\n const newStyle = mix({}, defaultLabelStyle, style(text, index, afterProcessTicks));\n label.attr(newStyle);\n });\n }\n }\n\n // 标题的属性\n private getTitleAttrs() {\n const titleCfg = this.get('title');\n const { style, position, offset, spacing = 0, autoRotate } = titleCfg;\n const titleHeight = style.fontSize;\n let percent = 0.5;\n if (position === 'start') {\n percent = 0;\n } else if (position === 'end') {\n percent = 1;\n }\n const point = this.getTickPoint(percent); // 标题对应的坐标轴上的点\n // 如果没有指定 titleOffset 也没有渲染 label,这里需要自动计算 offset\n const titlePoint = this.getSidePoint(point, offset || spacing + titleHeight / 2); // 标题的点\n\n const attrs = mix(\n {\n x: titlePoint.x,\n y: titlePoint.y,\n text: titleCfg.text,\n },\n style\n );\n\n const rotate = titleCfg.rotate; // rotate 是角度值\n let angle = rotate;\n if (isNil(rotate) && autoRotate) {\n // 用户没有设定旋转角度,同时设置自动旋转\n const vector = this.getAxisVector(point);\n const v1: [number, number] = [1, 0]; // 水平方向的向量\n angle = ext.angleTo(vector, v1, true);\n }\n if (angle) {\n const matrix = getMatrixByAngle(titlePoint, angle);\n attrs.matrix = matrix;\n }\n return attrs;\n }\n\n // 绘制标题\n private drawTitle(group: IGroup) {\n const titleAttrs = this.getTitleAttrs();\n const titleShape = this.addShape(group, {\n type: 'text',\n id: this.getElementId('title'),\n name: 'axis-title',\n attrs: titleAttrs\n });\n // description字段存在时,显示icon\n if(this.get('title')?.description) {\n this.drawDescriptionIcon(group, titleShape, titleAttrs.matrix)\n }\n }\n\n private drawDescriptionIcon(group: IGroup, titleShape: IShape, matrix: number[]) {\n const descriptionShape = this.addGroup(group, {\n name: 'axis-description',\n id: this.getElementById('description')\n })\n\n const { maxX, maxY, height } = titleShape.getBBox();\n const { iconStyle } = this.get('title')\n const spacing = 4; // 设置icon与文本之间距离\n const r = height / 2;\n const lineWidth = r / 6;\n const startX = maxX + spacing;\n const startY = maxY - height / 2;\n // 绘制 information icon 路径\n // 外圆环path\n const [x0, y0] = [startX + r, startY - r];\n const [x1, y1] = [x0 + r, y0 + r];\n const [x2, y2] = [x0, y1 + r];\n const [x3, y3] = [startX, y0 + r];\n // i path\n const [x4, y4] = [startX + r, startY - height / 4];\n const [x5, y5] = [x4, y4 + lineWidth];\n const [x6, y6] = [x5, y5 + lineWidth];\n const [x7, y7] = [x6, y6 + r * 3 / 4];\n this.addShape(descriptionShape, {\n type: 'path',\n id: this.getElementId('title-description-icon'),\n name: 'axis-title-description-icon',\n attrs: {\n path: [\n ['M', x0, y0],\n ['A', r, r, 0, 0, 1, x1, y1],\n ['A', r, r, 0, 0, 1, x2, y2],\n ['A', r, r, 0, 0, 1, x3, y3],\n ['A', r, r, 0, 0, 1, x0, y0],\n ['M', x4, y4],\n ['L', x5, y5],\n ['M', x6, y6],\n ['L', x7, y7]\n ],\n lineWidth,\n matrix,\n ...iconStyle\n },\n });\n // 点击热区,设置透明矩形\n this.addShape(descriptionShape, {\n type: 'rect',\n id: this.getElementId('title-description-rect'),\n name: 'axis-title-description-rect',\n attrs: {\n x: startX,\n y: startY - height / 2,\n width: height,\n height,\n stroke: '#000',\n fill: '#000',\n opacity: 0,\n matrix,\n cursor: 'pointer'\n }\n })\n\n }\n\n private applyTickStates(tick, group) {\n const states = this.getItemStates(tick);\n if (states.length) {\n const tickStates = this.get('tickStates');\n // 分别更新 label 和 tickLine\n const labelId = this.getElementId(`label-${tick.id}`);\n const labelShape = group.findById(labelId);\n if (labelShape) {\n const labelStateStyle = getStatesStyle(tick, 'label', tickStates);\n labelStateStyle && labelShape.attr(labelStateStyle);\n }\n const tickLineId = this.getElementId(`tickline-${tick.id}`);\n const tickLineShape = group.findById(tickLineId);\n if (tickLineShape) {\n const tickLineStateStyle = getStatesStyle(tick, 'tickLine', tickStates);\n tickLineStateStyle && tickLineShape.attr(tickLineStateStyle);\n }\n }\n }\n\n private updateTickStates(tick) {\n const states = this.getItemStates(tick);\n const tickStates = this.get('tickStates');\n const labelCfg = this.get('label');\n const labelShape = this.getElementByLocalId(`label-${tick.id}`);\n const tickLineCfg = this.get('tickLine');\n const tickLineShape = this.getElementByLocalId(`tickline-${tick.id}`);\n\n if (states.length) {\n if (labelShape) {\n const labelStateStyle = getStatesStyle(tick, 'label', tickStates);\n labelStateStyle && labelShape.attr(labelStateStyle);\n }\n if (tickLineShape) {\n const tickLineStateStyle = getStatesStyle(tick, 'tickLine', tickStates);\n tickLineStateStyle && tickLineShape.attr(tickLineStateStyle);\n }\n } else {\n if (labelShape) {\n labelShape.attr(labelCfg.style);\n }\n if (tickLineShape) {\n tickLineShape.attr(tickLineCfg.style);\n }\n }\n }\n}\n\nexport default AxisBase;\n","import { IGroup } from '@antv/g-base';\nimport { each } from '@antv/util';\nimport { ellipsisLabel } from '../../util/label';\n\nfunction ellipseLabels(isVertical: boolean, labelGroup: IGroup, limitLength: number, position: string): boolean {\n const children = labelGroup.getChildren();\n let ellipsisFlag = false;\n each(children, (label) => {\n const rst = ellipsisLabel(isVertical, label, limitLength, position);\n ellipsisFlag = ellipsisFlag || rst;\n });\n return ellipsisFlag;\n}\n\nexport function getDefault() {\n return ellipsisTail;\n}\n\nexport function ellipsisHead(isVertical: boolean, labelGroup: IGroup, limitLength: number): boolean {\n return ellipseLabels(isVertical, labelGroup, limitLength, 'head');\n}\n\nexport function ellipsisTail(isVertical: boolean, labelGroup: IGroup, limitLength: number): boolean {\n return ellipseLabels(isVertical, labelGroup, limitLength, 'tail');\n}\n\nexport function ellipsisMiddle(isVertical: boolean, labelGroup: IGroup, limitLength: number): boolean {\n return ellipseLabels(isVertical, labelGroup, limitLength, 'middle');\n}\n","import { IElement, IGroup } from '@antv/g-base';\nimport { AxisLabelAutoHideCfg } from '../../types';\nimport { getMaxLabelWidth } from '../../util/label';\nimport { getAngleByMatrix } from '../../util/matrix';\nimport { near } from '../../util/util';\n\n// 文本是否旋转\nfunction isRotate(label: IElement) {\n const matrix = label.attr('matrix');\n return matrix && matrix[0] !== 1; // 仅在这个场景下判定\n}\n\nfunction getRotateAngle(label: IElement) {\n const angle = isRotate(label) ? getAngleByMatrix(label.attr('matrix')) : 0;\n return angle % 360;\n}\n\n// autohide 不再考虑超出限制\n// function isOutLimit(isVertical: boolean, label: IElement, limitLength: number) {\n// if (!limitLength) {\n// // 如果没限制 limitLength 则直接返回 false\n// return false;\n// }\n// const canvasBBox = label.getCanvasBBox();\n// let isOut = false;\n// if (isVertical) {\n// isOut = canvasBBox.width > limitLength;\n// } else {\n// isOut = canvasBBox.height > limitLength;\n// }\n// return isOut;\n// }\n\n// 是否重叠\nfunction isOverlap(isVertical: boolean, first: IElement, second: IElement, minGap: number) {\n let overlap = false;\n const angle = getRotateAngle(first);\n const distance = isVertical\n ? Math.abs(second.attr('y') - first.attr('y'))\n : Math.abs(second.attr('x') - first.attr('x'));\n const prevBBox = (isVertical\n ? second.attr('y') > first.attr('y')\n : second.attr('x') > first.attr('x'))\n ? first.getBBox()\n : second.getBBox();\n\n if (isVertical) {\n const ratio = Math.abs(Math.cos(angle));\n if (near(ratio, 0, Math.PI / 180)) {\n overlap = prevBBox.width + minGap > distance;\n } else {\n overlap = prevBBox.height / ratio + minGap > distance;\n }\n } else {\n const ratio = Math.abs(Math.sin(angle));\n if (near(ratio, 0, Math.PI / 180)) {\n overlap = prevBBox.width + minGap > distance;\n } else {\n overlap = prevBBox.height / ratio + minGap > distance;\n }\n }\n\n return overlap;\n}\n\n// 保留第一个或者最后一个\nfunction reserveOne(isVertical: boolean, labelsGroup: IGroup, reversed: boolean, autoHideCfg?: AxisLabelAutoHideCfg) {\n const minGap = autoHideCfg?.minGap || 0;\n const labels = labelsGroup\n .getChildren()\n .slice() // 复制数组\n .filter((item) => item.get('visible'));\n if (!labels.length) {\n return false;\n }\n let hasHide = false;\n if (reversed) {\n // 翻转\n labels.reverse();\n }\n const count = labels.length;\n const first = labels[0];\n let prev = first;\n for (let i = 1; i < count; i++) {\n const label = labels[i];\n const curBBox = label.getBBox();\n // 不再考虑超出限制,而仅仅根据是否重叠进行隐藏 isOutLimit(isVertical, label, limitLength) ||\n const isHide = isOverlap(isVertical, prev, label, minGap);\n if (isHide) {\n label.hide();\n hasHide = true;\n } else {\n prev = label;\n }\n }\n return hasHide;\n}\n\n// 均匀抽样隐藏标签,注意这里假设 label/tick 是均匀的\nfunction parityHide(isVertical: boolean, labelsGroup: IGroup, autoHideCfg?: AxisLabelAutoHideCfg) {\n const minGap = autoHideCfg?.minGap || 0;\n const labels = labelsGroup.getChildren().slice(); // 复制数组\n if (labels.length < 2) {\n // 如果数量小于 2 则直接返回,等于 2 时可能也会重合\n return false;\n }\n let hasHide = false;\n const first = labels[0];\n const firstBBox = first.getBBox();\n const second = labels[1];\n const count = labels.length;\n const angle = getRotateAngle(first);\n const distance = isVertical\n ? Math.abs(second.attr('y') - first.attr('y'))\n : Math.abs(second.attr('x') - first.attr('x'));\n let interval = 0; // 不重叠的坐标文本间距个数\n if (isVertical) {\n // 垂直的坐标轴计算垂直方向的间距\n const ratio = Math.abs(Math.cos(angle));\n if (near(ratio, 0, Math.PI / 180)) {\n const maxWidth = getMaxLabelWidth(labels);\n interval = (maxWidth + minGap) / distance;\n } else {\n interval = (firstBBox.height / ratio + minGap) / distance;\n }\n } else {\n // 水平坐标轴\n const ratio = Math.abs(Math.sin(angle));\n if (near(ratio, 0, Math.PI / 180)) {\n const maxWidth = getMaxLabelWidth(labels);\n interval = (maxWidth + minGap) / distance;\n } else {\n interval = (firstBBox.height / ratio + minGap) / distance;\n }\n }\n // interval > 1 时需要对 label 进行隐藏\n if (interval > 1) {\n interval = Math.ceil(interval);\n for (let i = 0; i < count; i++) {\n if (i % interval !== 0) {\n // 仅保留被整除的 label\n labels[i].hide();\n hasHide = true;\n }\n }\n }\n return hasHide;\n}\n\nexport function getDefault() {\n return equidistance;\n}\n\n/**\n * 保证首个 label 可见,即使超过 limitLength 也不隐藏\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n * @param {number} limitLength 另一个方向的长度限制,autoHide 不关心\n * @param {AxisLabelAutoHideCfg} autoHideCfg autoHide overlap 的可选配置参数\n */\nexport function reserveFirst(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength?: number,\n autoHideCfg?: AxisLabelAutoHideCfg\n): boolean {\n return reserveOne(isVertical, labelsGroup, false, autoHideCfg);\n}\n\n/**\n * 保证最后一个 label 可见,即使超过 limitLength 也不隐藏\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n * @param {number} limitLength 另一个方向的长度限制,autoHide 不关心\n * @param {AxisLabelAutoHideCfg} autoHideCfg autoHide overlap 的可选配置参数\n */\nexport function reserveLast(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength?: number,\n autoHideCfg?: AxisLabelAutoHideCfg\n): boolean {\n return reserveOne(isVertical, labelsGroup, true, autoHideCfg);\n}\n\n/**\n * 保证第一个最后一个 label 可见,即使超过 limitLength 也不隐藏\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n * @param {number} limitLength 另一个方向的长度限制,autoHide 不关心\n * @param {AxisLabelAutoHideCfg} autoHideCfg autoHide overlap 的可选配置参数\n */\nexport function reserveBoth(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength?: number,\n autoHideCfg?: AxisLabelAutoHideCfg\n): boolean {\n const minGap = autoHideCfg?.minGap || 0;\n const labels = labelsGroup.getChildren().slice(); // 复制数组\n if (labels.length <= 2) {\n // 如果数量小于或等于 2 则直接返回\n return false;\n }\n let hasHide = false;\n const count = labels.length;\n const first = labels[0];\n const last = labels[count - 1];\n let preLabel = first;\n // 按照先保存第一个的逻辑循环一遍,最后一个不参与循环\n for (let i = 1; i < count - 1; i++) {\n const label = labels[i];\n const curBBox = label.getBBox();\n // 废弃 isOutLimit(isVertical, label, limitLength) ||\n const isHide = isOverlap(isVertical, preLabel, label, minGap);\n if (isHide) {\n label.hide();\n hasHide = true;\n } else {\n preLabel = label;\n }\n }\n\n const overlap = isOverlap(isVertical, preLabel, last, minGap);\n if (overlap) {\n // 发生冲突,则隐藏前一个保留后一个\n preLabel.hide();\n hasHide = true;\n }\n return hasHide;\n}\n\n/**\n * 保证 label 均匀显示 和 不出现重叠,主要解决文本层叠的问题,对于 limitLength 不处理\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n * @param {number} limitLength 另一个方向的长度限制,autoHide 不关心\n * @param {AxisLabelAutoHideCfg} autoHideCfg autoHide overlap 的可选配置参数\n */\nexport function equidistance(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength?: number,\n autoHideCfg?: AxisLabelAutoHideCfg\n): boolean {\n let hasHide = parityHide(isVertical, labelsGroup, autoHideCfg);\n\n // 处理 timeCat 类型的 tick,在均匀的基础上,再次检查出现重叠的进行隐藏\n if (reserveOne(isVertical, labelsGroup, false)) {\n hasHide = true;\n }\n\n return hasHide;\n}\n\n/**\n * 同 equidistance, 首先会保证 labels 均匀显示,然后会保留首尾\n * @param isVertical\n * @param labelsGroup\n * @param {number} limitLength 另一个方向的长度限制,autoHide 不关心\n * @param {AxisLabelAutoHideCfg} autoHideCfg autoHide overlap 的可选配置参数\n */\nexport function equidistanceWithReverseBoth(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength?: number,\n autoHideCfg?: AxisLabelAutoHideCfg\n): boolean {\n const labels = labelsGroup.getChildren().slice(); // 复制数组\n let hasHide = parityHide(isVertical, labelsGroup, autoHideCfg);\n\n if (labels.length > 2) {\n const first = labels[0];\n const last = labels[labels.length - 1];\n\n // 如果第一个被隐藏了\n if (!first.get('visible')) {\n first.show();\n if (reserveOne(isVertical, labelsGroup, false, autoHideCfg)) {\n hasHide = true;\n }\n }\n\n // 如果最后一个被隐藏了\n if (!last.get('visible')) {\n last.show();\n if (reserveOne(isVertical, labelsGroup, true, autoHideCfg)) {\n hasHide = true;\n }\n }\n }\n\n return hasHide;\n}\n","import { IElement, IGroup } from '@antv/g-base';\nimport { each, isNumber } from '@antv/util';\nimport { getMaxLabelWidth } from '../../util/label';\nimport { getMatrixByAngle } from '../../util/matrix';\nimport Theme from '../../util/theme';\n\n// 统一设置文本的角度\nfunction setLabelsAngle(labels: IElement[], angle: number) {\n each(labels, (label) => {\n const x = label.attr('x');\n const y = label.attr('y');\n const matrix = getMatrixByAngle({ x, y }, angle);\n label.attr('matrix', matrix);\n });\n}\n\ntype getAngleCallback = (limitLength: number, maxWidth: number) => number;\n\n// 旋转文本\nfunction labelRotate(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength: number,\n getAngle: getAngleCallback\n): boolean {\n const labels = labelsGroup.getChildren();\n if (!labels.length) {\n return false;\n }\n if (!isVertical && labels.length < 2) {\n // 水平时至少有两个时才旋转\n return false;\n }\n\n const maxWidth = getMaxLabelWidth(labels);\n let isOverlap = false;\n if (isVertical) {\n // limitLength 为 0 或者 null 时不生效\n isOverlap = !!limitLength && maxWidth > limitLength;\n } else {\n // 同 limitLength 无关\n const tickWidth = Math.abs(labels[1].attr('x') - labels[0].attr('x'));\n isOverlap = maxWidth > tickWidth;\n }\n\n if (isOverlap) {\n const angle = getAngle(limitLength, maxWidth);\n setLabelsAngle(labels, angle);\n }\n return isOverlap;\n}\n\nexport function getDefault() {\n return fixedAngle;\n}\n\n/**\n * 固定角度旋转文本\n * @param {boolean} isVertical 是否垂直方向\n * @param {IGroup} labelsGroup 文本的 group\n * @param {number} limitLength 限定长度\n * @param {number} customRotate 自定义旋转角度\n * @return {boolean} 是否发生了旋转\n */\nexport function fixedAngle(\n isVertical: boolean,\n labelsGroup: IGroup,\n limitLength: number,\n customRotate?: number\n): boolean {\n return labelRotate(isVertical, labelsGroup, limitLength, () => {\n if (isNumber(customRotate)) {\n return customRotate;\n }\n return isVertical ? Theme.verticalAxisRotate : Theme.horizontalAxisRotate;\n });\n}\n\n/**\n * 非固定角度旋转文本\n * @param {boolean} isVertical 是否垂直方向\n * @param {IGroup} labelsGroup 文本的 group\n * @param {number} limitLength 限定长度\n * @return {boolean} 是否发生了旋转\n */\nexport function unfixedAngle(isVertical: boolean, labelsGroup: IGroup, limitLength: number): boolean {\n return labelRotate(isVertical, labelsGroup, limitLength, (length, maxWidth) => {\n if (!length) {\n // 如果没有设置 limitLength,则使用固定的角度旋转\n return isVertical ? Theme.verticalAxisRotate : Theme.horizontalAxisRotate;\n }\n if (isVertical) {\n // 垂直时不需要判定 limitLength > maxWidth ,因为此时不会 overlap\n return -Math.acos(length / maxWidth);\n } else {\n let angle = 0;\n if (length > maxWidth) {\n // 需要判定,asin 的参数 -1, 1\n angle = Math.PI / 4;\n } else {\n angle = Math.asin(length / maxWidth);\n if (angle > Math.PI / 4) {\n // 大于 Math.PI / 4 时没意义\n angle = Math.PI / 4;\n }\n }\n return angle;\n }\n });\n}\n","import { IGroup } from '@antv/g-base';\nimport { vec2 } from '@antv/matrix-util';\nimport { each, isFunction, isNil, isNumberEqual, isObject } from '@antv/util';\nimport { ILocation } from '../interfaces';\nimport { AxisLabelAutoHideCfg, BBox, LineAxisCfg, Point, RegionLocationCfg } from '../types';\nimport Theme from '../util/theme';\nimport AxisBase from './base';\nimport * as OverlapUtil from './overlap';\n\nclass Line extends AxisBase implements ILocation {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'line',\n locationType: 'region',\n /**\n * 起始点, x, y\n * @type {object}\n */\n start: null,\n /**\n * 结束点, x, y\n * @type {object}\n */\n end: null,\n };\n }\n\n // 获取坐标轴线的 path\n public getLinePath(): any[] {\n const start = this.get('start');\n const end = this.get('end');\n const path = [];\n path.push(['M', start.x, start.y]);\n path.push(['L', end.x, end.y]);\n return path;\n }\n\n // 重新计算 layout bbox,考虑到 line 不显示\n protected getInnerLayoutBBox(): BBox {\n const start = this.get('start');\n const end = this.get('end');\n const bbox = super.getInnerLayoutBBox();\n const minX = Math.min(start.x, end.x, bbox.x);\n const minY = Math.min(start.y, end.y, bbox.y);\n const maxX = Math.max(start.x, end.x, bbox.maxX);\n const maxY = Math.max(start.y, end.y, bbox.maxY);\n return {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n\n protected isVertical() {\n const start = this.get('start');\n const end = this.get('end');\n return isNumberEqual(start.x, end.x);\n }\n\n protected isHorizontal() {\n const start = this.get('start');\n const end = this.get('end');\n return isNumberEqual(start.y, end.y);\n }\n\n protected getTickPoint(tickValue: number): Point {\n const self = this;\n const start = self.get('start');\n const end = self.get('end');\n const regionX = end.x - start.x;\n const regionY = end.y - start.y;\n return {\n x: start.x + regionX * tickValue,\n y: start.y + regionY * tickValue,\n };\n }\n\n // 直线坐标轴下任一点的向量方向都相同\n protected getSideVector(offset: number) {\n const axisVector = this.getAxisVector();\n const normal = vec2.normalize([0, 0], axisVector);\n const factor = this.get('verticalFactor');\n const verticalVector: [number, number] = [normal[1], normal[0] * -1]; // 垂直方向,逆时针方向\n return vec2.scale([0, 0], verticalVector, offset * factor);\n }\n\n // 获取坐标轴的向量\n protected getAxisVector(): [number, number] {\n const start = this.get('start');\n const end = this.get('end');\n return [end.x - start.x, end.y - start.y];\n }\n\n protected processOverlap(labelGroup) {\n const isVertical = this.isVertical();\n const isHorizontal = this.isHorizontal();\n // 非垂直,或者非水平时不处理遮挡问题\n if (!isVertical && !isHorizontal) {\n return;\n }\n const labelCfg = this.get('label');\n const titleCfg = this.get('title');\n const verticalLimitLength = this.get('verticalLimitLength');\n const labelOffset = labelCfg.offset;\n let limitLength = verticalLimitLength;\n let titleHeight = 0;\n let titleSpacing = 0;\n if (titleCfg) {\n titleHeight = titleCfg.style.fontSize;\n titleSpacing = titleCfg.spacing;\n }\n if (limitLength) {\n limitLength = limitLength - labelOffset - titleSpacing - titleHeight;\n }\n const overlapOrder = this.get('overlapOrder');\n each(overlapOrder, (name) => {\n if (labelCfg[name] && this.canProcessOverlap(name)) {\n this.autoProcessOverlap(name, labelCfg[name], labelGroup, limitLength);\n }\n });\n if (titleCfg) {\n if (isNil(titleCfg.offset)) {\n // 调整 title 的 offset\n const bbox = labelGroup.getCanvasBBox();\n const length = isVertical ? bbox.width : bbox.height;\n // 如果用户没有设置 offset,则自动计算\n titleCfg.offset = labelOffset + length + titleSpacing + titleHeight / 2;\n }\n }\n }\n\n /**\n * 是否可以执行某一 overlap\n * @param name\n */\n private canProcessOverlap(name: string) {\n const labelCfg = this.get('label');\n\n // 对 autoRotate,如果配置了旋转角度,直接进行固定角度旋转\n if (name === 'autoRotate') {\n return isNil(labelCfg.rotate);\n }\n\n // 默认所有 overlap 都可执行\n return true;\n }\n\n private autoProcessOverlap(name: string, value: any, labelGroup: IGroup, limitLength: number) {\n const isVertical = this.isVertical();\n let hasAdjusted = false;\n const util = OverlapUtil[name];\n if (value === true) {\n const labelCfg = this.get('label');\n // true 形式的配置:使用 overlap 默认的的处理方法进行处理\n hasAdjusted = util.getDefault()(isVertical, labelGroup, limitLength);\n } else if (isFunction(value)) {\n // 回调函数形式的配置: 用户可以传入回调函数\n hasAdjusted = value(isVertical, labelGroup, limitLength);\n } else if (isObject(value)) {\n // object 形式的配置方式:包括 处理方法 type, 和可选参数配置 cfg\n const overlapCfg = value as { type: string; cfg?: AxisLabelAutoHideCfg };\n if (util[overlapCfg.type]) {\n hasAdjusted = util[overlapCfg.type](isVertical, labelGroup, limitLength, overlapCfg.cfg);\n }\n } else if (util[value]) {\n // 字符串类型的配置:按照名称执行 overlap 处理方法\n hasAdjusted = util[value](isVertical, labelGroup, limitLength);\n }\n if (name === 'autoRotate') {\n // 文本旋转后,文本的对齐方式可能就不合适了\n if (hasAdjusted) {\n const labels = labelGroup.getChildren();\n const verticalFactor = this.get('verticalFactor');\n each(labels, (label) => {\n const textAlign = label.attr('textAlign');\n if (textAlign === 'center') {\n // 居中的文本需要调整旋转度\n const newAlign = verticalFactor > 0 ? 'end' : 'start';\n label.attr('textAlign', newAlign);\n }\n });\n }\n } else if (name === 'autoHide') {\n const children = labelGroup.getChildren().slice(0); // 复制数组,删除时不会出错\n each(children, (label) => {\n if (!label.get('visible')) {\n if (this.get('isRegister')) {\n // 已经注册过了,则删除\n this.unregisterElement(label);\n }\n label.remove(); // 防止 label 数量太多,所以统一删除\n }\n });\n }\n }\n}\n\nexport default Line;\n","import { IGroup } from '@antv/g-base';\nimport { each, isNil, isFunction, isObject } from '@antv/util';\nimport { vec2 } from '@antv/matrix-util';\nimport AxisBase from './base';\nimport * as OverlapUtil from './overlap';\nimport type { AxisLabelAutoHideCfg } from '../types';\nimport type { CircleAxisCfg, Point, } from '../types';\n\nclass Circle extends AxisBase {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'circle',\n locationType: 'circle',\n center: null,\n radius: null,\n startAngle: -Math.PI / 2,\n endAngle: (Math.PI * 3) / 2,\n };\n }\n\n protected getLinePath(): any[] {\n const center = this.get('center');\n const x = center.x;\n const y = center.y;\n const rx = this.get('radius');\n const ry = rx;\n const startAngle = this.get('startAngle');\n const endAngle = this.get('endAngle');\n\n let path = [];\n if (Math.abs(endAngle - startAngle) === Math.PI * 2) {\n path = [['M', x, y - ry], ['A', rx, ry, 0, 1, 1, x, y + ry], ['A', rx, ry, 0, 1, 1, x, y - ry], ['Z']];\n } else {\n const startPoint = this.getCirclePoint(startAngle);\n const endPoint = this.getCirclePoint(endAngle);\n const large = Math.abs(endAngle - startAngle) > Math.PI ? 1 : 0;\n const sweep = startAngle > endAngle ? 0 : 1;\n path = [\n ['M', x, y],\n ['L', startPoint.x, startPoint.y],\n ['A', rx, ry, 0, large, sweep, endPoint.x, endPoint.y],\n ['L', x, y],\n ];\n }\n return path;\n }\n\n protected getTickPoint(tickValue): Point {\n const startAngle = this.get('startAngle');\n const endAngle = this.get('endAngle');\n const angle = startAngle + (endAngle - startAngle) * tickValue;\n return this.getCirclePoint(angle);\n }\n\n // 获取垂直于坐标轴的向量\n protected getSideVector(offset: number, point: Point) {\n const center = this.get('center');\n const vector: [number, number] = [point.x - center.x, point.y - center.y];\n const factor = this.get('verticalFactor');\n const vecLen = vec2.length(vector);\n vec2.scale(vector, vector, (factor * offset) / vecLen);\n return vector;\n }\n\n // 获取沿坐标轴方向的向量\n protected getAxisVector(point: Point): [number, number] {\n const center = this.get('center');\n const vector = [point.x - center.x, point.y - center.y];\n return [vector[1], -1 * vector[0]]; // 获取顺时针方向的向量\n }\n\n // 根据圆心和半径获取点\n private getCirclePoint(angle: number, radius?: number) {\n const center = this.get('center');\n radius = radius || this.get('radius');\n return {\n x: center.x + Math.cos(angle) * radius,\n y: center.y + Math.sin(angle) * radius,\n };\n }\n\n /**\n * 是否可以执行某一 overlap\n * @param name\n */\n private canProcessOverlap(name: string) {\n const labelCfg = this.get('label');\n\n // 对 autoRotate,如果配置了旋转角度,直接进行固定角度旋转\n if (name === 'autoRotate') {\n return isNil(labelCfg.rotate);\n }\n\n // 默认所有 overlap 都可执行\n return true;\n }\n\n protected processOverlap(labelGroup) {\n const labelCfg = this.get('label');\n const titleCfg = this.get('title');\n const verticalLimitLength = this.get('verticalLimitLength');\n const labelOffset = labelCfg.offset;\n let limitLength = verticalLimitLength;\n let titleHeight = 0;\n let titleSpacing = 0;\n if (titleCfg) {\n titleHeight = titleCfg.style.fontSize;\n titleSpacing = titleCfg.spacing;\n }\n if (limitLength) {\n limitLength = limitLength - labelOffset - titleSpacing - titleHeight;\n }\n const overlapOrder = this.get('overlapOrder');\n each(overlapOrder, (name) => {\n if (labelCfg[name] && this.canProcessOverlap(name)) {\n this.autoProcessOverlap(name, labelCfg[name], labelGroup, limitLength);\n }\n });\n if (titleCfg) {\n if (isNil(titleCfg.offset)) {\n // 调整 title 的 offset\n const { height: length } = labelGroup.getCanvasBBox();\n // 如果用户没有设置 offset,则自动计算\n titleCfg.offset = labelOffset + length + titleSpacing + titleHeight / 2;\n }\n }\n }\n\n private autoProcessOverlap(name: string, value: any, labelGroup: IGroup, limitLength: number) {\n let hasAdjusted = false;\n const util = OverlapUtil[name];\n if (limitLength > 0) {\n if (value === true) {\n // true 形式的配置:使用 overlap 默认的的处理方法进行处理\n hasAdjusted = util.getDefault()(false, labelGroup, limitLength);\n } else if (isFunction(value)) {\n // 回调函数形式的配置: 用户可以传入回调函数\n hasAdjusted = value(false, labelGroup, limitLength);\n } else if (isObject(value)) {\n // object 形式的配置方式:包括 处理方法 type, 和可选参数配置 cfg\n const overlapCfg = value as { type: string; cfg?: AxisLabelAutoHideCfg };\n if (util[overlapCfg.type]) {\n hasAdjusted = util[overlapCfg.type](false, labelGroup, limitLength, overlapCfg.cfg);\n }\n } else if (util[value]) {\n // 字符串类型的配置:按照名称执行 overlap 处理方法\n hasAdjusted = util[value](false, labelGroup, limitLength);\n }\n }\n if (name === 'autoRotate') {\n // 文本旋转后,文本的对齐方式可能就不合适了\n if (hasAdjusted) {\n const labels = labelGroup.getChildren();\n const verticalFactor = this.get('verticalFactor');\n each(labels, (label) => {\n const textAlign = label.attr('textAlign');\n if (textAlign === 'center') {\n // 居中的文本需要调整旋转度\n const newAlign = verticalFactor > 0 ? 'end' : 'start';\n label.attr('textAlign', newAlign);\n }\n });\n }\n } else if (name === 'autoHide') {\n const children = labelGroup.getChildren().slice(0); // 复制数组,删除时不会出错\n each(children, (label) => {\n if (!label.get('visible')) {\n if (this.get('isRegister')) {\n // 已经注册过了,则删除\n this.unregisterElement(label);\n }\n label.remove(); // 防止 label 数量太多,所以统一删除\n }\n });\n }\n }\n}\n\nexport default Circle;\n","import { IGroup } from '@antv/g-base';\nimport { isNil } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { CrosshairBaseCfg, Point } from '../types';\nimport { getMatrixByAngle } from '../util/matrix';\nimport Theme from '../util/theme';\nimport { formatPadding } from '../util/util';\n\nabstract class CrosshairBase extends GroupComponent {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'crosshair',\n type: 'base',\n line: {},\n text: null,\n textBackground: {},\n capture: false, // 不能被拾取\n defaultCfg: {\n line: {\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n },\n text: {\n position: 'start',\n offset: 10,\n autoRotate: false,\n content: null,\n style: {\n fill: Theme.textColor,\n textAlign: 'center',\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n },\n },\n textBackground: {\n padding: 5,\n style: {\n stroke: Theme.lineColor,\n },\n },\n },\n };\n }\n\n protected renderInner(group: IGroup) {\n if (this.get('line')) {\n this.renderLine(group);\n }\n if (this.get('text')) {\n this.renderText(group);\n this.renderBackground(group);\n }\n }\n\n /**\n * @protected\n * 获取文本点的位置\n * @return {Point} 文本的位置\n */\n protected abstract getTextPoint(): Point;\n\n protected abstract getRotateAngle(): number;\n\n protected renderText(group: IGroup) {\n const text = this.get('text');\n const { style, autoRotate, content } = text;\n if (!isNil(content)) {\n const textPoint = this.getTextPoint();\n let matrix = null;\n if (autoRotate) {\n const angle = this.getRotateAngle();\n matrix = getMatrixByAngle(textPoint, angle);\n }\n this.addShape(group, {\n type: 'text',\n name: 'crosshair-text',\n id: this.getElementId('text'),\n attrs: {\n ...textPoint,\n text: content,\n matrix,\n ...style,\n },\n });\n }\n }\n\n protected abstract getLinePath(): any[];\n\n protected renderLine(group: IGroup) {\n const path = this.getLinePath();\n const line = this.get('line');\n const style = line.style;\n this.addShape(group, {\n type: 'path',\n name: 'crosshair-line',\n id: this.getElementId('line'),\n attrs: {\n path,\n ...style,\n },\n });\n }\n\n // 绘制文本的背景\n private renderBackground(group: IGroup) {\n const textId = this.getElementId('text');\n const textShape = group.findById(textId); // 查找文本\n const textBackground = this.get('textBackground');\n\n if (textBackground && textShape) {\n const textBBox = textShape.getBBox();\n const padding = formatPadding(textBackground.padding); // 用户传入的 padding 格式不定\n const style = textBackground.style;\n const backgroundShape = this.addShape(group, {\n type: 'rect',\n name: 'crosshair-text-background',\n id: this.getElementId('text-background'),\n attrs: {\n x: textBBox.x - padding[3],\n y: textBBox.y - padding[0],\n width: textBBox.width + padding[1] + padding[3],\n height: textBBox.height + padding[0] + padding[2],\n matrix: textShape.attr('matrix'),\n ...style,\n },\n });\n backgroundShape.toBack();\n }\n }\n}\n\nexport default CrosshairBase;\n","import { ILocation } from '../interfaces';\nimport { LineCrosshairCfg, Point, RegionLocationCfg } from '../types';\nimport { getTextPoint } from '../util/util';\nimport CrosshairBase from './base';\n\nclass LineCrosshair extends CrosshairBase implements ILocation {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'line',\n locationType: 'region',\n start: null,\n end: null,\n };\n }\n\n // 直线的文本需要同直线垂直\n protected getRotateAngle(): number {\n const { start, end } = this.getLocation();\n const { position } = this.get('text');\n const angle = Math.atan2(end.y - start.y, end.x - start.x);\n const tangentAngle = position === 'start' ? angle - Math.PI / 2 : angle + Math.PI / 2;\n return tangentAngle;\n }\n\n protected getTextPoint() {\n const { start, end } = this.getLocation();\n const { position, offset } = this.get('text');\n return getTextPoint(start, end, position, offset);\n }\n\n protected getLinePath(): any[] {\n const { start, end } = this.getLocation();\n return [\n ['M', start.x, start.y],\n ['L', end.x, end.y],\n ];\n }\n}\n\nexport default LineCrosshair;\n","import { ILocation } from '../interfaces';\nimport { CircleCrosshairCfg, CircleLocationCfg, Point } from '../types';\nimport { getCirclePoint } from '../util/util';\nimport CrosshairBase from './base';\n\nclass LineCrosshair extends CrosshairBase implements ILocation {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'circle',\n locationType: 'circle',\n center: null,\n radius: 100,\n startAngle: -Math.PI / 2,\n endAngle: (Math.PI * 3) / 2,\n };\n }\n\n protected getRotateAngle(): number {\n const { startAngle, endAngle } = this.getLocation();\n const { position } = this.get('text');\n const tangentAngle = position === 'start' ? startAngle + Math.PI / 2 : endAngle - Math.PI / 2;\n return tangentAngle;\n }\n\n protected getTextPoint(): Point {\n const text = this.get('text');\n const { position, offset } = text;\n const { center, radius, startAngle, endAngle } = this.getLocation();\n const angle = position === 'start' ? startAngle : endAngle;\n const tangentAngle = this.getRotateAngle() - Math.PI;\n const point = getCirclePoint(center, radius, angle);\n // 这个地方其实应该求切线向量然后在乘以 offset,但是太啰嗦了,直接给出结果\n // const tangent = [Math.cos(tangentAngle), Math.sin(tangentAngle)];\n // const offsetVector = vec2.scale([], tangent, offset);\n const offsetX = Math.cos(tangentAngle) * offset;\n const offsetY = Math.sin(tangentAngle) * offset;\n return {\n x: point.x + offsetX,\n y: point.y + offsetY,\n };\n }\n\n protected getLinePath(): any[] {\n const { center, radius, startAngle, endAngle } = this.getLocation();\n let path = null;\n if (endAngle - startAngle === Math.PI * 2) {\n // 整圆\n const { x, y } = center;\n path = [\n ['M', x, y - radius],\n ['A', radius, radius, 0, 1, 1, x, y + radius],\n ['A', radius, radius, 0, 1, 1, x, y - radius],\n ['Z'],\n ];\n } else {\n const startPoint = getCirclePoint(center, radius, startAngle);\n const endPoint = getCirclePoint(center, radius, endAngle);\n const large = Math.abs(endAngle - startAngle) > Math.PI ? 1 : 0;\n const sweep = startAngle > endAngle ? 0 : 1;\n path = [\n ['M', startPoint.x, startPoint.y],\n ['A', radius, radius, 0, large, sweep, endPoint.x, endPoint.y],\n ];\n }\n return path;\n }\n}\n\nexport default LineCrosshair;\n","export const CONTAINER_CLASS = 'g2-crosshair';\nexport const CROSSHAIR_LINE = `${CONTAINER_CLASS}-line`;\nexport const CROSSHAIR_TEXT = `${CONTAINER_CLASS}-text`;\n","import Theme from '../util/theme';\n\n// tooltip 相关 dom 的 css 类名\nimport * as CssConst from './css-const';\n\nexport default {\n // css style for tooltip\n [`${CssConst.CONTAINER_CLASS}`]: {\n position: 'relative'\n },\n [`${CssConst.CROSSHAIR_LINE}`]: {\n position: 'absolute',\n backgroundColor: 'rgba(0, 0, 0, 0.25)',\n },\n [`${CssConst.CROSSHAIR_TEXT}`]: {\n position: 'absolute',\n color: Theme.textColor,\n fontFamily: Theme.fontFamily,\n }\n};","import { createDom, modifyCSS } from '@antv/dom-util';\nimport { substitute, hasKey } from '@antv/util';\nimport { toPx, getTextPoint } from '../util/util';\nimport HtmlComponent from '../abstract/html-component';\nimport * as CssConst from './css-const';\nimport HtmlTheme from './html-theme';\nimport {HtmlCrossHairCfg} from '../types';\nclass HtmlCrosshair extends HtmlComponent {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'crosshair',\n type: 'html',\n locationType: 'region',\n start: {x: 0, y: 0}, // 防止初始化报错\n end: {x: 0, y: 0}, // 防止初始化报错\n capture: false,\n text: null,\n containerTpl: `
    `,\n crosshairTpl: `
    `,\n textTpl: `{content}`,\n domStyles: null,\n containerClassName: CssConst.CONTAINER_CLASS,\n defaultStyles: HtmlTheme,\n defaultCfg: {\n text: {\n position: 'start',\n content: null,\n align: 'center',\n offset: 10\n }\n },\n };\n }\n\n render() {\n this.resetText();\n this.resetPosition();\n }\n\n // 绘制 crosshair\n private initCrossHair() {\n const container = this.getContainer();\n const crosshairTpl = this.get('crosshairTpl');\n const crosshairEl = createDom(crosshairTpl);\n container.appendChild(crosshairEl);\n this.applyStyle(CssConst.CROSSHAIR_LINE, crosshairEl);\n this.set('crosshairEl', crosshairEl);\n }\n\n // 获取文本的位置\n private getTextPoint() {\n const { start, end } = this.getLocation();\n const { position, offset } = this.get('text');\n return getTextPoint(start, end, position, offset);\n }\n\n // 设置 text\n private resetText() {\n const text = this.get('text');\n let textEl = this.get('textEl') as HTMLElement;\n if (text) {\n const {content} = text;\n if (!textEl) {\n const container = this.getContainer();\n const textTpl = substitute(this.get('textTpl'), text);\n textEl = createDom(textTpl);\n container.appendChild(textEl);\n this.applyStyle(CssConst.CROSSHAIR_TEXT, textEl);\n this.set('textEl', textEl);\n }\n textEl.innerHTML = content;\n } else if (textEl) {\n textEl.remove();\n }\n }\n // 是否垂直\n private isVertical(start, end) {\n return start.x === end.x;\n }\n // 重新调整位置\n protected resetPosition() {\n let crosshairEl = this.get('crosshairEl');\n if (!crosshairEl) {\n this.initCrossHair();\n crosshairEl = this.get('crosshairEl');\n }\n const start = this.get('start');\n const end = this.get('end');\n const minX = Math.min(start.x, end.x);\n const minY = Math.min(start.y, end.y);\n if (this.isVertical(start, end)) {\n modifyCSS(crosshairEl, {\n width: '1px',\n height: toPx(Math.abs(end.y - start.y))\n });\n } else {\n modifyCSS(crosshairEl, {\n height: '1px',\n width: toPx(Math.abs(end.x - start.x))\n });\n }\n modifyCSS(crosshairEl, {\n top: toPx(minY),\n left: toPx(minX)\n });\n this.alignText();\n }\n\n private alignText() {\n // 重新设置 text 位置\n const textEl = this.get('textEl');\n if (textEl) {\n const { align } = this.get('text');\n const clientWidth = textEl.clientWidth;\n const point = this.getTextPoint();\n switch(align) {\n case 'center': \n point.x = point.x - clientWidth / 2;\n break;\n case 'right':\n point.x = point.x - clientWidth;\n case 'left':\n break;\n }\n modifyCSS(textEl, {\n top: toPx(point.y),\n left: toPx(point.x)\n });\n }\n }\n\n protected updateInner(cfg: Partial) {\n if (hasKey(cfg, 'text')) {\n this.resetText();\n }\n super.updateInner(cfg);\n }\n}\n\nexport default HtmlCrosshair;","import { IGroup } from '@antv/g-base';\nimport { each, isString, mix, isFunction } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { GridBaseCfg, GroupComponentCfg, Point } from '../types';\nimport Theme from '../util/theme';\n\nabstract class GridBase extends GroupComponent {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'grid',\n line: {},\n alternateColor: null,\n capture: false,\n items: [],\n closed: false,\n defaultCfg: {\n line: {\n type: 'line', // 对于 line 类型的 grid 有 line, smooth 两种,cirle 类型的 grid 有 line 和 circle\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n },\n },\n };\n }\n\n /**\n * 获取栅格线的类型\n * @return {string} 栅格线类型\n */\n protected getLineType(): string {\n const line = this.get('line') || this.get('defaultCfg').line;\n return line.type;\n }\n\n protected renderInner(group: IGroup) {\n this.drawGrid(group);\n }\n\n /**\n * 获取栅格线的路径\n * @param {Point[]} points 栅格线的点集合\n * @param {boolean} reversed 顺序是否相反\n * @return {any[]} 路径\n */\n protected abstract getGridPath(points: Point[], reversed?: boolean): any[];\n\n protected getAlternatePath(prePoints: Point[], points: Point[]) {\n let regionPath = this.getGridPath(prePoints);\n const reversePoints = points.slice(0).reverse();\n const nextPath = this.getGridPath(reversePoints, true);\n const closed = this.get('closed');\n if (closed) {\n regionPath = regionPath.concat(nextPath);\n } else {\n nextPath[0][0] = 'L'; // 更新第一个节点\n regionPath = regionPath.concat(nextPath);\n regionPath.push(['Z']);\n }\n return regionPath;\n }\n // 获取路径的配置项\n private getPathStyle() {\n return this.get('line').style;\n }\n\n // 绘制栅格\n private drawGrid(group: IGroup) {\n const line = this.get('line');\n const items = this.get('items');\n const alternateColor = this.get('alternateColor');\n let preItem = null;\n each(items, (item, index) => {\n const id = item.id || index;\n // 绘制栅格线\n if (line) {\n let style = this.getPathStyle();\n style = isFunction(style) ? style(item, index, items) : style;\n\n const lineId = this.getElementId(`line-${id}`);\n const gridPath = this.getGridPath(item.points);\n this.addShape(group, {\n type: 'path',\n name: 'grid-line',\n id: lineId,\n attrs: mix(\n {\n path: gridPath,\n },\n style\n ),\n });\n }\n // 如果存在 alternateColor 则绘制矩形\n // 从第二个栅格线开始绘制\n if (alternateColor && index > 0) {\n const regionId = this.getElementId(`region-${id}`);\n const isEven = index % 2 === 0;\n if (isString(alternateColor)) {\n // 如果颜色是单值,则是仅绘制偶数时的区域\n if (isEven) {\n this.drawAlternateRegion(regionId, group, preItem.points, item.points, alternateColor);\n }\n } else {\n const color = isEven ? alternateColor[1] : alternateColor[0];\n this.drawAlternateRegion(regionId, group, preItem.points, item.points, color);\n }\n }\n preItem = item;\n });\n }\n\n // 绘制栅格线间的间隔\n private drawAlternateRegion(id: string, group: IGroup, prePoints: Point[], points: Point[], color: string) {\n const regionPath = this.getAlternatePath(prePoints, points);\n this.addShape(group, {\n type: 'path',\n id,\n name: 'grid-region',\n attrs: {\n path: regionPath,\n fill: color,\n },\n });\n }\n}\n\nexport default GridBase;\n","import { each } from '@antv/util';\nimport { CircleGridCfg, Point } from '../types';\nimport GridBase from './base';\n\nfunction distance(x1, y1, x2, y2) {\n const dx = x2 - x1;\n const dy = y2 - y1;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nclass Circle extends GridBase {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'circle',\n /**\n * 中心点\n * @type {object}\n */\n center: null,\n /**\n * 栅格线是否封闭\n * @type {true}\n */\n closed: true,\n };\n }\n\n protected getGridPath(points: Point[], reversed: boolean) {\n const lineType = this.getLineType();\n const closed = this.get('closed');\n const path = [];\n if (points.length) {\n // 防止出错\n if (lineType === 'circle') {\n const center = this.get('center');\n const firstPoint = points[0];\n const radius = distance(center.x, center.y, firstPoint.x, firstPoint.y);\n const sweepFlag = reversed ? 0 : 1; // 顺时针还是逆时针\n if (closed) {\n // 封闭时,绘制整个圆\n path.push(['M', center.x, center.y - radius]);\n path.push(['A', radius, radius, 0, 0, sweepFlag, center.x, center.y + radius]);\n path.push(['A', radius, radius, 0, 0, sweepFlag, center.x, center.y - radius]);\n path.push(['Z']);\n } else {\n each(points, (point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['A', radius, radius, 0, 0, sweepFlag, point.x, point.y]);\n }\n });\n }\n } else {\n each(points, (point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['L', point.x, point.y]);\n }\n });\n if (closed) {\n path.push(['Z']);\n }\n }\n }\n return path;\n }\n}\n\nexport default Circle;\n","import { each } from '@antv/util';\nimport { Point } from '../types';\nimport GridBase from './base';\n\nclass Line extends GridBase {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'line',\n };\n }\n\n protected getGridPath(points: Point[]): any[] {\n const path = [];\n each(points, (point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['L', point.x, point.y]);\n }\n });\n return path;\n }\n}\n\nexport default Line;\n","import { IGroup } from '@antv/g-base';\nimport GroupComponent from '../abstract/group-component';\nimport { ILocation } from '../interfaces';\nimport { BBox, LegendBaseCfg, Point, PointLocationCfg } from '../types';\nimport { createBBox, formatPadding } from '../util/util';\n\nabstract class LegendBase extends GroupComponent\n implements ILocation {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'legend',\n /**\n * 布局方式: horizontal,vertical\n * @type {String}\n */\n layout: 'horizontal',\n locationType: 'point',\n x: 0,\n y: 0,\n offsetX: 0,\n offsetY: 0,\n title: null,\n background: null,\n };\n }\n\n public getLayoutBBox(): BBox {\n const bbox = super.getLayoutBBox();\n const maxWidth = this.get('maxWidth');\n const maxHeight = this.get('maxHeight');\n\n let { width, height } = bbox;\n if (maxWidth) {\n width = Math.min(width, maxWidth);\n }\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n \n return createBBox(bbox.minX, bbox.minY, width, height);\n }\n\n public setLocation(cfg: PointLocationCfg) {\n this.set('x', cfg.x);\n this.set('y', cfg.y);\n this.resetLocation();\n }\n\n protected resetLocation() {\n const x = this.get('x');\n const y = this.get('y');\n const offsetX = this.get('offsetX');\n const offsetY = this.get('offsetY');\n this.moveElementTo(this.get('group'), {\n x: x + offsetX,\n y: y + offsetY,\n });\n }\n\n protected applyOffset() {\n this.resetLocation();\n }\n\n // 获取当前绘制的点\n protected getDrawPoint(): Point {\n return this.get('currentPoint');\n }\n\n protected setDrawPoint(point: Point) {\n return this.set('currentPoint', point);\n }\n // 复写父类定义的绘制方法\n protected renderInner(group: IGroup) {\n this.resetDraw();\n if (this.get('title')) {\n this.drawTitle(group);\n }\n this.drawLegendContent(group);\n if (this.get('background')) {\n this.drawBackground(group);\n }\n // this.resetLocation(); // 在顶层已经在处理偏移时一起处理了\n }\n\n protected abstract drawLegendContent(group);\n\n // 绘制背景\n protected drawBackground(group: IGroup) {\n const background = this.get('background');\n const bbox = group.getBBox();\n const padding = formatPadding(background.padding);\n const attrs = {\n // 背景从 (0,0) 开始绘制\n x: 0,\n y: 0,\n width: bbox.width + padding[1] + padding[3],\n height: bbox.height + padding[0] + padding[2],\n ...background.style,\n };\n const backgroundShape = this.addShape(group, {\n type: 'rect',\n id: this.getElementId('background'),\n name: 'legend-background',\n attrs,\n });\n backgroundShape.toBack();\n }\n\n // 绘制标题,标题在图例项的上面\n protected drawTitle(group: IGroup) {\n const currentPoint = this.get('currentPoint');\n const titleCfg = this.get('title');\n const { spacing, style, text } = titleCfg;\n const shape = this.addShape(group, {\n type: 'text',\n id: this.getElementId('title'),\n name: 'legend-title',\n attrs: {\n text,\n x: currentPoint.x,\n y: currentPoint.y,\n ...style,\n },\n });\n const bbox = shape.getBBox();\n // 标题单独在一行\n this.set('currentPoint', { x: currentPoint.x, y: bbox.maxY + spacing });\n }\n\n // 重置绘制时开始的位置,如果绘制边框,考虑边框的 padding\n private resetDraw() {\n const background = this.get('background');\n const currentPoint = { x: 0, y: 0 };\n if (background) {\n const padding = formatPadding(background.padding);\n currentPoint.x = padding[3]; // 左边 padding\n currentPoint.y = padding[0]; // 上面 padding\n }\n this.set('currentPoint', currentPoint); // 设置绘制的初始位置\n }\n}\n\nexport default LegendBase;\n","import { IGroup, IShape } from '@antv/g-base';\nimport { clamp, deepMix, each, filter, get, mix, isNumber, isFunction } from '@antv/util';\nimport { IList } from '../interfaces';\nimport {\n CategoryLegendCfg,\n LegendPageNavigatorCfg,\n LegendItemNameCfg,\n LegendMarkerCfg,\n ListItem,\n LegendRadio,\n} from '../types';\nimport { ellipsisLabel } from '../util/label';\nimport { getMatrixByAngle, getMatrixByTranslate } from '../util/matrix';\nimport { getStatesStyle } from '../util/state';\nimport Theme from '../util/theme';\nimport LegendBase from './base';\n\n/**\n * 分页器 默认配置\n */\nconst DEFAULT_PAGE_NAVIGATOR = {\n marker: {\n style: {\n inactiveFill: '#000',\n inactiveOpacity: 0.45,\n fill: '#000',\n opacity: 1,\n size: 12,\n },\n },\n text: {\n style: {\n fill: '#ccc',\n fontSize: 12,\n },\n },\n};\n\n// 默认 文本style\nconst textStyle = {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n fontWeight: 'normal',\n lineHeight: 12,\n};\n\nconst RIGHT_ARROW_NAME = 'navigation-arrow-right';\nconst LEFT_ARROW_NAME = 'navigation-arrow-left';\n\nconst ROTATE_MAP = {\n right: (90 * Math.PI) / 180,\n left: ((360 - 90) * Math.PI) / 180,\n up: 0,\n down: (180 * Math.PI) / 180,\n};\nclass Category extends LegendBase implements IList {\n private currentPageIndex = 1;\n private totalPagesCnt = 1;\n private pageWidth = 0;\n private pageHeight = 0;\n private startX = 0;\n private startY = 0;\n\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'legend',\n type: 'category',\n itemSpacing: 24,\n itemMarginBottom: 8,\n maxItemWidth: null,\n itemWidth: null,\n itemHeight: null,\n itemName: {},\n itemValue: null,\n maxWidth: null,\n maxHeight: null,\n marker: {},\n radio: null,\n items: [],\n itemStates: {},\n itemBackground: {},\n pageNavigator: {},\n defaultCfg: {\n title: {\n spacing: 5,\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'top',\n },\n },\n background: {\n padding: 5,\n style: {\n stroke: Theme.lineColor,\n },\n },\n itemBackground: {\n style: {\n opacity: 0,\n fill: '#fff',\n },\n },\n pageNavigator: DEFAULT_PAGE_NAVIGATOR,\n itemName: {\n spacing: 16, // 如果右边有 value 或者 RadioIcon 使用这个间距\n style: textStyle,\n },\n marker: {\n spacing: 8,\n style: {\n r: 6,\n symbol: 'circle',\n },\n },\n itemValue: {\n alignRight: false, // 只有itemWidth 不为 null 时此属性有效\n formatter: null,\n style: textStyle,\n spacing: 6, // 如果右边有 RadioIcon 使用在这个间距\n },\n itemStates: {\n active: {\n nameStyle: {\n opacity: 0.8,\n },\n },\n unchecked: {\n nameStyle: {\n fill: Theme.uncheckedColor,\n },\n markerStyle: {\n fill: Theme.uncheckedColor,\n stroke: Theme.uncheckedColor,\n },\n },\n inactive: {\n nameStyle: {\n fill: Theme.uncheckedColor,\n },\n markerStyle: {\n opacity: 0.2,\n },\n },\n },\n },\n };\n }\n\n // 实现 IList 接口\n public isList(): boolean {\n return true;\n }\n\n /**\n * 获取图例项\n * @return {ListItem[]} 列表项集合\n */\n public getItems(): ListItem[] {\n return this.get('items');\n }\n\n /**\n * 设置列表项\n * @param {ListItem[]} items 列表项集合\n */\n public setItems(items: ListItem[]) {\n this.update({\n items,\n });\n }\n\n /**\n * 更新列表项\n * @param {ListItem} item 列表项\n * @param {object} cfg 列表项\n */\n public updateItem(item: ListItem, cfg: object) {\n mix(item, cfg);\n this.clear(); // 由于单个图例项变化,会引起全局变化,所以全部更新\n this.render();\n }\n\n /**\n * 清空列表\n */\n public clearItems() {\n const itemGroup = this.getElementByLocalId('item-group');\n itemGroup && itemGroup.clear();\n }\n\n /**\n * 设置列表项的状态\n * @param {ListItem} item 列表项\n * @param {string} state 状态名\n * @param {boolean} value 状态值, true, false\n */\n public setItemState(item: ListItem, state: string, value: boolean) {\n item[state] = value;\n const itemElement = this.getElementByLocalId(`item-${item.id}`);\n if (itemElement) {\n const items = this.getItems();\n const index = items.indexOf(item);\n const offsetGroup = this.createOffScreenGroup(); // 离屏的 group\n const newElement = this.drawItem(item, index, this.getItemHeight(), offsetGroup);\n this.updateElements(newElement, itemElement); // 更新整个分组\n this.clearUpdateStatus(itemElement); // 清理更新状态,防止出现 bug\n }\n }\n /**\n * 是否存在指定的状态\n * @param {ListItem} item 列表项\n * @param {boolean} state 状态名\n */\n public hasState(item: ListItem, state: string): boolean {\n return !!item[state];\n }\n\n public getItemStates(item: ListItem): string[] {\n const itemStates = this.get('itemStates');\n const rst = [];\n each(itemStates, (v, k) => {\n if (item[k]) {\n // item.selected\n rst.push(k);\n }\n });\n return rst;\n }\n\n /**\n * 清楚所有列表项的状态\n * @param {string} state 状态值\n */\n public clearItemsState(state: string) {\n const items = this.getItemsByState(state);\n each(items, (item) => {\n this.setItemState(item, state, false);\n });\n }\n\n /**\n * 根据状态获取图例项\n * @param {string} state [description]\n * @return {ListItem[]} [description]\n */\n public getItemsByState(state: string): ListItem[] {\n const items = this.getItems();\n return filter(items, (item) => {\n return this.hasState(item, state);\n });\n }\n\n // 绘制 legend 的选项\n protected drawLegendContent(group) {\n this.processItems();\n this.drawItems(group);\n }\n\n // 防止未设置 id\n private processItems() {\n const items = this.get('items');\n each(items, (item) => {\n if (!item.id) {\n // 如果没有设置 id,默认使用 name\n item.id = item.name;\n }\n });\n }\n\n // 绘制所有的图例选项\n private drawItems(group: IGroup) {\n const itemContainerGroup = this.addGroup(group, {\n id: this.getElementId('item-container-group'),\n name: 'legend-item-container-group',\n });\n const itemGroup = this.addGroup(itemContainerGroup, {\n id: this.getElementId('item-group'),\n name: 'legend-item-group',\n });\n const itemHeight = this.getItemHeight();\n const itemWidth = this.get('itemWidth');\n const itemSpacing = this.get('itemSpacing');\n const itemMarginBottom = this.get('itemMarginBottom');\n const currentPoint = this.get('currentPoint');\n const startX = currentPoint.x;\n const startY = currentPoint.y;\n const layout = this.get('layout');\n const items = this.get('items');\n let wrapped = false;\n let pageWidth = 0;\n\n const maxWidth = this.get('maxWidth'); // 最大宽度,会导致 layout : 'horizontal' 时自动换行\n const maxHeight = this.get('maxHeight'); // 最大高度,会导致出现分页\n // 暂时不考虑分页\n each(items, (item, index) => {\n const subGroup = this.drawItem(item, index, itemHeight, itemGroup);\n const bbox = subGroup.getBBox();\n const width = itemWidth || bbox.width;\n if (width > pageWidth) {\n pageWidth = width;\n }\n if (layout === 'horizontal') {\n // 如果水平布局\n if (maxWidth && maxWidth < currentPoint.x + width - startX) {\n // 检测是否换行\n wrapped = true;\n currentPoint.x = startX;\n currentPoint.y += itemHeight + itemMarginBottom;\n }\n this.moveElementTo(subGroup, currentPoint);\n currentPoint.x += width + itemSpacing;\n } else {\n // 如果垂直布局\n if (maxHeight && maxHeight < currentPoint.y + itemHeight + itemMarginBottom - startY) {\n // 换行\n wrapped = true;\n currentPoint.x += pageWidth + itemSpacing;\n currentPoint.y = startY;\n pageWidth = 0;\n }\n this.moveElementTo(subGroup, currentPoint);\n currentPoint.y += itemHeight + itemMarginBottom; // itemSpacing 仅影响水平间距\n }\n });\n\n if (wrapped && this.get('flipPage')) {\n this.pageHeight = 0;\n this.pageWidth = 0;\n this.totalPagesCnt = 1;\n this.startX = startX;\n this.startY = startY;\n this.adjustNavigation(group, itemGroup);\n }\n }\n // 获取图例项的高度,如果未定义,则按照 name 的高度计算\n private getItemHeight() {\n let itemHeight = this.get('itemHeight');\n if (!itemHeight) {\n const { style }: LegendItemNameCfg = this.get('itemName') || {};\n\n if (isFunction(style)) {\n const items = this.getItems();\n items.forEach((item, index) => {\n const { fontSize } = { ...textStyle, ...style(item, index, items) };\n if (itemHeight < fontSize) {\n itemHeight = fontSize;\n }\n });\n } else if (style) {\n itemHeight = style.fontSize;\n }\n }\n return itemHeight;\n }\n // 绘制 marker\n private drawMarker(container: IGroup, markerCfg: LegendMarkerCfg, item: ListItem, itemHeight: number) {\n const markerAttrs = {\n x: 0,\n y: itemHeight / 2,\n ...markerCfg.style,\n symbol: get(item.marker, 'symbol', 'circle'),\n ...get(item.marker, 'style', {}),\n };\n\n const shape = this.addShape(container, {\n type: 'marker',\n id: this.getElementId(`item-${item.id}-marker`),\n name: 'legend-item-marker',\n attrs: markerAttrs,\n });\n const bbox = shape.getBBox();\n shape.attr('x', bbox.width / 2); // marker 需要左对齐,所以不能占用左侧的空间\n\n const { stroke, fill } = shape.attr();\n if (stroke) {\n shape.set('isStroke', true);\n }\n if (fill) {\n shape.set('isFill', true);\n }\n\n return shape;\n }\n // 绘制文本\n private drawItemText(\n container: IGroup,\n textName: string,\n cfg: LegendItemNameCfg,\n item: ListItem,\n itemHeight: number,\n xPosition: number,\n index: number\n ) {\n const formatter = cfg.formatter;\n const { style } = cfg;\n\n const attrs = {\n x: xPosition,\n y: itemHeight / 2,\n text: formatter ? formatter(item[textName], item, index) : item[textName],\n ...textStyle,\n ...(isFunction(style) ? style(item, index, this.getItems()) : style),\n };\n\n return this.addShape(container, {\n type: 'text',\n id: this.getElementId(`item-${item.id}-${textName}`),\n name: `legend-item-${textName}`,\n attrs,\n });\n }\n\n private drawRadio(container: IGroup, radioCfg: LegendRadio, item: ListItem, itemHeight: number, x: number) {\n const style = radioCfg.style || {};\n // 以用户设置的 r 为主\n const r = style.r ?? itemHeight / 2;\n const lineWidth = (r * 3.6) / 8;\n const [x0, y0] = [x + r, itemHeight / 2 - r];\n const [x1, y1] = [x0 + r, y0 + r];\n const [x2, y2] = [x0, y1 + r];\n const [x3, y3] = [x, y0 + r];\n const { showRadio } = item;\n const attrs = {\n path: [\n ['M', x0, y0],\n ['A', r, r, 0, 0, 1, x1, y1],\n ['L', x1 - lineWidth, y1],\n ['L', x1, y1],\n ['A', r, r, 0, 0, 1, x2, y2],\n ['L', x2, y2 - lineWidth],\n ['L', x2, y2],\n ['A', r, r, 0, 0, 1, x3, y3],\n ['L', x3 + lineWidth, y3],\n ['L', x3, y3],\n ['A', r, r, 0, 0, 1, x0, y0],\n ['L', x0, y0 + lineWidth],\n ],\n stroke: '#000000',\n fill: '#ffffff',\n ...style,\n opacity: showRadio ? (style?.opacity ?? 0.45) : 0,\n };\n\n const radioShape = this.addShape(container, {\n type: 'path',\n id: this.getElementId(`item-${item.id}-radio`),\n name: 'legend-item-radio',\n attrs,\n });\n radioShape.set('tip', radioCfg.tip);\n return radioShape;\n }\n\n // 绘制图例项\n private drawItem(item: ListItem, index: number, itemHeight: number, itemGroup: IGroup) {\n const groupId = `item-${item.id}`;\n // 设置单独的 Group 用于 setClip\n const subContainer = this.addGroup(itemGroup, {\n name: 'legend-item-container',\n id: this.getElementId(`item-container-${groupId}`),\n delegateObject: {\n item,\n index,\n },\n });\n const subGroup = this.addGroup(subContainer, {\n name: 'legend-item',\n id: this.getElementId(groupId),\n delegateObject: {\n item,\n index,\n },\n });\n const marker = this.get('marker');\n const itemName = this.get('itemName');\n const itemValue = this.get('itemValue');\n const itemBackground = this.get('itemBackground');\n const radio = this.get('radio');\n const itemWidth = this.getLimitItemWidth();\n\n let curX = 0; // 记录当前 x 的位置\n if (marker) {\n const markerShape = this.drawMarker(subGroup, marker, item, itemHeight);\n let spacing = marker.spacing;\n const itemMarkerSpacing = get(item, ['marker', 'spacing']);\n\n if (isNumber(itemMarkerSpacing)) {\n // 如果 item 有配置 marker.spacing,采用 item 的配置\n spacing = itemMarkerSpacing;\n }\n\n curX = markerShape.getBBox().maxX + spacing;\n }\n\n if (itemName) {\n const nameShape = this.drawItemText(subGroup, 'name', itemName, item, itemHeight, curX, index);\n if (itemWidth) {\n // 设置了 item 的最大宽度限制,并且超出了,进行省略处理\n ellipsisLabel(true, nameShape, clamp(itemWidth - curX, 0, itemWidth));\n }\n curX = nameShape.getBBox().maxX + itemName.spacing;\n }\n\n if (itemValue) {\n const valueShape = this.drawItemText(subGroup, 'value', itemValue, item, itemHeight, curX, index);\n if (itemWidth) {\n if (itemValue.alignRight) {\n valueShape.attr({\n textAlign: 'right',\n x: itemWidth,\n });\n ellipsisLabel(true, valueShape, clamp(itemWidth - curX, 0, itemWidth), 'head');\n } else {\n ellipsisLabel(true, valueShape, clamp(itemWidth - curX, 0, itemWidth));\n }\n }\n curX = valueShape.getBBox().maxX + itemValue.spacing;\n }\n\n if (radio) {\n this.drawRadio(subGroup, radio, item, itemHeight, curX);\n }\n\n // 添加透明的背景,便于拾取和包围盒计算\n if (itemBackground) {\n const bbox = subGroup.getBBox();\n const backShape = this.addShape(subGroup, {\n type: 'rect',\n name: 'legend-item-background',\n id: this.getElementId(`${groupId}-background`),\n attrs: {\n x: 0,\n y: 0,\n width: bbox.width,\n height: itemHeight,\n ...itemBackground.style,\n },\n });\n backShape.toBack();\n }\n\n this.applyItemStates(item, subGroup);\n return subGroup;\n }\n\n // 加上分页器并重新排序 items\n private adjustNavigation(container: IGroup, itemGroup: IGroup) {\n const startX = this.startX;\n const startY = this.startY;\n const layout = this.get('layout');\n const subGroups = itemGroup.findAll((item) => item.get('name') === 'legend-item');\n const maxWidth = this.get('maxWidth');\n const maxHeight = this.get('maxHeight');\n const itemWidth = this.get('itemWidth');\n const itemSpacing = this.get('itemSpacing');\n const itemHeight = this.getItemHeight();\n const pageNavigator: LegendPageNavigatorCfg = deepMix({}, DEFAULT_PAGE_NAVIGATOR, this.get('pageNavigator'));\n const navigation = this.drawNavigation(container, layout, '00/00', pageNavigator);\n const navigationBBox = navigation.getBBox();\n const currentPoint = { x: startX, y: startY };\n let pages = 1;\n let widthLimit = 0;\n let pageWidth = 0;\n let maxItemWidth = 0;\n const itemMarginBottom = this.get('itemMarginBottom');\n\n /** 判断当前 item 是否溢出当前页。是的话,需要换行 */\n function shouldWrap(item, currentPoint) {\n const bbox = item.getBBox();\n const width = itemWidth || bbox.width;\n const newItemXPos = currentPoint.x + width + itemSpacing + navigationBBox.width;\n return newItemXPos > maxWidth;\n }\n\n if (layout === 'horizontal') {\n const maxRow = this.get('maxRow') || 1;\n const maxRowHeight = itemHeight + (maxRow === 1 ? 0 : itemMarginBottom);\n // 分页器一直靠右上角\n const navigationX = maxWidth - itemSpacing - navigationBBox.width - navigationBBox.minX; // 理论上不需要减 navigationBBox.minX\n this.pageHeight = maxRowHeight * maxRow;\n this.pageWidth = navigationX;\n each(subGroups, (item) => {\n const bbox = item.getBBox();\n const width = itemWidth || bbox.width;\n if ((widthLimit && widthLimit < currentPoint.x + width + itemSpacing) ||\n shouldWrap(item, currentPoint)) {\n if (pages === 1) {\n widthLimit = currentPoint.x + itemSpacing;\n this.moveElementTo(navigation, {\n x: navigationX,\n y: currentPoint.y + itemHeight / 2 - navigationBBox.height / 2 - navigationBBox.minY,\n });\n }\n pages += 1;\n currentPoint.x = startX;\n currentPoint.y += maxRowHeight;\n }\n this.moveElementTo(item, currentPoint);\n item.getParent().setClip({\n type: 'rect',\n attrs: {\n x: currentPoint.x,\n y: currentPoint.y,\n width: width + itemSpacing,\n height: itemHeight,\n },\n });\n currentPoint.x += width + itemSpacing;\n });\n } else {\n each(subGroups, (item) => {\n const bbox = item.getBBox();\n if (bbox.width > pageWidth) {\n pageWidth = bbox.width;\n }\n });\n maxItemWidth = pageWidth;\n pageWidth += itemSpacing;\n if (maxWidth) {\n // maxWidth 限制加上\n pageWidth = Math.min(maxWidth, pageWidth);\n maxItemWidth = Math.min(maxWidth, maxItemWidth);\n }\n this.pageWidth = pageWidth;\n this.pageHeight = maxHeight - Math.max(navigationBBox.height, itemHeight + itemMarginBottom);\n const cntPerPage = Math.floor(this.pageHeight / (itemHeight + itemMarginBottom));\n each(subGroups, (item, index) => {\n if (index !== 0 && index % cntPerPage === 0) {\n pages += 1;\n currentPoint.x += pageWidth;\n currentPoint.y = startY;\n }\n this.moveElementTo(item, currentPoint);\n item.getParent().setClip({\n type: 'rect',\n attrs: {\n x: currentPoint.x,\n y: currentPoint.y,\n width: pageWidth,\n height: itemHeight,\n },\n });\n currentPoint.y += itemHeight + itemMarginBottom;\n });\n this.totalPagesCnt = pages;\n this.moveElementTo(navigation, {\n x: startX + maxItemWidth / 2 - navigationBBox.width / 2 - navigationBBox.minX,\n y: maxHeight - navigationBBox.height - navigationBBox.minY,\n });\n }\n\n if (this.pageHeight && this.pageWidth) {\n // 为了使固定的 clip 生效,clip 设置在 itemContainerGroup 上,itemGroup 需要在翻页时会设置 matrix\n itemGroup.getParent().setClip({\n type: 'rect',\n attrs: {\n x: this.startX,\n y: this.startY,\n width: this.pageWidth,\n height: this.pageHeight,\n },\n });\n }\n // 重新计算 totalPagesCnt\n if (layout === 'horizontal' && this.get('maxRow')) {\n this.totalPagesCnt = Math.ceil(pages / this.get('maxRow'));\n } else {\n this.totalPagesCnt = pages;\n }\n if (this.currentPageIndex > this.totalPagesCnt) {\n this.currentPageIndex = 1;\n }\n this.updateNavigation(navigation);\n // update initial matrix\n itemGroup.attr('matrix', this.getCurrentNavigationMatrix());\n }\n\n /**\n * 绘制分页器\n */\n private drawNavigation(\n group: IGroup,\n layout: 'horizontal' | 'vertical',\n text: string,\n styleCfg?: LegendPageNavigatorCfg\n ) {\n const currentPoint = { x: 0, y: 0 };\n const subGroup = this.addGroup(group, {\n id: this.getElementId('navigation-group'),\n name: 'legend-navigation',\n });\n const { size = 12, ...arrowStyle } = get(styleCfg.marker, 'style', {});\n const leftArrow = this.drawArrow(\n subGroup,\n currentPoint,\n LEFT_ARROW_NAME,\n layout === 'horizontal' ? 'up' : 'left',\n size,\n arrowStyle\n );\n leftArrow.on('click', this.onNavigationBack);\n const leftArrowBBox = leftArrow.getBBox();\n currentPoint.x += leftArrowBBox.width + 2;\n\n const textShape = this.addShape(subGroup, {\n type: 'text',\n id: this.getElementId('navigation-text'),\n name: 'navigation-text',\n attrs: {\n x: currentPoint.x,\n y: currentPoint.y + size / 2,\n text,\n textBaseline: 'middle',\n ...get(styleCfg.text, 'style'),\n },\n });\n const textBBox = textShape.getBBox();\n currentPoint.x += textBBox.width + 2;\n\n const rightArrow = this.drawArrow(\n subGroup,\n currentPoint,\n RIGHT_ARROW_NAME,\n layout === 'horizontal' ? 'down' : 'right',\n size,\n arrowStyle\n );\n rightArrow.on('click', this.onNavigationAfter);\n\n return subGroup;\n }\n\n private updateNavigation(navigation?: IGroup) {\n const pageNavigator: LegendPageNavigatorCfg = deepMix({}, DEFAULT_PAGE_NAVIGATOR, this.get('pageNavigator'));\n const { fill, opacity, inactiveFill, inactiveOpacity } = pageNavigator.marker.style;\n\n const text = `${this.currentPageIndex}/${this.totalPagesCnt}`;\n const textShape = navigation ? navigation.getChildren()[1] : this.getElementByLocalId('navigation-text');\n const leftArrow = navigation\n ? navigation.findById(this.getElementId(LEFT_ARROW_NAME))\n : this.getElementByLocalId(LEFT_ARROW_NAME);\n const rightArrow = navigation\n ? navigation.findById(this.getElementId(RIGHT_ARROW_NAME))\n : this.getElementByLocalId(RIGHT_ARROW_NAME);\n textShape.attr('text', text);\n // 更新 left-arrow marker\n leftArrow.attr('opacity', this.currentPageIndex === 1 ? inactiveOpacity : opacity);\n leftArrow.attr('fill', this.currentPageIndex === 1 ? inactiveFill : fill);\n leftArrow.attr('cursor', this.currentPageIndex === 1 ? 'not-allowed' : 'pointer');\n // 更新 right-arrow marker\n rightArrow.attr('opacity', this.currentPageIndex === this.totalPagesCnt ? inactiveOpacity : opacity);\n rightArrow.attr('fill', this.currentPageIndex === this.totalPagesCnt ? inactiveFill : fill);\n rightArrow.attr('cursor', this.currentPageIndex === this.totalPagesCnt ? 'not-allowed' : 'pointer');\n // 更新位置\n let cursorX = leftArrow.getBBox().maxX + 2;\n textShape.attr('x', cursorX);\n cursorX += textShape.getBBox().width + 2;\n this.updateArrowPath(rightArrow, { x: cursorX, y: 0 });\n\n }\n\n private drawArrow(\n group: IGroup,\n currentPoint: { x: number; y: number },\n name: string,\n direction: 'left' | 'right' | 'up' | 'down',\n size: number,\n style?: LegendPageNavigatorCfg['marker']['style']\n ) {\n const { x, y } = currentPoint;\n const shape = this.addShape(group, {\n type: 'path',\n id: this.getElementId(name),\n name,\n attrs: {\n size,\n direction,\n path: [['M', x + size / 2, y], ['L', x, y + size], ['L', x + size, y + size], ['Z']],\n cursor: 'pointer',\n ...style,\n },\n });\n shape.attr('matrix', getMatrixByAngle({ x: x + size / 2, y: y + size / 2 }, ROTATE_MAP[direction]));\n\n return shape;\n }\n\n /**\n * 更新分页器 arrow 组件\n */\n private updateArrowPath(arrow: IShape, point: { x: number; y: number }): void {\n const { x, y } = point;\n const { size, direction } = arrow.attr();\n let matrix = getMatrixByAngle({ x: x + size / 2, y: y + size / 2 }, ROTATE_MAP[direction]);\n arrow.attr('path', [['M', x + size / 2, y], ['L', x, y + size], ['L', x + size, y + size], ['Z']]);\n arrow.attr('matrix', matrix);\n }\n\n private getCurrentNavigationMatrix() {\n const { currentPageIndex, pageWidth, pageHeight } = this;\n const layout = this.get('layout');\n const translate =\n layout === 'horizontal'\n ? {\n x: 0,\n y: pageHeight * (1 - currentPageIndex),\n }\n : {\n x: pageWidth * (1 - currentPageIndex),\n y: 0,\n };\n\n return getMatrixByTranslate(translate);\n }\n\n private onNavigationBack = () => {\n const itemGroup = this.getElementByLocalId('item-group');\n if (this.currentPageIndex > 1) {\n this.currentPageIndex -= 1;\n this.updateNavigation();\n const matrix = this.getCurrentNavigationMatrix();\n if (this.get('animate')) {\n itemGroup.animate(\n {\n matrix,\n },\n 100\n );\n } else {\n itemGroup.attr({ matrix });\n }\n }\n };\n\n private onNavigationAfter = () => {\n const itemGroup = this.getElementByLocalId('item-group');\n if (this.currentPageIndex < this.totalPagesCnt) {\n this.currentPageIndex += 1;\n this.updateNavigation();\n const matrix = this.getCurrentNavigationMatrix();\n if (this.get('animate')) {\n itemGroup.animate(\n {\n matrix,\n },\n 100\n );\n } else {\n itemGroup.attr({ matrix });\n }\n }\n };\n\n // 附加状态对应的样式\n private applyItemStates(item: ListItem, subGroup: IGroup) {\n const states = this.getItemStates(item);\n const hasStates = states.length > 0;\n if (hasStates) {\n const children = subGroup.getChildren();\n const itemStates = this.get('itemStates');\n each(children, (element) => {\n const name = element.get('name');\n const elName = name.split('-')[2]; // marker, name, value\n const statesStyle = getStatesStyle(item, elName, itemStates);\n if (statesStyle) {\n element.attr(statesStyle);\n if (elName === 'marker' && !(element.get('isStroke') && element.get('isFill'))) {\n // 如果 marker 是单填充或者单描边的话,就不要额外添加 stroke 或这 fill 属性,否则会影响 unchecked 后的显示\n if (element.get('isStroke')) {\n element.attr('fill', null);\n }\n if (element.get('isFill')) {\n element.attr('stroke', null);\n }\n }\n }\n });\n }\n }\n\n // 获取 itemWidth 的最终设置\n private getLimitItemWidth() {\n const itemWidth = this.get('itemWidth');\n let maxItemWidth = this.get('maxItemWidth');\n\n if (maxItemWidth) {\n // 设置了最大宽度\n if (itemWidth) {\n maxItemWidth = itemWidth <= maxItemWidth ? itemWidth : maxItemWidth;\n }\n } else if (itemWidth) {\n maxItemWidth = itemWidth;\n }\n\n return maxItemWidth;\n }\n}\n\nexport default Category;\n","import { IElement, IGroup } from '@antv/g-base';\nimport { clone, isFunction, mix, upperFirst } from '@antv/util';\nimport { ISlider } from '../interfaces';\nimport { BBox, ContinueLegendCfg } from '../types';\nimport Theme from '../util/theme';\nimport { getValueByPercent } from '../util/util';\nimport LegendBase from './base';\nconst HANDLER_HEIGHT_RATIO = 1.4;\nconst HANDLER_TRIANGLE_RATIO = 0.4;\n\nclass ContinueLegend extends LegendBase implements ISlider {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n type: 'continue',\n min: 0,\n max: 100,\n value: null,\n colors: [],\n track: {},\n rail: {},\n label: {},\n handler: {},\n slidable: true,\n tip: null,\n step: null,\n maxWidth: null,\n maxHeight: null,\n defaultCfg: {\n label: {\n align: 'rail',\n spacing: 5, // 文本和 rail 的间距\n formatter: null,\n style: {\n fontSize: 12,\n fill: Theme.textColor,\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n },\n },\n handler: {\n size: 10, // handler 的默认宽度\n style: {\n fill: '#fff',\n stroke: '#333',\n },\n },\n track: {},\n rail: {\n type: 'color',\n size: 20,\n defaultLength: 100,\n style: {\n fill: '#DCDEE2',\n },\n },\n title: {\n spacing: 5,\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'top',\n },\n },\n },\n };\n }\n\n public isSlider() {\n return true;\n }\n\n // 实现 IList 接口\n public getValue() {\n return this.getCurrentValue();\n }\n\n public getRange() {\n return {\n min: this.get('min'),\n max: this.get('max'),\n };\n }\n\n // 改变 range\n public setRange(min, max) {\n this.update({\n min,\n max,\n });\n }\n\n public setValue(value: number[]) {\n const originValue = this.getValue();\n this.set('value', value);\n const group = this.get('group');\n this.resetTrackClip();\n if (this.get('slidable')) {\n this.resetHandlers(group);\n }\n this.delegateEmit('valuechanged', {\n originValue,\n value,\n });\n }\n\n protected initEvent() {\n const group = this.get('group');\n this.bindSliderEvent(group);\n this.bindRailEvent(group);\n this.bindTrackEvent(group);\n }\n\n protected drawLegendContent(group: IGroup) {\n this.drawRail(group);\n this.drawLabels(group);\n this.fixedElements(group); // 调整各个图形位置,适应宽高的限制\n this.resetTrack(group);\n this.resetTrackClip(group);\n if (this.get('slidable')) {\n this.resetHandlers(group);\n }\n }\n\n private bindSliderEvent(group) {\n this.bindHandlersEvent(group);\n }\n\n private bindHandlersEvent(group) {\n group.on('legend-handler-min:drag', (ev) => {\n const minValue = this.getValueByCanvasPoint(ev.x, ev.y);\n const currentValue = this.getCurrentValue();\n let maxValue = currentValue[1];\n if (maxValue < minValue) {\n // 如果小于最小值,则调整最小值\n maxValue = minValue;\n }\n this.setValue([minValue, maxValue]);\n });\n group.on('legend-handler-max:drag', (ev) => {\n const maxValue = this.getValueByCanvasPoint(ev.x, ev.y);\n const currentValue = this.getCurrentValue();\n let minValue = currentValue[0];\n if (minValue > maxValue) {\n // 如果小于最小值,则调整最小值\n minValue = maxValue;\n }\n this.setValue([minValue, maxValue]);\n });\n }\n\n private bindRailEvent(group) {}\n\n private bindTrackEvent(group) {\n let prePoint = null;\n group.on('legend-track:dragstart', (ev) => {\n prePoint = {\n x: ev.x,\n y: ev.y,\n };\n });\n group.on('legend-track:drag', (ev) => {\n if (!prePoint) {\n return;\n }\n const preValue = this.getValueByCanvasPoint(prePoint.x, prePoint.y);\n const curValue = this.getValueByCanvasPoint(ev.x, ev.y);\n const currentValue = this.getCurrentValue();\n const curDiff = currentValue[1] - currentValue[0];\n const range = this.getRange();\n const dValue = curValue - preValue;\n if (dValue < 0) {\n // 减小, 同时未出边界\n if (currentValue[0] + dValue > range.min) {\n this.setValue([currentValue[0] + dValue, currentValue[1] + dValue]);\n } else {\n this.setValue([range.min, range.min + curDiff]);\n }\n // && ||\n } else if (dValue > 0) {\n if (dValue > 0 && currentValue[1] + dValue < range.max) {\n this.setValue([currentValue[0] + dValue, currentValue[1] + dValue]);\n } else {\n this.setValue([range.max - curDiff, range.max]);\n }\n }\n prePoint = {\n x: ev.x,\n y: ev.y,\n };\n });\n group.on('legend-track:dragend', (ev) => {\n prePoint = null;\n });\n }\n\n private drawLabels(group: IGroup) {\n this.drawLabel('min', group);\n this.drawLabel('max', group);\n }\n\n private drawLabel(name, group: IGroup) {\n const labelCfg = this.get('label');\n const style = labelCfg.style;\n const labelAlign = labelCfg.align;\n const labelFormatter = labelCfg.formatter;\n const value = this.get(name);\n const alignAttrs = this.getLabelAlignAttrs(name, labelAlign);\n const localId = `label-${name}`;\n this.addShape(group, {\n type: 'text',\n id: this.getElementId(localId),\n name: `legend-label-${name}`,\n attrs: {\n x: 0,\n y: 0,\n text: isFunction(labelFormatter) ? labelFormatter(value) : value,\n ...style,\n ...alignAttrs,\n },\n });\n }\n\n // 获取文本的对齐方式,为了自适应真实操碎了心\n private getLabelAlignAttrs(name, align) {\n const isVertical = this.isVertical();\n let textAlign = 'center';\n let textBaseline = 'middle';\n if (isVertical) {\n // 垂直布局的所有的文本都左对齐\n textAlign = 'start';\n if (align !== 'rail') {\n if (name === 'min') {\n textBaseline = 'top';\n } else {\n textBaseline = 'bottom';\n }\n } else {\n textBaseline = 'top';\n }\n } else {\n if (align !== 'rail') {\n textBaseline = 'top';\n if (name === 'min') {\n textAlign = 'start';\n } else {\n textAlign = 'end';\n }\n } else {\n textAlign = 'start';\n textBaseline = 'middle';\n }\n }\n return {\n textAlign,\n textBaseline,\n };\n }\n\n private getRailPath(x: number, y: number, w?: number, h?: number) {\n const railCfg = this.get('rail');\n const { size, defaultLength, type } = railCfg;\n const isVertical = this.isVertical();\n const length = defaultLength;\n let width = w;\n let height = h;\n if (!width) {\n width = isVertical ? size : length;\n }\n if (!height) {\n height = isVertical ? length : size;\n }\n const path = [];\n if (type === 'color') {\n path.push(['M', x, y]);\n path.push(['L', x + width, y]);\n path.push(['L', x + width, y + height]);\n path.push(['L', x, y + height]);\n path.push(['Z']);\n } else {\n path.push(['M', x + width, y]);\n path.push(['L', x + width, y + height]);\n path.push(['L', x, y + height]);\n path.push(['Z']);\n }\n return path;\n }\n\n private drawRail(group: IGroup) {\n const railCfg = this.get('rail');\n const style = railCfg.style;\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('rail'),\n name: 'legend-rail',\n attrs: {\n path: this.getRailPath(0, 0),\n ...style,\n },\n });\n }\n\n // 将传入的颜色转换成渐变色\n private getTrackColor(colors) {\n const count = colors.length;\n if (!count) {\n return null;\n }\n if (count === 1) {\n return colors[0];\n }\n let color; // 最终形态 l(0) 0:colors[0] 0.5:colors[1] 1:colors[2];\n if (this.isVertical()) {\n // 根据方向设置渐变方向\n color = 'l(90)';\n } else {\n color = 'l(0)';\n }\n for (let i = 0; i < count; i++) {\n const percent = i / (count - 1);\n color += ` ${percent}:${colors[i]}`;\n }\n return color;\n }\n\n private getTrackPath(group?: IGroup) {\n const railShape = this.getRailShape(group);\n const path = railShape.attr('path');\n return clone(path);\n }\n\n private getClipTrackAttrs(group?: IGroup) {\n const value = this.getCurrentValue();\n const [min, max] = value;\n const railBBox = this.getRailBBox(group);\n const startPoint = this.getPointByValue(min, group);\n const endPoint = this.getPointByValue(max, group);\n const isVertical = this.isVertical();\n let x;\n let y;\n let width;\n let height;\n if (isVertical) {\n x = railBBox.minX;\n y = startPoint.y;\n width = railBBox.width;\n height = endPoint.y - startPoint.y;\n } else {\n x = startPoint.x;\n y = railBBox.minY;\n width = endPoint.x - startPoint.x;\n height = railBBox.height;\n }\n return {\n x,\n y,\n width,\n height,\n };\n }\n\n // 获取 track 的属性,由 path 和 颜色构成\n private getTrackAttrs(group?: IGroup) {\n const trackCfg = this.get('track');\n const colors = this.get('colors');\n const path = this.getTrackPath(group);\n return mix(\n {\n path,\n fill: this.getTrackColor(colors),\n },\n trackCfg.style\n );\n }\n\n private resetTrackClip(group?: IGroup) {\n const container = group || (this.get('group') as IGroup);\n const trackId = this.getElementId('track');\n const trackShape = container.findById(trackId);\n const clipShape = trackShape.getClip();\n const attrs = this.getClipTrackAttrs(group);\n if (!clipShape) {\n trackShape.setClip({\n type: 'rect',\n attrs,\n });\n } else {\n clipShape.attr(attrs);\n }\n }\n\n private resetTrack(group: IGroup) {\n const trackId = this.getElementId('track');\n const trackShape = group.findById(trackId);\n const trackAttrs = this.getTrackAttrs(group);\n if (trackShape) {\n trackShape.attr(trackAttrs);\n } else {\n this.addShape(group, {\n type: 'path',\n id: trackId,\n draggable: this.get('slidable'),\n name: 'legend-track',\n attrs: trackAttrs,\n });\n }\n }\n\n private getPointByValue(value, group?: IGroup) {\n const { min, max } = this.getRange();\n const percent = (value - min) / (max - min);\n const bbox = this.getRailBBox(group);\n const isVertcal = this.isVertical();\n const point = { x: 0, y: 0 };\n if (isVertcal) {\n point.x = bbox.minX + bbox.width / 2;\n point.y = getValueByPercent(bbox.minY, bbox.maxY, percent);\n } else {\n point.x = getValueByPercent(bbox.minX, bbox.maxX, percent);\n point.y = bbox.minY + bbox.height / 2;\n }\n return point;\n }\n\n private getRailShape(group?: IGroup) {\n const container = group || (this.get('group') as IGroup);\n return container.findById(this.getElementId('rail'));\n }\n\n // 获取滑轨的宽高信息\n private getRailBBox(group?: IGroup): BBox {\n const railShape = this.getRailShape(group);\n const bbox = railShape.getBBox();\n return bbox;\n }\n\n private getRailCanvasBBox(): BBox {\n const container = this.get('group');\n const railShape = container.findById(this.getElementId('rail'));\n const bbox = railShape.getCanvasBBox();\n return bbox;\n }\n\n // 是否垂直\n private isVertical(): boolean {\n return this.get('layout') === 'vertical';\n }\n\n // 用于交互时\n private getValueByCanvasPoint(x, y) {\n const { min, max } = this.getRange();\n const bbox = this.getRailCanvasBBox(); // 因为 x, y 是画布坐标\n const isVertcal = this.isVertical();\n const step = this.get('step');\n let percent;\n if (isVertcal) {\n // 垂直时计算 y\n percent = (y - bbox.minY) / bbox.height;\n } else {\n // 水平时计算 x\n percent = (x - bbox.minX) / bbox.width;\n }\n let value = getValueByPercent(min, max, percent);\n if (step) {\n const count = Math.round((value - min) / step);\n value = min + count * step; // 移动到最近的\n }\n if (value > max) {\n value = max;\n }\n if (value < min) {\n value = min;\n }\n return value;\n }\n\n // 当前选中的范围\n private getCurrentValue(): number[] {\n const value = this.get('value');\n if (!value) {\n const values = this.get('values');\n if (!values) {\n return [this.get('min'), this.get('max')];\n }\n // 如果没有定义,取最大范围 最小值 为 values 中的最小值, 如果最小值 超过了 定义的最大值 则 做限制 最大值 反之\n return [Math.max(Math.min(...values, this.get('max')), this.get('min')), Math.min(Math.max(...values, this.get('min')), this.get('max'))];\n }\n return value;\n }\n\n // 重置滑块 handler\n private resetHandlers(group: IGroup) {\n const currentValue = this.getCurrentValue();\n const [min, max] = currentValue;\n this.resetHandler(group, 'min', min);\n this.resetHandler(group, 'max', max);\n }\n // 获取滑块的 path\n private getHandlerPath(handlerCfg, point) {\n const isVertical = this.isVertical();\n const path = [];\n const width = handlerCfg.size;\n const { x, y } = point;\n const height = width * HANDLER_HEIGHT_RATIO;\n const halfWidth = width / 2;\n const oneSixthWidth = width / 6;\n if (isVertical) {\n /**\n * 竖直情况下的滑块 handler,左侧顶点是 x,y\n * /----|\n * -- |\n * -- |\n * \\----|\n */\n const triangleX = x + height * HANDLER_TRIANGLE_RATIO;\n path.push(['M', x, y]);\n path.push(['L', triangleX, y + halfWidth]);\n path.push(['L', x + height, y + halfWidth]);\n path.push(['L', x + height, y - halfWidth]);\n path.push(['L', triangleX, y - halfWidth]);\n path.push(['Z']);\n // 绘制两条横线\n path.push(['M', triangleX, y + oneSixthWidth]);\n path.push(['L', x + height - 2, y + oneSixthWidth]);\n path.push(['M', triangleX, y - oneSixthWidth]);\n path.push(['L', x + height - 2, y - oneSixthWidth]);\n } else {\n /**\n * 水平情况下的滑块,上面顶点处是 x,y\n * / \\\n * | | | |\n * | | | |\n * -----\n */\n const triangleY = y + height * HANDLER_TRIANGLE_RATIO;\n path.push(['M', x, y]);\n path.push(['L', x - halfWidth, triangleY]);\n path.push(['L', x - halfWidth, y + height]);\n path.push(['L', x + halfWidth, y + height]);\n path.push(['L', x + halfWidth, triangleY]);\n path.push(['Z']);\n // 绘制两条竖线\n path.push(['M', x - oneSixthWidth, triangleY]);\n path.push(['L', x - oneSixthWidth, y + height - 2]);\n path.push(['M', x + oneSixthWidth, triangleY]);\n path.push(['L', x + oneSixthWidth, y + height - 2]);\n }\n return path;\n }\n\n // 调整 handler 的位置,如果未存在则绘制\n private resetHandler(group: IGroup, name, value) {\n const point = this.getPointByValue(value, group);\n const handlerCfg = this.get('handler');\n const path = this.getHandlerPath(handlerCfg, point);\n const id = this.getElementId(`handler-${name}`);\n const handlerShape = group.findById(id);\n const isVertical = this.isVertical();\n if (handlerShape) {\n handlerShape.attr('path', path);\n } else {\n this.addShape(group, {\n type: 'path',\n name: `legend-handler-${name}`,\n draggable: true, // 可拖拽\n id,\n attrs: {\n path,\n ...handlerCfg.style,\n cursor: isVertical ? 'ns-resize' : 'ew-resize',\n },\n });\n }\n }\n\n // 当设置了 maxWidth, maxHeight 时调整 rail 的宽度,\n // 文本的位置\n private fixedElements(group: IGroup) {\n const railShape = group.findById(this.getElementId('rail'));\n const minLabel = group.findById(this.getElementId('label-min'));\n const maxLabel = group.findById(this.getElementId('label-max'));\n const startPoint = this.getDrawPoint();\n if (this.isVertical()) {\n // 横向布局\n this.fixedVertail(minLabel, maxLabel, railShape, startPoint);\n } else {\n // 水平布局\n this.fixedHorizontal(minLabel, maxLabel, railShape, startPoint);\n }\n }\n\n private fitRailLength(minLabelBBox, maxLabelBBox, railBBox, railShape) {\n const isVertical = this.isVertical();\n const lengthField = isVertical ? 'height' : 'width';\n const labelCfg = this.get('label');\n const labelAlign = labelCfg.align;\n const spacing = labelCfg.spacing;\n const maxLength = this.get(`max${upperFirst(lengthField)}`); // get('maxWidth')\n if (maxLength) {\n const elementsLength =\n labelAlign === 'rail'\n ? railBBox[lengthField] + minLabelBBox[lengthField] + maxLabelBBox[lengthField] + spacing * 2\n : railBBox[lengthField];\n const diff = elementsLength - maxLength;\n if (diff > 0) {\n // 大于限制的长度\n this.changeRailLength(railShape, lengthField, railBBox[lengthField] - diff);\n }\n }\n }\n\n private changeRailLength(railShape, lengthField, length) {\n const bbox = railShape.getBBox();\n let path;\n if (lengthField === 'height') {\n path = this.getRailPath(bbox.x, bbox.y, bbox.width, length);\n } else {\n path = this.getRailPath(bbox.x, bbox.y, length, bbox.height);\n }\n railShape.attr('path', path);\n }\n\n private changeRailPosition(railShape, x, y) {\n const bbox = railShape.getBBox();\n const path = this.getRailPath(x, y, bbox.width, bbox.height);\n railShape.attr('path', path);\n }\n\n private fixedHorizontal(minLabel: IElement, maxLabel: IElement, railShape: IElement, startPoint) {\n const labelCfg = this.get('label');\n const labelAlign = labelCfg.align;\n const spacing = labelCfg.spacing;\n let railBBox = railShape.getBBox();\n const minLabelBBox = minLabel.getBBox();\n const maxLabelBBox = maxLabel.getBBox();\n const railHeight = railBBox.height; // 取 rail 的高度,作为高度\n this.fitRailLength(minLabelBBox, maxLabelBBox, railBBox, railShape);\n railBBox = railShape.getBBox();\n if (labelAlign === 'rail') {\n // 沿着 rail 方向\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y + railHeight / 2,\n });\n this.changeRailPosition(railShape, startPoint.x + minLabelBBox.width + spacing, startPoint.y);\n maxLabel.attr({\n x: startPoint.x + minLabelBBox.width + railBBox.width + spacing * 2,\n y: startPoint.y + railHeight / 2,\n });\n } else if (labelAlign === 'top') {\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y,\n });\n maxLabel.attr({\n x: startPoint.x + railBBox.width,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x, startPoint.y + minLabelBBox.height + spacing);\n } else {\n this.changeRailPosition(railShape, startPoint.x, startPoint.y);\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y + railBBox.height + spacing,\n });\n maxLabel.attr({\n x: startPoint.x + railBBox.width,\n y: startPoint.y + railBBox.height + spacing,\n });\n }\n }\n\n private fixedVertail(minLabel: IElement, maxLabel: IElement, railShape: IElement, startPoint) {\n const labelCfg = this.get('label');\n const labelAlign = labelCfg.align;\n const spacing = labelCfg.spacing;\n let railBBox = railShape.getBBox();\n const minLabelBBox = minLabel.getBBox();\n const maxLabelBBox = maxLabel.getBBox();\n this.fitRailLength(minLabelBBox, maxLabelBBox, railBBox, railShape);\n railBBox = railShape.getBBox();\n\n if (labelAlign === 'rail') {\n // 沿着 rail 方向\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x, startPoint.y + minLabelBBox.height + spacing);\n maxLabel.attr({\n x: startPoint.x,\n y: startPoint.y + minLabelBBox.height + railBBox.height + spacing * 2,\n });\n } else if (labelAlign === 'right') {\n minLabel.attr({\n x: startPoint.x + railBBox.width + spacing,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x, startPoint.y);\n maxLabel.attr({\n x: startPoint.x + railBBox.width + spacing,\n y: startPoint.y + railBBox.height,\n });\n } else {\n // left\n const maxLabelWidth = Math.max(minLabelBBox.width, maxLabelBBox.width);\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x + maxLabelWidth + spacing, startPoint.y);\n maxLabel.attr({\n x: startPoint.x,\n y: startPoint.y + railBBox.height,\n });\n }\n }\n}\n\nexport default ContinueLegend;\n","export const CONTAINER_CLASS = 'g2-tooltip';\nexport const TITLE_CLASS = 'g2-tooltip-title';\nexport const LIST_CLASS = 'g2-tooltip-list';\nexport const LIST_ITEM_CLASS = 'g2-tooltip-list-item';\nexport const MARKER_CLASS = 'g2-tooltip-marker';\nexport const VALUE_CLASS = 'g2-tooltip-value';\nexport const NAME_CLASS = 'g2-tooltip-name';\nexport const CROSSHAIR_X = 'g2-tooltip-crosshair-x';\nexport const CROSSHAIR_Y = 'g2-tooltip-crosshair-y';\n","import Theme from '../util/theme';\n\n// tooltip 相关 dom 的 css 类名\nimport * as CssConst from './css-const';\n\nexport default {\n // css style for tooltip\n [`${CssConst.CONTAINER_CLASS}`]: {\n position: 'absolute',\n visibility: 'visible',\n // @2018-07-25 by blue.lb 这里去掉浮动,火狐上存在样式错位\n // whiteSpace: 'nowrap',\n zIndex: 8,\n transition:\n 'visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), ' +\n 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1), ' +\n 'top 0.4s cubic-bezier(0.23, 1, 0.32, 1)',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n boxShadow: '0px 0px 10px #aeaeae',\n borderRadius: '3px',\n color: 'rgb(87, 87, 87)',\n fontSize: '12px',\n fontFamily: Theme.fontFamily,\n lineHeight: '20px',\n padding: '10px 10px 6px 10px',\n },\n [`${CssConst.TITLE_CLASS}`]: {\n marginBottom: '4px',\n },\n [`${CssConst.LIST_CLASS}`]: {\n margin: '0px',\n listStyleType: 'none',\n padding: '0px',\n },\n [`${CssConst.LIST_ITEM_CLASS}`]: {\n listStyleType: 'none',\n marginBottom: '4px',\n },\n [`${CssConst.MARKER_CLASS}`]: {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n display: 'inline-block',\n marginRight: '8px',\n },\n [`${CssConst.VALUE_CLASS}`]: {\n display: 'inline-block',\n float: 'right',\n marginLeft: '30px',\n },\n [`${CssConst.CROSSHAIR_X}`]: {\n position: 'absolute',\n width: '1px',\n backgroundColor: 'rgba(0, 0, 0, 0.25)',\n },\n [`${CssConst.CROSSHAIR_Y}`]: {\n position: 'absolute',\n height: '1px',\n backgroundColor: 'rgba(0, 0, 0, 0.25)',\n },\n};\n","import colorUtil from '@antv/color-util';\nimport { createDom, modifyCSS } from '@antv/dom-util';\nimport { each, hasKey, isElement, substitute } from '@antv/util';\nimport HtmlComponent from '../abstract/html-component';\nimport { Point, PointLocationCfg } from '../types';\nimport { TooltipCfg } from '../types';\nimport { clearDom, regionToBBox, toPx } from '../util/util';\nimport * as CssConst from './css-const';\nimport TooltipTheme from './html-theme';\n\nimport { ILocation } from '../interfaces';\nimport { getAlignPoint } from '../util/align';\n\nfunction hasOneKey(obj, keys) {\n let result = false;\n each(keys, (key) => {\n if (hasKey(obj, key)) {\n result = true;\n return false;\n }\n });\n return result;\n}\n\nclass Tooltip extends HtmlComponent implements ILocation {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'tooltip',\n type: 'html',\n x: 0,\n y: 0,\n items: [],\n customContent: null,\n containerTpl: `
      `,\n itemTpl: `
    • \n \n {name}:\n {value}\n
    • `,\n xCrosshairTpl: `
      `,\n yCrosshairTpl: `
      `,\n title: null,\n showTitle: true,\n /**\n * tooltip 限制的区域\n * @type {Region}\n */\n region: null,\n // crosshair 的限制区域\n crosshairsRegion: null,\n containerClassName: CssConst.CONTAINER_CLASS,\n // x, y, xy\n crosshairs: null,\n offset: 10,\n position: 'right',\n domStyles: null,\n defaultStyles: TooltipTheme,\n };\n }\n\n // tooltip 渲染时,渲染 title,items 和 corosshairs\n public render() {\n if (this.get('customContent')) {\n this.renderCustomContent();\n } else {\n this.resetTitle();\n this.renderItems();\n }\n // 绘制完成后,再定位\n this.resetPosition();\n }\n\n // 复写清空函数,因为有模板的存在,所以默认的写法不合适\n public clear() {\n // 由于 crosshair 没有在 container 内,所以需要单独清理\n this.clearCrosshairs();\n this.setTitle(''); // 清空标题\n this.clearItemDoms();\n }\n\n public show() {\n const container = this.getContainer();\n if (!container || this.destroyed) {\n // 防止容器不存在或者被销毁时报错\n return;\n }\n this.set('visible', true);\n modifyCSS(container, {\n visibility: 'visible',\n });\n this.setCrossHairsVisible(true);\n }\n\n public hide() {\n const container = this.getContainer();\n // relative: https://github.com/antvis/g2/issues/1221\n if (!container || this.destroyed) {\n return;\n }\n this.set('visible', false);\n modifyCSS(container, {\n visibility: 'hidden',\n });\n this.setCrossHairsVisible(false);\n }\n\n // 实现 IPointLocation 的接口\n public getLocation() {\n return { x: this.get('x'), y: this.get('y') };\n }\n // 实现 IPointLocation 的接口\n public setLocation(point: Point) {\n this.set('x', point.x);\n this.set('y', point.y);\n this.resetPosition();\n }\n\n public setCrossHairsVisible(visible) {\n const display = visible ? '' : 'none';\n const xCrosshairDom = this.get('xCrosshairDom');\n const yCrosshairDom = this.get('yCrosshairDom');\n xCrosshairDom &&\n modifyCSS(xCrosshairDom, {\n display,\n });\n yCrosshairDom &&\n modifyCSS(yCrosshairDom, {\n display,\n });\n }\n\n // 如有 customContent 则根据 customContent 设置 container\n protected initContainer() {\n super.initContainer();\n if (this.get('customContent')) {\n if (this.get('container')) {\n this.get('container').remove();\n }\n const container = this.getHtmlContentNode();\n this.get('parent').appendChild(container);\n this.set('container', container);\n this.resetStyles();\n this.applyStyles();\n }\n }\n\n // 更新属性的同时,可能会引起 DOM 的变化,这里对可能引起 DOM 变化的场景做了处理\n protected updateInner(cfg: Partial) {\n if (this.get('customContent')) {\n this.renderCustomContent();\n } else {\n // 更新标题\n if (hasOneKey(cfg, ['title', 'showTitle'])) {\n this.resetTitle();\n }\n // 更新内容\n if (hasKey(cfg, 'items')) {\n this.renderItems();\n }\n }\n super.updateInner(cfg);\n }\n\n protected initDom() {\n this.cacheDoms();\n }\n // 清理 DOM\n protected removeDom() {\n super.removeDom();\n this.clearCrosshairs();\n }\n // 调整位置\n protected resetPosition() {\n const x = this.get('x');\n const y = this.get('y');\n const offset = this.get('offset');\n const { offsetX, offsetY } = this.getOffset();\n const position = this.get('position');\n const region = this.get('region');\n const container = this.getContainer();\n const bbox = this.getBBox();\n const { width, height } = bbox;\n let limitBox;\n if (region) {\n // 不限制位置\n limitBox = regionToBBox(region);\n }\n const point = getAlignPoint(x, y, offset, width, height, position, limitBox);\n modifyCSS(container, {\n left: toPx(point.x + offsetX),\n top: toPx(point.y + offsetY),\n });\n this.resetCrosshairs();\n }\n\n // 根据 customContent 渲染\n private renderCustomContent() {\n const node = this.getHtmlContentNode();\n const parent: HTMLElement = this.get('parent');\n const curContainer: HTMLElement = this.get('container');\n if (curContainer && curContainer.parentNode === parent) {\n parent.replaceChild(node, curContainer);\n } else {\n parent.appendChild(node);\n }\n this.set('container', node);\n this.resetStyles();\n this.applyStyles();\n }\n\n private getHtmlContentNode() {\n let node: HTMLElement | undefined;\n const customContent = this.get('customContent');\n if (customContent) {\n const elem = customContent(this.get('title'), this.get('items'));\n if (isElement(elem)) {\n node = elem as HTMLElement;\n } else {\n node = createDom(elem);\n }\n }\n return node;\n }\n\n // 缓存模板设置的各种 DOM\n private cacheDoms() {\n const container = this.getContainer();\n const titleDom = container.getElementsByClassName(CssConst.TITLE_CLASS)[0];\n const listDom = container.getElementsByClassName(CssConst.LIST_CLASS)[0];\n this.set('titleDom', titleDom);\n this.set('listDom', listDom);\n }\n\n // 重置 title\n private resetTitle() {\n const title = this.get('title');\n const showTitle = this.get('showTitle');\n if (showTitle && title) {\n this.setTitle(title);\n } else {\n this.setTitle('');\n }\n }\n // 设置 title 文本\n private setTitle(text) {\n const titleDom = this.get('titleDom');\n if (titleDom) {\n titleDom.innerText = text;\n }\n }\n // 终止 crosshair\n private resetCrosshairs() {\n const crosshairsRegion = this.get('crosshairsRegion');\n const crosshairs = this.get('crosshairs');\n if (!crosshairsRegion || !crosshairs) {\n // 不显示 crosshair,都移除,没有设定 region 也都移除掉\n this.clearCrosshairs();\n } else {\n const crosshairBox = regionToBBox(crosshairsRegion);\n const xCrosshairDom = this.get('xCrosshairDom');\n const yCrosshairDom = this.get('yCrosshairDom');\n if (crosshairs === 'x') {\n this.resetCrosshair('x', crosshairBox);\n // 仅显示 x 的 crosshair,y 移除\n if (yCrosshairDom) {\n yCrosshairDom.remove();\n this.set('yCrosshairDom', null);\n }\n } else if (crosshairs === 'y') {\n this.resetCrosshair('y', crosshairBox);\n // 仅显示 y 的 crosshair,x 移除\n if (xCrosshairDom) {\n xCrosshairDom.remove();\n this.set('xCrosshairDom', null);\n }\n } else {\n this.resetCrosshair('x', crosshairBox);\n this.resetCrosshair('y', crosshairBox);\n }\n this.setCrossHairsVisible(this.get('visible'));\n }\n }\n // 设定 crosshair 的位置,需要区分 x,y\n private resetCrosshair(name: string, bbox) {\n const croshairDom = this.checkCrosshair(name);\n const value = this.get(name);\n if (name === 'x') {\n modifyCSS(croshairDom, {\n left: toPx(value),\n top: toPx(bbox.y),\n height: toPx(bbox.height),\n });\n } else {\n modifyCSS(croshairDom, {\n top: toPx(value),\n left: toPx(bbox.x),\n width: toPx(bbox.width),\n });\n }\n }\n\n // 如果 crosshair 对应的 dom 不存在,则创建\n private checkCrosshair(name: string) {\n const domName = `${name}CrosshairDom`;\n const tplName = `${name}CrosshairTpl`;\n const constName = `CROSSHAIR_${name.toUpperCase()}`;\n const styleName = CssConst[constName];\n let croshairDom = this.get(domName);\n const parent = this.get('parent') as HTMLElement;\n if (!croshairDom) {\n croshairDom = createDom(this.get(tplName)); // 创建\n this.applyStyle(styleName, croshairDom); // 设置初始样式\n parent.appendChild(croshairDom); // 添加到跟 tooltip 同级的目录下\n this.set(domName, croshairDom);\n }\n return croshairDom;\n }\n\n private renderItems() {\n this.clearItemDoms();\n const items = this.get('items');\n const itemTpl = this.get('itemTpl');\n const listDom = this.get('listDom');\n if (listDom) {\n each(items, (item) => {\n const color = colorUtil.toCSSGradient(item.color);\n const substituteObj = {\n ...item,\n color,\n };\n\n const domStr = substitute(itemTpl, substituteObj);\n const itemDom = createDom(domStr);\n listDom.appendChild(itemDom);\n });\n this.applyChildrenStyles(listDom, this.get('domStyles'));\n }\n }\n\n private clearItemDoms() {\n if (this.get('listDom')) {\n clearDom(this.get('listDom'));\n }\n }\n\n private clearCrosshairs() {\n const xCrosshairDom = this.get('xCrosshairDom');\n const yCrosshairDom = this.get('yCrosshairDom');\n xCrosshairDom && xCrosshairDom.remove();\n yCrosshairDom && yCrosshairDom.remove();\n this.set('xCrosshairDom', null);\n this.set('yCrosshairDom', null);\n }\n}\n\nexport default Tooltip;\n","import { BBox, Point } from '../types';\n\ninterface OutSides {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n}\n\n// 检测各边是否超出\nexport function getOutSides(x: number, y: number, width: number, height: number, limitBox: BBox): OutSides {\n const hits = {\n left: x < limitBox.x,\n right: x + width > limitBox.x + limitBox.width,\n top: y < limitBox.y,\n bottom: y + height > limitBox.y + limitBox.height,\n };\n return hits;\n}\n\nexport function getPointByPosition(\n x: number,\n y: number,\n offset: number,\n width: number,\n height: number,\n position: string\n): Point {\n let px = x;\n let py = y;\n switch (position) {\n case 'left': // left center\n px = x - width - offset;\n py = y - height / 2;\n break;\n case 'right':\n px = x + offset;\n py = y - height / 2;\n break;\n case 'top':\n px = x - width / 2;\n py = y - height - offset;\n break;\n case 'bottom':\n // bottom\n px = x - width / 2;\n py = y + offset;\n break;\n default:\n // auto, 在 top-right\n px = x + offset;\n py = y - height - offset;\n break;\n }\n\n return {\n x: px,\n y: py,\n };\n}\n\nexport function getAlignPoint(\n x: number,\n y: number,\n offset: number,\n width: number,\n height: number,\n position: string,\n limitBox?: BBox\n): Point {\n const point = getPointByPosition(x, y, offset, width, height, position);\n if (limitBox) {\n const outSides = getOutSides(point.x, point.y, width, height, limitBox);\n if (position === 'auto') {\n // 如果是 auto,默认 tooltip 在右上角,仅需要判定右侧和上测冲突即可\n if (outSides.right) {\n point.x = Math.max(0, x - width - offset);\n }\n if (outSides.top) {\n point.y = Math.max(0, y - height - offset);\n }\n } else if (position === 'top' || position === 'bottom') {\n if (outSides.left) {\n // 左侧躲避\n point.x = limitBox.x;\n }\n if (outSides.right) {\n // 右侧躲避\n point.x = limitBox.x + limitBox.width - width;\n }\n if (position === 'top' && outSides.top) {\n // 如果上面对齐检测上面,不检测下面\n point.y = y + offset;\n }\n if (position === 'bottom' && outSides.bottom) {\n point.y = y - height - offset;\n }\n } else {\n // 检测左右位置\n if (outSides.top) {\n point.y = limitBox.y;\n }\n if (outSides.bottom) {\n point.y = limitBox.y + limitBox.height - height;\n }\n if (position === 'left' && outSides.left) {\n point.x = x + offset;\n }\n if (position === 'right' && outSides.right) {\n point.x = x - width - offset;\n }\n }\n }\n return point;\n}\n","export const BACKGROUND_STYLE = {\n // fill: 'red',\n opacity: 0,\n};\n\nexport const LINE_STYLE = {\n stroke: '#C5C5C5',\n strokeOpacity: 0.85,\n};\n\nexport const AREA_STYLE = {\n fill: '#CACED4',\n opacity: 0.85,\n};\n","import { vec2 } from '@antv/matrix-util';\nimport type { PathCommand } from './types';\n\ntype Pos = [number, number];\n\nfunction smoothBezier(points: Pos[], smooth: number, isLoop: boolean, constraint: Pos[]) {\n const cps: vec2[] = [];\n const hasConstraint = !!constraint;\n\n let prevPoint: Pos;\n let nextPoint: Pos;\n let min: vec2;\n let max: vec2;\n let nextCp0: vec2;\n let cp1: vec2;\n let cp0: vec2;\n\n if (hasConstraint) {\n [ min, max ] = constraint;\n for (let i = 0, l = points.length; i < l; i += 1) {\n const point = points[i];\n min = vec2.min([ 0, 0 ], min, point);\n max = vec2.max([ 0, 0 ], max, point);\n }\n }\n\n for (let i = 0, len = points.length; i < len; i += 1) {\n const point = points[i];\n if (i === 0 && !isLoop) {\n cp0 = point;\n } else if (i === len - 1 && !isLoop) {\n cp1 = point;\n cps.push(cp0);\n cps.push(cp1);\n } else {\n const prevIdx = [ i ? i - 1 : len - 1, i - 1 ][isLoop ? 0 : 1];\n prevPoint = points[prevIdx];\n nextPoint = points[isLoop ? (i + 1) % len : i + 1];\n\n let v: vec2 = [ 0, 0 ];\n v = vec2.sub(v, nextPoint, prevPoint);\n v = vec2.scale(v, v, smooth);\n\n let d0 = vec2.distance(point, prevPoint);\n let d1 = vec2.distance(point, nextPoint);\n\n const sum = d0 + d1;\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n let v1 = vec2.scale([ 0, 0 ], v, -d0);\n let v2 = vec2.scale([ 0, 0 ], v, d1);\n\n cp1 = vec2.add([ 0, 0 ], point, v1);\n nextCp0 = vec2.add([ 0, 0 ], point, v2);\n\n // 下一个控制点必须在这个点和下一个点之间\n nextCp0 = vec2.min([ 0, 0 ], nextCp0, vec2.max([ 0, 0 ], nextPoint, point));\n nextCp0 = vec2.max([ 0, 0 ], nextCp0, vec2.min([ 0, 0 ], nextPoint, point));\n\n // 重新计算 cp1 的值\n v1 = vec2.sub([ 0, 0 ], nextCp0, point);\n v1 = vec2.scale([ 0, 0 ], v1, -d0 / d1);\n cp1 = vec2.add([ 0, 0 ], point, v1);\n\n // 上一个控制点必须要在上一个点和这一个点之间\n cp1 = vec2.min([ 0, 0 ], cp1, vec2.max([ 0, 0 ], prevPoint, point));\n cp1 = vec2.max([ 0, 0 ], cp1, vec2.min([ 0, 0 ], prevPoint, point));\n\n // 重新计算 nextCp0 的值\n v2 = vec2.sub([ 0, 0 ], point, cp1);\n v2 = vec2.scale([ 0, 0 ], v2, d1 / d0);\n nextCp0 = vec2.add([ 0, 0 ], point, v2);\n\n if (hasConstraint) {\n cp1 = vec2.max([ 0, 0 ], cp1, min);\n cp1 = vec2.min([ 0, 0 ], cp1, max);\n nextCp0 = vec2.max([ 0, 0 ], nextCp0, min);\n nextCp0 = vec2.min([ 0, 0 ], nextCp0, max);\n }\n\n cps.push(cp0);\n cps.push(cp1);\n cp0 = nextCp0;\n }\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n\n return cps;\n}\n\n/**\n * create bezier spline from catmull rom spline\n * @param {Array} crp Catmull Rom Points\n * @param {boolean} z Spline is loop\n * @param {Array} constraint Constraint\n */\nfunction catmullRom2Bezier(\n crp: number[],\n z: boolean = false,\n constraint: Pos[] = [\n [ 0, 0 ],\n [ 1, 1 ],\n ]\n): PathCommand[] {\n const isLoop = !!z;\n const pointList: Pos[] = [];\n for (let i = 0, l = crp.length; i < l; i += 2) {\n pointList.push([ crp[i], crp[i + 1] ]);\n }\n\n const controlPointList = smoothBezier(pointList, 0.4, isLoop, constraint);\n const len = pointList.length;\n const d1: PathCommand[] = [];\n\n let cp1: vec2;\n let cp2: vec2;\n let p: Pos;\n\n for (let i = 0; i < len - 1; i += 1) {\n cp1 = controlPointList[i * 2];\n cp2 = controlPointList[i * 2 + 1];\n p = pointList[i + 1];\n\n d1.push([ 'C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1] ]);\n }\n\n if (isLoop) {\n cp1 = controlPointList[len];\n cp2 = controlPointList[len + 1];\n [ p ] = pointList;\n\n d1.push([ 'C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1] ]);\n }\n return d1;\n}\n\nexport default catmullRom2Bezier;\n","import { isArray } from '@antv/util';\n\nconst SPACES = '\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029';\nconst PATH_COMMAND = new RegExp('([a-z])[' + SPACES + ',]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[' + SPACES + ']*,?[' + SPACES + ']*)+)', 'ig');\nconst PATH_VALUES = new RegExp('(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[' + SPACES + ']*,?[' + SPACES + ']*', 'ig');\n\n// Parses given path string into an array of arrays of path segments\nexport default function parsePathString(pathString: string) {\n if (!pathString) {\n return null;\n }\n\n if (isArray(pathString)) {\n return pathString;\n }\n const paramCounts = {\n a: 7,\n c: 6,\n o: 2,\n h: 1,\n l: 2,\n m: 2,\n r: 4,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n u: 3,\n z: 0,\n };\n const data = [];\n\n String(pathString).replace(PATH_COMMAND, function (a, b, c) {\n const params = [];\n let name = b.toLowerCase();\n c.replace(PATH_VALUES, function (a, b) {\n b && params.push(+b);\n });\n if (name === 'm' && params.length > 2) {\n data.push([ b ].concat(params.splice(0, 2)));\n name = 'l';\n b = b === 'm' ? 'l' : 'L';\n }\n if (name === 'o' && params.length === 1) {\n data.push([ b, params[0] ]);\n }\n if (name === 'r') {\n data.push([ b ].concat(params));\n } else {\n while (params.length >= paramCounts[name]) {\n data.push([ b ].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n }\n return '';\n });\n\n return data;\n}\n","const TAU = Math.PI * 2\n\nconst mapToEllipse = ({ x, y }: { x: number, y: number }, rx: number, ry: number, cosphi: number, sinphi: number, centerx: number, centery: number) => {\n x *= rx\n y *= ry\n\n const xp = cosphi * x - sinphi * y\n const yp = sinphi * x + cosphi * y\n\n return {\n x: xp + centerx,\n y: yp + centery\n }\n}\n\nconst approxUnitArc = (ang1: number, ang2: number) => {\n // If 90 degree circular arc, use a constant\n // as derived from http://spencermortensen.com/articles/bezier-circle\n const a = ang2 === 1.5707963267948966\n ? 0.551915024494\n : ang2 === -1.5707963267948966\n ? -0.551915024494\n : 4 / 3 * Math.tan(ang2 / 4)\n\n const x1 = Math.cos(ang1)\n const y1 = Math.sin(ang1)\n const x2 = Math.cos(ang1 + ang2)\n const y2 = Math.sin(ang1 + ang2)\n\n return [\n {\n x: x1 - y1 * a,\n y: y1 + x1 * a\n },\n {\n x: x2 + y2 * a,\n y: y2 - x2 * a\n },\n {\n x: x2,\n y: y2\n }\n ]\n}\n\nconst vectorAngle = (ux: number, uy: number, vx: number, vy: number) => {\n const sign = (ux * vy - uy * vx < 0) ? -1 : 1\n\n let dot = ux * vx + uy * vy\n\n if (dot > 1) {\n dot = 1\n }\n\n if (dot < -1) {\n dot = -1\n }\n\n return sign * Math.acos(dot)\n}\n\nconst getArcCenter = (\n px: any,\n py: any,\n cx: any,\n cy: any,\n rx: number,\n ry: number,\n largeArcFlag: number,\n sweepFlag: number,\n sinphi: number,\n cosphi: number,\n pxp: number,\n pyp: number\n) => {\n const rxsq = Math.pow(rx, 2)\n const rysq = Math.pow(ry, 2)\n const pxpsq = Math.pow(pxp, 2)\n const pypsq = Math.pow(pyp, 2)\n\n let radicant = (rxsq * rysq) - (rxsq * pypsq) - (rysq * pxpsq)\n\n if (radicant < 0) {\n radicant = 0\n }\n\n radicant /= (rxsq * pypsq) + (rysq * pxpsq)\n radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1)\n\n const centerxp = radicant * rx / ry * pyp\n const centeryp = radicant * -ry / rx * pxp\n\n const centerx = cosphi * centerxp - sinphi * centeryp + (px + cx) / 2\n const centery = sinphi * centerxp + cosphi * centeryp + (py + cy) / 2\n\n const vx1 = (pxp - centerxp) / rx\n const vy1 = (pyp - centeryp) / ry\n const vx2 = (-pxp - centerxp) / rx\n const vy2 = (-pyp - centeryp) / ry\n\n let ang1 = vectorAngle(1, 0, vx1, vy1)\n let ang2 = vectorAngle(vx1, vy1, vx2, vy2)\n\n if (sweepFlag === 0 && ang2 > 0) {\n ang2 -= TAU\n }\n\n if (sweepFlag === 1 && ang2 < 0) {\n ang2 += TAU\n }\n\n return [ centerx, centery, ang1, ang2 ]\n}\n\nconst arcToBezier = ({\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n xAxisRotation = 0,\n largeArcFlag = 0,\n sweepFlag = 0\n}) => {\n const curves = []\n\n if (rx === 0 || ry === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n const sinphi = Math.sin(xAxisRotation * TAU / 360)\n const cosphi = Math.cos(xAxisRotation * TAU / 360)\n\n const pxp = cosphi * (px - cx) / 2 + sinphi * (py - cy) / 2\n const pyp = -sinphi * (px - cx) / 2 + cosphi * (py - cy) / 2\n\n if (pxp === 0 && pyp === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n\n const lambda =\n Math.pow(pxp, 2) / Math.pow(rx, 2) +\n Math.pow(pyp, 2) / Math.pow(ry, 2)\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda)\n ry *= Math.sqrt(lambda)\n }\n\n let [ centerx, centery, ang1, ang2 ] = getArcCenter(\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n largeArcFlag,\n sweepFlag,\n sinphi,\n cosphi,\n pxp,\n pyp\n )\n\n // If 'ang2' == 90.0000000001, then `ratio` will evaluate to\n // 1.0000000001. This causes `segments` to be greater than one, which is an\n // unecessary split, and adds extra points to the bezier curve. To alleviate\n // this issue, we round to 1.0 when the ratio is close to 1.0.\n let ratio = Math.abs(ang2) / (TAU / 4)\n if (Math.abs(1.0 - ratio) < 0.0000001) {\n ratio = 1.0\n }\n\n const segments = Math.max(Math.ceil(ratio), 1)\n\n ang2 /= segments\n\n for (let i = 0; i < segments; i++) {\n curves.push(approxUnitArc(ang1, ang2))\n ang1 += ang2\n }\n\n return curves.map(curve => {\n const { x: x1, y: y1 } = mapToEllipse(curve[ 0 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x: x2, y: y2 } = mapToEllipse(curve[ 1 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x, y } = mapToEllipse(curve[ 2 ], rx, ry, cosphi, sinphi, centerx, centery)\n\n return { x1, y1, x2, y2, x, y }\n })\n}\n\nexport function arcToCubic(x1: number, y1: number, rx: number, ry: number, angle: number, LAF: number, SF: number, x2: number, y2: number) {\n const curves = arcToBezier({\n px: x1,\n py: y1,\n cx: x2,\n cy: y2,\n rx,\n ry,\n xAxisRotation: angle,\n largeArcFlag: LAF,\n sweepFlag: SF,\n });\n\n return curves.reduce((prev, cur) => {\n const { x1, y1, x2, y2, x, y } = cur;\n prev.push(x1, y1, x2, y2, x, y);\n return prev;\n }, [] as number[]);\n}\n","import { catmullRom2Bezier } from '@antv/path-util';\nimport { Category, Linear } from '@antv/scale';\nimport { each, head, isEqual, map } from '@antv/util';\n\ntype Point = [number, number];\n\n/**\n * 点数组转 path\n * @param points\n */\nfunction pointsToPath(points: Point[]): any[][] {\n return map(points, (p: Point, idx: number) => {\n const command = idx === 0 ? 'M' : 'L';\n const [x, y] = p;\n return [command, x, y];\n });\n}\n\n/**\n * 将点连接成路径 path\n * @param points\n */\nexport function getLinePath(points: Point[]): any[][] {\n return pointsToPath(points);\n}\n\n/**\n * 将点连成平滑的曲线\n * @param points\n */\nexport function getSmoothLinePath(points: Point[]): any[][] {\n if (points.length <= 2) {\n // 两点以内直接绘制成路径\n return getLinePath(points);\n }\n\n const data = [];\n\n each(points, (p) => {\n // 当前点和上一个点一样的时候,忽略掉\n if (!isEqual(p, data.slice(data.length - 2))) {\n data.push(p[0], p[1]);\n }\n });\n\n // const constraint = [ // 范围\n // [ 0, 0 ],\n // [ 1, 1 ],\n // ];\n const path = catmullRom2Bezier(data, false);\n const [x, y] = head(points);\n path.unshift(['M', x, y]);\n\n return path;\n}\n\n/**\n * 将数据转成 path,利用 scale 的归一化能力\n * @param data\n * @param width\n * @param height\n * @param smooth\n */\nexport function dataToPath(data: number[], width: number, height: number, smooth: boolean = true): any[][] {\n // 利用 scale 来获取 y 上的映射\n const y = new Linear({\n values: data,\n });\n\n const x = new Category({\n values: map(data, (v, idx) => idx),\n });\n\n const points = map(data, (v: number, idx: number) => {\n return [x.scale(idx) * width, height - y.scale(v) * height] as [number, number];\n });\n\n return smooth ? getSmoothLinePath(points) : getLinePath(points);\n}\n\n/**\n * 获得 area 面积的横向连接线的 px 位置\n * @param data \n * @param width \n * @param height \n */\nexport function getAreaLineY(data: number[], height: number): number {\n const y = new Linear({\n values: data,\n });\n // 当曲线全部为负数时,取最大值,当曲线全部为正数时,取最小值,当曲线有正有负,则取零点\n const lineY = y.max < 0 ? y.max : Math.max(0, y.min);\n return height - y.scale(lineY) * height;\n}\n\n/**\n * 线 path 转 area path\n * @param path\n * @param width\n * @param height\n */\nexport function linePathToAreaPath(path: any[][], width: number, height: number, data: number[]): any[][] {\n const areaPath = [...path];\n\n const lineYPx = getAreaLineY(data, height);\n\n areaPath.push(['L', width, lineYPx]);\n areaPath.push(['L', 0, lineYPx]);\n areaPath.push(['Z']);\n\n return areaPath;\n}\n","import { IGroup } from '@antv/g-base';\nimport GroupComponent from '../abstract/group-component';\nimport { GroupComponentCfg } from '../types';\nimport { AREA_STYLE, BACKGROUND_STYLE, LINE_STYLE } from './constant';\nimport { dataToPath, linePathToAreaPath } from './path';\n\nexport interface TrendCfg extends GroupComponentCfg {\n // 位置大小\n readonly x?: number;\n readonly y?: number;\n readonly width?: number;\n readonly height?: number;\n // 数据\n readonly data?: number[];\n // 样式\n readonly smooth?: boolean;\n readonly isArea?: boolean;\n readonly backgroundStyle?: object;\n readonly lineStyle?: object;\n readonly areaStyle?: object;\n}\n\nexport class Trend extends GroupComponent {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'trend',\n x: 0,\n y: 0,\n width: 200,\n height: 16,\n smooth: true,\n isArea: false,\n data: [],\n backgroundStyle: BACKGROUND_STYLE,\n lineStyle: LINE_STYLE,\n areaStyle: AREA_STYLE,\n };\n }\n\n protected renderInner(group: IGroup) {\n const { width, height, data, smooth, isArea, backgroundStyle, lineStyle, areaStyle } = this.cfg as TrendCfg;\n\n // 背景\n this.addShape(group, {\n id: this.getElementId('background'),\n type: 'rect',\n attrs: {\n x: 0,\n y: 0,\n width,\n height,\n ...backgroundStyle,\n },\n });\n\n const path = dataToPath(data, width, height, smooth);\n // 线\n this.addShape(group, {\n id: this.getElementId('line'),\n type: 'path',\n attrs: {\n path,\n ...lineStyle,\n },\n });\n\n // area\n // 在 path 的基础上,增加两个坐标点\n if (isArea) {\n const areaPath = linePathToAreaPath(path, width, height, data);\n this.addShape(group, {\n id: this.getElementId('area'),\n type: 'path',\n attrs: {\n path: areaPath,\n ...areaStyle,\n },\n });\n }\n }\n\n protected applyOffset() {\n const { x, y } = this.cfg as TrendCfg;\n\n // 统一移动到对应的位置\n this.moveElementTo(this.get('group'), {\n x,\n y,\n });\n }\n}\n\nexport default Trend;\n","import { IGroup } from '@antv/g-base';\nimport GroupComponent from '../abstract/group-component';\nimport { GroupComponentCfg } from '../types';\n\ninterface IStyle {\n fill?: string;\n stroke?: string;\n radius?: number;\n opacity?: number;\n cursor?: string;\n highLightFill?: string;\n}\n\nexport interface HandlerCfg extends GroupComponentCfg {\n // position size\n readonly x: number;\n readonly y: number;\n readonly width: number;\n readonly height: number;\n // style\n readonly style?: IStyle;\n}\n\nexport const DEFAULT_HANDLER_STYLE = {\n fill: '#F7F7F7',\n stroke: '#BFBFBF',\n radius: 2,\n opacity: 1,\n cursor: 'ew-resize',\n // 高亮的颜色\n highLightFill: '#FFF',\n};\n\nexport class Handler extends GroupComponent {\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'handler',\n x: 0,\n y: 0,\n width: 10,\n height: 24,\n style: DEFAULT_HANDLER_STYLE,\n };\n }\n protected renderInner(group: IGroup) {\n const { width, height, style } = this.cfg as HandlerCfg;\n const { fill, stroke, radius, opacity, cursor } = style;\n\n // 按钮框框\n this.addShape(group, {\n type: 'rect',\n id: this.getElementId('background'),\n attrs: {\n x: 0,\n y: 0,\n width,\n height,\n fill,\n stroke,\n radius,\n opacity,\n cursor,\n },\n });\n\n // 两根竖线\n const x1 = (1 / 3) * width;\n const x2 = (2 / 3) * width;\n\n const y1 = (1 / 4) * height;\n const y2 = (3 / 4) * height;\n\n this.addShape(group, {\n id: this.getElementId('line-left'),\n type: 'line',\n attrs: {\n x1,\n y1,\n x2: x1,\n y2,\n stroke,\n cursor,\n },\n });\n\n this.addShape(group, {\n id: this.getElementId('line-right'),\n type: 'line',\n attrs: {\n x1: x2,\n y1,\n x2,\n y2,\n stroke,\n cursor,\n },\n });\n }\n\n protected applyOffset() {\n this.moveElementTo(this.get('group'), {\n x: this.get('x'),\n y: this.get('y'),\n });\n }\n\n protected initEvent() {\n this.bindEvents();\n }\n\n private bindEvents() {\n this.get('group').on('mouseenter', () => {\n const { highLightFill } = this.get('style');\n this.getElementByLocalId('background').attr('fill', highLightFill);\n\n this.draw();\n });\n\n this.get('group').on('mouseleave', () => {\n const { fill } = this.get('style');\n this.getElementByLocalId('background').attr('fill', fill);\n\n this.draw();\n });\n }\n\n private draw() {\n const canvas = this.get('container').get('canvas');\n if (canvas) {\n canvas.draw();\n }\n }\n}\n\nexport default Handler;\n","/**\n * 一些默认的样式配置\n */\n\nexport const BACKGROUND_STYLE = {\n fill: '#416180',\n opacity: 0.05,\n};\n\nexport const FOREGROUND_STYLE = {\n fill: '#5B8FF9',\n opacity: 0.15,\n cursor: 'move',\n};\n\nexport const DEFAULT_HANDLER_WIDTH = 10;\n\nexport const HANDLER_STYLE = {\n width: DEFAULT_HANDLER_WIDTH,\n height: 24,\n};\n\nexport const TEXT_STYLE = {\n textBaseline: 'middle',\n fill: '#000',\n opacity: 0.45,\n};\n\nexport const SLIDER_CHANGE = 'sliderchange';\n","import { Event, IGroup, IShape } from '@antv/g-base';\nimport { clamp, deepMix, each, get, isArray, isNil, size } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { ISlider } from '../interfaces';\nimport { Trend } from '../trend/trend';\nimport { DEFAULT_HANDLER_STYLE, Handler, HandlerCfg } from './handler';\nimport { GroupComponentCfg, Range } from '../types';\nimport {\n BACKGROUND_STYLE,\n DEFAULT_HANDLER_WIDTH,\n FOREGROUND_STYLE,\n HANDLER_STYLE,\n SLIDER_CHANGE,\n TEXT_STYLE,\n} from './constant';\n\nexport interface TrendCfg {\n // 数据\n readonly data: number[];\n // 样式\n readonly smooth?: boolean;\n readonly isArea?: boolean;\n readonly backgroundStyle?: object;\n readonly lineStyle?: object;\n readonly areaStyle?: object;\n}\n\n/**\n * slider handler style 设置\n */\ntype HandlerStyle = HandlerCfg['style'] & {\n readonly width?: number;\n readonly height?: number;\n};\n\nexport interface SliderCfg extends GroupComponentCfg {\n // position size\n readonly x: number;\n readonly y: number;\n readonly width: number;\n readonly height: number;\n\n // style\n readonly trendCfg?: TrendCfg;\n readonly backgroundStyle?: any;\n readonly foregroundStyle?: any;\n readonly handlerStyle?: HandlerStyle;\n readonly textStyle?: any;\n // 允许滑动位置\n readonly minLimit?: number;\n readonly maxLimit?: number;\n // 初始位置\n readonly start?: number;\n readonly end?: number;\n // 滑块文本\n readonly minText?: string;\n readonly maxText?: string;\n}\n\nexport class Slider extends GroupComponent implements ISlider {\n public cfg: SliderCfg;\n\n private minHandler: Handler;\n private maxHandler: Handler;\n private trend: Trend;\n private currentTarget: string;\n private prevX: number;\n private prevY: number;\n\n public setRange(min: number, max: number) {\n this.set('minLimit', min);\n this.set('maxLimit', max);\n const oldStart = this.get('start');\n const oldEnd = this.get('end');\n const newStart = clamp(oldStart, min, max);\n const newEnd = clamp(oldEnd, min, max);\n if (!this.get('isInit') && (oldStart !== newStart || oldEnd !== newEnd)) {\n this.setValue([newStart, newEnd]);\n }\n }\n\n public getRange(): Range {\n return {\n min: this.get('minLimit') || 0,\n max: this.get('maxLimit') || 1,\n };\n }\n\n public setValue(value: number | number[]) {\n const range = this.getRange();\n if (isArray(value) && value.length === 2) {\n const originValue = [this.get('start'), this.get('end')];\n this.update({\n start: clamp(value[0], range.min, range.max),\n end: clamp(value[1], range.min, range.max),\n });\n if (!this.get('updateAutoRender')) {\n this.render();\n }\n this.delegateEmit('valuechanged', {\n originValue,\n value,\n });\n }\n }\n\n public getValue(): number | number[] {\n return [this.get('start'), this.get('end')];\n }\n\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'slider',\n x: 0,\n y: 0,\n width: 100,\n height: 16,\n backgroundStyle: {},\n foregroundStyle: {},\n handlerStyle: {},\n textStyle: {},\n defaultCfg: {\n backgroundStyle: BACKGROUND_STYLE,\n foregroundStyle: FOREGROUND_STYLE,\n handlerStyle: HANDLER_STYLE,\n textStyle: TEXT_STYLE,\n },\n };\n }\n\n public update(cfg: Partial) {\n const { start, end } = cfg;\n const validCfg = { ...cfg };\n if (!isNil(start)) {\n validCfg.start = clamp(start, 0, 1);\n }\n if (!isNil(end)) {\n validCfg.end = clamp(end, 0, 1);\n }\n super.update(validCfg);\n this.minHandler = this.getChildComponentById(this.getElementId('minHandler'));\n this.maxHandler = this.getChildComponentById(this.getElementId('maxHandler'));\n this.trend = this.getChildComponentById(this.getElementId('trend'));\n }\n\n public init() {\n this.set('start', clamp(this.get('start'), 0, 1));\n this.set('end', clamp(this.get('end'), 0, 1));\n super.init();\n }\n\n public render() {\n super.render();\n\n this.updateUI(\n this.getElementByLocalId('foreground'),\n this.getElementByLocalId('minText'),\n this.getElementByLocalId('maxText')\n );\n }\n\n protected renderInner(group: IGroup) {\n const {\n start,\n end,\n width,\n height,\n trendCfg = {},\n minText,\n maxText,\n backgroundStyle = {},\n foregroundStyle = {},\n textStyle = {},\n } = this.cfg;\n\n const handlerStyle = deepMix({}, DEFAULT_HANDLER_STYLE, this.cfg.handlerStyle);\n\n const min = start * width;\n const max = end * width;\n\n // 趋势图数据\n if (size(get(trendCfg, 'data'))) {\n this.trend = this.addComponent(group, {\n component: Trend,\n id: this.getElementId('trend'),\n x: 0,\n y: 0,\n width,\n height,\n ...trendCfg,\n });\n }\n\n // 1. 背景\n this.addShape(group, {\n id: this.getElementId('background'),\n type: 'rect',\n attrs: {\n x: 0,\n y: 0,\n width,\n height,\n ...backgroundStyle,\n },\n });\n\n // 2. 左右文字\n const minTextShape = this.addShape(group, {\n id: this.getElementId('minText'),\n type: 'text',\n attrs: {\n // x: 0,\n y: height / 2,\n textAlign: 'right',\n text: minText,\n silent: false,\n ...textStyle,\n },\n });\n\n const maxTextShape = this.addShape(group, {\n id: this.getElementId('maxText'),\n type: 'text',\n attrs: {\n // x: 0,\n y: height / 2,\n textAlign: 'left',\n text: maxText,\n silent: false,\n ...textStyle,\n },\n });\n\n // 3. 前景 选中背景框\n const foregroundShape = this.addShape(group, {\n id: this.getElementId('foreground'),\n name: 'foreground',\n type: 'rect',\n attrs: {\n // x: 0,\n y: 0,\n // width: 0,\n height,\n ...foregroundStyle,\n },\n });\n\n // 滑块相关的大小信息\n const handlerWidth = get(handlerStyle, 'width', DEFAULT_HANDLER_WIDTH);\n const handlerHeight = get(handlerStyle, 'height', 24);\n\n // 4. 左右滑块\n this.minHandler = this.addComponent(group, {\n component: Handler,\n id: this.getElementId('minHandler'),\n name: 'handler-min',\n x: 0,\n y: (height - handlerHeight) / 2,\n width: handlerWidth,\n height: handlerHeight,\n cursor: 'ew-resize',\n style: handlerStyle,\n });\n\n this.maxHandler = this.addComponent(group, {\n component: Handler,\n id: this.getElementId('maxHandler'),\n name: 'handler-max',\n x: 0,\n y: (height - handlerHeight) / 2,\n width: handlerWidth,\n height: handlerHeight,\n cursor: 'ew-resize',\n style: handlerStyle,\n });\n }\n\n protected applyOffset() {\n this.moveElementTo(this.get('group'), {\n x: this.get('x'),\n y: this.get('y'),\n });\n }\n\n protected initEvent() {\n this.bindEvents();\n }\n\n private updateUI(foregroundShape: IShape, minTextShape: IShape, maxTextShape: IShape) {\n const { start, end, width, minText, maxText, handlerStyle, height } = this.cfg as SliderCfg;\n const min = start * width;\n const max = end * width;\n\n if (this.trend) {\n this.trend.update({\n width,\n height,\n });\n if (!this.get('updateAutoRender')) {\n this.trend.render();\n }\n }\n\n // 1. foreground\n foregroundShape.attr('x', min);\n foregroundShape.attr('width', max - min);\n\n // 滑块相关的大小信息\n const handlerWidth = get(handlerStyle, 'width', DEFAULT_HANDLER_WIDTH);\n\n // 设置文本\n minTextShape.attr('text', minText);\n maxTextShape.attr('text', maxText);\n\n const [minAttrs, maxAttrs] = this._dodgeText([min, max], minTextShape, maxTextShape);\n // 2. 左侧滑块和文字位置\n if (this.minHandler) {\n this.minHandler.update({\n x: min - handlerWidth / 2,\n });\n if (!this.get('updateAutoRender')) {\n this.minHandler.render();\n }\n }\n each(minAttrs, (v, k) => minTextShape.attr(k, v));\n\n // 3. 右侧滑块和文字位置\n if (this.maxHandler) {\n this.maxHandler.update({\n x: max - handlerWidth / 2,\n });\n if (!this.get('updateAutoRender')) {\n this.maxHandler.render();\n }\n }\n each(maxAttrs, (v, k) => maxTextShape.attr(k, v));\n }\n\n private bindEvents() {\n const group: IGroup = this.get('group');\n\n group.on('handler-min:mousedown', this.onMouseDown('minHandler'));\n group.on('handler-min:touchstart', this.onMouseDown('minHandler'));\n\n // 2. 右滑块的滑动\n group.on('handler-max:mousedown', this.onMouseDown('maxHandler'));\n group.on('handler-max:touchstart', this.onMouseDown('maxHandler'));\n\n // 3. 前景选中区域\n const foreground = group.findById(this.getElementId('foreground'));\n foreground.on('mousedown', this.onMouseDown('foreground'));\n foreground.on('touchstart', this.onMouseDown('foreground'));\n }\n\n private onMouseDown = (target: string) => (e: Event) => {\n this.currentTarget = target;\n // 取出原生事件\n const event = e.originalEvent as MouseEvent;\n\n // 2. 存储当前点击位置\n event.stopPropagation();\n event.preventDefault();\n\n // 兼容移动端获取数据\n this.prevX = get(event, 'touches.0.pageX', event.pageX);\n this.prevY = get(event, 'touches.0.pageY', event.pageY);\n\n // 3. 开始滑动的时候,绑定 move 和 up 事件\n const containerDOM = this.getContainerDOM();\n\n containerDOM.addEventListener('mousemove', this.onMouseMove);\n containerDOM.addEventListener('mouseup', this.onMouseUp);\n containerDOM.addEventListener('mouseleave', this.onMouseUp);\n\n // 移动端事件\n containerDOM.addEventListener('touchmove', this.onMouseMove);\n containerDOM.addEventListener('touchend', this.onMouseUp);\n containerDOM.addEventListener('touchcancel', this.onMouseUp);\n };\n\n private onMouseMove = (event: MouseEvent) => {\n const { width } = this.cfg as SliderCfg;\n const originValue = [this.get('start'), this.get('end')];\n // 滑动过程中,计算偏移,更新滑块,然后 emit 数据出去\n event.stopPropagation();\n event.preventDefault();\n\n const x = get(event, 'touches.0.pageX', event.pageX);\n const y = get(event, 'touches.0.pageY', event.pageY);\n\n // 横向的 slider 只处理 x\n const offsetX = x - this.prevX;\n\n const offsetXRange = this.adjustOffsetRange(offsetX / width);\n\n // 更新 start end range 范围\n this.updateStartEnd(offsetXRange);\n // 更新 ui\n this.updateUI(\n this.getElementByLocalId('foreground'),\n this.getElementByLocalId('minText'),\n this.getElementByLocalId('maxText')\n );\n\n this.prevX = x;\n this.prevY = y;\n\n this.draw();\n\n // 因为存储的 start、end 可能不一定是按大小存储的,所以排序一下,对外是 end >= start\n this.emit(SLIDER_CHANGE, [this.get('start'), this.get('end')].sort());\n this.delegateEmit('valuechanged', {\n originValue,\n value: [this.get('start'), this.get('end')],\n });\n };\n\n private onMouseUp = () => {\n // 结束之后,取消绑定的事件\n if (this.currentTarget) {\n this.currentTarget = undefined;\n }\n\n const containerDOM = this.getContainerDOM();\n if (containerDOM) {\n containerDOM.removeEventListener('mousemove', this.onMouseMove);\n containerDOM.removeEventListener('mouseup', this.onMouseUp);\n // 防止滑动到 canvas 外部之后,状态丢失\n containerDOM.removeEventListener('mouseleave', this.onMouseUp);\n\n // 移动端事件\n containerDOM.removeEventListener('touchmove', this.onMouseMove);\n containerDOM.removeEventListener('touchend', this.onMouseUp);\n containerDOM.removeEventListener('touchcancel', this.onMouseUp);\n }\n };\n\n /**\n * 调整 offsetRange,因为一些范围的限制\n * @param offsetRange\n */\n private adjustOffsetRange(offsetRange: number): number {\n const { start, end } = this.cfg as SliderCfg;\n // 针对不同的滑动组件,处理的方式不同\n switch (this.currentTarget) {\n case 'minHandler': {\n const min = 0 - start;\n const max = 1 - start;\n\n return Math.min(max, Math.max(min, offsetRange));\n }\n case 'maxHandler': {\n const min = 0 - end;\n const max = 1 - end;\n\n return Math.min(max, Math.max(min, offsetRange));\n }\n case 'foreground': {\n const min = 0 - start;\n const max = 1 - end;\n\n return Math.min(max, Math.max(min, offsetRange));\n }\n }\n }\n\n private updateStartEnd(offsetRange: number) {\n let { start, end } = this.cfg as SliderCfg;\n // 操作不同的组件,反馈不一样\n switch (this.currentTarget) {\n case 'minHandler':\n start += offsetRange;\n break;\n case 'maxHandler':\n end += offsetRange;\n break;\n case 'foreground':\n start += offsetRange;\n end += offsetRange;\n break;\n }\n this.set('start', start);\n this.set('end', end);\n }\n\n /**\n * 调整 text 的位置,自动躲避\n * 根据位置,调整返回新的位置\n * @param range\n */\n private _dodgeText(range: [number, number], minTextShape, maxTextShape): [object, object] {\n const { handlerStyle, width } = this.cfg as SliderCfg;\n const PADDING = 2;\n const handlerWidth = get(handlerStyle, 'width', DEFAULT_HANDLER_WIDTH);\n\n let [min, max] = range;\n let sorted = false;\n\n // 如果交换了位置,则对应的 min max 也交互\n if (min > max) {\n [min, max] = [max, min];\n [minTextShape, maxTextShape] = [maxTextShape, minTextShape];\n sorted = true;\n }\n\n // 避让规则,优先显示在两侧,只有显示不下的时候,才显示在中间\n const minBBox = minTextShape.getBBox();\n const maxBBox = maxTextShape.getBBox();\n\n const minAttrs =\n minBBox.width > min - PADDING\n ? { x: min + handlerWidth / 2 + PADDING, textAlign: 'left' }\n : { x: min - handlerWidth / 2 - PADDING, textAlign: 'right' };\n\n const maxAttrs =\n maxBBox.width > width - max - PADDING\n ? { x: max - handlerWidth / 2 - PADDING, textAlign: 'right' }\n : { x: max + handlerWidth / 2 + PADDING, textAlign: 'left' };\n\n return !sorted ? [minAttrs, maxAttrs] : [maxAttrs, minAttrs];\n }\n\n public draw() {\n const container = this.get('container');\n const canvas = container && container.get('canvas');\n if (canvas) {\n canvas.draw();\n }\n }\n\n private getContainerDOM() {\n const container = this.get('container');\n const canvas = container && container.get('canvas');\n\n return canvas && canvas.get('container');\n }\n}\n\nexport default Slider;\n","export default function addEventListener(target: HTMLElement, eventType: string, callback: any) {\n if (target) {\n if (typeof target.addEventListener === 'function') {\n target.addEventListener(eventType, callback, false);\n return {\n remove() {\n target.removeEventListener(eventType, callback, false);\n },\n };\n // @ts-ignore\n } if (typeof target.attachEvent === 'function') {\n // @ts-ignore\n target.attachEvent('on' + eventType, callback);\n return {\n remove() {\n // @ts-ignore\n target.detachEvent('on' + eventType, callback);\n },\n };\n }\n }\n}\n","import { addEventListener } from '@antv/dom-util';\nimport { Event, IGroup } from '@antv/g-base';\nimport { clamp, deepMix, get, noop } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { ISlider } from '../interfaces';\nimport { GroupComponentCfg, Range } from '../types';\n\nexport interface ScrollbarStyle {\n trackColor: string;\n thumbColor: string;\n size: number;\n lineCap: string;\n}\n\nexport interface ScrollbarTheme {\n default?: Partial>;\n hover?: Pick, 'thumbColor'>;\n}\n\nconst DEFAULT_STYLE: ScrollbarStyle = {\n trackColor: 'rgba(0,0,0,0)',\n thumbColor: 'rgba(0,0,0,0.15)',\n size: 8,\n lineCap: 'round',\n};\n\nexport const DEFAULT_THEME: ScrollbarTheme = {\n // 默认样式\n default: DEFAULT_STYLE,\n // 鼠标 hover 的样式\n hover: {\n thumbColor: 'rgba(0,0,0,0.2)',\n },\n};\n\nexport interface ScrollbarCfg extends GroupComponentCfg {\n // scrollBar 的位置\n x: number;\n y: number;\n // 滚动条的布局,横向 | 纵向, 非必传,默认为 false(纵向)\n isHorizontal?: boolean;\n // 滑道长度,必传\n trackLen: number;\n // 滑块长度,必传\n thumbLen: number;\n // 滑块的最小长度,非必传,默认值为 20\n minThumbLen?: number;\n // 滑块相对滑道的偏移, 非必传,默认值为 0\n thumbOffset?: number;\n // 滚动条大小(横向代表高度,纵向代表宽度),优先级大于 theme\n size?: number;\n // 滚动条样式,非必传\n theme?: ScrollbarTheme;\n\n minLimit?: number;\n maxLimit?: number;\n}\n\nexport class Scrollbar extends GroupComponent implements ISlider {\n public cfg: ScrollbarCfg;\n // 通过拖拽开始的事件是 mousedown 还是 touchstart 来决定是移动端还是 pc 端\n private isMobile: boolean;\n private clearEvents = noop;\n private startPos: number;\n\n public setRange(min: number, max: number) {\n this.set('minLimit', min);\n this.set('maxLimit', max);\n const curValue = this.getValue();\n const newValue = clamp(curValue, min, max);\n if (curValue !== newValue && !this.get('isInit')) {\n this.setValue(newValue);\n }\n }\n\n public getRange(): Range {\n const min: number = this.get('minLimit') || 0;\n const max: number = this.get('maxLimit') || 1;\n\n return { min, max };\n }\n\n public setValue(value: number) {\n const range = this.getRange();\n const originalValue = this.getValue();\n this.update({\n thumbOffset: (this.get('trackLen') - this.get('thumbLen')) * clamp(value, range.min, range.max),\n });\n this.delegateEmit('valuechange', {\n originalValue,\n value: this.getValue(),\n });\n }\n\n public getValue(): number {\n return clamp(this.get('thumbOffset') / (this.get('trackLen') - this.get('thumbLen')), 0, 1);\n }\n\n public getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n return {\n ...cfg,\n name: 'scrollbar',\n isHorizontal: true,\n minThumbLen: 20,\n thumbOffset: 0,\n theme: DEFAULT_THEME,\n };\n }\n\n protected renderInner(group: IGroup) {\n this.renderTrackShape(group);\n this.renderThumbShape(group);\n }\n\n protected applyOffset() {\n this.moveElementTo(this.get('group'), {\n x: this.get('x'),\n y: this.get('y'),\n });\n }\n\n protected initEvent() {\n this.bindEvents();\n }\n\n // 创建滑道的 shape\n private renderTrackShape(group: IGroup) {\n const { trackLen, theme = { default: {} } } = this.cfg;\n const { lineCap, trackColor, size: themeSize } = deepMix({}, DEFAULT_THEME, theme).default;\n const size = get(this.cfg, 'size', themeSize);\n\n const attrs = this.get('isHorizontal')\n ? {\n x1: 0 + size / 2,\n y1: size / 2,\n x2: trackLen - size / 2,\n y2: size / 2,\n lineWidth: size,\n stroke: trackColor,\n lineCap,\n }\n : {\n x1: size / 2,\n y1: 0 + size / 2,\n x2: size / 2,\n y2: trackLen - size / 2,\n lineWidth: size,\n stroke: trackColor,\n lineCap,\n };\n return this.addShape(group, {\n id: this.getElementId('track'),\n name: 'track',\n type: 'line',\n attrs,\n });\n }\n\n // 创建滑块的 shape\n private renderThumbShape(group: IGroup) {\n const { thumbOffset, thumbLen, theme } = this.cfg;\n const { size: themeSize, lineCap, thumbColor } = deepMix({}, DEFAULT_THEME, theme).default;\n const size = get(this.cfg, 'size', themeSize);\n\n const attrs = this.get('isHorizontal')\n ? {\n x1: thumbOffset + size / 2,\n y1: size / 2,\n x2: thumbOffset + thumbLen - size / 2,\n y2: size / 2,\n lineWidth: size,\n stroke: thumbColor,\n lineCap,\n cursor: 'default',\n }\n : {\n x1: size / 2,\n y1: thumbOffset + size / 2,\n x2: size / 2,\n y2: thumbOffset + thumbLen - size / 2,\n lineWidth: size,\n stroke: thumbColor,\n lineCap,\n cursor: 'default',\n };\n return this.addShape(group, {\n id: this.getElementId('thumb'),\n name: 'thumb',\n type: 'line',\n attrs,\n });\n }\n\n private bindEvents() {\n const group: IGroup = this.get('group');\n group.on('mousedown', this.onStartEvent(false));\n group.on('mouseup', this.onMouseUp);\n\n group.on('touchstart', this.onStartEvent(true));\n group.on('touchend', this.onMouseUp);\n\n const trackShape = group.findById(this.getElementId('track'));\n trackShape.on('click', this.onTrackClick);\n const thumbShape = group.findById(this.getElementId('thumb'));\n thumbShape.on('mouseover', this.onThumbMouseOver);\n thumbShape.on('mouseout', this.onThumbMouseOut);\n }\n\n private onStartEvent = (isMobile: boolean) => (e: Event) => {\n this.isMobile = isMobile;\n e.originalEvent.preventDefault();\n const clientX = isMobile ? get(e.originalEvent, 'touches.0.clientX') : e.clientX;\n const clientY = isMobile ? get(e.originalEvent, 'touches.0.clientY') : e.clientY;\n\n // 将开始的点记录下来\n this.startPos = this.cfg.isHorizontal ? clientX : clientY;\n\n this.bindLaterEvent();\n };\n\n private bindLaterEvent = () => {\n const containerDOM = this.getContainerDOM();\n let events = [];\n\n if (this.isMobile) {\n events = [\n addEventListener(containerDOM, 'touchmove', this.onMouseMove),\n addEventListener(containerDOM, 'touchend', this.onMouseUp),\n addEventListener(containerDOM, 'touchcancel', this.onMouseUp),\n ];\n } else {\n events = [\n addEventListener(containerDOM, 'mousemove', this.onMouseMove),\n addEventListener(containerDOM, 'mouseup', this.onMouseUp),\n // 为了保证划出 canvas containerDom 时还没触发 mouseup\n addEventListener(containerDOM, 'mouseleave', this.onMouseUp),\n ];\n }\n this.clearEvents = () => {\n events.forEach((e) => {\n e.remove();\n });\n };\n };\n\n // 拖拽滑块的事件回调\n // 这里是 dom 原生事件,绑定在 dom 元素上的\n private onMouseMove = (e: MouseEvent) => {\n const { isHorizontal, thumbOffset } = this.cfg;\n e.preventDefault();\n const clientX = this.isMobile ? get(e, 'touches.0.clientX') : e.clientX;\n const clientY = this.isMobile ? get(e, 'touches.0.clientY') : e.clientY;\n // 鼠标松开的位置\n const endPos = isHorizontal ? clientX : clientY;\n // 滑块需要移动的距离, 由于这里是对滑块监听,所以移动的距离就是 diffDis, 如果监听对象是 container dom,则需要算比例\n const diff = endPos - this.startPos;\n // 更新 _startPos\n this.startPos = endPos;\n\n this.updateThumbOffset(thumbOffset + diff);\n };\n\n private onMouseUp = (e: Event) => {\n e.preventDefault();\n this.clearEvents();\n };\n\n // 点击滑道的事件回调,移动滑块位置\n private onTrackClick = (e: Event) => {\n const { isHorizontal, x, y, thumbLen } = this.cfg;\n const containerDOM = this.getContainerDOM();\n const rect = containerDOM.getBoundingClientRect();\n const { clientX, clientY } = e;\n const offset = isHorizontal ? clientX - rect.left - x - thumbLen / 2 : clientY - rect.top - y - thumbLen / 2;\n\n const newOffset = this.validateRange(offset);\n this.updateThumbOffset(newOffset);\n };\n\n private onThumbMouseOver = () => {\n const { thumbColor } = this.cfg.theme.hover;\n this.getElementByLocalId('thumb').attr('stroke', thumbColor);\n this.draw();\n };\n\n private onThumbMouseOut = () => {\n const { thumbColor } = this.cfg.theme.default;\n this.getElementByLocalId('thumb').attr('stroke', thumbColor);\n this.draw();\n };\n\n private getContainerDOM() {\n const container = this.get('container');\n const canvas = container && container.get('canvas');\n\n return canvas && canvas.get('container');\n }\n\n private validateRange(offset: number) {\n const { thumbLen, trackLen } = this.cfg;\n let newOffset = offset;\n if (offset + thumbLen > trackLen) {\n newOffset = trackLen - thumbLen;\n } else if (offset + thumbLen < thumbLen) {\n newOffset = 0;\n }\n return newOffset;\n }\n\n private draw() {\n const container = this.get('container');\n const canvas = container && container.get('canvas');\n\n if (canvas) {\n canvas.draw();\n }\n }\n\n private updateThumbOffset(offset: number) {\n const { thumbOffset, isHorizontal, thumbLen, size } = this.cfg;\n const newOffset = this.validateRange(offset);\n if (newOffset === thumbOffset) {\n // 如果更新后的 offset 与原值相同,则不改变\n return;\n }\n const thumbShape = this.getElementByLocalId('thumb');\n\n if (isHorizontal) {\n thumbShape.attr({\n x1: newOffset + size / 2,\n x2: newOffset + thumbLen - size / 2,\n });\n } else {\n thumbShape.attr({\n y1: newOffset + size / 2,\n y2: newOffset + thumbLen - size / 2,\n });\n }\n this.emitOffsetChange(newOffset);\n }\n\n private emitOffsetChange(offset: number) {\n const { thumbOffset: originalValue, trackLen, thumbLen } = this.cfg;\n this.cfg.thumbOffset = offset;\n // 发送事件\n this.emit('scrollchange', {\n thumbOffset: offset,\n ratio: clamp(offset / (trackLen - thumbLen), 0, 1),\n });\n this.delegateEmit('valuechange', {\n originalValue,\n value: offset,\n });\n }\n}\n","/* 依赖的模块,在这里统一引入,方便打包优化 */\n\n// G\nexport {\n ICanvas,\n IElement,\n IGroup,\n IShape,\n PathCommand,\n BBox,\n Point,\n ShapeAttrs,\n Event,\n AbstractGroup,\n AbstractShape,\n} from '@antv/g-base';\n// 需要有 G-base 提供 g engine 类型定义\nexport type IG = any;\n\n// adjust\nexport { registerAdjust, getAdjust, Adjust } from '@antv/adjust';\n\n// attr\nexport { getAttribute, Attribute } from '@antv/attr';\nexport { Color } from '@antv/attr';\n\n// coordinate\nexport { getCoordinate, registerCoordinate, Coordinate, CoordinateCfg } from '@antv/coord';\n\n// scale\nexport { getScale, registerScale, Scale, ScaleConfig, Tick } from '@antv/scale';\n\n// component\nimport {\n Annotation,\n Axis,\n Component,\n Crosshair,\n Grid,\n GroupComponent,\n HtmlComponent,\n Legend,\n Slider,\n Tooltip,\n Scrollbar,\n} from '@antv/component';\n\nexport {\n CategoryLegendCfg,\n CircleAxisCfg,\n LineAxisCfg,\n GroupComponentCfg,\n ListItem,\n AxisLineCfg,\n AxisTickLineCfg,\n AxisSubTickLineCfg,\n AxisTitleCfg,\n AxisLabelCfg,\n GridLineCfg,\n LegendMarkerCfg,\n LegendTitleCfg,\n LegendBackgroundCfg,\n LegendItemNameCfg,\n LegendItemValueCfg,\n LegendPageNavigatorCfg,\n ContinueLegendCfg,\n ContinueLegendTrackCfg,\n ContinueLegendRailCfg,\n ContinueLegendLabelCfg,\n ContinueLegendHandlerCfg,\n CrosshairLineCfg,\n CrosshairTextCfg,\n CrosshairTextBackgroundCfg,\n SliderCfg,\n TrendCfg,\n EnhancedTextCfg,\n LineAnnotationTextCfg,\n IComponent,\n IList,\n} from '@antv/component';\n\nexport { HtmlComponent, GroupComponent, Component, Crosshair };\nexport { Annotation };\n// axis\nconst { Line: LineAxis, Circle: CircleAxis } = Axis;\nexport { LineAxis, CircleAxis };\n// grid\nconst { Line: LineGrid, Circle: CircleGrid } = Grid;\nexport { LineGrid, CircleGrid };\n// legend\nconst { Category: CategoryLegend, Continuous: ContinuousLegend } = Legend;\nexport { CategoryLegend, ContinuousLegend };\n// Tooltip\nconst { Html: HtmlTooltip } = Tooltip;\nexport { HtmlTooltip };\n// Slider\nexport { Slider };\n// Scrollbar\nexport { Scrollbar };\n","import { BBox } from '@antv/g-svg';\nimport { each, isEmpty, isNumber, isNumberEqual, max, min } from '@antv/util';\nimport { Coordinate, IShape, Point } from '../dependents';\nimport { ShapeInfo } from '../interface';\n\n// 获取图形的包围盒\nfunction getPointsBox(points) {\n if (isEmpty(points)) {\n return null;\n }\n\n let minX = points[0].x;\n let maxX = points[0].x;\n let minY = points[0].y;\n let maxY = points[0].y;\n each(points, (point) => {\n minX = minX > point.x ? point.x : minX;\n maxX = maxX < point.x ? point.x : maxX;\n minY = minY > point.y ? point.y : minY;\n maxY = maxY < point.y ? point.y : maxY;\n });\n\n return {\n minX,\n maxX,\n minY,\n maxY,\n centerX: (minX + maxX) / 2,\n centerY: (minY + maxY) / 2,\n };\n}\n\nfunction uniqueValues(array: T[]) {\n return Array.from(new Set(array)).length === 1;\n}\n\nfunction mid(array: number[]) {\n return (min(array) + max(array)) / 2;\n}\n\n/**\n * @ignore\n * 根据弧度计算极坐标系下的坐标点\n * @param centerX\n * @param centerY\n * @param radius\n * @param angleInRadian\n * @returns\n */\nexport function polarToCartesian(centerX: number, centerY: number, radius: number, angleInRadian: number) {\n return {\n x: centerX + radius * Math.cos(angleInRadian),\n y: centerY + radius * Math.sin(angleInRadian),\n };\n}\n\n/**\n * @ignore\n * 根据起始角度计算绘制扇形的 path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getSectorPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number,\n innerRadius: number = 0\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n const innerStart = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian);\n const innerEnd = polarToCartesian(centerX, centerY, innerRadius, endAngleInRadian);\n\n if (endAngleInRadian - startAngleInRadian === Math.PI * 2) {\n // 整个圆是分割成两个圆\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n const innerMiddlePoint = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian + Math.PI);\n const circlePathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, end.x, end.y],\n ['M', innerStart.x, innerStart.y],\n ];\n if (innerRadius) {\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerMiddlePoint.x, innerMiddlePoint.y]);\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerEnd.x, innerEnd.y]);\n }\n\n circlePathCommands.push(['M', start.x, start.y]);\n circlePathCommands.push(['Z']);\n\n return circlePathCommands;\n }\n\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n const sectorPathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ['L', innerEnd.x, innerEnd.y],\n ];\n if (innerRadius) {\n sectorPathCommands.push(['A', innerRadius, innerRadius, 0, arcSweep, 0, innerStart.x, innerStart.y]);\n }\n sectorPathCommands.push(['L', start.x, start.y]);\n sectorPathCommands.push(['Z']);\n\n return sectorPathCommands;\n}\n\n/**\n * @ignore\n * Gets arc path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getArcPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n if (isNumberEqual(endAngleInRadian - startAngleInRadian, Math.PI * 2)) {\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, start.x, start.y],\n ['A', radius, radius, 0, 1, 0, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 0, start.x, start.y],\n ['Z'],\n ];\n }\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ];\n}\n\n/**\n * @ignore\n * 从数据模型中的 points 换算角度\n * @param shapeModel\n * @param coordinate\n * @returns\n */\nexport function getAngle(shapeModel: ShapeInfo, coordinate: Coordinate) {\n const points = shapeModel.points;\n const box = getPointsBox(points);\n let endAngle;\n let startAngle;\n const { startAngle: coordStartAngle, endAngle: coordEndAngle } = coordinate;\n const diffAngle = coordEndAngle - coordStartAngle;\n\n if (coordinate.isTransposed) {\n endAngle = box.maxY * diffAngle;\n startAngle = box.minY * diffAngle;\n } else {\n endAngle = box.maxX * diffAngle;\n startAngle = box.minX * diffAngle;\n }\n endAngle += coordStartAngle;\n startAngle += coordStartAngle;\n return {\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 计算多边形重心: https://en.wikipedia.org/wiki/Centroid#Of_a_polygon\n */\nexport function getPolygonCentroid(xs: number | number[], ys: number | number[]) {\n if (isNumber(xs) && isNumber(ys)) {\n // 普通色块图,xs 和 ys 是数值\n return [xs, ys];\n }\n\n xs = xs as number[];\n ys = ys as number[];\n // 当这个 polygon 的点在一条线上的时候\n // 也就是说 xs 里面的值都相同,比如:[1, 1, 1, 1]\n // 或者说 ys 里面的值都相同,比如:[0, 0, 0, 0]\n // 下面计算得到的 k = 0\n // 导致返回的值是 [NaN, NaN]\n // 所以这里做相应的处理\n if (uniqueValues(xs) || uniqueValues(ys)) return [mid(xs), mid(ys)];\n\n let i = -1;\n let x = 0;\n let y = 0;\n let former;\n let current = xs.length - 1;\n let diff;\n let k = 0;\n while (++i < xs.length) {\n former = current;\n current = i;\n k += diff = xs[former] * ys[current] - xs[current] * ys[former];\n x += (xs[former] + xs[current]) * diff;\n y += (ys[former] + ys[current]) * diff;\n }\n k *= 3;\n return [x / k, y / k];\n}\n\n/**\n * @ignore\n * 获取需要替换的属性,如果原先图形元素存在,而新图形不存在,则设置 undefined\n */\nexport function getReplaceAttrs(sourceShape: IShape, targetShape: IShape) {\n const originAttrs = sourceShape.attr();\n const newAttrs = targetShape.attr();\n each(originAttrs, (v, k) => {\n if (newAttrs[k] === undefined) {\n newAttrs[k] = undefined;\n }\n });\n return newAttrs;\n}\n","import { isArray, isString } from '@antv/util';\n\n/**\n * @ignore\n * Determines whether between is\n * @param value\n * @param start\n * @param end\n * @returns true if between\n */\nexport function isBetween(value: number, start: number, end: number): boolean {\n const min = Math.min(start, end);\n const max = Math.max(start, end);\n\n return value >= min && value <= max;\n}\n\n/**\n * @ignore\n * pads the current string/array with a given value (repeated, if needed) so that the resulting reaches a given length.\n * The padding is applied from the end of the current value.\n *\n * @param source\n * @param targetLength\n * @param padValue\n * @returns\n */\nexport function padEnd(source: string | any[], targetLength: number, padValue: any) {\n if (isString(source)) {\n return source.padEnd(targetLength, padValue);\n } else if (isArray(source)) {\n const sourceLength = source.length;\n if (sourceLength < targetLength) {\n const diff = targetLength - sourceLength;\n for (let i = 0; i < diff; i++) {\n source.push(padValue);\n }\n }\n }\n\n return source;\n}\n\n/**\n * @ignore\n * omit keys of an object.\n * @param obj\n * @param keys\n */\nexport function omit(obj: T, keys: string[]): T {\n if (typeof obj === 'object') {\n keys.forEach((key: string) => {\n delete obj[key];\n });\n }\n\n return obj;\n}\n\n/**\n * @ignore\n * @param sourceArray\n * @param targetArray\n * @param map\n */\nexport function uniq(sourceArray: any[], targetArray: any[] = [], map: Map = new Map()) {\n for (const source of sourceArray) {\n if (!map.has(source)) {\n targetArray.push(source);\n map.set(source, true);\n }\n }\n return targetArray;\n}\n","import { each } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Padding, Point, Region } from '../interface';\nimport { BBox as BBoxObject } from '../dependents';\n\n/**\n * 用于包围盒计算。\n */\nexport class BBox {\n /** x 轴坐标系 */\n public x: number;\n /** y 轴坐标系 */\n public y: number;\n /** 包围盒高度 */\n public height: number;\n /** 包围盒宽度 */\n public width: number;\n\n public static fromRange(minX: number, minY: number, maxX: number, maxY: number) {\n return new BBox(minX, minY, maxX - minX, maxY - minY);\n }\n\n public static fromObject(bbox: BBoxObject) {\n return new BBox(bbox.minX, bbox.minY, bbox.width, bbox.height);\n }\n\n constructor(x: number = 0, y: number = 0, width: number = 0, height: number = 0) {\n this.x = x;\n this.y = y;\n this.height = height;\n this.width = width;\n }\n\n public get minX(): number {\n return this.x;\n }\n\n public get maxX(): number {\n return this.x + this.width;\n }\n\n public get minY(): number {\n return this.y;\n }\n\n public get maxY(): number {\n return this.y + this.height;\n }\n\n public get tl(): Point {\n return { x: this.x, y: this.y };\n }\n\n public get tr(): Point {\n return { x: this.maxX, y: this.y };\n }\n\n public get bl(): Point {\n return { x: this.x, y: this.maxY };\n }\n\n public get br(): Point {\n return { x: this.maxX, y: this.maxY };\n }\n\n public get top(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.minY,\n };\n }\n\n public get right(): Point {\n return {\n x: this.maxX,\n y: this.y + this.height / 2,\n };\n }\n public get bottom(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.maxY,\n };\n }\n public get left(): Point {\n return {\n x: this.minX,\n y: this.y + this.height / 2,\n };\n }\n // end 计算属性\n\n /**\n * 包围盒是否相等\n * @param {BBox} bbox 包围盒\n * @returns 包围盒是否相等\n */\n public isEqual(bbox: BBox): boolean {\n return this.x === bbox.x && this.y === bbox.y && this.width === bbox.width && this.height === bbox.height;\n }\n\n /**\n * 是否包含了另一个包围盒\n * @param child\n */\n public contains(child: BBox): boolean {\n return child.minX >= this.minX && child.maxX <= this.maxX && child.minY >= this.minY && child.maxY <= this.maxY;\n }\n\n /**\n * 克隆包围盒\n * @returns 包围盒\n */\n public clone(): BBox {\n return new BBox(this.x, this.y, this.width, this.height);\n }\n\n /**\n * 取并集\n * @param subBBox\n */\n public add(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.min(b.x, bbox.x);\n bbox.y = Math.min(b.y, bbox.y);\n bbox.width = Math.max(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.max(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * 取交集\n * @param subBBox\n */\n public merge(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.max(b.x, bbox.x);\n bbox.y = Math.max(b.y, bbox.y);\n bbox.width = Math.min(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.min(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * bbox 剪裁\n * @param subBBox\n * @param direction\n */\n public cut(subBBox: BBox, direction: DIRECTION): BBox {\n const width = subBBox.width;\n const height = subBBox.height;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n return BBox.fromRange(this.minX, this.minY + height, this.maxX, this.maxY);\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n return BBox.fromRange(this.minX, this.minY, this.maxX - width, this.maxY);\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n return BBox.fromRange(this.minX, this.minY, this.maxX, this.maxY - height);\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n return BBox.fromRange(this.minX + width, this.minY, this.maxX, this.maxY);\n default:\n // 其他情况不裁剪,原样返回\n return this;\n }\n }\n\n /**\n * 收缩形成新的\n * @param gap\n */\n public shrink(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x + left, this.y + top, this.width - left - right, this.height - top - bottom);\n }\n\n /**\n * 扩张形成新的\n * @param gap\n */\n public expand(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x - left, this.y - top, this.width + left + right, this.height + top + bottom);\n }\n\n /**\n * get the gap of two bbox, if not exceed, then 0\n * @param bbox\n * @returns [top, right, bottom, left]\n */\n public exceed(bbox: BBox): Padding {\n return [\n Math.max(-this.minY + bbox.minY, 0),\n Math.max(this.maxX - bbox.maxX, 0),\n Math.max(this.maxY - bbox.maxY, 0),\n Math.max(-this.minX + bbox.minX, 0),\n ];\n }\n\n /**\n * 是否碰撞\n * @param bbox\n */\n public collide(bbox: BBox): boolean {\n return this.minX < bbox.maxX && this.maxX > bbox.minX && this.minY < bbox.maxY && this.maxY > bbox.minY;\n }\n\n /**\n * 获取包围盒大小\n * @returns 包围盒大小\n */\n public size(): number {\n return this.width * this.height;\n }\n\n /**\n * 点是否在 bbox 中\n * @param p\n */\n public isPointIn(p: Point) {\n return p.x >= this.minX && p.x <= this.maxX && p.y >= this.minY && p.y <= this.maxY;\n }\n}\n\n/**\n * 从一个 bbox 的 region 获取 bbox\n * @param bbox\n * @param region\n */\nexport const getRegionBBox = (bbox: BBox, region: Region): BBox => {\n const { start, end } = region;\n\n return new BBox(\n bbox.x + bbox.width * start.x,\n bbox.y + bbox.height * start.y,\n bbox.width * Math.abs(end.x - start.x),\n bbox.height * Math.abs(end.y - start.y)\n );\n};\n\n/**\n * 将 bbox 转换成 points\n * @param bbox\n */\nexport function toPoints(bbox: Partial): any[] {\n return [\n [bbox.minX, bbox.minY],\n [bbox.maxX, bbox.minY],\n [bbox.maxX, bbox.maxY],\n [bbox.minX, bbox.maxY],\n ];\n}\n","import { Coordinate } from '../dependents';\nimport { Point } from '../interface';\nimport { getSectorPath } from './graphics';\nimport { isBetween } from './helper';\nimport { BBox } from './bbox';\n\n/**\n * @ignore\n * Gets x dimension length\n * @param coordinate\n * @returns x dimension length\n */\nexport function getXDimensionLength(coordinate): number {\n if (coordinate.isPolar && !coordinate.isTransposed) {\n // 极坐标系下 width 为弧长\n return (coordinate.endAngle - coordinate.startAngle) * coordinate.getRadius();\n }\n\n // 直角坐标系\n const start = coordinate.convert({ x: 0, y: 0 });\n const end = coordinate.convert({ x: 1, y: 0 });\n // 坐标系有可能发生 transpose 等变换,所有通过两点之间的距离进行计算\n return Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2));\n}\n\n/**\n * @ignore\n * Determines whether full circle is\n * @param coordinate\n * @returns true if full circle\n */\nexport function isFullCircle(coordinate: Coordinate): boolean {\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n return endAngle - startAngle === Math.PI * 2;\n }\n return false;\n}\n\n/**\n * @ignore\n * 获取当前点到坐标系圆心的距离\n * @param coordinate 坐标系\n * @param point 当前点\n * @returns distance to center\n */\nexport function getDistanceToCenter(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter() as Point;\n return Math.sqrt((point.x - center.x) ** 2 + (point.y - center.y) ** 2);\n}\n\n/**\n * @ignore\n * 坐标点是否在坐标系中\n * @param coordinate\n * @param point\n */\nexport function isPointInCoordinate(coordinate: Coordinate, point: Point) {\n let result = false;\n\n if (coordinate) {\n if (coordinate.type === 'theta') {\n const { start, end } = coordinate;\n result = isBetween(point.x, start.x, end.x) && isBetween(point.y, start.y, end.y);\n } else {\n const invertPoint = coordinate.invert(point);\n \n result = isBetween(invertPoint.x, 0, 1) && isBetween(invertPoint.y, 0, 1);\n }\n }\n\n return result;\n}\n\n/**\n * @ignore\n * 获取点到圆心的连线与水平方向的夹角\n */\nexport function getAngleByPoint(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter();\n return Math.atan2(point.y - center.y, point.x - center.x);\n}\n\n/**\n * @ignore\n * 获取同坐标系范围相同的剪切区域\n * @param coordinate\n * @returns\n */\nexport function getCoordinateClipCfg(coordinate: Coordinate, margin: number = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n\n return {\n type: 'path',\n startState: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, startAngle),\n },\n endState: (ratio) => {\n const diff = (endAngle - startAngle) * ratio + startAngle;\n const path = getSectorPath(center.x, center.y, radius + margin, startAngle, diff);\n return {\n path,\n };\n },\n attrs: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, endAngle),\n },\n };\n }\n\n let endState;\n if (coordinate.isTransposed) {\n endState = {\n height: height + margin * 2,\n };\n } else {\n endState = {\n width: width + margin * 2,\n };\n }\n\n return {\n type: 'rect',\n startState: {\n x: start.x - margin,\n y: end.y - margin,\n width: coordinate.isTransposed ? width + margin * 2 : 0,\n height: coordinate.isTransposed ? 0 : height + margin * 2,\n },\n endState,\n attrs: {\n x: start.x - margin,\n y: end.y - margin,\n width: width + margin * 2,\n height: height + margin * 2,\n },\n };\n}\n\n/**\n * 获取坐标系范围的 BBox\n * @param coordinate\n * @param margin\n */\nexport function getCoordinateBBox(coordinate: Coordinate, margin = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const minX = Math.min(start.x, end.x);\n const minY = Math.min(start.y, end.y);\n\n return BBox.fromRange(minX - margin, minY - margin, minX + width + margin, minY + height + margin);\n}\n","import { firstValue, get, isEmpty, isNil, isNumber, isString, valuesOfKey } from '@antv/util';\nimport { GROUP_ATTRS } from '../constant';\nimport { getScale, Scale, Coordinate } from '../dependents';\nimport { LooseObject, ScaleOption, ViewCfg } from '../interface';\nimport { isFullCircle } from './coordinate';\n\nconst dateRegex =\n /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\\1(?:29|30)|(?:0?[13578]|1[02])\\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]+)0?2\\2(?:29))(\\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;\n\n/**\n * 获取字段对应数据的类型\n * @param field 数据字段名\n * @param data 数据源\n * @returns default type 返回对应的数据类型\n */\nfunction getDefaultType(value: any): string {\n let type = 'linear';\n if (dateRegex.test(value)) {\n type = 'timeCat';\n } else if (isString(value)) {\n type = 'cat';\n }\n return type;\n}\n\n/**\n * using the scale type if user specified, otherwise infer the type\n */\nexport function inferScaleType(scale: Scale, scaleDef: ScaleOption = {}, attrType: string, geometryType: string): string {\n if (scaleDef.type) return scaleDef.type;\n // identity scale 直接返回\n // geometry 类型有: edge,heatmap,interval,line,path,point,polygon,schema,voilin等;理论上,interval 下,可以用 linear scale 作为分组字段\n if (scale.type !== 'identity' && GROUP_ATTRS.includes(attrType) && ['interval'].includes(geometryType)) {\n return 'cat';\n }\n return scale.isCategory ? 'cat' : scale.type;\n}\n\n/**\n * @ignore\n * 为指定的 `field` 字段数据创建 scale\n * @param field 字段名\n * @param [data] 数据集,可为空\n * @param [scaleDef] 列定义,可为空\n * @returns scale 返回创建的 Scale 实例\n */\nexport function createScaleByField(field: string | number, data?: LooseObject[] | [], scaleDef?: ScaleOption): Scale {\n const validData = data || [];\n\n if (isNumber(field) || (isNil(firstValue(validData, field)) && isEmpty(scaleDef))) {\n const Identity = getScale('identity');\n return new Identity({\n field: field.toString(),\n values: [field],\n });\n }\n\n const values = valuesOfKey(validData, field);\n\n // 如果已经定义过这个度量 (fix-later 单纯从数据中,推断 scale type 是不精确的)\n const type = get(scaleDef, 'type', getDefaultType(values[0]));\n const ScaleCtor = getScale(type);\n return new ScaleCtor({\n field,\n values,\n ...scaleDef,\n });\n}\n\n/**\n * @ignore\n * 同步 scale\n * @todo 是否可以通过 scale.update() 方法进行更新\n * @param scale 需要同步的 scale 实例\n * @param newScale 同步源 Scale\n */\nexport function syncScale(scale: Scale, newScale: Scale) {\n if (scale.type !== 'identity' && newScale.type !== 'identity') {\n const obj = {};\n for (const k in newScale) {\n if (Object.prototype.hasOwnProperty.call(newScale, k)) {\n obj[k] = newScale[k];\n }\n }\n\n scale.change(obj);\n }\n}\n\n/**\n * @ignore\n * get the scale name, if alias exist, return alias, or else field\n * @param scale\n * @returns the name of field\n */\nexport function getName(scale: Scale): string {\n return scale.alias || scale.field;\n}\n\n/**\n * 根据 scale values 和 coordinate 获取分类默认 range\n * @param scale 需要获取的 scale 实例\n * @param coordinate coordinate 实例\n * @param theme theme\n */\nexport function getDefaultCategoryScaleRange(\n scale: Scale,\n coordinate: Coordinate,\n theme: ViewCfg['theme']\n): Scale['range'] {\n const { values } = scale;\n const count = values.length;\n let range;\n\n if (count === 1) {\n range = [0.5, 1]; // 只有一个分类时,防止计算出现 [0.5,0.5] 的状态\n } else {\n let widthRatio = 1;\n let offset = 0;\n\n if (isFullCircle(coordinate)) {\n if (!coordinate.isTransposed) {\n range = [0, 1 - 1 / count];\n } else {\n widthRatio = get(theme, 'widthRatio.multiplePie', 1 / 1.3);\n offset = (1 / count) * widthRatio;\n range = [offset / 2, 1 - offset / 2];\n }\n } else {\n offset = 1 / count / 2; // 两边留下分类空间的一半\n range = [offset, 1 - offset]; // 坐标轴最前面和最后面留下空白防止绘制柱状图时\n }\n }\n return range;\n}\n\n/**\n * @function y轴scale的max\n * @param {yScale}\n */\nexport function getMaxScale(scale: Scale) {\n // 过滤values[]中 NaN/undefined/null 等\n const values = scale.values.filter((item) => !isNil(item) && !isNaN(item));\n\n return Math.max(...values, isNil(scale.max) ? -Infinity : scale.max);\n}\n","import { deepMix, get, isBoolean } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale } from '../dependents';\nimport { AxisCfg, AxisOption, Point, Region } from '../interface';\nimport { getName } from './scale';\nimport { vec2 } from '@antv/matrix-util';\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is rect\n * @param direction\n * @returns axis coordinate region\n */\nexport function getLineAxisRelativeRegion(direction: DIRECTION): Region {\n let start;\n let end;\n\n switch (direction) {\n case DIRECTION.TOP:\n start = { x: 0, y: 1 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.RIGHT:\n start = { x: 1, y: 0 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.BOTTOM:\n start = { x: 0, y: 0 };\n end = { x: 1, y: 0 };\n break;\n case DIRECTION.LEFT:\n start = { x: 0, y: 0 };\n end = { x: 0, y: 1 };\n break;\n default:\n start = end = { x: 0, y: 0 };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is polar\n * @param coordinate\n * @returns axis coordinate region\n */\nexport function getCircleAxisRelativeRegion(coordinate: Coordinate) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 1,\n y: 0,\n };\n } else {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 0,\n y: 1,\n };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get the axis region from coordinate\n * @param coordinate\n * @param direction\n * @returns the axis region (start point, end point)\n */\nexport function getAxisRegion(coordinate: Coordinate, direction: DIRECTION): Region {\n let region = { start: { x: 0, y: 0 }, end: { x: 0, y: 0 } };\n if (coordinate.isRect) {\n region = getLineAxisRelativeRegion(direction);\n } else if (coordinate.isPolar) {\n region = getCircleAxisRelativeRegion(coordinate);\n }\n\n const { start, end } = region;\n return {\n start: coordinate.convert(start),\n end: coordinate.convert(end),\n };\n}\n\n/**\n * @ignore\n * get axis factor\n * @param coordinate\n * @param direction\n * @returns factor\n */\nexport function getAxisFactor(coordinate: Coordinate, direction: DIRECTION): number {\n // rect coordinate, by direction\n if (coordinate.isRect) {\n return coordinate.isTransposed\n ? [DIRECTION.RIGHT, DIRECTION.BOTTOM].includes(direction)\n ? 1\n : -1\n : [DIRECTION.BOTTOM, DIRECTION.RIGHT].includes(direction)\n ? -1\n : 1;\n }\n\n // polar y axis, by angle\n if (coordinate.isPolar) {\n const startAngle = coordinate.x.start;\n return startAngle < 0 ? -1 : 1;\n }\n\n return 1;\n}\n\n/**\n * @ignore\n * whether the axis isVertical\n * @param region\n * @returns isVertical\n */\nexport function isVertical(region: Region): boolean {\n const { start, end } = region;\n\n return start.x === end.x;\n}\n\n/**\n * @ignore\n * get factor by region (real position)\n * @param region\n * @param center\n * @returns factor\n */\nexport function getAxisFactorByRegion(region: Region, center: Point): number {\n const { start, end } = region;\n\n const isAxisVertical = isVertical(region);\n\n // 垂直\n if (isAxisVertical) {\n // 左方,从下到上、右方,从上到下\n if ((start.y - end.y) * (center.x - start.x) > 0) {\n return 1;\n } else {\n return -1;\n }\n } else {\n // 下方,从左到右、上方,从右到做\n if ((end.x - start.x) * (start.y - center.y) > 0) {\n return -1;\n } else {\n return 1;\n }\n }\n}\n\n/**\n * @ignore\n * get the axis cfg from theme, will mix the common cfg of legend theme\n *\n * @param theme view theme object\n * @param direction axis direction\n * @returns axis theme cfg\n */\nexport function getAxisThemeCfg(theme: object, direction: string): object {\n const axisTheme = get(theme, ['components', 'axis'], {});\n return deepMix({}, get(axisTheme, ['common'], {}), deepMix({}, get(axisTheme, [direction], {})));\n}\n\n/**\n * get the options of axis title,mix the cfg from theme, avoid common themeCfg not work\n * @param theme\n * @param direction\n * @param axisOptions\n * @returns axis title options\n */\nexport function getAxisTitleOptions(theme: object, direction: string, axisOptions?: object): object {\n const axisTheme = get(theme, ['components', 'axis'], {});\n return deepMix(\n {},\n get(axisTheme, ['common', 'title'], {}),\n deepMix({}, get(axisTheme, [direction, 'title'], {})),\n axisOptions\n );\n}\n\n/**\n * @ignore\n * get circle axis center and radius\n * @param coordinate\n */\nexport function getCircleAxisCenterRadius(coordinate: Coordinate) {\n // @ts-ignore\n const { x, y, circleCenter: center } = coordinate;\n const isReflectY = y.start > y.end;\n const start = coordinate.isTransposed\n ? coordinate.convert({\n x: isReflectY ? 0 : 1,\n y: 0,\n })\n : coordinate.convert({\n x: 0,\n y: isReflectY ? 0 : 1,\n });\n\n const startVector: [number, number] = [start.x - center.x, start.y - center.y];\n const normalVector: [number, number] = [1, 0];\n const startAngle =\n start.y > center.y ? vec2.angle(startVector, normalVector) : vec2.angle(startVector, normalVector) * -1;\n const endAngle = startAngle + (x.end - x.start);\n const radius = Math.sqrt((start.x - center.x) ** 2 + (start.y - center.y) ** 2);\n\n return {\n center,\n radius,\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 从配置中获取单个字段的 axis 配置\n * @param axes\n * @param field\n * @returns the axis option of field\n */\nexport function getAxisOption(axes: Record | boolean, field: string) {\n if (isBoolean(axes)) {\n return axes === false ? false : {};\n }\n return get(axes, [field]);\n}\n\n/**\n * @ignore\n * 如果配置了 position,则使用配置\n * @param axisOption\n * @param def\n */\nexport function getAxisDirection(axisOption: AxisOption, def: DIRECTION): DIRECTION {\n return get(axisOption, 'position', def);\n}\n\n/**\n * 获取 axis 的 title 文本\n * @param scale\n * @param axisOption\n */\nexport function getAxisTitleText(scale: Scale, axisOption: AxisCfg): string {\n return get(axisOption, ['title', 'text'], getName(scale));\n}\n","import { deepMix, each, every, get, isNil, isNumber } from '@antv/util';\nimport { LAYER } from '../constant';\nimport { IGroup } from '../dependents';\nimport { AxisCfg, Condition, Datum, FacetCfg, FacetData, FacetDataFilter, Region } from '../interface';\n\nimport View from '../chart/view';\nimport { getAxisOption } from '../util/axis';\n\n/**\n * facet 基类\n * - 定义生命周期,方便自定义 facet\n * - 提供基础的生命流程方法\n *\n * 生命周期:\n *\n * 初始化 init\n * 1. 初始化容器\n * 2. 数据分面,生成分面布局信息\n *\n * 渲染阶段 render\n * 1. view 创建\n * 2. title\n * 3. axis\n *\n * 清除阶段 clear\n * 1. 清除 view\n *\n * 销毁阶段 destroy\n * 1. clear\n * 2. 清除事件\n * 3. 清除 group\n */\nexport abstract class Facet = FacetCfg, F extends FacetData = FacetData> {\n /** 分面所在的 view */\n public view: View;\n /** 分面容器 */\n public container: IGroup;\n /** 是否销毁 */\n public destroyed: boolean = false;\n\n /** 分面的配置项 */\n protected cfg: C;\n /** 分面之后的所有分面数据结构 */\n protected facets: F[] = [];\n\n constructor(view: View, cfg: C) {\n this.view = view;\n this.cfg = deepMix({}, this.getDefaultCfg(), cfg);\n }\n\n /**\n * 初始化过程\n */\n public init() {\n // 初始化容器\n if (!this.container) {\n this.container = this.createContainer();\n }\n\n // 生成分面布局信息\n const data = this.view.getData();\n this.facets = this.generateFacets(data);\n }\n\n /**\n * 渲染分面,由上层 view 调用。包括:\n * - 分面 view\n * - 轴\n * - title\n *\n * 子类可以复写,添加一些其他组件,比如滚动条等\n */\n public render() {\n this.renderViews();\n }\n\n /**\n * 更新 facet\n */\n public update() {\n // 其实不用做任何事情,因为 facet 最终生成的 View 和 Geometry 都在父 view 的更新中处理了\n }\n\n /**\n * 清空,clear 之后如果还需要使用,需要重新调用 init 初始化过程\n * 一般在数据有变更的时候调用,重新进行数据的分面逻辑\n */\n public clear() {\n this.clearFacetViews();\n }\n\n /**\n * 销毁\n */\n public destroy() {\n this.clear();\n\n if (this.container) {\n this.container.remove(true);\n this.container = undefined;\n }\n\n this.destroyed = true;\n this.view = undefined;\n this.facets = [];\n }\n\n /**\n * 根据 facet 生成 view,可以给上层自定义使用\n * @param facet\n */\n protected facetToView(facet: F): View {\n const { region, data, padding = this.cfg.padding } = facet;\n\n const view = this.view.createView({\n region,\n padding,\n });\n\n // 设置分面的数据\n view.data(data || []);\n facet.view = view;\n\n // 前置钩子\n this.beforeEachView(view, facet);\n\n const { eachView } = this.cfg;\n if (eachView) {\n eachView(view, facet);\n }\n\n // 后置钩子\n this.afterEachView(view, facet);\n\n return view;\n }\n\n // 创建容器\n private createContainer(): IGroup {\n const foregroundGroup = this.view.getLayer(LAYER.FORE);\n return foregroundGroup.addGroup();\n }\n\n /**\n * 初始化 view\n */\n private renderViews() {\n this.createFacetViews();\n }\n\n /**\n * 创建 分面 view\n */\n private createFacetViews(): View[] {\n // 使用分面数据 创建分面 view\n return this.facets.map((facet): View => {\n return this.facetToView(facet);\n });\n }\n\n /**\n * 从 view 中清除 facetView\n */\n private clearFacetViews() {\n // 从 view 中移除分面 view\n each(this.facets, (facet) => {\n if (facet.view) {\n this.view.removeView(facet.view);\n facet.view = undefined;\n }\n });\n }\n\n /**\n * 解析 spacing\n */\n private parseSpacing() {\n /**\n * @example\n *\n * // 仅使用百分比或像素值\n * // 横向间隔为 10%,纵向间隔为 10%\n * ['10%', '10%']\n * // 横向间隔为 10px,纵向间隔为 10px\n * [10, 10]\n *\n * // 同时使用百分比和像素值\n * ['10%', 10]\n * // 横向间隔为 10%,纵向间隔为 10px\n */\n const { width, height } = this.view.viewBBox;\n const { spacing } = this.cfg;\n return spacing.map((s: number, idx: number) => {\n if (isNumber(s)) return s / (idx === 0 ? width : height);\n else return parseFloat(s) / 100;\n });\n }\n\n // 其他一些提供给子类使用的方法\n\n /**\n * 获取这个字段对应的所有值,数组\n * @protected\n * @param data 数据\n * @param field 字段名\n * @return 字段对应的值\n */\n protected getFieldValues(data: Datum[], field: string): string[] {\n const rst = [];\n const cache: Record = {};\n\n // 去重、去除 Nil 值\n each(data, (d: Datum) => {\n const value = d[field];\n if (!isNil(value) && !cache[value]) {\n rst.push(value);\n cache[value] = true;\n }\n });\n\n return rst;\n }\n\n /**\n * 获得每个分面的 region,平分区域\n * @param rows row 总数\n * @param cols col 总数\n * @param xIndex x 方向 index\n * @param yIndex y 方向 index\n */\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number): Region {\n const [xSpacing, ySpacing] = this.parseSpacing();\n // 每两个分面区域横向间隔xSPacing, 纵向间隔ySpacing\n // 每个分面区域的横纵占比\n /**\n * ratio * num + spacing * (num - 1) = 1\n * => ratio = (1 - (spacing * (num - 1))) / num\n * = (1 + spacing) / num - spacing\n *\n * num 对应 cols/rows\n * spacing 对应 xSpacing/ySpacing\n */\n const xRatio = (1 + xSpacing) / (cols === 0 ? 1 : cols) - xSpacing;\n const yRatio = (1 + ySpacing) / (rows === 0 ? 1 : rows) - ySpacing;\n\n // 得到第 index 个分面区域百分比位置\n const start = {\n x: (xRatio + xSpacing) * xIndex,\n y: (yRatio + ySpacing) * yIndex,\n };\n const end = {\n x: start.x + xRatio,\n y: start.y + yRatio,\n };\n return { start, end };\n }\n\n protected getDefaultCfg() {\n return {\n eachView: undefined,\n showTitle: true,\n spacing: [0, 0],\n padding: 10,\n fields: [],\n };\n }\n\n /**\n * 默认的 title 样式,因为有的分面是 title,有的分面配置是 columnTitle、rowTitle\n */\n protected getDefaultTitleCfg() {\n // @ts-ignore\n const fontFamily = this.view.getTheme().fontFamily;\n return {\n style: {\n fontSize: 14,\n fill: '#666',\n fontFamily,\n },\n };\n }\n\n /**\n * 处理 axis 的默认配置\n * @param view\n * @param facet\n */\n protected processAxis(view: View, facet: F) {\n const options = view.getOptions();\n\n const coordinateOption = options.coordinate;\n const geometries = view.geometries;\n\n const coordinateType = get(coordinateOption, 'type', 'rect');\n\n if (coordinateType === 'rect' && geometries.length) {\n if (isNil(options.axes)) {\n // @ts-ignore\n options.axes = {};\n }\n const axes = options.axes;\n\n const [x, y] = geometries[0].getXYFields();\n\n const xOption = getAxisOption(axes, x);\n const yOption = getAxisOption(axes, y);\n\n if (xOption !== false) {\n options.axes[x] = this.getXAxisOption(x, axes, xOption, facet);\n }\n\n if (yOption !== false) {\n options.axes[y] = this.getYAxisOption(y, axes, yOption, facet);\n }\n }\n }\n\n /**\n * 获取分面数据\n * @param conditions\n */\n protected getFacetDataFilter(conditions: Condition[]): FacetDataFilter {\n return (datum: Datum) => {\n // 过滤出全部满足条件的数据\n return every(conditions, (condition) => {\n const { field, value } = condition;\n\n if (!isNil(value) && field) {\n return datum[field] === value;\n }\n return true;\n });\n };\n }\n\n /**\n * @override 开始处理 eachView\n * @param view\n * @param facet\n */\n protected abstract beforeEachView(view: View, facet: F);\n\n /**\n * @override 处理 eachView 之后\n * @param view\n * @param facet\n */\n protected abstract afterEachView(view: View, facet: F);\n\n /**\n * @override 生成分面数据,包含布局\n * @param data\n */\n protected abstract generateFacets(data: Datum[]): F[];\n\n /**\n * 获取 x 轴的配置\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getXAxisOption(x: string, axes: any, option: AxisCfg, facet: F): object;\n\n /**\n * 获取 y 轴的配置\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getYAxisOption(y: string, axes: any, option: AxisCfg, facet: F): object;\n}\n","import { lowerCase } from '@antv/util';\nimport { FacetCtor } from '../interface';\nexport { Facet } from './facet';\n\n/**\n * 所有的 Facet 类\n */\nconst Facets: Record = {};\n\n/**\n * 根据 type 获取 facet 类\n * @param type 分面类型\n */\nexport const getFacet = (type: string): FacetCtor => {\n return Facets[lowerCase(type)];\n};\n\n/**\n * 注册一个 Facet 类\n * @param type 分面类型\n * @param ctor 分面类\n */\nexport const registerFacet = (type: string, ctor: FacetCtor) => {\n Facets[lowerCase(type)] = ctor;\n};\n","import { assign } from '@antv/util';\nimport { IAction, IInteractionContext, LooseObject } from '../../interface';\n\n/**\n * Action 的基类\n */\nabstract class Action implements IAction {\n /** Action 名字 */\n public name;\n /** 上下文对象 */\n public context: IInteractionContext;\n /** Action 配置 */\n protected cfg: T;\n /** 配置项的字段,自动负值到 this 上 */\n protected cfgFields: string[];\n\n constructor(context: IInteractionContext, cfg?: T) {\n this.context = context;\n this.cfg = cfg;\n context.addAction(this);\n }\n\n /**\n * 设置配置项传入的值\n * @param cfg\n */\n protected applyCfg(cfg) {\n assign(this, cfg);\n }\n\n /**\n * Inits action,提供给子类用于继承\n */\n public init() {\n this.applyCfg(this.cfg);\n }\n\n /**\n * Destroys action\n */\n public destroy() {\n // 移除 action\n this.context.removeAction(this);\n // 清空\n this.context = null;\n }\n}\n\nexport default Action;\n","import { ActionCallback } from '../../interface';\nimport Action from './base';\n\n/** 回调函数构建的 Action */\nexport default class CallbackAction extends Action {\n /**\n * 回调函数\n */\n public callback: ActionCallback;\n /**\n * 执行\n */\n public execute() {\n if (this.callback) {\n this.callback(this.context);\n }\n }\n /**\n * 销毁\n */\n public destroy() {\n super.destroy();\n this.callback = null;\n }\n}\n","import { ActionCallback, IInteractionContext, LooseObject } from '../../interface';\nimport Action from './base';\nimport CallbackAction from './callback';\nimport { get } from '@antv/util';\n\n/** Action 构造函数 */\ntype ActionConstructor = new (context: IInteractionContext, cfg?: LooseObject) => Action;\n\n/** @ignore */\ninterface ActionOption {\n ActionClass: ActionConstructor;\n cfg: LooseObject;\n}\n\n// Action 类的缓存\nconst ActionCache: Record = {};\n\n/**\n * 根据名称获取 Action 实例\n * @param actionName - action 的名称\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createAction(actionName: string, context: IInteractionContext): Action {\n const actionOption = ActionCache[actionName];\n let action = null;\n if (actionOption) {\n const { ActionClass, cfg } = actionOption;\n action = new ActionClass(context, cfg);\n action.name = actionName;\n action.init();\n }\n return action;\n}\n\n/**\n * 根据 action 的 name 获取定义的类\n * @param actionName action 的 name\n */\nexport function getActionClass(actionName: string): ActionConstructor {\n const actionOption = ActionCache[actionName];\n return get(actionOption, 'ActionClass');\n}\n\n/**\n * 注册 Action\n * @param actionName - action 的名称\n * @param ActionClass - 继承自 action 的类\n */\nexport function registerAction(actionName: string, ActionClass: ActionConstructor, cfg?: LooseObject) {\n ActionCache[actionName] = {\n ActionClass,\n cfg,\n };\n}\n\n/**\n * 取消注册 Action\n * @param actionName action 名称\n */\nexport function unregisterAction(actionName: string) {\n delete ActionCache[actionName];\n}\n\n/**\n * 根据回调函数获取 Action 实例\n * @param callback - action 的回调函数\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createCallbackAction(callback: ActionCallback, context: IInteractionContext): CallbackAction {\n const action = new CallbackAction(context);\n action.callback = callback;\n action.name = 'callback';\n return action;\n}\n","import { vec2 } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position } from '../../../interface';\nimport { getDistanceToCenter } from '../../../util/coordinate';\n\nfunction _points2path(points: Point[], isInCircle: boolean): PathCommand[] {\n const path = [];\n if (points.length) {\n path.push(['M', points[0].x, points[0].y]);\n for (let i = 1, length = points.length; i < length; i += 1) {\n const item = points[i];\n path.push(['L', item.x, item.y]);\n }\n\n if (isInCircle) {\n path.push(['Z']);\n }\n }\n\n return path;\n}\n\nfunction _convertArr(arr: number[], coord: Coordinate): any[] {\n const tmp = [arr[0]];\n for (let i = 1, len = arr.length; i < len; i = i + 2) {\n const point = coord.convert({\n x: arr[i],\n y: arr[i + 1],\n });\n tmp.push(point.x, point.y);\n }\n return tmp;\n}\nfunction _convertArcPath(path: PathCommand, coord: Coordinate): any[] {\n const { isTransposed } = coord;\n const r = path[1];\n const x = path[6];\n const y = path[7];\n const point = coord.convert({ x, y });\n const direction = isTransposed ? 0 : 1;\n return ['A', r, r, 0, 0, direction, point.x, point.y];\n}\n\nfunction _convertPolarPath(pre: PathCommand, cur: PathCommand, coord: Coordinate): PathCommand[] {\n const { isTransposed, startAngle, endAngle } = coord;\n const prePoint =\n pre[0].toLowerCase() === 'a'\n ? {\n x: pre[6],\n y: pre[7],\n }\n : {\n x: pre[1],\n y: pre[2],\n };\n const curPoint = {\n x: cur[1],\n y: cur[2],\n };\n const rst = [];\n const xDim = isTransposed ? 'y' : 'x';\n const angleRange = Math.abs(curPoint[xDim] - prePoint[xDim]) * (endAngle - startAngle);\n const direction = curPoint[xDim] >= prePoint[xDim] ? 1 : 0; // 圆弧的方向\n const flag = angleRange > Math.PI ? 1 : 0; // 大弧还是小弧标志位\n const convertPoint = coord.convert(curPoint);\n const r = getDistanceToCenter(coord, convertPoint);\n if (r >= 0.5) {\n // 小于1像素的圆在图像上无法识别\n if (angleRange === Math.PI * 2) {\n const middlePoint = {\n x: (curPoint.x + prePoint.x) / 2,\n y: (curPoint.y + prePoint.y) / 2,\n };\n const middleConvertPoint = coord.convert(middlePoint);\n rst.push(['A', r, r, 0, flag, direction, middleConvertPoint.x, middleConvertPoint.y]);\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n } else {\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n }\n }\n return rst;\n}\n\n// 当存在整体的圆时,去除圆前面和后面的线,防止出现直线穿过整个圆的情形\nfunction _filterFullCirleLine(path: PathCommand[]) {\n each(path, (subPath, index) => {\n const cur = subPath;\n if (cur[0].toLowerCase() === 'a') {\n const pre = path[index - 1];\n const next = path[index + 1];\n if (next && next[0].toLowerCase() === 'a') {\n if (pre && pre[0].toLowerCase() === 'l') {\n pre[0] = 'M';\n }\n } else if (pre && pre[0].toLowerCase() === 'a') {\n if (next && next[0].toLowerCase() === 'l') {\n next[0] = 'M';\n }\n }\n }\n });\n}\n\n/**\n * @ignore\n * 计算光滑的贝塞尔曲线\n */\nexport const smoothBezier = (\n points: Position[],\n smooth: number,\n isLoop: boolean,\n constraint: Position[]\n): Position[] => {\n const cps = [];\n const hasConstraint = !!constraint;\n\n let prevPoint: Position;\n let nextPoint: Position;\n let min: Position;\n let max: Position;\n let nextCp0: Position;\n let cp1: Position;\n let cp0: Position;\n\n if (hasConstraint) {\n [min, max] = constraint;\n for (let i = 0, l = points.length; i < l; i++) {\n const point = points[i];\n min = vec2.min([0, 0], min, point) as [number, number];\n max = vec2.max([0, 0], max, point) as [number, number];\n }\n }\n\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (i === 0 && !isLoop) {\n cp0 = point;\n } else if (i === len - 1 && !isLoop) {\n cp1 = point;\n cps.push(cp0);\n cps.push(cp1);\n } else {\n prevPoint = points[isLoop ? (i ? i - 1 : len - 1) : i - 1];\n nextPoint = points[isLoop ? (i + 1) % len : i + 1];\n\n let v: [number, number] = [0, 0];\n v = vec2.sub(v, nextPoint, prevPoint) as [number, number];\n v = vec2.scale(v, v, smooth) as [number, number];\n\n let d0 = vec2.distance(point, prevPoint);\n let d1 = vec2.distance(point, nextPoint);\n\n const sum = d0 + d1;\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n let v1 = vec2.scale([0, 0], v, -d0);\n let v2 = vec2.scale([0, 0], v, d1);\n\n cp1 = vec2.add([0, 0], point, v1) as Position;\n nextCp0 = vec2.add([0, 0], point, v2) as Position;\n\n // 下一个控制点必须在这个点和下一个点之间\n nextCp0 = vec2.min([0, 0], nextCp0, vec2.max([0, 0], nextPoint, point)) as Position;\n nextCp0 = vec2.max([0, 0], nextCp0, vec2.min([0, 0], nextPoint, point)) as Position;\n\n // 重新计算 cp1 的值\n v1 = vec2.sub([0, 0], nextCp0, point);\n v1 = vec2.scale([0, 0], v1, -d0 / d1);\n cp1 = vec2.add([0, 0], point, v1) as Position;\n\n // 上一个控制点必须要在上一个点和这一个点之间\n cp1 = vec2.min([0, 0], cp1, vec2.max([0, 0], prevPoint, point)) as Position;\n cp1 = vec2.max([0, 0], cp1, vec2.min([0, 0], prevPoint, point)) as Position;\n\n // 重新计算 nextCp0 的值\n v2 = vec2.sub([0, 0], point, cp1);\n v2 = vec2.scale([0, 0], v2, d1 / d0);\n nextCp0 = vec2.add([0, 0], point, v2) as Position;\n\n if (hasConstraint) {\n cp1 = vec2.max([0, 0], cp1, min) as Position;\n cp1 = vec2.min([0, 0], cp1, max) as Position;\n nextCp0 = vec2.max([0, 0], nextCp0, min) as Position;\n nextCp0 = vec2.min([0, 0], nextCp0, max) as Position;\n }\n\n cps.push(cp0);\n cps.push(cp1);\n cp0 = nextCp0;\n }\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n\n return cps;\n};\n\n/**\n * @ignore\n * 贝塞尔曲线\n */\nexport function catmullRom2bezier(crp: number[], z: boolean, constraint: Position[]): PathCommand[] {\n const isLoop = !!z;\n const pointList = [];\n for (let i = 0, l = crp.length; i < l; i += 2) {\n pointList.push([crp[i], crp[i + 1]]);\n }\n\n const controlPointList = smoothBezier(pointList, 0.4, isLoop, constraint);\n const len = pointList.length;\n const d1 = [];\n\n let cp1: Position;\n let cp2: Position;\n let p: Position;\n\n for (let i = 0; i < len - 1; i++) {\n cp1 = controlPointList[i * 2];\n cp2 = controlPointList[i * 2 + 1];\n p = pointList[i + 1];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n\n if (isLoop) {\n cp1 = controlPointList[len];\n cp2 = controlPointList[len + 1];\n p = pointList[0];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n return d1;\n}\n\n/**\n * @ignore\n * 将点连接成路径 path\n */\nexport function getLinePath(points: Point[], isInCircle?: boolean): PathCommand[] {\n return _points2path(points, isInCircle);\n}\n\n/**\n * @ignore\n * 根据关键点获取限定了范围的平滑线\n */\nexport function getSplinePath(points: Point[], isInCircle?: boolean, constaint?: Position[]): PathCommand[] {\n const data = [];\n const first = points[0];\n let prePoint = null;\n if (points.length <= 2) {\n // 两点以内直接绘制成路径\n return getLinePath(points, isInCircle);\n }\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!prePoint || !(prePoint.x === point.x && prePoint.y === point.y)) {\n data.push(point.x);\n data.push(point.y);\n prePoint = point;\n }\n }\n const constraint = constaint || [\n // 范围\n [0, 0],\n [1, 1],\n ];\n const splinePath = catmullRom2bezier(data, isInCircle, constraint);\n splinePath.unshift(['M', first.x, first.y]);\n return splinePath;\n}\n\n/**\n * @ignore\n * 将归一化后的路径数据转换成坐标\n */\nexport function convertNormalPath(coord, path: PathCommand[]): PathCommand[] {\n const tmp = [];\n each(path, (subPath) => {\n const action = subPath[0];\n switch (action.toLowerCase()) {\n case 'm':\n case 'l':\n case 'c':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'a':\n tmp.push(_convertArcPath(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n return tmp;\n}\n\n/**\n * @ignore\n * 将路径转换为极坐标下的真实路径\n */\nexport function convertPolarPath(coord, path: PathCommand[]): PathCommand[] {\n let tmp = [];\n let pre: PathCommand;\n let cur: PathCommand;\n let transposed: boolean;\n let equals: boolean;\n each(path, (subPath, index) => {\n const action = subPath[0];\n\n switch (action.toLowerCase()) {\n case 'm':\n case 'c':\n case 'q':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'l':\n pre = path[index - 1];\n cur = subPath;\n transposed = coord.isTransposed;\n // 是否半径相同,转换成圆弧\n equals = transposed ? pre[pre.length - 2] === cur[1] : pre[pre.length - 1] === cur[2];\n if (equals) {\n tmp = tmp.concat(_convertPolarPath(pre, cur, coord));\n } else {\n // y 不相等,所以直接转换\n tmp.push(_convertArr(subPath, coord));\n }\n break;\n case 'a':\n tmp.push(_convertArcPath(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n _filterFullCirleLine(tmp); // 过滤多余的直线\n return tmp;\n}\n","import { isArray } from '@antv/util';\n\nconst SPACES = '\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029';\nconst PATH_COMMAND = new RegExp('([a-z])[' + SPACES + ',]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[' + SPACES + ']*,?[' + SPACES + ']*)+)', 'ig');\nconst PATH_VALUES = new RegExp('(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[' + SPACES + ']*,?[' + SPACES + ']*', 'ig');\n\n// Parses given path string into an array of arrays of path segments\nexport default function parsePathString(pathString: string) {\n if (!pathString) {\n return null;\n }\n\n if (isArray(pathString)) {\n return pathString;\n }\n const paramCounts = {\n a: 7,\n c: 6,\n o: 2,\n h: 1,\n l: 2,\n m: 2,\n r: 4,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n u: 3,\n z: 0,\n };\n const data = [];\n\n String(pathString).replace(PATH_COMMAND, function (a, b, c) {\n const params = [];\n let name = b.toLowerCase();\n c.replace(PATH_VALUES, function (a, b) {\n b && params.push(+b);\n });\n if (name === 'm' && params.length > 2) {\n data.push([ b ].concat(params.splice(0, 2)));\n name = 'l';\n b = b === 'm' ? 'l' : 'L';\n }\n if (name === 'o' && params.length === 1) {\n data.push([ b, params[0] ]);\n }\n if (name === 'r') {\n data.push([ b ].concat(params));\n } else {\n while (params.length >= paramCounts[name]) {\n data.push([ b ].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n }\n return '';\n });\n\n return data;\n}\n","const TAU = Math.PI * 2\n\nconst mapToEllipse = ({ x, y }: { x: number, y: number }, rx: number, ry: number, cosphi: number, sinphi: number, centerx: number, centery: number) => {\n x *= rx\n y *= ry\n\n const xp = cosphi * x - sinphi * y\n const yp = sinphi * x + cosphi * y\n\n return {\n x: xp + centerx,\n y: yp + centery\n }\n}\n\nconst approxUnitArc = (ang1: number, ang2: number) => {\n // If 90 degree circular arc, use a constant\n // as derived from http://spencermortensen.com/articles/bezier-circle\n const a = ang2 === 1.5707963267948966\n ? 0.551915024494\n : ang2 === -1.5707963267948966\n ? -0.551915024494\n : 4 / 3 * Math.tan(ang2 / 4)\n\n const x1 = Math.cos(ang1)\n const y1 = Math.sin(ang1)\n const x2 = Math.cos(ang1 + ang2)\n const y2 = Math.sin(ang1 + ang2)\n\n return [\n {\n x: x1 - y1 * a,\n y: y1 + x1 * a\n },\n {\n x: x2 + y2 * a,\n y: y2 - x2 * a\n },\n {\n x: x2,\n y: y2\n }\n ]\n}\n\nconst vectorAngle = (ux: number, uy: number, vx: number, vy: number) => {\n const sign = (ux * vy - uy * vx < 0) ? -1 : 1\n\n let dot = ux * vx + uy * vy\n\n if (dot > 1) {\n dot = 1\n }\n\n if (dot < -1) {\n dot = -1\n }\n\n return sign * Math.acos(dot)\n}\n\nconst getArcCenter = (\n px: any,\n py: any,\n cx: any,\n cy: any,\n rx: number,\n ry: number,\n largeArcFlag: number,\n sweepFlag: number,\n sinphi: number,\n cosphi: number,\n pxp: number,\n pyp: number\n) => {\n const rxsq = Math.pow(rx, 2)\n const rysq = Math.pow(ry, 2)\n const pxpsq = Math.pow(pxp, 2)\n const pypsq = Math.pow(pyp, 2)\n\n let radicant = (rxsq * rysq) - (rxsq * pypsq) - (rysq * pxpsq)\n\n if (radicant < 0) {\n radicant = 0\n }\n\n radicant /= (rxsq * pypsq) + (rysq * pxpsq)\n radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1)\n\n const centerxp = radicant * rx / ry * pyp\n const centeryp = radicant * -ry / rx * pxp\n\n const centerx = cosphi * centerxp - sinphi * centeryp + (px + cx) / 2\n const centery = sinphi * centerxp + cosphi * centeryp + (py + cy) / 2\n\n const vx1 = (pxp - centerxp) / rx\n const vy1 = (pyp - centeryp) / ry\n const vx2 = (-pxp - centerxp) / rx\n const vy2 = (-pyp - centeryp) / ry\n\n let ang1 = vectorAngle(1, 0, vx1, vy1)\n let ang2 = vectorAngle(vx1, vy1, vx2, vy2)\n\n if (sweepFlag === 0 && ang2 > 0) {\n ang2 -= TAU\n }\n\n if (sweepFlag === 1 && ang2 < 0) {\n ang2 += TAU\n }\n\n return [ centerx, centery, ang1, ang2 ]\n}\n\nconst arcToBezier = ({\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n xAxisRotation = 0,\n largeArcFlag = 0,\n sweepFlag = 0\n}) => {\n const curves = []\n\n if (rx === 0 || ry === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n const sinphi = Math.sin(xAxisRotation * TAU / 360)\n const cosphi = Math.cos(xAxisRotation * TAU / 360)\n\n const pxp = cosphi * (px - cx) / 2 + sinphi * (py - cy) / 2\n const pyp = -sinphi * (px - cx) / 2 + cosphi * (py - cy) / 2\n\n if (pxp === 0 && pyp === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n\n const lambda =\n Math.pow(pxp, 2) / Math.pow(rx, 2) +\n Math.pow(pyp, 2) / Math.pow(ry, 2)\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda)\n ry *= Math.sqrt(lambda)\n }\n\n let [ centerx, centery, ang1, ang2 ] = getArcCenter(\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n largeArcFlag,\n sweepFlag,\n sinphi,\n cosphi,\n pxp,\n pyp\n )\n\n // If 'ang2' == 90.0000000001, then `ratio` will evaluate to\n // 1.0000000001. This causes `segments` to be greater than one, which is an\n // unecessary split, and adds extra points to the bezier curve. To alleviate\n // this issue, we round to 1.0 when the ratio is close to 1.0.\n let ratio = Math.abs(ang2) / (TAU / 4)\n if (Math.abs(1.0 - ratio) < 0.0000001) {\n ratio = 1.0\n }\n\n const segments = Math.max(Math.ceil(ratio), 1)\n\n ang2 /= segments\n\n for (let i = 0; i < segments; i++) {\n curves.push(approxUnitArc(ang1, ang2))\n ang1 += ang2\n }\n\n return curves.map(curve => {\n const { x: x1, y: y1 } = mapToEllipse(curve[ 0 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x: x2, y: y2 } = mapToEllipse(curve[ 1 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x, y } = mapToEllipse(curve[ 2 ], rx, ry, cosphi, sinphi, centerx, centery)\n\n return { x1, y1, x2, y2, x, y }\n })\n}\n\nexport function arcToCubic(x1: number, y1: number, rx: number, ry: number, angle: number, LAF: number, SF: number, x2: number, y2: number) {\n const curves = arcToBezier({\n px: x1,\n py: y1,\n cx: x2,\n cy: y2,\n rx,\n ry,\n xAxisRotation: angle,\n largeArcFlag: LAF,\n sweepFlag: SF,\n });\n\n return curves.reduce((prev, cur) => {\n const { x1, y1, x2, y2, x, y } = cur;\n prev.push(x1, y1, x2, y2, x, y);\n return prev;\n }, [] as number[]);\n}\n","/**\n * @fileoverview 判断点是否在多边形内\n * @author dxq613@gmail.com\n */\n\n// 多边形的射线检测,参考:https://blog.csdn.net/WilliamSun0122/article/details/77994526\nconst tolerance = 1e-6;\n// 三态函数,判断两个double在eps精度下的大小关系\nfunction dcmp(x) {\n if (Math.abs(x) < tolerance) {\n return 0;\n }\n\n return x < 0 ? -1 : 1;\n}\n\n// 判断点Q是否在p1和p2的线段上\nfunction onSegment(p1, p2, q) {\n if (\n (q[0] - p1[0]) * (p2[1] - p1[1]) === (p2[0] - p1[0]) * (q[1] - p1[1]) &&\n Math.min(p1[0], p2[0]) <= q[0] &&\n q[0] <= Math.max(p1[0], p2[0]) &&\n Math.min(p1[1], p2[1]) <= q[1] &&\n q[1] <= Math.max(p1[1], p2[1])\n ) {\n return true;\n }\n return false;\n}\n\n// 判断点P在多边形内-射线法\nexport default function isInPolygon(points, x, y) {\n let isHit = false;\n const n = points.length;\n if (n <= 2) {\n // svg 中点小于 3 个时,不显示,也无法被拾取\n return false;\n }\n for (let i = 0; i < n; i++) {\n const p1 = points[i];\n const p2 = points[(i + 1) % n];\n if (onSegment(p1, p2, [x, y])) {\n // 点在多边形一条边上\n return true;\n }\n // 前一个判断min(p1[1],p2[1]) 0 !== dcmp(p2[1] - y) > 0 &&\n dcmp(x - ((y - p1[1]) * (p1[0] - p2[0])) / (p1[1] - p2[1]) - p1[0]) < 0\n ) {\n isHit = !isHit;\n }\n }\n return isHit;\n}\n","type Point = {\n /**\n * x 值\n * @type {number}\n */\n x: number;\n /**\n * y 值\n * @type {number}\n */\n y: number;\n};\n\nconst isBetween = (value: number, min: number, max: number) => value >= min && value <= max;\n\n\nexport default function getLineIntersect(p0: Point, p1: Point, p2: Point, p3: Point): Point | null {\n const tolerance = 0.001;\n const E: Point = {\n x: p2.x - p0.x,\n y: p2.y - p0.y,\n };\n const D0: Point = {\n x: p1.x - p0.x,\n y: p1.y - p0.y,\n };\n const D1: Point = {\n x: p3.x - p2.x,\n y: p3.y - p2.y,\n };\n const kross: number = D0.x * D1.y - D0.y * D1.x;\n const sqrKross: number = kross * kross;\n const sqrLen0: number = D0.x * D0.x + D0.y * D0.y;\n const sqrLen1: number = D1.x * D1.x + D1.y * D1.y;\n let point: Point | null = null;\n if (sqrKross > tolerance * sqrLen0 * sqrLen1) {\n const s = (E.x * D1.y - E.y * D1.x) / kross;\n const t = (E.x * D0.y - E.y * D0.x) / kross;\n if (isBetween(s, 0, 1) && isBetween(t, 0, 1)) {\n point = {\n x: p0.x + s * D0.x,\n y: p0.y + s * D0.y,\n };\n }\n }\n return point;\n};","\nimport isPointInPolygon from './point-in-polygon';\nimport getLineIntersect from './get-line-intersect';\nimport {each} from '@antv/util';\n\nfunction parseToLines(points) {\n const lines = [];\n const count = points.length;\n for(let i = 0; i < count - 1; i++) {\n const point = points[i];\n const next = points[i + 1];\n lines.push({\n from: {\n x: point[0],\n y: point[1]\n },\n to: {\n x: next[0],\n y: next[1]\n }\n });\n }\n if (lines.length > 1) {\n const first = points[0];\n const last = points[count - 1];\n lines.push({\n from: {\n x: last[0],\n y: last[1]\n },\n to: {\n x: first[0],\n y: first[1]\n }\n });\n }\n return lines;\n}\n\nfunction lineIntersectPolygon(lines, line) {\n let isIntersect = false;\n each(lines, l => {\n if (getLineIntersect(l.from, l.to, line.from, line.to)) {\n isIntersect = true;\n return false;\n }\n });\n return isIntersect;\n}\n\ntype BBox = {\n minX: number;\n minY: number;\n maxX: number;\n maxY: number;\n};\n\nfunction getBBox(points): BBox {\n const xArr = points.map(p => p[0]);\n const yArr = points.map(p => p[1]);\n return {\n minX: Math.min.apply(null, xArr),\n maxX: Math.max.apply(null, xArr),\n minY: Math.min.apply(null, yArr),\n maxY: Math.max.apply(null, yArr)\n };\n}\n\nfunction intersectBBox(box1:BBox, box2:BBox) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\n\nexport default function isPolygonsIntersect(points1, points2) {\n // 空数组,或者一个点返回 false\n if (points1.length < 2 || points2.length < 2) {\n return false;\n }\n\n const bbox1 = getBBox(points1);\n const bbox2 = getBBox(points2);\n // 判定包围盒是否相交,比判定点是否在多边形内要快的多,可以筛选掉大多数情况\n if (!intersectBBox(bbox1, bbox2)) {\n return false;\n }\n \n let isIn = false;\n // 判定点是否在多边形内部,一旦有一个点在另一个多边形内,则返回\n each(points2, point => {\n if (isPointInPolygon(points1, point[0], point[1])) {\n isIn = true;\n return false;\n }\n });\n if (isIn) {\n return true;\n }\n // 两个多边形都需要判定\n each(points1, point => {\n if (isPointInPolygon(points2, point[0], point[1])) {\n isIn = true;\n return false;\n }\n });\n if (isIn) {\n return true;\n }\n\n const lines1 = parseToLines(points1);\n const lines2 = parseToLines(points2);\n let isIntersect = false;\n each(lines2, line => {\n if (lineIntersectPolygon(lines1, line)) {\n isIntersect = true;\n return false;\n }\n });\n return isIntersect;\n}","import { each, isArray } from '@antv/util';\nimport { View } from '../../chart';\nimport { BBox, PathCommand, Point } from '../../dependents';\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element/';\nimport { catmullRom2bezier, getLinePath } from '../../geometry/shape/util/path';\nimport { toPoints } from '../../util/bbox';\nimport { isPolygonsIntersect } from '@antv/path-util';\nimport { ComponentOption, IInteractionContext, LooseObject } from '../../interface';\n\nfunction getMaskBBox(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n return getMaskBBoxByShape(maskShape, tolerance);\n}\n\n/**\n * 如果 mask BBox 过小则不返回\n */\nfunction isValidMaskBBox(maskShape, tolerance: number) {\n const maskBBox = maskShape.getCanvasBBox();\n const { width, height } = maskBBox;\n return width > 0 && height > 0 && (width >= tolerance || height >= tolerance);\n}\n\n/**\n * 通过 maskShape 获取 mask 的 canvasBBox\n * @param maskShape\n * @param tolerance\n * @returns\n */\nfunction getMaskBBoxByShape(maskShape, tolerance: number) {\n const maskBBox = maskShape.getCanvasBBox();\n return isValidMaskBBox(maskShape, tolerance) ? maskBBox : null;\n}\n\n/**\n * 获取 multiple 模式下 mask 的 canvasBBox 数组\n * @param context 上下文\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMultiMaskBBoxList(context: IInteractionContext, tolerance: number) {\n const { maskShapes } = context.event;\n return maskShapes.map((maskShape) => getMaskBBoxByShape(maskShape, tolerance)).filter((bBox) => !!bBox);\n}\n\nfunction getMaskPath(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n return getMaskPathByMaskShape(maskShape, tolerance);\n}\n\n/**\n * 通过 maskShape 获取 mask path\n * @param maskShape\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMaskPathByMaskShape(maskShape, tolerance: number) {\n return isValidMaskBBox(maskShape, tolerance) ? maskShape.attr('path') : null;\n}\n\n/**\n * 获取 multiple 模式下 mask path 数组\n * @param context 上下文\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMultiMaskPathList(context: IInteractionContext, tolerance: number) {\n const { maskShapes } = context.event;\n return maskShapes.map((maskShape) => getMaskPathByMaskShape(maskShape, tolerance));\n}\n\n/**\n * 获取当前事件相关的图表元素\n * @param context 交互的上下文\n * @ignore\n */\nexport function getCurrentElement(context: IInteractionContext): Element {\n const event = context.event;\n let element;\n const target = event.target;\n if (target) {\n element = target.get('element');\n }\n return element;\n}\n\n/**\n * 获取委托对象\n * @param context 上下文\n * @ignore\n */\nexport function getDelegationObject(context: IInteractionContext): LooseObject {\n const event = context.event;\n const target = event.target;\n let delegateObject;\n if (target) {\n delegateObject = target.get('delegateObject');\n }\n return delegateObject;\n}\n\nexport function isElementChange(context: IInteractionContext) {\n const event = context.event.gEvent;\n // 在同一个 element 内部移动,label 和 shape 之间\n if (event && event.fromShape && event.toShape && event.fromShape.get('element') === event.toShape.get('element')) {\n return false;\n }\n return true;\n}\n\n/**\n * 是否是列表组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isList(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isList();\n}\n\n/**\n * 是否是滑块组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isSlider(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isSlider();\n}\n\n/**\n * 是否由 mask 触发\n * @param context 上下文\n * @ignore\n */\nexport function isMask(context: IInteractionContext): boolean {\n const event = context.event;\n const target = event.target;\n return (target && target?.get('name') === 'mask') || isMultipleMask(context);\n}\n\n/**\n * 是否由 multiple mask 触发\n * @param context\n * @returns\n */\nexport function isMultipleMask(context: IInteractionContext): boolean {\n return context.event.target?.get('name') === 'multi-mask';\n}\n\n/**\n * 获取被遮挡的 elements\n * @param context 上下文\n * @ignore\n */\nexport function getMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const target = context.event.target;\n\n // multiple 模式下\n if (isMultipleMask(context)) {\n return getMultiMaskedElements(context, tolerance);\n }\n\n // 正常模式下\n if (target.get('type') === 'path') {\n const maskPath = getMaskPath(context, tolerance);\n if (!maskPath) {\n return;\n }\n return getElementsByPath(context.view, maskPath);\n }\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getIntersectElements(context.view, maskBBox);\n}\n\n/**\n * 获取 multiple 模式下被 mask 遮挡的 elements\n * @param context 上下文\n * @returns\n */\nfunction getMultiMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const { target } = context.event;\n if (target.get('type') === 'path') {\n const maskPathList = getMultiMaskPathList(context, tolerance);\n if (maskPathList.length > 0) {\n return maskPathList.flatMap((maskPath) => getElementsByPath(context.view, maskPath));\n }\n return null;\n }\n const maskBBoxList = getMultiMaskBBoxList(context, tolerance);\n if (maskBBoxList.length > 0) {\n return maskBBoxList.flatMap((maskBBox) => getIntersectElements(context.view, maskBBox));\n }\n return null;\n}\n\n/**\n * @ignore\n */\nexport function getSiblingMaskElements(context: IInteractionContext, sibling: View, tolerance: number) {\n // multiple 模式下\n if (isMultipleMask(context)) {\n return getSiblingMultiMaskedElements(context, sibling, tolerance);\n }\n\n // 正常模式下\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getSiblingMaskElementsByBBox(maskBBox, context, sibling);\n}\n\n/**\n * 通过 mashBBox 获取 sibling 模式下被 mask 遮挡的 elements\n * @param maskBBox\n * @param context 上下文\n * @param sibling sibling view\n * @returns\n */\nfunction getSiblingMaskElementsByBBox(maskBBox, context: IInteractionContext, sibling: View) {\n const view = context.view;\n const start = getSiblingPoint(view, sibling, { x: maskBBox.x, y: maskBBox.y });\n const end = getSiblingPoint(view, sibling, { x: maskBBox.maxX, y: maskBBox.maxY });\n const box = {\n minX: start.x,\n minY: start.y,\n maxX: end.x,\n maxY: end.y,\n };\n return getIntersectElements(sibling, box);\n}\n\n/**\n * 获取 sibling 模式下被 multiple mask 遮挡的 elements\n * @param context 上下文\n * @param sibling sibling view\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getSiblingMultiMaskedElements(context: IInteractionContext, sibling: View, tolerance: number): Element[] {\n const maskBBoxList = getMultiMaskBBoxList(context, tolerance);\n if (maskBBoxList.length > 0) {\n return maskBBoxList.flatMap((maskBBox) => getSiblingMaskElementsByBBox(maskBBox, context, sibling));\n }\n return null;\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @ignore\n */\nexport function getElements(view: View): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.elements;\n rst = rst.concat(elements);\n });\n if (view.views && view.views.length) {\n each(view.views, (subView) => {\n rst = rst.concat(getElements(subView));\n });\n }\n return rst;\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @param field 字段名\n * @param value 字段值\n * @ignore\n */\nexport function getElementsByField(view: View, field: string, value: any) {\n const elements = getElements(view);\n return elements.filter((el) => {\n return getElementValue(el, field) === value;\n });\n}\n\n/**\n * 根据状态名获取图表元素\n * @param view View/Chart\n * @param stateName 状态名\n * @ignore\n */\nexport function getElementsByState(view: View, stateName: string): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.getElementsBy((el) => el.hasState(stateName));\n rst = rst.concat(elements);\n });\n return rst;\n}\n\n/**\n * 获取图表元素对应字段的值\n * @param element 图表元素\n * @param field 字段名\n * @ignore\n */\nexport function getElementValue(element: Element, field) {\n const model = element.getModel();\n const record = model.data;\n let value;\n if (isArray(record)) {\n value = record[0][field];\n } else {\n value = record[field];\n }\n return value;\n}\n\n/**\n * 两个包围盒是否相交\n * @param box1 包围盒1\n * @param box2 包围盒2\n * @ignore\n */\nexport function intersectRect(box1, box2) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\n\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param box 包围盒\n * @ignore\n */\nexport function getIntersectElements(view: View, box) {\n const elements = getElements(view);\n const rst = [];\n each(elements, (el) => {\n const shape = el.shape;\n const shapeBBox = shape.getCanvasBBox();\n if (intersectRect(box, shapeBBox)) {\n rst.push(el);\n }\n });\n return rst;\n}\nfunction pathToPoints(path: any[]) {\n const points = [];\n each(path, (seg) => {\n const command = seg[0];\n if (command !== 'A') {\n for (let i = 1; i < seg.length; i = i + 2) {\n points.push([seg[i], seg[i + 1]]);\n }\n } else {\n const length = seg.length;\n points.push([seg[length - 2], seg[length - 1]]);\n }\n });\n return points;\n}\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param path 路径\n * @ignore\n */\nexport function getElementsByPath(view: View, path: any[]) {\n const elements = getElements(view);\n const points = pathToPoints(path);\n const rst = elements.filter((el: Element) => {\n const shape = el.shape;\n let shapePoints;\n if (shape.get('type') === 'path') {\n shapePoints = pathToPoints(shape.attr('path'));\n } else {\n const shapeBBox = shape.getCanvasBBox();\n shapePoints = toPoints(shapeBBox);\n }\n return isPolygonsIntersect(points, shapePoints);\n });\n return rst;\n}\n\n/**\n * 获取当前 View 的所有组件\n * @param view View/Chart\n * @ignore\n */\nexport function getComponents(view) {\n return view.getComponents().map((co: ComponentOption) => co.component);\n}\n\n/** @ignore */\nexport function distance(p1: Point, p2: Point) {\n const dx = p2.x - p1.x;\n const dy = p2.y - p1.y;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\n/** @ignore */\nexport function getSpline(points: Point[], z: boolean): PathCommand[] {\n if (points.length <= 2) {\n return getLinePath(points, false);\n }\n const first = points[0];\n const arr = [];\n each(points, (point) => {\n arr.push(point.x);\n arr.push(point.y);\n });\n const path = catmullRom2bezier(arr, z, null);\n path.unshift(['M', first.x, first.y]);\n return path;\n}\n\n/**\n * 检测点是否在包围盒内\n * @param box 包围盒\n * @param point 点\n * @ignore\n */\nexport function isInBox(box: BBox, point: Point) {\n return box.x <= point.x && box.maxX >= point.x && box.y <= point.y && box.maxY > point.y;\n}\n\n/**\n * 获取同 view 同一级的 views\n * @param view 当前 view\n * @returns 同一级的 views\n * @ignore\n */\nexport function getSilbings(view: View): View[] {\n const parent = view.parent;\n let siblings = null;\n if (parent) {\n siblings = parent.views.filter((sub) => sub !== view);\n }\n return siblings;\n}\n\nfunction point2Normalize(view: View, point: Point): Point {\n const coord = view.getCoordinate();\n return coord.invert(point);\n}\n/**\n * 将 view 上的一点转换成另一个 view 的点\n * @param view 当前的 view\n * @param sibling 同一层级的 view\n * @param point 指定点\n * @ignore\n */\nexport function getSiblingPoint(view: View, sibling: View, point: Point): Point {\n const normalPoint = point2Normalize(view, point);\n return sibling.getCoordinate().convert(normalPoint);\n}\n\n/**\n * 是否在记录中,临时因为所有的 view 中的数据不是引用,而使用的方法\n * 不同 view 上对数据的引用不相等,导致无法直接用 includes\n * 假设 x, y 值相等时是同一条数据,这个假设不完全正确,而改成 isEqual 则成本太高\n * 后面改成同一个引用时可以修改回来\n * @param records\n * @param record\n * @param xFiled\n * @param yField\n * @returns\n * @ignore\n */\nexport function isInRecords(records: object[], record: object, xFiled: string, yField: string) {\n let isIn = false;\n each(records, (r) => {\n if (r[xFiled] === record[xFiled] && r[yField] === record[yField]) {\n isIn = true;\n return false;\n }\n });\n return isIn;\n}\n\n// 级联获取 field 对应的 scale,如果 view 上没有,遍历子 view\nexport function getScaleByField(view: View, field: string) {\n let scale = view.getScaleByField(field);\n if (!scale && view.views) {\n each(view.views, (subView) => {\n scale = getScaleByField(subView, field);\n if (scale) {\n return false; // 终止循环\n }\n });\n }\n return scale;\n}\n","import { each, get } from '@antv/util';\nimport { View } from '../chart';\nimport { BBox, IShape, Point } from '../dependents';\nimport { IAction, IInteractionContext, LooseObject } from '../interface';\nimport { getComponents, isInBox } from './action/util';\n\n/**\n * 交互的上下文\n */\nexport default class Context implements IInteractionContext {\n /** 当前所有的 Action */\n public actions: IAction[] = [];\n /** 当前 View 实例 */\n public view: View;\n /** 当前事件对象 */\n public event: LooseObject = null;\n\n private cacheMap: LooseObject = {};\n\n constructor(view: View) {\n this.view = view;\n }\n\n /**\n * 缓存信息\n * @param params 缓存的字段\n * - 如果一个字段则获取缓存\n * - 两个字段则设置缓存\n */\n public cache(...params) {\n if (params.length === 1) {\n return this.cacheMap[params[0]];\n } else if (params.length === 2) {\n this.cacheMap[params[0]] = params[1];\n }\n }\n\n /**\n * 获取 Action\n * @param name Action 的名称\n */\n public getAction(name: string): IAction {\n return this.actions.find((action) => action.name === name);\n }\n\n /**\n * 获取 Action\n * @param action Action 对象\n */\n public addAction(action: IAction) {\n this.actions.push(action);\n }\n\n /**\n * 移除 Action\n * @param action Action 对象\n */\n public removeAction(action: IAction) {\n const actions = this.actions;\n const index = this.actions.indexOf(action);\n if (index >= 0) {\n actions.splice(index, 1);\n }\n }\n\n /**\n * 获取当前的点\n */\n public getCurrentPoint(): Point {\n const event = this.event;\n if (event) {\n if (event.target instanceof HTMLElement) {\n const canvas = this.view.getCanvas();\n const point = canvas.getPointByClient(event.clientX, event.clientY);\n return point;\n } else {\n return {\n x: event.x,\n y: event.y,\n };\n }\n }\n return null;\n }\n\n /**\n * 获取当前 shape\n * @returns current shape\n */\n public getCurrentShape(): IShape {\n return get(this.event, ['gEvent', 'shape']);\n }\n\n /**\n * 当前的触发是否在 View 内\n */\n public isInPlot() {\n const point = this.getCurrentPoint();\n if (point) {\n return this.view.isPointInPlot(point);\n }\n return false;\n }\n\n /**\n * 是否在指定的图形内\n * @param name shape 的 name\n */\n public isInShape(name) {\n const shape = this.getCurrentShape(); // 不再考虑在 shape 的 parent 内的情况\n if (shape) {\n return shape.get('name') === name;\n }\n return false;\n }\n\n /**\n * 当前的触发是组件内部\n * @param name 组件名,可以为空\n */\n public isInComponent(name?: string) {\n const components = getComponents(this.view);\n const point = this.getCurrentPoint();\n if (point) {\n return !!components.find((component) => {\n const bbox = component.getBBox() as BBox;\n if (name) {\n return component.get('name') === name && isInBox(bbox, point);\n } else {\n return isInBox(bbox, point);\n }\n });\n }\n return false;\n }\n\n /**\n * 销毁\n */\n public destroy() {\n // 先销毁 action 再清空,一边遍历,一边删除,所以数组需要更新引用\n each(this.actions.slice(), (action) => {\n action.destroy();\n });\n this.view = null;\n this.event = null;\n this.actions = null;\n this.cacheMap = null;\n }\n}\n","import { View } from '../chart';\nimport { LooseObject } from '../interface';\n\nexport type InteractionConstructor = new (view: View, cfg: LooseObject) => Interaction;\n\n/**\n * 交互的基类。\n */\nexport default class Interaction {\n /** view 或者 chart */\n protected view: View;\n /** 配置项 */\n protected cfg: LooseObject;\n\n constructor(view: View, cfg: LooseObject) {\n this.view = view;\n this.cfg = cfg;\n }\n\n /**\n * 初始化。\n */\n public init() {\n this.initEvents();\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {}\n\n /**\n * 销毁事件\n */\n protected clearEvents() {}\n\n /**\n * 销毁。\n */\n public destroy() {\n this.clearEvents();\n }\n}\n","import { each, isArray, isFunction, isString, debounce, throttle } from '@antv/util';\nimport { View } from '../chart';\nimport { ActionCallback, IAction, IInteractionContext, LooseObject } from '../interface';\nimport { createAction, createCallbackAction } from './action/register';\nimport InteractionContext from './context';\nimport Interaction from './interaction';\n\n// 将字符串转换成 action\nexport function parseAction(actionStr: string, context: IInteractionContext, arg?: any): ActionObject {\n const arr = actionStr.split(':');\n const actionName = arr[0];\n // 如果已经初始化过 action ,则直接引用之前的 action\n const action = context.getAction(actionName) || createAction(actionName, context);\n if (!action) {\n throw new Error(`There is no action named ${actionName}`);\n }\n const methodName = arr[1];\n return {\n action,\n methodName,\n arg,\n };\n}\n\n// 执行 Action\nfunction executeAction(actionObject: ActionObject) {\n const { action, methodName, arg } = actionObject;\n if (action[methodName]) {\n action[methodName](arg);\n } else {\n throw new Error(`Action(${action.name}) doesn't have a method called ${methodName}`);\n }\n}\n\nconst STEP_NAMES = {\n START: 'start',\n SHOW_ENABLE: 'showEnable',\n END: 'end',\n ROLLBACK: 'rollback',\n PROCESSING: 'processing',\n};\n\n/** 交互环节的定义 */\nexport interface InteractionStep {\n /**\n * 触发事件,支持 view,chart 的各种事件,也支持 document、window 的事件\n */\n trigger: string;\n /**\n * 是否可以触发 action\n * @param context - 交互的上下文\n */\n isEnable?: (context: IInteractionContext) => boolean;\n /**\n * 反馈,支持三种方式:\n * - action:method : action 的名字和方法的组合\n * - [’action1:method1‘, ’action2:method‘]\n * - ActionCallback: 回调函数\n */\n action: string | string[] | ActionCallback;\n /**\n * 反馈,具体 action method 的参数:\n * - 当传递多个 action 时,args 必须是一个数组\n */\n arg?: any | any[];\n /**\n * 回调函数,action 执行后执行\n */\n callback?: (context: IInteractionContext) => void;\n /**\n * @private\n * 不需要用户传入,通过上面的属性计算出来的属性\n */\n actionObject?: ActionObject | ActionObject[];\n /**\n * 在一个环节内是否只允许执行一次\n */\n once?: boolean;\n /**\n * 是否增加节流\n */\n throttle?: ThrottleOption;\n /**\n * 是否延迟\n */\n debounce?: DebounceOption;\n}\n\n// action 执行时支持 debounce 和 throttle,可以参考:https://css-tricks.com/debouncing-throttling-explained-examples/\n/**\n * debounce 的配置\n */\nexport interface DebounceOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 是否马上执行\n */\n immediate?: boolean;\n}\n\n/**\n * throttle 的配置\n */\nexport interface ThrottleOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 马上就执行\n */\n leading?: boolean;\n /**\n * 执行完毕后再执行一次\n */\n trailing?: boolean;\n}\n\n/** 缓存 action 对象,仅用于当前文件 */\ninterface ActionObject {\n /**\n * 缓存的 action\n */\n action: IAction;\n /**\n * action 的方法\n */\n methodName: string;\n /**\n * 用户传递的 action 方法的参数\n */\n arg?: any;\n}\n\n/** 交互的所有环节 */\nexport interface InteractionSteps {\n /**\n * 显示交互可以进行\n */\n showEnable?: InteractionStep[];\n /**\n * 交互开始\n */\n start?: InteractionStep[];\n /**\n * 交互持续\n */\n processing?: InteractionStep[];\n /**\n * 交互结束\n */\n end?: InteractionStep[];\n /**\n * 交互回滚\n */\n rollback?: InteractionStep[];\n}\n\n/**\n * 支持语法的交互类\n */\nexport default class GrammarInteraction extends Interaction {\n // 存储的交互环节\n private steps: InteractionSteps;\n /** 当前执行到的阶段 */\n public currentStepName: string;\n /**\n * 当前交互的上下文\n */\n public context: IInteractionContext;\n\n private callbackCaches: LooseObject = {};\n // 某个触发和反馈在本环节是否执行或\n private emitCaches: LooseObject = {};\n\n constructor(view: View, steps: InteractionSteps) {\n super(view, steps);\n this.steps = steps;\n }\n\n /**\n * 初始化\n */\n public init() {\n this.initContext();\n super.init();\n }\n\n /**\n * 清理资源\n */\n public destroy() {\n super.destroy(); // 先清理事件\n this.steps = null;\n if (this.context) {\n this.context.destroy();\n this.context = null;\n }\n\n this.callbackCaches = null;\n this.view = null;\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n // 如果存在 callback,才绑定,有时候会出现无 callback 的情况\n this.bindEvent(step.trigger, callback);\n }\n });\n });\n }\n\n /**\n * 清理绑定的事件\n */\n protected clearEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n this.offEvent(step.trigger, callback);\n }\n });\n });\n }\n\n // 初始化上下文,并初始化 action\n private initContext() {\n const view = this.view;\n const context = new InteractionContext(view);\n this.context = context;\n const steps = this.steps;\n // 生成具体的 Action\n each(steps, (subSteps: InteractionStep[]) => {\n each(subSteps, (step: InteractionStep) => {\n if (isFunction(step.action)) {\n // 如果传入回调函数,则直接生成 CallbackAction\n step.actionObject = {\n action: createCallbackAction(step.action, context),\n methodName: 'execute',\n };\n } else if (isString(step.action)) {\n // 如果是字符串\n step.actionObject = parseAction(step.action, context, step.arg);\n } else if (isArray(step.action)) {\n // 如果是数组\n const actionArr = step.action;\n const argArr = isArray(step.arg) ? step.arg : [step.arg];\n step.actionObject = [];\n each(actionArr, (actionStr, idx) => {\n (step.actionObject as ActionObject[]).push(parseAction(actionStr, context, argArr[idx]));\n });\n }\n // 如果 action 既不是字符串,也不是函数,则不会生成 actionObject\n });\n });\n }\n\n // 是否允许指定阶段名称执行\n private isAllowStep(stepName: string): boolean {\n const currentStepName = this.currentStepName;\n const steps = this.steps;\n // 相同的阶段允许同时执行\n if (currentStepName === stepName) {\n return true;\n }\n\n if (stepName === STEP_NAMES.SHOW_ENABLE) {\n // 示能在整个过程中都可用\n return true;\n }\n\n if (stepName === STEP_NAMES.PROCESSING) {\n // 只有当前是 start 时,才允许 processing\n return currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.START) {\n // 如果当前是 processing,则无法 start,必须等待 end 后才能执行\n return currentStepName !== STEP_NAMES.PROCESSING;\n }\n\n if (stepName === STEP_NAMES.END) {\n return currentStepName === STEP_NAMES.PROCESSING || currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.ROLLBACK) {\n if (steps[STEP_NAMES.END]) {\n // 如果定义了 end, 只有 end 时才允许回滚\n return currentStepName === STEP_NAMES.END;\n } else if (currentStepName === STEP_NAMES.START) {\n // 如果未定义 end, 则判断是否是开始\n return true;\n }\n }\n return false;\n }\n\n // 具体的指定阶段是否允许执行\n private isAllowExecute(stepName: string, step: InteractionStep): boolean {\n if (this.isAllowStep(stepName)) {\n const key = this.getKey(stepName, step);\n // 如果是在本环节内仅允许触发一次,同时已经触发过,则不允许再触发\n if (step.once && this.emitCaches[key]) {\n return false;\n }\n // 如果是允许的阶段,则验证 isEnable 方法\n if (step.isEnable) {\n return step.isEnable(this.context);\n }\n return true; // 如果没有 isEnable 则允许执行\n }\n return false;\n }\n\n private enterStep(stepName: string) {\n this.currentStepName = stepName;\n this.emitCaches = {}; // 清除所有本环节触发的缓存\n }\n\n // 执行完某个触发和反馈(子环节)\n private afterExecute(stepName: string, step) {\n // show enable 不计入正常的流程,其他情况则设置当前的 step\n if (stepName !== STEP_NAMES.SHOW_ENABLE && this.currentStepName !== stepName) {\n this.enterStep(stepName);\n }\n const key = this.getKey(stepName, step);\n // 一旦执行,则缓存标记为,一直保持到跳出改环节\n this.emitCaches[key] = true;\n }\n // 获取某个环节的唯一的键值\n private getKey(stepName, step) {\n return stepName + step.trigger + step.action;\n }\n\n // 获取 step 的回调函数,如果已经生成,则直接返回,如果未生成,则创建\n private getActionCallback(stepName: string, step: InteractionStep): (e: object) => void {\n const context = this.context;\n const callbackCaches = this.callbackCaches;\n const actionObject = step.actionObject;\n if (step.action && actionObject) {\n const key = this.getKey(stepName, step);\n if (!callbackCaches[key]) {\n // 动态生成执行的方法,执行对应 action 的名称\n const actionCallback = (event) => {\n context.event = event; // 保证检测时的 event\n if (this.isAllowExecute(stepName, step)) {\n // 如果是数组时,则依次执行\n if (isArray(actionObject)) {\n each(actionObject, (obj: ActionObject) => {\n context.event = event; // 可能触发新的事件,保证执行前的 context.event 是正确的\n executeAction(obj);\n });\n } else {\n context.event = event; // 保证执行前的 context.event 是正确的\n executeAction(actionObject);\n }\n this.afterExecute(stepName, step);\n if (step.callback) {\n context.event = event; // 保证执行前的 context.event 是正确的\n step.callback(context);\n }\n } else {\n // 如果未通过验证,则事件不要绑定在上面\n context.event = null;\n }\n };\n // 如果设置了 debounce\n if (step.debounce) {\n callbackCaches[key] = debounce(actionCallback, step.debounce.wait, step.debounce.immediate);\n } else if (step.throttle) {\n // 设置 throttle\n callbackCaches[key] = throttle(actionCallback, step.throttle.wait, {\n leading: step.throttle.leading,\n trailing: step.throttle.trailing,\n });\n } else {\n // 直接设置\n callbackCaches[key] = actionCallback;\n }\n }\n return callbackCaches[key];\n }\n return null;\n }\n\n private bindEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.addEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.addEventListener(nameArr[1], callback);\n } else {\n this.view.on(eventName, callback);\n }\n }\n\n private offEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.removeEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.removeEventListener(nameArr[1], callback);\n } else {\n this.view.off(eventName, callback);\n }\n }\n}\n","import { clone, isPlainObject, lowerCase, mix } from '@antv/util';\nimport { View } from '../chart';\nimport { LooseObject } from '../interface';\nimport GrammarInteraction, { InteractionSteps } from './grammar-interaction';\nimport { InteractionConstructor } from './interaction';\n\nconst Interactions: LooseObject = {};\n\n/**\n * 根据交互行为名字获取对应的交互类\n * @param name 交互名字\n * @returns 交互类\n */\nexport function getInteraction(name: string): InteractionSteps | InteractionConstructor {\n return Interactions[lowerCase(name)];\n}\n\n/**\n * 注册交互行为\n * @param name 交互行为名字\n * @param interaction 交互类\n */\nexport function registerInteraction(name: string, interaction: InteractionSteps | InteractionConstructor) {\n Interactions[lowerCase(name)] = interaction;\n}\n\n/**\n * 创建交互实例\n * @param name 交互名\n * @param view 交互应用的 View 实例\n * @param cfg 交互行为配置\n */\nexport function createInteraction(name: string, view: View, cfg?: LooseObject) {\n const interaciton = getInteraction(name);\n if (!interaciton) {\n return null;\n }\n if (isPlainObject(interaciton)) {\n // 如果不 clone 则会多个 interaction 实例共享 step 的定义\n const steps = mix(clone(interaciton), cfg) as InteractionSteps;\n return new GrammarInteraction(view, steps);\n } else {\n const cls = interaciton as InteractionConstructor;\n return new cls(view, cfg);\n }\n}\n\nexport { default as Interaction } from './interaction';\nexport { Action, registerAction, getActionClass } from './action';\n","import { TOOLTIP_CSS_CONST } from '@antv/component';\nimport { ext } from '@antv/matrix-util';\nimport { deepMix } from '@antv/util';\nimport Element from '../../geometry/element';\nimport { LooseObject, StyleSheet } from '../../interface';\nimport { getAngle } from '../../util/graphics';\n\n/**\n * 根据样式表创建 axis 组件主题样式\n * @param styleSheet\n */\nfunction createAxisStyles(styleSheet: StyleSheet): LooseObject {\n return {\n title: {\n autoRotate: true,\n position: 'center', // start, center, end\n spacing: styleSheet.axisTitleSpacing,\n style: {\n fill: styleSheet.axisTitleTextFillColor,\n fontSize: styleSheet.axisTitleTextFontSize,\n lineHeight: styleSheet.axisTitleTextLineHeight,\n textBaseline: 'middle',\n fontFamily: styleSheet.fontFamily,\n },\n iconStyle: {\n fill: styleSheet.axisDescriptionIconFillColor\n }\n },\n label: {\n autoRotate: false,\n autoEllipsis: false,\n autoHide: { type: 'equidistance', cfg: { minGap: 6 } },\n offset: styleSheet.axisLabelOffset,\n style: {\n fill: styleSheet.axisLabelFillColor,\n fontSize: styleSheet.axisLabelFontSize,\n lineHeight: styleSheet.axisLabelLineHeight,\n fontFamily: styleSheet.fontFamily,\n },\n },\n line: {\n style: {\n lineWidth: styleSheet.axisLineBorder,\n stroke: styleSheet.axisLineBorderColor,\n },\n },\n grid: {\n line: {\n type: 'line',\n style: {\n stroke: styleSheet.axisGridBorderColor,\n lineWidth: styleSheet.axisGridBorder,\n lineDash: styleSheet.axisGridLineDash,\n },\n },\n alignTick: true,\n animate: true,\n },\n tickLine: {\n style: {\n lineWidth: styleSheet.axisTickLineBorder,\n stroke: styleSheet.axisTickLineBorderColor,\n },\n alignTick: true, // 默认刻度线和文本对齐\n length: styleSheet.axisTickLineLength,\n },\n subTickLine: null,\n animate: true,\n };\n}\n\n/**\n *\n * @param styleSheet\n */\n// export function\n\n/**\n * 根据样式表创建 legend 组件主题样式\n * @param styleSheet\n */\nfunction createLegendStyles(styleSheet: StyleSheet): LooseObject {\n return {\n title: null,\n marker: {\n symbol: 'circle',\n spacing: styleSheet.legendMarkerSpacing,\n style: {\n r: styleSheet.legendCircleMarkerSize,\n fill: styleSheet.legendMarkerColor,\n },\n },\n itemName: {\n spacing: 5, // 如果右边有 value 使用这个间距\n style: {\n fill: styleSheet.legendItemNameFillColor,\n fontFamily: styleSheet.fontFamily,\n fontSize: styleSheet.legendItemNameFontSize,\n lineHeight: styleSheet.legendItemNameLineHeight,\n fontWeight: styleSheet.legendItemNameFontWeight,\n textAlign: 'start',\n textBaseline: 'middle',\n },\n },\n itemStates: {\n active: {\n nameStyle: {\n opacity: 0.8,\n },\n },\n unchecked: {\n nameStyle: {\n fill: '#D8D8D8',\n },\n markerStyle: {\n fill: '#D8D8D8',\n stroke: '#D8D8D8',\n },\n },\n inactive: {\n nameStyle: {\n fill: '#D8D8D8',\n },\n markerStyle: {\n opacity: 0.2,\n },\n },\n },\n flipPage: true,\n pageNavigator: {\n marker: {\n style: {\n size: styleSheet.legendPageNavigatorMarkerSize,\n inactiveFill: styleSheet.legendPageNavigatorMarkerInactiveFillColor,\n inactiveOpacity: styleSheet.legendPageNavigatorMarkerInactiveFillOpacity,\n fill: styleSheet.legendPageNavigatorMarkerFillColor,\n opacity: styleSheet.legendPageNavigatorMarkerFillOpacity,\n },\n },\n text: {\n style: {\n fill: styleSheet.legendPageNavigatorTextFillColor,\n fontSize: styleSheet.legendPageNavigatorTextFontSize,\n },\n },\n },\n animate: false,\n maxItemWidth: 200,\n itemSpacing: styleSheet.legendItemSpacing,\n itemMarginBottom: styleSheet.legendItemMarginBottom,\n padding: styleSheet.legendPadding, // 图例组件自己的外边距\n };\n}\n\n/**\n * 根据主题样式表生成主题结构\n * @param styleSheet 主题样式表\n */\nexport function createThemeByStyleSheet(styleSheet: StyleSheet): LooseObject {\n const shapeStyles = {\n point: {\n default: {\n fill: styleSheet.pointFillColor,\n r: styleSheet.pointSize,\n stroke: styleSheet.pointBorderColor,\n lineWidth: styleSheet.pointBorder,\n fillOpacity: styleSheet.pointFillOpacity,\n },\n active: {\n stroke: styleSheet.pointActiveBorderColor,\n lineWidth: styleSheet.pointActiveBorder,\n },\n selected: {\n stroke: styleSheet.pointSelectedBorderColor,\n lineWidth: styleSheet.pointSelectedBorder,\n },\n inactive: {\n fillOpacity: styleSheet.pointInactiveFillOpacity,\n strokeOpacity: styleSheet.pointInactiveBorderOpacity,\n },\n },\n hollowPoint: {\n default: {\n fill: styleSheet.hollowPointFillColor,\n lineWidth: styleSheet.hollowPointBorder,\n stroke: styleSheet.hollowPointBorderColor,\n strokeOpacity: styleSheet.hollowPointBorderOpacity,\n r: styleSheet.hollowPointSize,\n },\n active: {\n stroke: styleSheet.hollowPointActiveBorderColor,\n strokeOpacity: styleSheet.hollowPointActiveBorderOpacity,\n },\n selected: {\n lineWidth: styleSheet.hollowPointSelectedBorder,\n stroke: styleSheet.hollowPointSelectedBorderColor,\n strokeOpacity: styleSheet.hollowPointSelectedBorderOpacity,\n },\n inactive: {\n strokeOpacity: styleSheet.hollowPointInactiveBorderOpacity,\n },\n },\n area: {\n default: {\n fill: styleSheet.areaFillColor,\n fillOpacity: styleSheet.areaFillOpacity,\n stroke: null,\n },\n active: {\n fillOpacity: styleSheet.areaActiveFillOpacity,\n },\n selected: {\n fillOpacity: styleSheet.areaSelectedFillOpacity,\n },\n inactive: {\n fillOpacity: styleSheet.areaInactiveFillOpacity,\n },\n },\n hollowArea: {\n default: {\n fill: null,\n stroke: styleSheet.hollowAreaBorderColor,\n lineWidth: styleSheet.hollowAreaBorder,\n strokeOpacity: styleSheet.hollowAreaBorderOpacity,\n },\n active: {\n fill: null,\n lineWidth: styleSheet.hollowAreaActiveBorder,\n },\n selected: {\n fill: null,\n lineWidth: styleSheet.hollowAreaSelectedBorder,\n },\n inactive: {\n strokeOpacity: styleSheet.hollowAreaInactiveBorderOpacity,\n },\n },\n interval: {\n default: {\n fill: styleSheet.intervalFillColor,\n fillOpacity: styleSheet.intervalFillOpacity,\n },\n active: {\n stroke: styleSheet.intervalActiveBorderColor,\n lineWidth: styleSheet.intervalActiveBorder,\n },\n selected: {\n stroke: styleSheet.intervalSelectedBorderColor,\n lineWidth: styleSheet.intervalSelectedBorder,\n },\n inactive: {\n fillOpacity: styleSheet.intervalInactiveFillOpacity,\n strokeOpacity: styleSheet.intervalInactiveBorderOpacity,\n },\n },\n hollowInterval: {\n default: {\n fill: styleSheet.hollowIntervalFillColor,\n stroke: styleSheet.hollowIntervalBorderColor,\n lineWidth: styleSheet.hollowIntervalBorder,\n strokeOpacity: styleSheet.hollowIntervalBorderOpacity,\n },\n active: {\n stroke: styleSheet.hollowIntervalActiveBorderColor,\n lineWidth: styleSheet.hollowIntervalActiveBorder,\n strokeOpacity: styleSheet.hollowIntervalActiveBorderOpacity,\n },\n selected: {\n stroke: styleSheet.hollowIntervalSelectedBorderColor,\n lineWidth: styleSheet.hollowIntervalSelectedBorder,\n strokeOpacity: styleSheet.hollowIntervalSelectedBorderOpacity,\n },\n inactive: {\n stroke: styleSheet.hollowIntervalInactiveBorderColor,\n lineWidth: styleSheet.hollowIntervalInactiveBorder,\n strokeOpacity: styleSheet.hollowIntervalInactiveBorderOpacity,\n },\n },\n line: {\n default: {\n stroke: styleSheet.lineBorderColor,\n lineWidth: styleSheet.lineBorder,\n strokeOpacity: styleSheet.lineBorderOpacity,\n fill: null,\n lineAppendWidth: 10,\n lineCap: 'round',\n lineJoin: 'round',\n },\n active: {\n lineWidth: styleSheet.lineActiveBorder,\n },\n selected: {\n lineWidth: styleSheet.lineSelectedBorder,\n },\n inactive: {\n strokeOpacity: styleSheet.lineInactiveBorderOpacity,\n },\n },\n };\n const axisStyles = createAxisStyles(styleSheet);\n const legendStyles = createLegendStyles(styleSheet);\n\n return {\n background: styleSheet.backgroundColor,\n defaultColor: styleSheet.brandColor,\n subColor: styleSheet.subColor,\n semanticRed: styleSheet.paletteSemanticRed,\n semanticGreen: styleSheet.paletteSemanticGreen,\n padding: 'auto',\n fontFamily: styleSheet.fontFamily,\n // 兼容Theme配置\n /** 一般柱状图宽度占比,geometry中已添加默认值,为了geometry配置生效默认值为null */\n columnWidthRatio: 1 / 2,\n /** 柱状图最大宽度 */\n maxColumnWidth: null,\n /** 柱状图最小宽度 */\n minColumnWidth: null,\n /** 玫瑰图占比 */\n roseWidthRatio: 0.9999999,\n /** 多层饼图/环图占比 */\n multiplePieWidthRatio: 1 / 1.3,\n colors10: styleSheet.paletteQualitative10,\n colors20: styleSheet.paletteQualitative20,\n sequenceColors: styleSheet.paletteSequence,\n shapes: {\n point: [\n 'hollow-circle',\n 'hollow-square',\n 'hollow-bowtie',\n 'hollow-diamond',\n 'hollow-hexagon',\n 'hollow-triangle',\n 'hollow-triangle-down',\n 'circle',\n 'square',\n 'bowtie',\n 'diamond',\n 'hexagon',\n 'triangle',\n 'triangle-down',\n 'cross',\n 'tick',\n 'plus',\n 'hyphen',\n 'line',\n ],\n line: ['line', 'dash', 'dot', 'smooth'],\n area: ['area', 'smooth', 'line', 'smooth-line'],\n interval: ['rect', 'hollow-rect', 'line', 'tick'],\n },\n sizes: [1, 10],\n geometries: {\n interval: {\n rect: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: (element: Element) => {\n const coordinate = element.geometry.coordinate;\n if (coordinate.isPolar && coordinate.isTransposed) {\n const { startAngle, endAngle } = getAngle(element.getModel(), coordinate);\n const middleAngle = (startAngle + endAngle) / 2;\n const r = 7.5;\n const x = r * Math.cos(middleAngle);\n const y = r * Math.sin(middleAngle);\n return {\n matrix: ext.transform(null, [['t', x, y]]),\n };\n }\n return shapeStyles.interval.selected;\n },\n },\n },\n 'hollow-rect': {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n tick: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n funnel: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n pyramid: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n },\n line: {\n line: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n dot: {\n default: {\n style: {\n ...shapeStyles.line.default,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n active: {\n style: {\n ...shapeStyles.line.active,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n inactive: {\n style: {\n ...shapeStyles.line.inactive,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n selected: {\n style: {\n ...shapeStyles.line.selected,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n },\n dash: {\n default: {\n style: {\n ...shapeStyles.line.default,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n active: {\n style: {\n ...shapeStyles.line.active,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n inactive: {\n style: {\n ...shapeStyles.line.inactive,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n selected: {\n style: {\n ...shapeStyles.line.selected,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vh: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hvh: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vhv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n },\n polygon: {\n polygon: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n },\n point: {\n circle: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n square: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n bowtie: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n diamond: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n hexagon: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n triangle: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n 'triangle-down': {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n 'hollow-circle': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-square': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-bowtie': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-diamond': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-hexagon': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-triangle': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-triangle-down': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n cross: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n tick: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n plus: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n hyphen: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n },\n area: {\n area: {\n default: {\n style: shapeStyles.area.default,\n },\n active: {\n style: shapeStyles.area.active,\n },\n inactive: {\n style: shapeStyles.area.inactive,\n },\n selected: {\n style: shapeStyles.area.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.area.default,\n },\n active: {\n style: shapeStyles.area.active,\n },\n inactive: {\n style: shapeStyles.area.inactive,\n },\n selected: {\n style: shapeStyles.area.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n 'smooth-line': {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n },\n schema: {\n candle: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n box: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n },\n edge: {\n line: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vhv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n arc: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n },\n violin: {\n violin: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hollow: {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n 'hollow-smooth': {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n },\n },\n components: {\n axis: {\n common: axisStyles,\n top: {\n position: 'top',\n grid: null,\n title: null,\n verticalLimitLength: 1 / 2,\n },\n bottom: {\n position: 'bottom',\n grid: null,\n title: null,\n verticalLimitLength: 1 / 2,\n },\n left: {\n position: 'left',\n title: null,\n line: null,\n tickLine: null,\n verticalLimitLength: 1 / 3,\n },\n right: {\n position: 'right',\n title: null,\n line: null,\n tickLine: null,\n verticalLimitLength: 1 / 3,\n },\n circle: {\n title: null,\n grid: deepMix({}, axisStyles.grid, { line: { type: 'line' } }),\n },\n radius: {\n title: null,\n grid: deepMix({}, axisStyles.grid, { line: { type: 'circle' } }),\n },\n },\n legend: {\n common: legendStyles,\n right: {\n layout: 'vertical',\n padding: styleSheet.legendVerticalPadding,\n },\n left: {\n layout: 'vertical',\n padding: styleSheet.legendVerticalPadding,\n },\n top: {\n layout: 'horizontal',\n padding: styleSheet.legendHorizontalPadding,\n },\n bottom: {\n layout: 'horizontal',\n padding: styleSheet.legendHorizontalPadding,\n },\n continuous: {\n title: null,\n background: null,\n track: {},\n rail: {\n type: 'color',\n size: styleSheet.sliderRailHeight,\n defaultLength: styleSheet.sliderRailWidth,\n style: {\n fill: styleSheet.sliderRailFillColor,\n stroke: styleSheet.sliderRailBorderColor,\n lineWidth: styleSheet.sliderRailBorder,\n },\n },\n label: {\n align: 'rail',\n spacing: 4, // 文本和 rail 的间距\n formatter: null,\n style: {\n fill: styleSheet.sliderLabelTextFillColor,\n fontSize: styleSheet.sliderLabelTextFontSize,\n lineHeight: styleSheet.sliderLabelTextLineHeight,\n textBaseline: 'middle',\n fontFamily: styleSheet.fontFamily,\n },\n },\n handler: {\n size: styleSheet.sliderHandlerWidth,\n style: {\n fill: styleSheet.sliderHandlerFillColor,\n stroke: styleSheet.sliderHandlerBorderColor,\n },\n },\n slidable: true,\n padding: legendStyles.padding,\n },\n },\n tooltip: {\n showContent: true,\n follow: true,\n showCrosshairs: false,\n showMarkers: true,\n shared: false,\n enterable: false,\n position: 'auto',\n marker: {\n symbol: 'circle',\n stroke: '#fff',\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n shadowColor: 'rgba(0,0,0,0.09)',\n lineWidth: 2,\n r: 4,\n },\n crosshairs: {\n line: {\n style: {\n stroke: styleSheet.tooltipCrosshairsBorderColor,\n lineWidth: styleSheet.tooltipCrosshairsBorder,\n },\n },\n text: null,\n textBackground: {\n padding: 2,\n style: {\n fill: 'rgba(0, 0, 0, 0.25)',\n lineWidth: 0,\n stroke: null,\n },\n },\n follow: false,\n },\n // tooltip dom 样式\n domStyles: {\n [`${TOOLTIP_CSS_CONST.CONTAINER_CLASS}`]: {\n position: 'absolute',\n visibility: 'hidden',\n zIndex: 8,\n transition: 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s',\n backgroundColor: styleSheet.tooltipContainerFillColor,\n opacity: styleSheet.tooltipContainerFillOpacity,\n boxShadow: styleSheet.tooltipContainerShadow,\n borderRadius: `${styleSheet.tooltipContainerBorderRadius}px`,\n color: styleSheet.tooltipTextFillColor,\n fontSize: `${styleSheet.tooltipTextFontSize}px`,\n fontFamily: styleSheet.fontFamily,\n lineHeight: `${styleSheet.tooltipTextLineHeight}px`,\n padding: '0 12px 0 12px',\n },\n [`${TOOLTIP_CSS_CONST.TITLE_CLASS}`]: {\n marginBottom: '12px',\n marginTop: '12px',\n },\n [`${TOOLTIP_CSS_CONST.LIST_CLASS}`]: {\n margin: 0,\n listStyleType: 'none',\n padding: 0,\n },\n [`${TOOLTIP_CSS_CONST.LIST_ITEM_CLASS}`]: {\n listStyleType: 'none',\n padding: 0,\n marginBottom: '12px',\n marginTop: '12px',\n marginLeft: 0,\n marginRight: 0,\n },\n [`${TOOLTIP_CSS_CONST.MARKER_CLASS}`]: {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n display: 'inline-block',\n marginRight: '8px',\n },\n [`${TOOLTIP_CSS_CONST.VALUE_CLASS}`]: {\n display: 'inline-block',\n float: 'right',\n marginLeft: '30px',\n },\n },\n },\n annotation: {\n arc: {\n style: {\n stroke: styleSheet.annotationArcBorderColor,\n lineWidth: styleSheet.annotationArcBorder,\n },\n animate: true,\n },\n line: {\n style: {\n stroke: styleSheet.annotationLineBorderColor,\n lineDash: styleSheet.annotationLineDash,\n lineWidth: styleSheet.annotationLineBorder,\n },\n text: {\n position: 'start',\n autoRotate: true,\n style: {\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n textAlign: 'start',\n fontFamily: styleSheet.fontFamily,\n textBaseline: 'bottom',\n },\n },\n animate: true,\n },\n text: {\n style: {\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n textBaseline: 'middle',\n textAlign: 'start',\n fontFamily: styleSheet.fontFamily,\n },\n animate: true,\n },\n region: {\n top: false,\n style: {\n lineWidth: styleSheet.annotationRegionBorder,\n stroke: styleSheet.annotationRegionBorderColor,\n fill: styleSheet.annotationRegionFillColor,\n fillOpacity: styleSheet.annotationRegionFillOpacity,\n }, // 辅助框的图形样式属性\n animate: true,\n },\n image: {\n top: false,\n animate: true,\n },\n dataMarker: {\n top: true,\n point: {\n style: {\n r: 3,\n stroke: styleSheet.brandColor,\n lineWidth: 2,\n },\n },\n line: {\n style: {\n stroke: styleSheet.annotationLineBorderColor,\n lineWidth: styleSheet.annotationLineBorder,\n },\n length: styleSheet.annotationDataMarkerLineLength,\n },\n text: {\n style: {\n textAlign: 'start',\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n fontFamily: styleSheet.fontFamily,\n },\n },\n direction: 'upward',\n autoAdjust: true,\n animate: true,\n },\n dataRegion: {\n style: {\n region: {\n fill: styleSheet.annotationRegionFillColor,\n fillOpacity: styleSheet.annotationRegionFillOpacity,\n },\n text: {\n textAlign: 'center',\n textBaseline: 'bottom',\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n fontFamily: styleSheet.fontFamily,\n },\n },\n animate: true,\n },\n },\n slider: {\n common: {\n padding: [8, 8, 8, 8],\n backgroundStyle: {\n fill: styleSheet.cSliderBackgroundFillColor,\n opacity: styleSheet.cSliderBackgroundFillOpacity,\n },\n foregroundStyle: {\n fill: styleSheet.cSliderForegroundFillColor,\n opacity: styleSheet.cSliderForegroundFillOpacity,\n },\n handlerStyle: {\n width: styleSheet.cSliderHandlerWidth,\n height: styleSheet.cSliderHandlerHeight,\n fill: styleSheet.cSliderHandlerFillColor,\n opacity: styleSheet.cSliderHandlerFillOpacity,\n stroke: styleSheet.cSliderHandlerBorderColor,\n lineWidth: styleSheet.cSliderHandlerBorder,\n radius: styleSheet.cSliderHandlerBorderRadius,\n // 高亮的颜色\n highLightFill: styleSheet.cSliderHandlerHighlightFillColor,\n },\n textStyle: {\n fill: styleSheet.cSliderTextFillColor,\n opacity: styleSheet.cSliderTextFillOpacity,\n fontSize: styleSheet.cSliderTextFontSize,\n lineHeight: styleSheet.cSliderTextLineHeight,\n fontWeight: styleSheet.cSliderTextFontWeight,\n stroke: styleSheet.cSliderTextBorderColor,\n lineWidth: styleSheet.cSliderTextBorder,\n },\n },\n },\n scrollbar: {\n common: {\n padding: [8, 8, 8, 8],\n },\n default: {\n style: {\n trackColor: styleSheet.scrollbarTrackFillColor,\n thumbColor: styleSheet.scrollbarThumbFillColor,\n },\n },\n hover: {\n style: {\n thumbColor: styleSheet.scrollbarThumbHighlightFillColor,\n },\n },\n },\n },\n labels: {\n offset: 12,\n style: {\n fill: styleSheet.labelFillColor,\n fontSize: styleSheet.labelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.labelBorderColor,\n lineWidth: styleSheet.labelBorder,\n },\n fillColorDark: styleSheet.labelFillColorDark,\n fillColorLight: styleSheet.labelFillColorLight,\n autoRotate: true,\n },\n innerLabels: {\n style: {\n fill: styleSheet.innerLabelFillColor,\n fontSize: styleSheet.innerLabelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.innerLabelBorderColor,\n lineWidth: styleSheet.innerLabelBorder,\n },\n autoRotate: true,\n },\n overflowLabels: {\n style: {\n fill: styleSheet.overflowLabelFillColor,\n fontSize: styleSheet.overflowLabelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.overflowLabelBorderColor,\n lineWidth: styleSheet.overflowLabelBorder,\n },\n },\n pieLabels: {\n labelHeight: 14,\n offset: 10,\n labelLine: {\n style: {\n lineWidth: styleSheet.labelLineBorder,\n },\n },\n autoRotate: true,\n },\n };\n}\n","import { StyleSheetCfg } from '../../interface';\n\nconst BLACK_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst WHITE_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#6F5EF9',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#6F5EF9',\n '#D3CEFD',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\n/** 单色顺序色板 */\nconst SINGLE_SEQUENCE = [\n '#B8E1FF',\n '#9AC5FF',\n '#7DAAFF',\n '#5B8FF9',\n '#3D76DD',\n '#085EC0',\n '#0047A5',\n '#00318A',\n '#001D70',\n];\n\nexport const createLightStyleSheet = (cfg: StyleSheetCfg = {}) => {\n const { paletteQualitative10 = QUALITATIVE_10, paletteQualitative20 = QUALITATIVE_20 } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n const token = {\n /** 图表背景色 */\n backgroundColor: 'transparent',\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor: 'rgba(0,0,0,0.05)',\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** (单色)顺序色板 */\n paletteSequence: SINGLE_SEQUENCE,\n /** 字体 */\n fontFamily: `\"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 1,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n /** 坐标轴标题距离坐标轴文本的间距 */\n axisTitleSpacing: 12,\n /** 坐标轴标题详细说明icon颜色 */\n axisDescriptionIconFillColor: WHITE_COLORS[85],\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 1,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 1,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n /** 坐标轴刻度文本距离坐标轴线的间距 */\n axisLabelOffset: 8,\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 1,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: brandColor,\n /** 图例 marker 距离图例文本的间距 */\n legendMarkerSpacing: 8,\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n /** 图例项之间的水平间距 */\n legendItemSpacing: 24,\n /** 图例项垂直方向的间隔 */\n legendItemMarginBottom: 12,\n /** 图例与图表绘图区域的偏移距离 */\n legendPadding: [8, 8, 8, 8],\n /** 水平布局的图例与绘图区域偏移距离 */\n legendHorizontalPadding: [8, 0, 8, 0],\n /** 垂直布局的图例与绘图区域偏移距离 */\n legendVerticalPadding: [0, 8, 0, 8],\n\n // 图例分页器\n /** 图例分页器 marker 大小 */\n legendPageNavigatorMarkerSize: 12,\n /** 图例分页器 marker 非激活状态填充色 */\n legendPageNavigatorMarkerInactiveFillColor: BLACK_COLORS[100],\n /** 图例分页器 marker 非激活状态填充色透明度 */\n legendPageNavigatorMarkerInactiveFillOpacity: 0.45,\n /** 图例分页器 marker 填充色 */\n legendPageNavigatorMarkerFillColor: BLACK_COLORS[100],\n /** 图例分页器 marker 填充色透明度 */\n legendPageNavigatorMarkerFillOpacity: 1,\n /** 图例分页器文本颜色 */\n legendPageNavigatorTextFillColor: BLACK_COLORS[45],\n /** 图例分页器文本字体大小 */\n legendPageNavigatorTextFontSize: 12,\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: BLACK_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: BLACK_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 1,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 1,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: null,\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 0,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 1,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: 'rgb(255, 255, 255)',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 0px 10px #aeaeae',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n labelFillColorDark: '#2c3542',\n labelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry overflowLabel 文本颜色 */\n overflowLabelFillColor: BLACK_COLORS[65],\n /** Geometry overflowLabel 文本字体大小 */\n overflowLabelFontSize: 12,\n /** Geometry overflowLabel 文本行高 */\n overflowLabelLineHeight: 12,\n /** Geometry overflowLabel 文本字体粗细 */\n overflowLabelFontWeight: 'normal',\n /** Geometry overflowLabel 文本描边颜色 */\n overflowLabelBorderColor: WHITE_COLORS[100],\n /** Geometry overflowLabel 文本描边粗细 */\n overflowLabelBorder: 1,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 1,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Slider 组件样式--------------------\n /** slider 滑道高度 */\n cSliderRailHieght: 16,\n /** slider 滑道背景色 */\n cSliderBackgroundFillColor: '#416180',\n /** slider 滑道背景色透明度 */\n cSliderBackgroundFillOpacity: 0.05,\n /** slider 滑道前景色 */\n cSliderForegroundFillColor: '#5B8FF9',\n /** slider 滑道前景色透明度 */\n cSliderForegroundFillOpacity: 0.15,\n // slider handlerStyle 手柄样式\n /** slider 手柄高度 */\n cSliderHandlerHeight: 24,\n /** Slider 手柄宽度 */\n cSliderHandlerWidth: 10,\n /** Slider 手柄背景色 */\n cSliderHandlerFillColor: '#F7F7F7',\n /** Slider 手柄背景色透明度 */\n cSliderHandlerFillOpacity: 1,\n /** Slider 手柄高亮背景色 */\n cSliderHandlerHighlightFillColor: '#FFF',\n /** Slider 手柄边框色 */\n cSliderHandlerBorderColor: '#BFBFBF',\n /** Slider 手柄边框粗细 */\n cSliderHandlerBorder: 1,\n /** Slider 手柄边框圆角 */\n cSliderHandlerBorderRadius: 2,\n // slider textStyle 字体标签样式\n /** Slider 字体标签颜色 */\n cSliderTextFillColor: '#000',\n /** Slider 字体标签透明度 */\n cSliderTextFillOpacity: 0.45,\n /** Slider 字体标签大小 */\n cSliderTextFontSize: 12,\n /** Slider 字体标签行高 */\n cSliderTextLineHeight: 12,\n /** Slider 字体标签字重 */\n cSliderTextFontWeight: 'normal',\n /** Slider 字体标签描边色 */\n cSliderTextBorderColor: null,\n /** Slider 字体标签描边粗细 */\n cSliderTextBorder: 0,\n\n // -------------------- Scrollbar 组件样式--------------------\n /** 滚动条 滚道填充色 */\n scrollbarTrackFillColor: 'rgba(0,0,0,0)',\n /** 滚动条 滑块填充色 */\n scrollbarThumbFillColor: 'rgba(0,0,0,0.15)',\n /** 滚动条 滑块高亮填充色 */\n scrollbarThumbHighlightFillColor: 'rgba(0,0,0,0.2)',\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: brandColor,\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: brandColor,\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: brandColor,\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: brandColor,\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: brandColor,\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: brandColor,\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: brandColor,\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: brandColor,\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: brandColor,\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n };\n\n return { ...token, ...cfg };\n};\n\nexport const antvLight = createLightStyleSheet();\n","import { deepMix } from '@antv/util';\nimport { createThemeByStyleSheet } from './create-by-style-sheet';\nimport { createLightStyleSheet } from '../style-sheet/light';\nimport { LooseObject, StyleSheetCfg } from '../../interface';\n\ninterface ThemeCfg extends LooseObject {\n styleSheet?: StyleSheetCfg;\n}\n\nexport function createTheme(themeCfg: ThemeCfg): LooseObject {\n const { styleSheet: styleSheetCfg = {}, ...themeObject } = themeCfg;\n\n // ① 创建样式表 (默认创建 light 的样式表)\n const styleSheet = createLightStyleSheet(styleSheetCfg);\n // ② 创建主题\n return deepMix({}, createThemeByStyleSheet(styleSheet), themeObject);\n}\n","import { get, lowerCase } from '@antv/util';\nimport { LooseObject } from '../interface';\n\nimport { createTheme } from './util';\n\nconst defaultTheme = createTheme({});\n\n// 所有已经存在的主题\nconst Themes: Record = {\n default: defaultTheme,\n};\n\n/**\n * 获取主题配置信息。\n * @param theme 主题名\n */\nexport function getTheme(theme?: string): LooseObject {\n return get(Themes, lowerCase(theme), Themes.default);\n}\n\n/**\n * 注册新的主题配置信息。\n * @param theme 主题名。\n * @param value 具体的主题配置。\n */\nexport function registerTheme(theme: string, value: LooseObject) {\n Themes[lowerCase(theme)] = createTheme(value);\n}\n","import {\n contains,\n filter,\n find,\n isArray,\n isEmpty,\n isFunction,\n isNil,\n isNumberEqual,\n isObject,\n memoize,\n get,\n values,\n} from '@antv/util';\nimport { View } from '../chart';\nimport { FIELD_ORIGIN, GROUP_ATTRS } from '../constant';\nimport { Attribute, Scale } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { Data, Datum, MappingDatum, Point, TooltipCfg, TooltipTitle } from '../interface';\nimport { getName, inferScaleType } from './scale';\n\nfunction snapEqual(v1: any, v2: any, scale: Scale) {\n const value1 = scale.translate(v1);\n const value2 = scale.translate(v2);\n\n return isNumberEqual(value1, value2);\n}\n\nfunction getXValueByPoint(point: Point, geometry: Geometry): number {\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const range = xScale.range;\n const rangeMax = range[range.length - 1];\n const rangeMin = range[0];\n\n const invertPoint = coordinate.invert(point);\n\n let xValue = invertPoint.x;\n if (coordinate.isPolar && xValue > (1 + rangeMax) / 2) {\n xValue = rangeMin; // 极坐标下,scale 的 range 被做过特殊处理\n }\n return xScale.translate(xScale.invert(xValue));\n}\n\nfunction filterYValue(data: Data, point: Point, geometry: Geometry) {\n const coordinate = geometry.coordinate;\n const yScale = geometry.getYScale();\n const yField = yScale.field;\n const invertPoint = coordinate.invert(point);\n const yValue = yScale.invert(invertPoint.y);\n\n const result = find(data, (obj: Datum) => {\n const originData = obj[FIELD_ORIGIN];\n return originData[yField][0] <= yValue && originData[yField][1] >= yValue;\n });\n return result || data[data.length - 1];\n}\n\nconst getXDistance = memoize((scale: Scale) => {\n if (scale.isCategory) {\n return 1;\n }\n const scaleValues = scale.values; // values 是无序的\n const length = scaleValues.length;\n let min = scale.translate(scaleValues[0]);\n let max = min;\n\n for (let index = 0; index < length; index++) {\n const value = scaleValues[index];\n // 时间类型需要 translate\n const numericValue = scale.translate(value);\n if (numericValue < min) {\n min = numericValue;\n }\n if (numericValue > max) {\n max = numericValue;\n }\n }\n return (max - min) / (length - 1);\n});\n\n/**\n * 获得 tooltip 的 title\n * @param originData\n * @param geometry\n * @param title\n */\nfunction getTooltipTitle(originData: Datum, geometry: Geometry, title: TooltipTitle): string {\n const positionAttr = geometry.getAttribute('position');\n const fields = positionAttr.getFields();\n const scales = geometry.scales;\n\n const titleField = isFunction(title) || !title ? fields[0] : title;\n const titleScale = scales[titleField];\n\n // 如果创建了该字段对应的 scale,则通过 scale.getText() 方式取值,因为用户可能对数据进行了格式化\n // 如果没有对应的 scale,则从原始数据中取值,如果原始数据中仍不存在,则直接放回 title 值\n const tooltipTitle = titleScale ? titleScale.getText(originData[titleField]) : originData[titleField] || titleField;\n\n return isFunction(title) ? title(tooltipTitle, originData) : tooltipTitle;\n}\n\nfunction getAttributesForLegend(geometry: Geometry) {\n const attributes = values(geometry.attributes);\n return filter(attributes, (attribute: Attribute) => contains(GROUP_ATTRS, attribute.type));\n}\n\nfunction getTooltipValueScale(geometry: Geometry) {\n const attributes = getAttributesForLegend(geometry);\n let scale;\n for (const attribute of attributes) {\n const tmpScale = attribute.getScale(attribute.type);\n if (tmpScale && tmpScale.isLinear) {\n const tmpScaleDef = get(geometry.scaleDefs, tmpScale.field);\n const inferedScaleType = inferScaleType(tmpScale, tmpScaleDef, attribute.type, geometry.type);\n if (inferedScaleType !== 'cat') {\n // 如果指定字段是非 position 的,同时是连续的\n scale = tmpScale;\n break;\n }\n }\n }\n\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n return scale || yScale || xScale;\n}\n\nfunction getTooltipValue(originData: Datum, valueScale: Scale) {\n const field = valueScale.field;\n const value = originData[field];\n\n if (isArray(value)) {\n const texts = value.map((eachValue) => {\n return valueScale.getText(eachValue);\n });\n return texts.join('-');\n }\n return valueScale.getText(value);\n}\n\n// 根据原始数据获取 tooltip item 中 name 值\nfunction getTooltipName(originData: Datum, geometry: Geometry) {\n let nameScale: Scale;\n const groupScales = geometry.getGroupScales();\n if (groupScales.length) {\n // 如果存在分组类型,取第一个分组类型\n nameScale = groupScales[0];\n }\n if (nameScale) {\n const field = nameScale.field;\n return nameScale.getText(originData[field]);\n }\n\n const valueScale = getTooltipValueScale(geometry);\n return getName(valueScale);\n}\n\n/**\n * @ignore\n * Finds data from geometry by point\n * @param point canvas point\n * @param data an item of geometry.dataArray\n * @param geometry\n * @returns\n */\nexport function findDataByPoint(point: Point, data: MappingDatum[], geometry: Geometry) {\n if (data.length === 0) {\n return null;\n }\n\n const geometryType = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n const xField = xScale.field;\n const yField = yScale.field;\n\n let rst = null;\n\n // 热力图采用最小逼近策略查找 point 击中的数据\n if (geometryType === 'heatmap' || geometryType === 'point') {\n // 将 point 画布坐标转换为原始数据值\n const coordinate = geometry.coordinate;\n const invertPoint = coordinate.invert(point); // 转换成归一化的数据\n const x = xScale.invert(invertPoint.x); // 转换为原始值\n const y = yScale.invert(invertPoint.y); // 转换为原始值\n\n let min = Infinity;\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const originData = obj[FIELD_ORIGIN];\n const range = (originData[xField] - x) ** 2 + (originData[yField] - y) ** 2;\n if (range < min) {\n min = range;\n rst = obj;\n }\n }\n\n return rst;\n }\n\n // 其他 Geometry 类型按照 x 字段数据进行查找\n const first = data[0];\n let last = data[data.length - 1];\n const xValue = getXValueByPoint(point, geometry);\n const firstXValue = first[FIELD_ORIGIN][xField];\n const firstYValue = first[FIELD_ORIGIN][yField];\n const lastXValue = last[FIELD_ORIGIN][xField];\n const isYArray = yScale.isLinear && isArray(firstYValue); // 考虑 x 维度相同,y 是数组区间的情况\n\n // 如果 x 的值是数组\n if (isArray(firstXValue)) {\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n // xValue 在 originData[xField] 的数值区间内\n if (xScale.translate(originData[xField][0]) <= xValue && xScale.translate(originData[xField][1]) >= xValue) {\n if (isYArray) {\n // 层叠直方图场景,x 和 y 都是数组区间\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n }\n }\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n let next;\n if (!xScale.isLinear && xScale.type !== 'timeCat') {\n // x 轴对应的数据为非线性以及非时间类型的数据采用遍历查找\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n if (snapEqual(originData[xField], xValue, xScale)) {\n if (isYArray) {\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n } else if (xScale.translate(originData[xField]) <= xValue) {\n last = record;\n next = data[index + 1];\n }\n }\n\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n // x 轴对应的数据为线性以及时间类型,进行二分查找,性能更好\n if (\n (xValue > xScale.translate(lastXValue) || xValue < xScale.translate(firstXValue)) &&\n (xValue > xScale.max || xValue < xScale.min)\n ) {\n // 不在数据范围内\n return null;\n }\n\n let firstIdx = 0;\n let lastIdx = data.length - 1;\n let middleIdx;\n while (firstIdx <= lastIdx) {\n middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n const item = data[middleIdx][FIELD_ORIGIN][xField];\n if (snapEqual(item, xValue, xScale)) {\n return data[middleIdx];\n }\n\n if (xScale.translate(item) <= xScale.translate(xValue)) {\n firstIdx = middleIdx + 1;\n last = data[middleIdx];\n next = data[middleIdx + 1];\n } else {\n if (lastIdx === 0) {\n last = data[0];\n }\n lastIdx = middleIdx - 1;\n }\n }\n }\n\n if (last && next) {\n // 计算最逼近的\n if (\n Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) >\n Math.abs(xScale.translate(next[FIELD_ORIGIN][xField]) - xValue)\n ) {\n last = next;\n }\n }\n }\n\n const distance = getXDistance(geometry.getXScale()); // 每个分类间的平均间距\n if (!rst && Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) <= distance / 2) {\n rst = last;\n }\n\n return rst;\n}\n\n/**\n * @ignore\n * Gets tooltip items\n * @param data\n * @param geometry\n * @param [title]\n * @returns\n */\nexport function getTooltipItems(\n data: MappingDatum,\n geometry: Geometry,\n title: TooltipTitle = '',\n showNil: boolean = false\n) {\n const originData = data[FIELD_ORIGIN];\n const tooltipTitle = getTooltipTitle(originData, geometry, title);\n const tooltipOption = geometry.tooltipOption;\n const { defaultColor } = geometry.theme;\n const items = [];\n let name;\n let value;\n\n function addItem(itemName, itemValue) {\n if (showNil || (!isNil(itemValue) && itemValue !== '')) {\n // 值为 null的时候,忽视\n const item = {\n title: tooltipTitle,\n data: originData, // 原始数据\n mappingData: data, // 映射后的数据\n name: itemName,\n value: itemValue,\n color: data.color || defaultColor,\n marker: true,\n };\n\n items.push(item);\n }\n }\n\n if (isObject(tooltipOption)) {\n const { fields, callback } = tooltipOption;\n if (callback) {\n // 用户定义了回调函数\n const callbackParams = fields.map((field: string) => {\n return data[FIELD_ORIGIN][field];\n });\n const cfg = callback(...callbackParams);\n const itemCfg = {\n data: data[FIELD_ORIGIN], // 原始数据\n mappingData: data, // 映射后的数据\n title: tooltipTitle,\n color: data.color || defaultColor,\n marker: true, // 默认展示 marker\n ...cfg,\n };\n\n items.push(itemCfg);\n } else {\n const scales = geometry.scales;\n for (const field of fields) {\n if (!isNil(originData[field])) {\n // 字段数据为null, undefined 时不显示\n const scale = scales[field];\n name = getName(scale);\n value = scale.getText(originData[field]);\n addItem(name, value);\n }\n }\n }\n } else {\n const valueScale = getTooltipValueScale(geometry);\n // 字段数据为null ,undefined时不显示\n value = getTooltipValue(originData, valueScale);\n name = getTooltipName(originData, geometry);\n addItem(name, value);\n }\n return items;\n}\n\nfunction getTooltipItemsByFindData(geometry: Geometry, point, title, tooltipCfg: TooltipCfg) {\n const { showNil } = tooltipCfg;\n const result = [];\n const dataArray = geometry.dataArray;\n if (!isEmpty(dataArray)) {\n geometry.sort(dataArray); // 先进行排序,便于 tooltip 查找\n for (const data of dataArray) {\n const record = findDataByPoint(point, data, geometry);\n if (record) {\n const elementId = geometry.getElementId(record);\n const element = geometry.elementsMap[elementId];\n if (geometry.type === 'heatmap' || element.visible) {\n // Heatmap 没有 Element\n // 如果图形元素隐藏了,怎不再 tooltip 上展示相关数据\n const items = getTooltipItems(record, geometry, title, showNil);\n if (items.length) {\n result.push(items);\n }\n }\n }\n }\n }\n\n return result;\n}\n\nfunction getTooltipItemsByHitShape(geometry, point, title, tooltipCfg: TooltipCfg) {\n const { showNil } = tooltipCfg;\n const result = [];\n const container = geometry.container;\n const shape = container.getShape(point.x, point.y);\n if (shape && shape.get('visible') && shape.get('origin')) {\n const mappingData = shape.get('origin').mappingData;\n const items = getTooltipItems(mappingData, geometry, title, showNil);\n if (items.length) {\n result.push(items);\n }\n }\n\n return result;\n}\n\n/**\n * 不进行递归查找\n */\nexport function findItemsFromView(view: View, point: Point, tooltipCfg: TooltipCfg) {\n const result = [];\n // 先从 view 本身查找\n const geometries = view.geometries;\n const { shared, title, reversed } = tooltipCfg;\n for (const geometry of geometries) {\n if (geometry.visible && geometry.tooltipOption !== false) {\n // geometry 可见同时未关闭 tooltip\n const geometryType = geometry.type;\n let tooltipItems;\n if (['point', 'edge', 'polygon'].includes(geometryType)) {\n // 始终通过图形拾取\n tooltipItems = getTooltipItemsByHitShape(geometry, point, title, tooltipCfg);\n } else if (['area', 'line', 'path', 'heatmap'].includes(geometryType)) {\n // 如果是 'area', 'line', 'path',始终通过数据查找方法查找 tooltip\n tooltipItems = getTooltipItemsByFindData(geometry, point, title, tooltipCfg);\n } else {\n if (shared !== false) {\n tooltipItems = getTooltipItemsByFindData(geometry, point, title, tooltipCfg);\n } else {\n tooltipItems = getTooltipItemsByHitShape(geometry, point, title, tooltipCfg);\n }\n }\n if (tooltipItems.length) {\n if (reversed) {\n tooltipItems.reverse();\n }\n // geometry 有可能会有多个 item,因为用户可以设置 geometry.tooltip('x*y*z')\n result.push(tooltipItems);\n }\n }\n }\n\n return result;\n}\n\nexport function findItemsFromViewRecurisive(view: View, point: Point, tooltipCfg: TooltipCfg) {\n let result = findItemsFromView(view, point, tooltipCfg);\n\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(findItemsFromView(childView, point, tooltipCfg));\n }\n\n return result;\n}\n","import { isArray, isNumber } from '@antv/util';\nimport { Padding, ViewPadding } from '../interface';\n\n/**\n * @ignore\n * 是否是自动 padding\n * @param padding\n */\nexport function isAutoPadding(padding: ViewPadding): padding is 'auto' {\n return !isNumber(padding) && !isArray(padding);\n}\n\n/**\n * @ignore\n * padding 的解析逻辑\n * @param padding\n * @return [ top, right, bottom, left ]\n */\nexport function parsePadding(padding: number[] | number = 0): Padding {\n let paddingArray = isArray(padding) ? padding : [padding];\n\n switch (paddingArray.length) {\n case 0:\n paddingArray = [0, 0, 0, 0];\n break;\n case 1:\n paddingArray = new Array(4).fill(paddingArray[0]);\n break;\n case 2:\n paddingArray = [...paddingArray, ...paddingArray];\n break;\n case 3:\n paddingArray = [...paddingArray, paddingArray[1]];\n break;\n default:\n // 其他情况,只去四个\n paddingArray = paddingArray.slice(0, 4);\n break;\n }\n\n return paddingArray as [number, number, number, number];\n}\n","import { ControllerCtor } from './base';\n\nconst LOAD_COMPONENT_CONTROLLERS: Record = {};\n\n/**\n * 全局注册组件。\n * @param name 组件名称\n * @param plugin 注册的组件类\n * @returns void\n */\nexport function registerComponentController(name: string, plugin: ControllerCtor) {\n LOAD_COMPONENT_CONTROLLERS[name] = plugin;\n}\n\n/**\n * 删除全局组件。\n * @param name 组件名\n * @returns void\n */\nexport function unregisterComponentController(name: string) {\n delete LOAD_COMPONENT_CONTROLLERS[name];\n}\n\n/**\n * 获取以注册的组件名。\n * @returns string[] 返回已注册的组件名称\n */\nexport function getComponentControllerNames(): string[] {\n return Object.keys(LOAD_COMPONENT_CONTROLLERS);\n}\n\n/**\n * 根据组件名获取组件类。\n * @param name 组件名\n * @returns 返回组件类\n */\nexport function getComponentController(name: string): ControllerCtor {\n return LOAD_COMPONENT_CONTROLLERS[name];\n}\n","import { each, isNil, some } from '@antv/util';\nimport { Coordinate, getCoordinate, Point } from '../../dependents';\nimport { CoordinateOption } from '../../interface';\n\n/**\n * coordinate controller,职责:\n * 1. 创建实例\n * 2. 暂存配置\n */\nexport default class CoordinateController {\n private option: CoordinateOption;\n private coordinate: Coordinate;\n\n constructor(option?: CoordinateOption) {\n // 设置默认值,并存储配置\n this.option = this.wrapperOption(option);\n }\n\n /**\n * 更新配置\n * @param option\n */\n public update(option: CoordinateOption) {\n this.option = this.wrapperOption(option);\n return this;\n }\n\n /**\n * 是否存在某一个 action\n * @param actionName\n */\n public hasAction(actionName: string) {\n const { actions } = this.option;\n\n return some(actions, (action) => action[0] === actionName);\n }\n /**\n * 创建坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public create(start: Point, end: Point) {\n const { type, cfg } = this.option;\n const isTheta = type === 'theta';\n\n // 1. 起始位置\n const props = {\n start,\n end,\n ...cfg,\n };\n\n // 2. 创建实例\n const C = getCoordinate(isTheta ? 'polar' : type);\n\n this.coordinate = new C(props);\n\n // @ts-ignore FIXME coordinate 包问题导致 type 不正确\n this.coordinate.type = type;\n\n // 3. 添加默认 action\n if (isTheta) {\n // 不存在 transpose,为其自动设置一个 action\n if (!this.hasAction('transpose')) {\n this.transpose();\n }\n }\n\n // 4. 执行 action\n this.execActions();\n\n return this.coordinate;\n }\n\n /**\n * 更新坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public adjust(start: Point, end: Point) {\n this.coordinate.update({\n start,\n end,\n });\n\n // 更新坐标系大小的时候,需要:\n // 1. 重置 matrix\n // 2. 重新执行作用于 matrix 的 action\n this.coordinate.resetMatrix();\n this.execActions(['scale', 'rotate', 'translate']);\n\n return this.coordinate;\n }\n\n /**\n * 旋转弧度\n * @param angle\n */\n public rotate(angle: number) {\n this.option.actions.push(['rotate', angle]);\n return this;\n }\n\n /**\n * 镜像\n * @param dim\n */\n public reflect(dim: 'x' | 'y') {\n this.option.actions.push(['reflect', dim]);\n return this;\n }\n\n /**\n * scale\n * @param sx\n * @param sy\n */\n public scale(sx: number, sy: number) {\n this.option.actions.push(['scale', sx, sy]);\n return this;\n }\n\n /**\n * 对角变换\n */\n public transpose() {\n this.option.actions.push(['transpose']);\n return this;\n }\n\n /**\n * 获取配置\n */\n public getOption(): CoordinateOption {\n return this.option;\n }\n\n /**\n * 获得 coordinate 实例\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n /**\n * 包装配置的默认值\n * @param option\n */\n private wrapperOption(option: CoordinateOption): CoordinateOption {\n return {\n type: 'rect',\n actions: [],\n cfg: {},\n ...option,\n };\n }\n\n /**\n * coordinate 实例执行 actions\n * @params includeActions 如果没有指定,则执行全部,否则,执行指定的 action\n */\n private execActions(includeActions?: string[]) {\n const { actions } = this.option;\n\n each(actions, (action) => {\n const [actionName, ...args] = action;\n\n const shouldExec = isNil(includeActions) ? true : includeActions.includes(actionName);\n\n if (shouldExec) {\n this.coordinate[actionName](...args);\n }\n });\n }\n}\n","import { Event as GEvent, IShape } from '../dependents';\nimport { Datum } from '../interface';\nimport View from './view';\n\n/**\n * @todo Whether it can(or necessary to) keep consistent with the structure of G.Event or directly use the structure of G.Event\n * G2 事件的事件包装类,基于 G.Event\n */\nexport default class Event {\n /** 当前 target 归属的 view 实例 */\n public view: View;\n /** 被包装的原生 G 事件 */\n public gEvent: GEvent;\n /** 原始数据 */\n public data?: Datum;\n /** 事件类型 */\n public type: string;\n\n constructor(view: View, gEvent: GEvent, data?: Datum) {\n this.view = view;\n this.gEvent = gEvent;\n this.data = data;\n this.type = gEvent.type;\n }\n\n /**\n * 非交互产生的事件\n * @param view\n * @param type\n * @param data\n */\n public static fromData(view: View, type: string, data: Datum) {\n return new Event(view, new GEvent(type, {}), data);\n }\n\n // below props are proxy props of G.event convenient\n\n /** the real trigger shape of the event */\n public get target(): IShape {\n // @todo G 中事件定义为 object 不正确,这里先 ignore\n // @ts-ignore\n return this.gEvent.target;\n }\n\n /** 获取对应的 dom 原生时间 */\n public get event(): any {\n return this.gEvent.originalEvent;\n }\n\n /** x 画布坐标 */\n public get x(): number {\n return this.gEvent.x;\n }\n\n /** y 画布坐标 */\n public get y(): number {\n return this.gEvent.y;\n }\n\n /** x 窗口坐标 */\n public get clientX(): number {\n return this.gEvent.clientX;\n }\n\n /** y 窗口坐标 */\n public get clientY(): number {\n return this.gEvent.clientY;\n }\n // end for proxy events\n\n /**\n * event string\n * @returns string\n */\n public toString(): string {\n return `[Event (type=${this.type})]`;\n }\n\n /**\n * clone a new event with same attributes\n * @returns [[Event]]\n */\n public clone(): Event {\n return new Event(this.view, this.gEvent, this.data);\n }\n}\n","import { Controller } from '../controller/base';\nimport View from '../view';\n\n// 布局函数的定义\n// 布局函数的职责:根据 view 中组件信息,计算出最终的图形 padding 数值,以及最终各个组件的布局和位置\nexport type Layout = (view: View) => void;\n\n/**\n * @ignore\n * G2 默认提供的 layout 函数\n * 内置布局函数处理的逻辑:\n *\n * 1. 如果 padding = 'auto',那么自动根据组件的 direction 来计算 padding 数组\n * 2. 根据 padding 和 direction 去分配对应方向的 padding 数值\n * 3. 移动组件位置\n *\n * 前面 1,2 步骤在 view 中已经做掉了。对于组件响应式布局,可以尝试使用约束布局的方式去求解位置信息。\n * @param view\n */\nexport default function defaultLayout(view: View): void {\n const axis = view.getController('axis');\n const legend = view.getController('legend');\n const annotation = view.getController('annotation');\n const slider = view.getController('slider');\n const scrollbar = view.getController('scrollbar');\n\n // 根据最新的 coordinate 重新布局组件\n [axis, slider, scrollbar, legend, annotation].forEach((controller: Controller) => {\n if (controller) {\n controller.layout();\n }\n });\n}\n","/**\n * view 中缓存 scale 的类\n */\nimport { deepMix, each, get, isNumber, last } from '@antv/util';\nimport { Scale, Coordinate } from '../../dependents';\nimport { Data, LooseObject, ScaleOption, ViewCfg } from '../../interface';\nimport { createScaleByField, syncScale, getDefaultCategoryScaleRange } from '../../util/scale';\n\n/** @ignore */\ninterface ScaleMeta {\n readonly key: string;\n readonly scale: Scale;\n scaleDef: ScaleOption;\n syncKey?: string;\n}\n\n/** @ignore */\nexport class ScalePool {\n /** 所有的 scales */\n private scales = new Map();\n /** 需要同步的 scale 分组, key: scaleKeyArray */\n private syncScales = new Map();\n\n /**\n * 创建 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n public createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n let finalScaleDef = scaleDef;\n\n const cacheScaleMeta = this.getScaleMeta(key);\n if (data.length === 0 && cacheScaleMeta) {\n // 在更新过程中数据变为空,同时 key 对应的 scale 已存在则保持 scale 同类型\n const cacheScale = cacheScaleMeta.scale;\n const cacheScaleDef: LooseObject = {\n type: cacheScale.type,\n };\n if (cacheScale.isCategory) {\n // 如果是分类类型,保持 values\n cacheScaleDef.values = cacheScale.values;\n }\n finalScaleDef = deepMix(cacheScaleDef, cacheScaleMeta.scaleDef, scaleDef);\n }\n\n const scale = createScaleByField(field, data, finalScaleDef);\n\n // 缓存起来\n this.cacheScale(scale, scaleDef, key);\n\n return scale;\n }\n\n /**\n * 同步 scale\n */\n public sync(coordinate: Coordinate, theme: ViewCfg['theme']) {\n // 对于 syncScales 中每一个 syncKey 下面的 scale 数组进行同步处理\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n // min, max, values, ranges\n let min = Number.MAX_SAFE_INTEGER;\n let max = Number.MIN_SAFE_INTEGER;\n const values = [];\n\n // 1. 遍历求得最大最小值,values 等\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n max = isNumber(scale.max) ? Math.max(max, scale.max) : max;\n min = isNumber(scale.min) ? Math.min(min, scale.min) : min;\n\n // 去重\n each(scale.values, (v: any) => {\n if (!values.includes(v)) {\n values.push(v);\n }\n });\n });\n\n // 2. 同步\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n if (scale.isContinuous) {\n scale.change({\n min,\n max,\n values,\n });\n } else if (scale.isCategory) {\n let range = scale.range;\n const cacheScaleMeta = this.getScaleMeta(key);\n\n // 存在 value 值,且用户没有配置 range 配置 to fix https://github.com/antvis/G2/issues/2996\n if (values && !get(cacheScaleMeta, ['scaleDef', 'range'])) {\n // 更新 range\n range = getDefaultCategoryScaleRange(\n deepMix({}, scale, {\n values,\n }),\n coordinate,\n theme\n );\n }\n scale.change({\n values,\n range,\n });\n }\n });\n });\n }\n\n /**\n * 缓存一个 scale\n * @param scale\n * @param scaleDef\n * @param key\n */\n private cacheScale(scale: Scale, scaleDef: ScaleOption, key: string) {\n // 1. 缓存到 scales\n\n let sm = this.getScaleMeta(key);\n // 存在则更新,同时检测类型是否一致\n if (sm && sm.scale.type === scale.type) {\n syncScale(sm.scale, scale);\n sm.scaleDef = scaleDef;\n // 更新 scaleDef\n } else {\n sm = {\n key,\n scale,\n scaleDef,\n };\n\n this.scales.set(key, sm);\n }\n\n // 2. 缓存到 syncScales,构造 Record 数据结构\n const syncKey = this.getSyncKey(sm);\n sm.syncKey = syncKey; // 设置 sync 同步的 key\n\n // 因为存在更新 scale 机制,所以在缓存之前,先从原 syncScales 中去除 sync 的缓存引用\n this.removeFromSyncScales(key);\n\n // 存在 sync 标记才进行 sync\n if (syncKey) {\n // 不存在这个 syncKey,则创建一个空数组\n let scaleKeys = this.syncScales.get(syncKey);\n if (!scaleKeys) {\n scaleKeys = [];\n this.syncScales.set(syncKey, scaleKeys);\n }\n scaleKeys.push(key);\n }\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n public getScale(key: string): Scale {\n let scaleMeta = this.getScaleMeta(key);\n if (!scaleMeta) {\n const field = last(key.split('-'));\n const scaleKeys = this.syncScales.get(field);\n if (scaleKeys && scaleKeys.length) {\n scaleMeta = this.getScaleMeta(scaleKeys[0]);\n }\n }\n return scaleMeta && scaleMeta.scale;\n }\n\n /**\n * 在 view 销毁的时候,删除 scale 实例,防止内存泄露\n * @param key\n */\n public deleteScale(key: string) {\n const scaleMeta = this.getScaleMeta(key);\n if (scaleMeta) {\n const { syncKey } = scaleMeta;\n\n const scaleKeys = this.syncScales.get(syncKey);\n\n // 移除同步的关系\n if (scaleKeys && scaleKeys.length) {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n }\n }\n }\n\n // 删除 scale 实例\n this.scales.delete(key);\n }\n\n /**\n * 清空\n */\n public clear() {\n this.scales.clear();\n this.syncScales.clear();\n }\n\n /**\n * 删除 sync scale 引用\n * @param key\n */\n private removeFromSyncScales(key: string) {\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n\n // 删除空数组值\n if (scaleKeys.length === 0) {\n this.syncScales.delete(syncKey);\n }\n\n return false; // 跳出循环\n }\n });\n }\n\n /**\n * get sync key\n * @param sm\n */\n private getSyncKey(sm: ScaleMeta): string {\n const { scale, scaleDef } = sm;\n const { field } = scale;\n const sync = get(scaleDef, ['sync']);\n\n // 如果 sync = true,则直接使用字段名作为 syncKey\n return sync === true ? field : sync === false ? undefined : sync;\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n private getScaleMeta(key: string): ScaleMeta {\n return this.scales.get(key);\n }\n}\n","import { DIRECTION } from '../../constant';\nimport { BBox } from '../../dependents';\nimport { Padding } from '../../interface';\n\nexport type PaddingCalCtor = {\n readonly instance: (top?: number, right?: number, bottom?: number, left?: number) => PaddingCal;\n};\n\n/** @ignore */\nexport class PaddingCal {\n private top: number;\n private right: number;\n private bottom: number;\n private left: number;\n\n /**\n * 使用静态方法创建一个\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n public static instance(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n return new PaddingCal(top, right, bottom, left);\n }\n\n /**\n * 初始的 padding 数据\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n constructor(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n this.left = left;\n }\n\n /**\n * 取最大区间\n * @param padding\n */\n public max(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top = Math.max(this.top, top);\n this.right = Math.max(this.right, right);\n this.bottom = Math.max(this.bottom, bottom);\n this.left = Math.max(this.left, left);\n\n return this;\n }\n\n /**\n * 四周增加 padding\n * @param padding\n */\n public shrink(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top += top;\n this.right += right;\n this.bottom += bottom;\n this.left += left;\n\n return this;\n }\n\n /**\n * 在某一个方向增加 padding\n * @param bbox\n * @param direction\n */\n public inc(bbox: BBox, direction: DIRECTION): PaddingCal {\n const { width, height } = bbox;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n this.top += height;\n break;\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n this.right += width;\n break;\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n this.bottom += height;\n break;\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n this.left += width;\n break;\n default:\n break;\n }\n\n return this;\n }\n\n /**\n * 获得最终的 padding\n */\n public getPadding(): Padding {\n return [this.top, this.right, this.bottom, this.left];\n }\n\n /**\n * clone 一个 padding cal\n */\n public clone(): PaddingCal {\n return new PaddingCal(...this.getPadding());\n }\n}\n","import { each } from '@antv/util';\nimport { COMPONENT_TYPE } from '../../constant';\nimport { ComponentOption, Padding } from '../../interface';\nimport { BBox } from '../../util/bbox';\nimport { isAutoPadding, parsePadding } from '../../util/padding';\nimport View from '../view';\nimport { PaddingCal } from './padding-cal';\n\n/**\n * @ignore\n * 根据 view 中的组件,计算实际的 padding 数值\n * @param view\n */\nexport function calculatePadding(view: View): PaddingCal {\n const padding = view.padding;\n\n // 如果不是 auto padding,那么直接解析之后返回\n if (!isAutoPadding(padding)) {\n return new PaddingCal(...parsePadding(padding));\n }\n\n // 是 auto padding,根据组件的情况,来计算 padding\n const { viewBBox } = view;\n\n const paddingCal = new PaddingCal();\n\n const axisComponents = [];\n const paddingComponents = [];\n const otherComponents = [];\n\n each(view.getComponents(), (co: ComponentOption) => {\n const { type } = co;\n if (type === COMPONENT_TYPE.AXIS) {\n axisComponents.push(co);\n } else if ([COMPONENT_TYPE.LEGEND, COMPONENT_TYPE.SLIDER, COMPONENT_TYPE.SCROLLBAR].includes(type)) {\n paddingComponents.push(co);\n } else if (type !== COMPONENT_TYPE.GRID && type !== COMPONENT_TYPE.TOOLTIP) {\n otherComponents.push(co);\n }\n });\n\n // 进行坐标轴布局,应该是取 padding 的并集,而不是进行相加\n each(axisComponents, (co: ComponentOption) => {\n const { component } = co;\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n\n const exceed = componentBBox.exceed(viewBBox);\n\n // 在对组件分组之后,先对 axis 进行处理,然后取最大的超出即可。\n paddingCal.max(exceed);\n });\n\n // 有 padding 的组件布局\n each(paddingComponents, (co: ComponentOption) => {\n const { component, direction } = co;\n const bboxObject = component.getLayoutBBox();\n const componentPadding: Padding = component.get('padding');\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height).expand(\n componentPadding\n );\n // 按照方向计算 padding\n paddingCal.inc(componentBBox, direction);\n });\n\n // 其他组件布局\n each(otherComponents, (co: ComponentOption) => {\n const { component, direction } = co;\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n // 按照方向计算 padding\n paddingCal.inc(componentBBox, direction);\n });\n\n return paddingCal;\n}\n","import { PaddingCalCtor } from '../layout/padding-cal';\nimport { View } from '../view';\n\n/**\n * 默认的 syncViewPadding 逻辑\n * @param chart\n * @param views\n * @param PC: PaddingCalCtor\n */\nexport function defaultSyncViewPadding(chart: View, views: View[], PC: PaddingCalCtor) {\n const syncPadding = PC.instance();\n\n // 所有的 view 的 autoPadding 指向同一个引用\n views.forEach((v: View) => {\n v.autoPadding = syncPadding.max(v.autoPadding.getPadding());\n });\n}\n","import {\n clone,\n deepMix,\n each,\n filter,\n find,\n flatten,\n get,\n isBoolean,\n isFunction,\n isNil,\n isObject,\n isString,\n isUndefined,\n mix,\n remove,\n set,\n size,\n uniqueId,\n isEqual,\n isPlainObject,\n reduce,\n} from '@antv/util';\nimport { Attribute, Coordinate, Event as GEvent, GroupComponent, ICanvas, IGroup, IShape, Scale } from '../dependents';\nimport {\n AxisOption,\n ComponentOption,\n CoordinateCfg,\n CoordinateOption,\n Data,\n Datum,\n FacetCfgMap,\n FilterCondition,\n GeometryOption,\n LegendOption,\n LooseObject,\n Options,\n Point,\n Region,\n ScaleOption,\n TooltipOption,\n ViewCfg,\n ViewPadding,\n ViewAppendPadding,\n EventPayload,\n Padding,\n} from '../interface';\nimport { GROUP_Z_INDEX, LAYER, PLOT_EVENTS, VIEW_LIFE_CIRCLE } from '../constant';\nimport Base from '../base';\nimport { Facet, getFacet } from '../facet';\nimport Geometry from '../geometry/base';\nimport Element from '../geometry/element';\nimport { createInteraction, Interaction } from '../interaction';\nimport { getTheme } from '../theme';\nimport { BBox } from '../util/bbox';\nimport { getCoordinateClipCfg, isPointInCoordinate } from '../util/coordinate';\nimport { uniq } from '../util/helper';\nimport { findDataByPoint } from '../util/tooltip';\nimport { parsePadding } from '../util/padding';\nimport { getDefaultCategoryScaleRange } from '../util/scale';\nimport { createTheme } from '../theme/util';\nimport Chart from './chart';\nimport { getComponentController, getComponentControllerNames } from './controller';\nimport Annotation from './controller/annotation';\nimport { Controller } from './controller/base';\nimport CoordinateController from './controller/coordinate';\nimport Tooltip from './controller/tooltip';\nimport Slider from './controller/slider';\nimport Scrollbar from './controller/scrollbar';\nimport Axis from './controller/axis';\nimport Gesture from './controller/gesture';\nimport Legend from './controller/legend';\nimport Event from './event';\nimport defaultLayout, { Layout } from './layout';\nimport { ScalePool } from './util/scale-pool';\nimport { PaddingCal } from './layout/padding-cal';\nimport { calculatePadding } from './layout/auto';\nimport { defaultSyncViewPadding } from './util/sync-view-padding';\n\n/**\n * G2 视图 View 类\n */\nexport class View extends Base {\n /** view id,全局唯一。 */\n public id: string;\n /** 父级 view,如果没有父级,则为空。 */\n public parent: View;\n /** 所有的子 view。 */\n public views: View[] = [];\n /** 所有的 geometry 实例。 */\n public geometries: Geometry[] = [];\n /** 所有的组件 controllers。 */\n public controllers: Controller[] = [];\n /** 所有的 Interaction 实例。 */\n public interactions: Record = {};\n\n /** view 区域空间。 */\n public viewBBox: BBox;\n /** 坐标系的位置大小,ViewBBox - padding = coordinateBBox。 */\n public coordinateBBox: BBox;\n /** view 的 padding 大小,传入的配置(不是解析之后的值)。 */\n public padding: ViewPadding;\n /** padding的基础上增加的调整值 */\n public appendPadding: ViewAppendPadding;\n /** G.Canvas 实例。 */\n public canvas: ICanvas;\n /** 存储最终计算的 padding 结果 */\n public autoPadding: PaddingCal;\n\n /** 三层 Group 图形中的背景层。 */\n public backgroundGroup: IGroup;\n /** 三层 Group 图形中的中间层。 */\n public middleGroup: IGroup;\n /** 三层 Group 图形中的前景层。 */\n public foregroundGroup: IGroup;\n /** 是否对超出坐标系范围的 Geometry 进行剪切 */\n public limitInPlot: boolean = false;\n\n /**\n * 标记 view 的大小位置范围,均是 0 ~ 1 范围,便于开发者使用,起始点为左上角。\n */\n protected region: Region;\n /** 主题配置,存储当前主题配置。 */\n protected themeObject: LooseObject;\n\n // 配置信息存储\n protected options: Options = {\n data: [],\n animate: true, // 默认开启动画\n }; // 初始化为空\n\n /** 过滤之后的数据 */\n protected filteredData: Data;\n\n /** 配置开启的组件插件,默认为全局配置的组件。 */\n private usedControllers: string[] = getComponentControllerNames();\n\n /** 所有的 scales */\n private scalePool: ScalePool = new ScalePool();\n\n /** 布局函数 */\n protected layoutFunc: Layout = defaultLayout;\n /** 生成的坐标系实例,{@link https://github.com/antvis/coord/blob/master/src/coord/base.ts|Coordinate} */\n protected coordinateInstance: Coordinate;\n /** Coordinate 相关的控制器类,负责坐标系实例的创建、更新、变换等 */\n protected coordinateController: CoordinateController;\n /** 分面类实例 */\n protected facetInstance: Facet;\n\n /** 当前鼠标是否在 plot 内(CoordinateBBox) */\n private isPreMouseInPlot: boolean = false;\n /** 默认标识位,用于判定数据是否更新 */\n private isDataChanged: boolean = false;\n /** 用于判断坐标系范围是否发生变化的标志位 */\n private isCoordinateChanged: boolean = false;\n /** 从当前这个 view 创建的 scale key */\n private createdScaleKeys = new Map();\n /** 背景色样式的 shape */\n private backgroundStyleRectShape;\n /** 是否同步子 view 的 padding */\n private syncViewPadding;\n\n constructor(props: ViewCfg) {\n super({ visible: props.visible });\n\n const {\n id = uniqueId('view'),\n parent,\n canvas,\n backgroundGroup,\n middleGroup,\n foregroundGroup,\n region = { start: { x: 0, y: 0 }, end: { x: 1, y: 1 } },\n padding,\n appendPadding,\n theme,\n options,\n limitInPlot,\n syncViewPadding,\n } = props;\n\n this.parent = parent;\n this.canvas = canvas;\n this.backgroundGroup = backgroundGroup;\n this.middleGroup = middleGroup;\n this.foregroundGroup = foregroundGroup;\n this.region = region;\n this.padding = padding;\n this.appendPadding = appendPadding;\n // 接受父 view 传入的参数\n this.options = { ...this.options, ...options };\n this.limitInPlot = limitInPlot;\n this.id = id;\n this.syncViewPadding = syncViewPadding;\n\n // 初始化 theme\n this.themeObject = isObject(theme) ? deepMix({}, getTheme('default'), createTheme(theme)) : getTheme(theme);\n this.init();\n }\n\n /**\n * 设置 layout 布局函数\n * @param layout 布局函数\n * @returns void\n */\n public setLayout(layout: Layout) {\n this.layoutFunc = layout;\n }\n\n /**\n * 生命周期:初始化\n * @returns voids\n */\n public init() {\n // 计算画布的 viewBBox\n this.calculateViewBBox();\n\n // 事件委托机制\n this.initEvents();\n\n // 初始化组件 controller\n this.initComponentController();\n\n this.initOptions();\n }\n\n /**\n * 生命周期:渲染流程,渲染过程需要处理数据更新的情况。\n * render 函数仅仅会处理 view 和子 view。\n * @param isUpdate 是否触发更新流程。\n * @param params render 事件参数\n */\n public render(isUpdate: boolean = false, payload?: EventPayload) {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_RENDER, Event.fromData(this, VIEW_LIFE_CIRCLE.BEFORE_RENDER, payload));\n // 递归渲染\n this.paint(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_RENDER, Event.fromData(this, VIEW_LIFE_CIRCLE.AFTER_RENDER, payload));\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 生命周期:清空图表上所有的绘制内容,但是不销毁图表,chart 仍可使用。\n * @returns void\n */\n public clear() {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CLEAR);\n // 1. 清空缓存和计算数据\n this.filteredData = [];\n this.coordinateInstance = undefined;\n this.isDataChanged = false; // 复位\n this.isCoordinateChanged = false; // 复位\n\n // 2. 清空 geometries\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n geometries[i].clear();\n // view 中使用 geometry 的时候,还需要清空它的容器,不然下一次 chart.geometry() 的时候,又创建了一个,导致泄露, #2799。\n geometries[i].container.remove(true);\n geometries[i].labelsContainer.remove(true);\n }\n this.geometries = [];\n\n // 3. 清空 controllers\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n if (controllers[i].name === 'annotation') {\n // 需要清空配置项\n (controllers[i] as Annotation).clear(true);\n } else {\n controllers[i].clear();\n }\n }\n\n // 4. 删除 scale 缓存\n this.createdScaleKeys.forEach((v: boolean, k: string) => {\n this.getRootView().scalePool.deleteScale(k);\n });\n this.createdScaleKeys.clear();\n\n // 递归处理子 view\n const views = this.views;\n for (let i = 0; i < views.length; i++) {\n views[i].clear();\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CLEAR);\n }\n\n /**\n * 生命周期:销毁,完全无法使用。\n * @returns void\n */\n public destroy() {\n // 销毁前事件,销毁之后已经没有意义了,所以不抛出事件\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_DESTROY);\n const interactions = this.interactions;\n // 销毁 interactions\n each(interactions, (interaction) => {\n if (interaction) {\n // 有可能已经销毁,设置了 undefined\n interaction.destroy();\n }\n });\n\n this.clear();\n\n // 销毁 controller 中的组件\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.destroy();\n }\n\n this.backgroundGroup.remove(true);\n this.middleGroup.remove(true);\n this.foregroundGroup.remove(true);\n\n super.destroy();\n }\n /* end 生命周期函数 */\n\n /**\n * 显示或者隐藏整个 view。\n * @param visible 是否可见\n * @returns View\n */\n public changeVisible(visible: boolean): View {\n super.changeVisible(visible);\n\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n geometry.changeVisible(visible);\n }\n\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.changeVisible(visible);\n }\n\n this.foregroundGroup.set('visible', visible);\n this.middleGroup.set('visible', visible);\n this.backgroundGroup.set('visible', visible);\n\n // group.set('visible', visible) 不会触发自动刷新\n this.getCanvas().draw();\n\n return this;\n }\n\n /**\n * 装载数据源。\n *\n * ```ts\n * view.data([{ city: '杭州', sale: 100 }, { city: '上海', sale: 110 } ]);\n * ```\n *\n * @param data 数据源,json 数组。\n * @returns View\n */\n public data(data: Data): View {\n set(this.options, 'data', data);\n this.isDataChanged = true;\n return this;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #data(data)}\n */\n public source(data: Data): View {\n console.warn('This method will be removed at G2 V4.1. Please use chart.data() instead.');\n return this.data(data);\n }\n\n /**\n * 设置数据筛选规则。\n *\n * ```ts\n * view.filter('city', (value: any, datum: Datum) => value !== '杭州');\n *\n * // 删除 'city' 字段对应的筛选规则。\n * view.filter('city', null);\n * ```\n *\n * @param field 数据字段\n * @param condition 筛选规则\n * @returns View\n */\n public filter(field: string, condition: FilterCondition | null): View {\n if (isFunction(condition)) {\n set(this.options, ['filters', field], condition);\n return this;\n }\n // condition 为空,则表示删除过滤条件\n if (!condition && get(this.options, ['filters', field])) {\n delete this.options.filters[field];\n }\n\n return this;\n }\n\n /**\n * 开启或者关闭坐标轴。\n *\n * ```ts\n * view.axis(false); // 不展示坐标轴\n * ```\n * @param field 坐标轴开关\n */\n public axis(field: boolean): View;\n /**\n * 对特定的某条坐标轴进行配置。\n *\n * @example\n * ```ts\n * view.axis('city', false); // 不展示 'city' 字段对应的坐标轴\n *\n * // 将 'city' 字段对应的坐标轴的标题隐藏\n * view.axis('city', {\n * title: null,\n * });\n * ```\n *\n * @param field 要配置的坐标轴对应的字段名称\n * @param axisOption 坐标轴具体配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n */\n public axis(field: string, axisOption: AxisOption): View;\n public axis(field: string | boolean, axisOption?: AxisOption): View {\n if (isBoolean(field)) {\n set(this.options, ['axes'], field);\n } else {\n set(this.options, ['axes', field], axisOption);\n }\n\n return this;\n }\n\n /**\n * 对图例进行整体配置。\n *\n * ```ts\n * view.legend(false); // 关闭图例\n *\n * view.legend({\n * position: 'right',\n * }); // 图例进行整体配置\n * ```\n * @param field\n * @returns View\n */\n public legend(field: LegendOption): View;\n /**\n * 对特定的图例进行配置。\n *\n * @example\n * ```ts\n * view.legend('city', false); // 关闭某个图例,通过数据字段名进行关联\n *\n * // 对特定的图例进行配置\n * view.legend('city', {\n * position: 'right',\n * });\n * ```\n *\n * @param field 图例对应的数据字段名称\n * @param legendOption 图例配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n * @returns View\n */\n public legend(field: string, legendOption: LegendOption): View;\n public legend(field: string | LegendOption, legendOption?: LegendOption): View {\n if (isBoolean(field)) {\n set(this.options, ['legends'], field);\n } else if (isString(field)) {\n set(this.options, ['legends', field], legendOption);\n if (isPlainObject(legendOption) && legendOption?.selected) {\n set(this.options, ['filters', field], (name: string) => {\n return legendOption?.selected[name] ?? true;\n });\n }\n } else {\n // 设置全局的 legend 配置\n set(this.options, ['legends'], field);\n }\n\n return this;\n }\n\n /**\n * 批量设置 scale 配置。\n *\n * ```ts\n * view.scale({\n * sale: {\n * min: 0,\n * max: 100,\n * }\n * });\n * ```\n * Scale 的详细配置项可以参考:https://github.com/antvis/scale#api\n * @returns View\n */\n public scale(field: Record): View;\n /**\n * 为特性的数据字段进行 scale 配置。\n *\n * ```ts\n * view.scale('sale', {\n * min: 0,\n * max: 100,\n * });\n * ```\n *\n * @returns View\n */\n public scale(field: string, scaleOption: ScaleOption): View;\n public scale(field: string | Record, scaleOption?: ScaleOption): View {\n if (isString(field)) {\n set(this.options, ['scales', field], scaleOption);\n } else if (isObject(field)) {\n each(field, (v: ScaleOption, k: string) => {\n set(this.options, ['scales', k], v);\n });\n }\n\n return this;\n }\n\n /**\n * tooltip 提示信息配置。\n *\n * ```ts\n * view.tooltip(false); // 关闭 tooltip\n *\n * view.tooltip({\n * shared: true\n * });\n * ```\n *\n * @param cfg Tooltip 配置,更详细的配置项参考:https://github.com/antvis/component#tooltip\n * @returns View\n */\n public tooltip(cfg: boolean | TooltipOption): View {\n set(this.options, 'tooltip', cfg);\n\n return this;\n }\n\n /**\n * 辅助标记配置。\n *\n * ```ts\n * view.annotation().line({\n * start: ['min', 85],\n * end: ['max', 85],\n * style: {\n * stroke: '#595959',\n * lineWidth: 1,\n * lineDash: [3, 3],\n * },\n * });\n * ```\n * 更详细的配置项:https://github.com/antvis/component#annotation\n * @returns [[Annotation]]\n */\n public annotation(): Annotation {\n return this.getController('annotation');\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #guide()}\n */\n public guide(): Annotation {\n console.warn('This method will be removed at G2 V4.1. Please use chart.annotation() instead.');\n return this.annotation();\n }\n\n /**\n * 坐标系配置。\n *\n * @example\n * ```ts\n * view.coordinate({\n * type: 'polar',\n * cfg: {\n * radius: 0.85,\n * },\n * actions: [\n * [ 'transpose' ],\n * ],\n * });\n * ```\n *\n * @param option\n * @returns\n */\n public coordinate(option?: CoordinateOption): CoordinateController;\n /**\n * 声明坐标系类型,并进行配置。\n *\n * ```ts\n * // 直角坐标系,并进行转置变换\n * view.coordinate('rect').transpose();\n *\n * // 默认创建直角坐标系\n * view.coordinate();\n * ```\n *\n * @param type 坐标系类型\n * @param [coordinateCfg] 坐标系配置\n * @returns\n */\n public coordinate(type: string, coordinateCfg?: CoordinateCfg): CoordinateController;\n public coordinate(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n // 提供语法糖,使用更简单\n if (isString(type)) {\n set(this.options, 'coordinate', { type, cfg: coordinateCfg } as CoordinateOption);\n } else {\n set(this.options, 'coordinate', type);\n }\n\n // 更新 coordinate 配置\n this.coordinateController.update(this.options.coordinate);\n\n return this.coordinateController;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #coordinate()}\n */\n public coord(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n console.warn('This method will be removed at G2 V4.1. Please use chart.coordinate() instead.');\n // @ts-ignore\n return this.coordinate(type, coordinateCfg);\n }\n\n /**\n * view 分面绘制。\n *\n * ```ts\n * view.facet('rect', {\n * rowField: 'province',\n * columnField: 'category',\n * eachView: (innerView: View, facet?: FacetData) => {\n * innerView.line().position('city*sale');\n * },\n * });\n * ```\n *\n * @param type 分面类型\n * @param cfg 分面配置, [[FacetCfgMap]]\n * @returns View\n */\n public facet(type: T, cfg: FacetCfgMap[T]): View {\n // 先销毁掉之前的分面\n if (this.facetInstance) {\n this.facetInstance.destroy();\n }\n\n // 创建新的分面\n const Ctor = getFacet(type);\n\n if (!Ctor) {\n throw new Error(`facet '${type}' is not exist!`);\n }\n\n this.facetInstance = new Ctor(this, { ...cfg, type });\n\n return this;\n }\n\n /*\n * 开启或者关闭动画。\n *\n * ```ts\n * view.animate(false);\n * ```\n *\n * @param status 动画状态,true 表示开始,false 表示关闭\n * @returns View\n */\n public animate(status: boolean): View {\n set(this.options, 'animate', status);\n return this;\n }\n\n /**\n * 更新配置项,用于配置项式声明。\n * @param options 配置项\n */\n public updateOptions(options: Options) {\n this.clear(); // 清空\n mix(this.options, options);\n\n // 需要把已存在的 view 销毁,否则会重复创建\n // 目前针对配置项还没有特别好的 view 更新机制,为了不影响主流流程,所以在这里直接销毁\n this.views.forEach((view) => view.destroy());\n this.views = [];\n\n this.initOptions();\n // 初始化坐标系大小,保证 padding 计算正确\n this.coordinateBBox = this.viewBBox;\n return this;\n }\n\n /**\n * 往 `view.options` 属性中存储配置项。\n * @param name 属性名称\n * @param opt 属性值\n * @returns view\n */\n public option(name: string, opt: any): View {\n // 对于内置的 option,避免覆盖。\n // name 在原型上,说明可能是内置 API,存在 option 被覆盖的风险,不处理\n if (View.prototype[name]) {\n throw new Error(`Can't use built in variable name \"${name}\", please change another one.`);\n }\n\n // 存入到 option 中\n set(this.options, name, opt);\n return this;\n }\n\n /**\n * 设置主题。\n *\n * ```ts\n * view.theme('dark'); // 'dark' 需要事先通过 `registerTheme()` 接口注册完成\n *\n * view.theme({ defaultColor: 'red' });\n * ```\n *\n * @param theme 主题名或者主题配置\n * @returns View\n */\n public theme(theme: string | LooseObject): View {\n this.themeObject = isObject(theme) ? deepMix({}, this.themeObject, createTheme(theme)) : getTheme(theme);\n\n return this;\n }\n\n /* end 一系列传入配置的 API */\n\n /**\n * Call the interaction based on the interaction name\n *\n * ```ts\n * view.interaction('my-interaction', { extra: 'hello world' });\n * ```\n * 详细文档可以参考:https://g2.antv.vision/zh/docs/api/general/interaction\n * @param name interaction name\n * @param cfg interaction config\n * @returns\n */\n public interaction(name: string, cfg?: LooseObject): View {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n }\n\n // 新建交互实例\n const interaction = createInteraction(name, this, cfg);\n if (interaction) {\n interaction.init();\n this.interactions[name] = interaction;\n }\n return this;\n }\n\n /**\n * 移除当前 View 的 interaction\n * ```ts\n * view.removeInteraction('my-interaction');\n * ```\n * @param name interaction name\n */\n public removeInteraction(name: string) {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n this.interactions[name] = undefined;\n }\n }\n\n /**\n * 修改数据,数据更新逻辑,数据更新仅仅影响当前这一层的 view\n *\n * ```ts\n * view.changeData([{ city: '北京', sale: '200' }]);\n * ```\n *\n * @param data\n * @returns void\n */\n public changeData(data: Data) {\n this.isDataChanged = true;\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, Event.fromData(this, VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, null));\n // 1. 保存数据\n this.data(data);\n\n // 2. 渲染\n this.paint(true);\n\n // 3. 遍历子 view 进行 change data\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n // FIXME 子 view 有自己的数据的情况,该如何处理?\n view.changeData(data);\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, Event.fromData(this, VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, null));\n }\n\n /* View 管理相关的 API */\n\n /**\n * 创建子 view\n *\n * ```ts\n * const innerView = view.createView({\n * start: { x: 0, y: 0 },\n * end: { x: 0.5, y: 0.5 },\n * padding: 8,\n * });\n * ```\n *\n * @param cfg\n * @returns View\n */\n public createView(cfg?: Partial): View {\n // 将会在 4.1 版本中移除递归嵌套 view,仅仅只允许 chart - view 两层。\n // 这个 API 理论上用户量不多,所以暂时不发大版本,所以先暂时打一个 warning。\n if (this.parent && this.parent.parent) {\n // 存在 3 层 结构了\n console.warn('The view nesting recursive feature will be removed at G2 V4.1. Please avoid to use it.');\n }\n\n // 子 view 共享 options 配置数据\n const sharedOptions = {\n data: this.options.data,\n scales: clone(this.options.scales),\n axes: clone(this.options.axes),\n coordinate: clone(this.coordinateController.getOption()),\n tooltip: clone(this.options.tooltip),\n legends: clone(this.options.legends),\n animate: this.options.animate,\n visible: this.visible,\n };\n\n const v = new View({\n parent: this,\n canvas: this.canvas,\n // 子 view 共用三层 group\n backgroundGroup: this.backgroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: this.middleGroup.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: this.foregroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n theme: this.themeObject,\n padding: this.padding,\n ...cfg,\n options: {\n ...sharedOptions,\n ...get(cfg, 'options', {}),\n },\n });\n\n this.views.push(v);\n\n return v;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #createView()}\n */\n public view(cfg?: Partial) {\n console.warn('This method will be removed at G2 V4.1. Please use chart.createView() instead.');\n return this.createView(cfg);\n }\n\n /**\n * 删除一个子 view\n * @param view\n * @return removedView\n */\n public removeView(view: View): View {\n const removedView = remove(this.views, (v: View) => v === view)[0];\n\n if (removedView) {\n removedView.destroy();\n }\n\n return removedView;\n }\n /* end View 管理相关的 API */\n\n // 一些 get 方法\n\n /**\n * 获取当前坐标系实例。\n * @returns [[Coordinate]]\n */\n public getCoordinate() {\n return this.coordinateInstance;\n }\n\n /**\n * 获取当前 view 的主题配置。\n * @returns themeObject\n */\n public getTheme(): LooseObject {\n return this.themeObject;\n }\n\n /**\n * 获得 x 轴字段的 scale 实例。\n * @returns view 中 Geometry 对于的 x scale\n */\n public getXScale(): Scale {\n // 拿第一个 Geometry 的 X scale\n // 隐藏逻辑:一个 view 中的 Geometry 必须 x 字段一致\n const g = this.geometries[0];\n return g ? g.getXScale() : null;\n }\n\n /**\n * 获取 y 轴字段的 scales 实例。\n * @returns view 中 Geometry 对于的 y scale 数组\n */\n public getYScales(): Scale[] {\n // 拿到所有的 Geometry 的 Y scale,然后去重\n const tmpMap = {};\n const yScales = [];\n this.geometries.forEach((g: Geometry) => {\n const yScale = g.getYScale();\n const field = yScale.field;\n if (!tmpMap[field]) {\n tmpMap[field] = true;\n yScales.push(yScale);\n }\n });\n return yScales;\n }\n\n /**\n * 获取 x 轴或者 y 轴对应的所有 scale 实例。\n * @param dimType x | y\n * @returns x 轴或者 y 轴对应的所有 scale 实例。\n */\n public getScalesByDim(dimType: 'x' | 'y'): Record {\n const geometries = this.geometries;\n const scales = {};\n\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n const scale = dimType === 'x' ? geometry.getXScale() : geometry.getYScale();\n if (scale && !scales[scale.field]) {\n scales[scale.field] = scale;\n }\n }\n\n return scales;\n }\n\n /**\n * 根据字段名去获取 scale 实例。\n * @param field 数据字段名称\n * @param key id\n */\n public getScale(field: string, key?: string): Scale {\n const defaultKey = key ? key : this.getScaleKey(field);\n // 调用根节点 view 的方法获取\n return this.getRootView().scalePool.getScale(defaultKey);\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Please use `getScale`.\n */\n public getScaleByField(field: string, key?: string): Scale {\n return this.getScale(field, key);\n }\n\n /**\n * 返回所有配置信息。\n * @returns 所有的 view API 配置。\n */\n public getOptions(): Options {\n return this.options;\n }\n\n /**\n * 获取 view 的数据(过滤后的数据)。\n * @returns 处理过滤器之后的数据。\n */\n public getData() {\n return this.filteredData;\n }\n\n /**\n * 获取原始数据\n * @returns 传入 G2 的原始数据\n */\n public getOriginalData() {\n return this.options.data;\n }\n\n /**\n * 获取布局后的边距 padding\n * @returns\n */\n public getPadding(): Padding {\n return this.autoPadding.getPadding();\n }\n\n /**\n * 获取当前 view 有的 geometries\n * @returns\n */\n public getGeometries() {\n return this.geometries;\n }\n\n /**\n * 获取 view 中的所有 geome\n */\n public getElements(): Element[] {\n return reduce(\n this.geometries,\n (elements: Element[], geometry: Geometry) => {\n return elements.concat(geometry.getElements());\n },\n []\n );\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.getElements().filter((el) => condition(el));\n }\n\n /**\n * 获得绘制的层级 group。\n * @param layer 层级名称。\n * @returns 对应层级的 Group。\n */\n public getLayer(layer: LAYER): IGroup {\n return layer === LAYER.BG\n ? this.backgroundGroup\n : layer === LAYER.MID\n ? this.middleGroup\n : layer === LAYER.FORE\n ? this.foregroundGroup\n : this.foregroundGroup;\n }\n\n /**\n * 对外暴露方法,判断一个点是否在绘图区域(即坐标系范围)内部。\n * @param point 坐标点\n */\n public isPointInPlot(point: Point): boolean {\n return isPointInCoordinate(this.getCoordinate(), point);\n }\n\n /**\n * 获得所有的 legend 对应的 attribute 实例。\n * @returns 维度字段的 Attribute 数组\n */\n public getLegendAttributes(): Attribute[] {\n return flatten(this.geometries.map((g: Geometry) => g.getGroupAttributes())) as unknown as Attribute[];\n }\n\n /**\n * 获取所有的分组字段的 scale 实例。\n * @returns 获得分组字段的 scale 实例数组。\n */\n public getGroupScales(): Scale[] {\n // 拿到所有的 Geometry 的 分组字段 scale,然后打平去重\n const scales = this.geometries.map((g: Geometry) => g.getGroupScales());\n return uniq(flatten(scales));\n }\n\n /**\n * 获取 G.Canvas 实例。\n * @returns G.Canvas 画布实例。\n */\n public getCanvas(): ICanvas {\n return (this.getRootView() as unknown as Chart).canvas;\n }\n\n /**\n * 获得根节点 view。\n */\n public getRootView(): View {\n let v = this as View;\n\n while (true) {\n if (v.parent) {\n v = v.parent;\n continue;\n }\n break;\n }\n return v;\n }\n\n /**\n * 获取该数据在可视化后,对应的画布坐标点。\n * @param data 原始数据记录\n * @returns 对应的画布坐标点\n */\n public getXY(data: Datum): Point {\n const coordinate = this.getCoordinate();\n const xScales = this.getScalesByDim('x');\n const yScales = this.getScalesByDim('y');\n let x;\n let y;\n\n each(data, (value, key) => {\n if (xScales[key]) {\n x = xScales[key].scale(value);\n }\n if (yScales[key]) {\n y = yScales[key].scale(value);\n }\n });\n\n if (!isNil(x) && !isNil(y)) {\n return coordinate.convert({ x, y });\n }\n }\n\n public getController(name: 'tooltip'): Tooltip;\n public getController(name: 'axis'): Axis;\n public getController(name: 'legend'): Legend;\n public getController(name: 'scrollbar'): Scrollbar;\n public getController(name: 'slider'): Slider;\n public getController(name: 'annotation'): Annotation;\n public getController(name: 'gestucre'): Gesture;\n public getController(name: string): Controller;\n /**\n * 获取 name 对应的 controller 实例\n * @param name\n */\n public getController(name: string): Controller {\n return find(this.controllers, (c: Controller) => c.name === name);\n }\n\n /**\n * 显示 point 坐标点对应的 tooltip。\n * @param point 画布坐标点\n * @returns View\n */\n public showTooltip(point: Point): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.showTooltip(point);\n }\n return this;\n }\n\n /**\n * 隐藏 tooltip。\n * @returns View\n */\n public hideTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.hideTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定到当前位置不能移动。\n * @returns View\n */\n public lockTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.lockTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定解除。\n * @returns View\n */\n public unlockTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.unlockTooltip();\n }\n return this;\n }\n\n /**\n * 是否锁定 tooltip。\n * @returns 是否锁定\n */\n public isTooltipLocked() {\n const tooltip = this.getController('tooltip');\n return tooltip && tooltip.isTooltipLocked();\n }\n\n /**\n * 获取当前 point 对应的 tooltip 数据项。\n * @param point 坐标点\n * @returns tooltip 数据项\n */\n public getTooltipItems(point: Point) {\n const tooltip = this.getController('tooltip');\n\n return tooltip ? tooltip.getTooltipItems(point) : [];\n }\n\n /**\n * 获取逼近的点的数据集合\n * @param point 当前坐标点\n * @returns 数据\n */\n public getSnapRecords(point: Point) {\n const geometries = this.geometries;\n let rst = [];\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geom = geometries[i];\n const dataArray = geom.dataArray;\n geom.sort(dataArray); // 先进行排序,便于 tooltip 查找\n let record;\n for (let j = 0, dataLen = dataArray.length; j < dataLen; j++) {\n const data = dataArray[j];\n record = findDataByPoint(point, data, geom);\n if (record) {\n rst.push(record);\n }\n }\n }\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n const snapRecords = view.getSnapRecords(point);\n rst = rst.concat(snapRecords);\n }\n\n return rst;\n }\n\n /**\n * 获取所有的 pure component 组件,用于布局。\n */\n public getComponents(): ComponentOption[] {\n let components = [];\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n components = components.concat(controller.getComponents());\n }\n\n return components;\n }\n\n /**\n * 将 data 数据进行过滤。\n * @param data\n * @returns 过滤之后的数据\n */\n public filterData(data: Data): Data {\n const { filters } = this.options;\n // 不存在 filters,则不需要进行数据过滤\n if (size(filters) === 0) {\n return data;\n }\n\n // 存在过滤器,则逐个执行过滤,过滤器之间是 与 的关系\n return filter(data, (datum: Datum, idx: number) => {\n // 所有的 filter 字段\n const fields = Object.keys(filters);\n\n // 所有的条件都通过,才算通过\n return fields.every((field: string) => {\n const condition = filters[field];\n\n // condition 返回 true,则保留\n return condition(datum[field], datum, idx);\n });\n });\n }\n\n /**\n * 对某一个字段进行过滤\n * @param field\n * @param data\n */\n public filterFieldData(field: string, data: Data): Data {\n const { filters } = this.options;\n const condition = get(filters, field);\n\n if (isUndefined(condition)) {\n return data;\n }\n return data.filter((datum: Datum, idx: number) => condition(datum[field], datum, idx));\n }\n\n /**\n * 调整 coordinate 的坐标范围。\n */\n public adjustCoordinate() {\n const { start: curStart, end: curEnd } = this.getCoordinate();\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n\n // 在 defaultLayoutFn 中只会在 coordinateBBox 发生变化的时候会调用 adjustCoordinate(),所以不用担心被置位\n if (isEqual(curStart, start) && isEqual(curEnd, end)) {\n this.isCoordinateChanged = false;\n // 如果大小没有变化则不更新\n return;\n }\n this.isCoordinateChanged = true;\n this.coordinateInstance = this.coordinateController.adjust(start, end);\n }\n\n protected paint(isUpdate: boolean) {\n this.renderDataRecursive(isUpdate);\n\n // 处理 sync scale 的逻辑\n this.syncScale();\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_PAINT);\n\n // 初始化图形、组件位置,计算 padding\n this.renderPaddingRecursive(isUpdate);\n // 布局图形、组件\n this.renderLayoutRecursive(isUpdate);\n // 背景色 shape\n this.renderBackgroundStyleShape();\n // 最终的绘制 render\n this.renderPaintRecursive(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_PAINT);\n\n this.isDataChanged = false; // 渲染完毕复位\n }\n\n /**\n * 渲染背景样式的 shape。\n * 放到 view 中创建的原因是让使用 view 绘制图形的时候,也能够处理背景色\n */\n private renderBackgroundStyleShape() {\n // 只有根节点才处理\n if (this.parent) {\n return;\n }\n const background = get(this.themeObject, 'background');\n // 配置了背景色\n if (background) {\n // 1. 不存在则创建\n if (!this.backgroundStyleRectShape) {\n this.backgroundStyleRectShape = this.backgroundGroup.addShape('rect', {\n attrs: {},\n zIndex: -1,\n // 背景色 shape 不设置事件捕获\n capture: false,\n });\n this.backgroundStyleRectShape.toBack();\n }\n\n // 2. 有了 shape 之后设置背景,位置(更新的时候)\n const { x, y, width, height } = this.viewBBox;\n this.backgroundStyleRectShape.attr({\n fill: background,\n x,\n y,\n width,\n height,\n });\n } else {\n // 没有配置背景色\n if (this.backgroundStyleRectShape) {\n this.backgroundStyleRectShape.remove(true);\n this.backgroundStyleRectShape = undefined;\n }\n }\n }\n\n /**\n * 递归计算每个 view 的 padding 值,coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderPaddingRecursive(isUpdate: boolean) {\n // 1. 子 view 大小相对 coordinateBBox,changeSize 的时候需要重新计算\n this.calculateViewBBox();\n // 2. 更新 coordinate\n this.adjustCoordinate();\n // 3. 初始化组件 component\n this.initComponents(isUpdate);\n // 4. 布局计算每隔 view 的 padding 值\n // 4.1. 自动加 auto padding -> absolute padding,并且增加 appendPadding\n this.autoPadding = calculatePadding(this).shrink(parsePadding(this.appendPadding));\n // 4.2. 计算出新的 coordinateBBox,更新 Coordinate\n // 这里必须保留,原因是后面子 view 的 viewBBox 或根据 parent 的 coordinateBBox\n this.coordinateBBox = this.viewBBox.shrink(this.autoPadding.getPadding());\n this.adjustCoordinate();\n\n // 刷新 tooltip (tooltip crosshairs 依赖 coordinate 位置)\n const tooltipController = this.controllers.find((c) => c.name === 'tooltip');\n tooltipController.update();\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaddingRecursive(isUpdate);\n }\n }\n\n /**\n * 递归处理 view 的布局,最终是计算各个 view 的 coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderLayoutRecursive(isUpdate: boolean) {\n // 1. 同步子 view padding\n // 根据配置获取 padding\n const syncViewPaddingFn =\n this.syncViewPadding === true\n ? defaultSyncViewPadding\n : isFunction(this.syncViewPadding)\n ? this.syncViewPadding\n : undefined;\n\n if (syncViewPaddingFn) {\n syncViewPaddingFn(this, this.views, PaddingCal);\n // 同步 padding 之后,更新 coordinate\n this.views.forEach((v: View) => {\n v.coordinateBBox = v.viewBBox.shrink(v.autoPadding.getPadding());\n v.adjustCoordinate();\n });\n }\n\n // 3. 将 view 中的组件按照 view padding 移动到对应的位置\n this.doLayout();\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderLayoutRecursive(isUpdate);\n }\n }\n\n /**\n * 最终递归绘制组件和图形\n * @param isUpdate\n */\n protected renderPaintRecursive(isUpdate: boolean) {\n const middleGroup = this.middleGroup;\n if (this.limitInPlot) {\n const { type, attrs } = getCoordinateClipCfg(this.coordinateInstance);\n middleGroup.setClip({\n type,\n attrs,\n });\n } else {\n // 清除已有的 clip\n middleGroup.setClip(undefined);\n }\n\n // 1. 渲染几何标记\n this.paintGeometries(isUpdate);\n // 2. 绘制组件\n this.renderComponents(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaintRecursive(isUpdate);\n }\n }\n\n // end Get 方法\n\n /**\n * 创建 scale,递归到顶层 view 去创建和缓存 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n protected createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n // 1. 合并 field 对应的 scaleDef,合并原则是底层覆盖顶层(就近原则)\n const currentScaleDef = get(this.options.scales, [field]);\n const mergedScaleDef = { ...currentScaleDef, ...scaleDef };\n\n // 2. 是否存在父 view,在则递归,否则创建\n if (this.parent) {\n return this.parent.createScale(field, data, mergedScaleDef, key);\n }\n\n // 3. 在根节点 view 通过 scalePool 创建\n return this.scalePool.createScale(field, data, mergedScaleDef, key);\n }\n\n /**\n * 递归渲染中的数据处理\n * @param isUpdate\n */\n private renderDataRecursive(isUpdate: boolean) {\n // 1. 处理数据\n this.doFilterData();\n // 2. 创建实例\n this.createCoordinate();\n // 3. 初始化 Geometry\n this.initGeometries(isUpdate);\n // 4. 处理分面逻辑,最终都是生成子 view 和 geometry\n this.renderFacet(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderDataRecursive(isUpdate);\n }\n }\n\n /**\n * 计算 region,计算实际的像素范围坐标\n * @private\n */\n private calculateViewBBox() {\n let x;\n let y;\n let width;\n let height;\n\n if (this.parent) {\n const bbox = this.parent.coordinateBBox;\n // 存在 parent, 那么就是通过父容器大小计算\n x = bbox.x;\n y = bbox.y;\n width = bbox.width;\n height = bbox.height;\n } else {\n // 顶层容器,从 canvas 中取值 宽高\n x = 0;\n y = 0;\n width = this.canvas.get('width');\n height = this.canvas.get('height');\n }\n\n const { start, end } = this.region;\n\n // 根据 region 计算当前 view 的 bbox 大小。\n const viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n\n if (!this.viewBBox || !this.viewBBox.isEqual(viewBBox)) {\n // viewBBox 发生变化的时候进行更新\n this.viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n }\n\n // 初始的 coordinate bbox 大小\n this.coordinateBBox = this.viewBBox;\n }\n\n /**\n * 初始化事件机制:G 4.0 底层内置支持 name:event 的机制,那么只要所有组件都有自己的 name 即可。\n *\n * G2 的事件只是获取事件委托,然后在 view 嵌套结构中,形成事件冒泡机制。\n * 当前 view 只委托自己 view 中的 Component 和 Geometry 事件,并向上冒泡\n * @private\n */\n private initEvents() {\n // 三层 group 中的 shape 事件都会通过 G 冒泡上来的\n this.foregroundGroup.on('*', this.onDelegateEvents);\n this.middleGroup.on('*', this.onDelegateEvents);\n this.backgroundGroup.on('*', this.onDelegateEvents);\n\n this.canvas.on('*', this.onCanvasEvent);\n }\n\n private onCanvasEvent = (evt: GEvent): void => {\n const name = evt.name;\n if (!name.includes(':')) {\n // 非委托事件\n const e = this.createViewEvent(evt);\n // 处理 plot 事件\n this.doPlotEvent(e);\n this.emit(name, e);\n }\n };\n\n /**\n * 初始化插件\n */\n private initComponentController() {\n const usedControllers = this.usedControllers;\n for (let i = 0, len = usedControllers.length; i < len; i++) {\n const controllerName = usedControllers[i];\n const Ctor = getComponentController(controllerName);\n if (Ctor) {\n this.controllers.push(new Ctor(this));\n }\n }\n }\n\n private createViewEvent(evt: GEvent) {\n const { shape, name } = evt;\n\n const data = shape ? shape.get('origin') : null;\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = new Event(this, evt, data);\n e.type = name;\n return e;\n }\n /**\n * 触发事件之后\n * @param evt\n */\n private onDelegateEvents = (evt: GEvent): void => {\n // 阻止继续冒泡,防止重复事件触发\n // evt.preventDefault();\n const { name } = evt;\n if (!name.includes(':')) {\n return;\n }\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = this.createViewEvent(evt);\n\n // 包含有基本事件、组合事件\n this.emit(name, e);\n // const currentTarget = evt.currentTarget as IShape;\n // const inheritNames = currentTarget.get('inheritNames');\n // if (evt.delegateObject || inheritNames) {\n // const events = this.getEvents();\n // each(inheritNames, (subName) => {\n // const eventName = `${subName}:${type}`;\n // if (events[eventName]) {\n // this.emit(eventName, e);\n // }\n // });\n // }\n };\n\n /**\n * 处理 PLOT_EVENTS\n * plot event 需要处理所有的基础事件,并判断是否在画布中,然后再决定是否要 emit。\n * 对于 mouseenter、mouseleave 比较特殊,需要做一下数学比较。\n * @param e\n */\n private doPlotEvent(e: Event) {\n const { type, x, y } = e;\n\n const point = { x, y };\n\n const ALL_EVENTS = [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'mouseleave',\n 'mousewheel',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'click',\n 'dblclick',\n 'contextmenu',\n ];\n\n if (ALL_EVENTS.includes(type)) {\n const currentInPlot = this.isPointInPlot(point);\n const newEvent = e.clone();\n\n if (currentInPlot) {\n const TYPE = `plot:${type}`; // 组合 plot 事件\n newEvent.type = TYPE;\n this.emit(TYPE, newEvent);\n if (type === 'mouseleave' || type === 'touchend') {\n // 在plot 内部却离开画布\n this.isPreMouseInPlot = false;\n }\n }\n\n // 对于 mouseenter, mouseleave 的计算处理\n if (type === 'mousemove' || type === 'touchmove') {\n if (this.isPreMouseInPlot && !currentInPlot) {\n if (type === 'mousemove') {\n newEvent.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, newEvent);\n }\n newEvent.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, newEvent);\n } else if (!this.isPreMouseInPlot && currentInPlot) {\n if (type === 'mousemove') {\n newEvent.type = PLOT_EVENTS.MOUSE_ENTER;\n this.emit(PLOT_EVENTS.MOUSE_ENTER, newEvent);\n }\n newEvent.type = PLOT_EVENTS.ENTER;\n this.emit(PLOT_EVENTS.ENTER, newEvent);\n }\n // 赋新的状态值\n this.isPreMouseInPlot = currentInPlot;\n } else if (type === 'mouseleave' || type === 'touchend') {\n // 可能不在 currentInPlot 中\n if (this.isPreMouseInPlot) {\n if (type === 'mouseleave') {\n newEvent.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, newEvent);\n }\n newEvent.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, newEvent);\n\n this.isPreMouseInPlot = false;\n }\n }\n }\n }\n\n // view 生命周期 —— 渲染流程\n\n /**\n * 处理筛选器,筛选数据\n * @private\n */\n private doFilterData() {\n const { data } = this.options;\n this.filteredData = this.filterData(data);\n }\n\n /**\n * 初始化 Geometries\n * @private\n */\n private initGeometries(isUpdate: boolean) {\n // 初始化图形的之前,先创建 / 更新 scales\n this.createOrUpdateScales();\n // 实例化 Geometry,然后 view 将所有的 scale 管理起来\n const coordinate = this.getCoordinate();\n const scaleDefs = get(this.options, 'scales', {});\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n // 保持 scales 引用不要变化\n geometry.scales = this.getGeometryScales();\n const cfg = {\n coordinate, // 使用 coordinate 引用,可以保持 coordinate 的同步更新\n scaleDefs,\n data: this.filteredData,\n theme: this.themeObject,\n isDataChanged: this.isDataChanged,\n isCoordinateChanged: this.isCoordinateChanged,\n };\n\n if (isUpdate) {\n // 数据发生更新\n geometry.update(cfg);\n } else {\n geometry.init(cfg);\n }\n }\n\n // Geometry 初始化之后,生成了 scale,然后进行调整 scale 配置\n this.adjustScales();\n }\n\n /**\n * 根据 Geometry 的所有字段创建 scales\n * 如果存在,则更新,不存在则创建\n */\n private createOrUpdateScales() {\n const fields = this.getScaleFields();\n const groupedFields = this.getGroupedFields();\n\n const { data, scales = {} } = this.getOptions();\n const filteredData = this.filteredData;\n\n for (let i = 0, len = fields.length; i < len; i++) {\n const field = fields[i];\n const scaleDef = scales[field];\n\n // 调用方法,递归去创建\n const key = this.getScaleKey(field);\n this.createScale(\n field,\n // 分组字段的 scale 使用未过滤的数据创建\n groupedFields.includes(field) ? data : filteredData,\n scaleDef,\n key\n );\n\n // 缓存从当前 view 创建的 scale key\n this.createdScaleKeys.set(key, true);\n }\n }\n\n /**\n * 处理 scale 同步逻辑\n */\n private syncScale() {\n // 最终调用 root view 的\n this.getRootView().scalePool.sync(this.getCoordinate(), this.theme);\n }\n\n /**\n * 获得 Geometry 中的 scale 对象\n */\n private getGeometryScales(): Record {\n const fields = this.getScaleFields();\n\n const scales = {};\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n scales[field] = this.getScaleByField(field);\n }\n\n return scales;\n }\n\n private getScaleFields() {\n const fields = [];\n const tmpMap = new Map();\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const geometryScales = geometry.getScaleFields();\n uniq(geometryScales, fields, tmpMap);\n }\n return fields;\n }\n\n private getGroupedFields() {\n const fields = [];\n const tmpMap = new Map();\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const groupFields = geometry.getGroupFields();\n uniq(groupFields, fields, tmpMap);\n }\n return fields;\n }\n\n /**\n * 调整 scale 配置\n * @private\n */\n private adjustScales() {\n // 调整目前包括:\n // 分类 scale,调整 range 范围\n this.adjustCategoryScaleRange();\n }\n\n /**\n * 调整分类 scale 的 range,防止超出坐标系外面\n * @private\n */\n private adjustCategoryScaleRange() {\n const xyScales = [this.getXScale(), ...this.getYScales()].filter((e) => !!e);\n const coordinate = this.getCoordinate();\n const scaleOptions = this.options.scales;\n\n each(xyScales, (scale: Scale) => {\n const { field, values, isCategory, isIdentity } = scale;\n\n // 分类或者 identity 的 scale 才进行处理\n if (isCategory || isIdentity) {\n // 存在 value 值,且用户没有配置 range 配置\n if (values && !get(scaleOptions, [field, 'range'])) {\n // 更新 range\n scale.range = getDefaultCategoryScaleRange(scale, coordinate, this.theme);\n }\n }\n });\n }\n\n /**\n * 根据 options 配置、Geometry 字段配置,自动生成 components\n * @param isUpdate 是否是更新\n * @private\n */\n private initComponents(isUpdate: boolean) {\n // 先全部清空,然后 render\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n const controller = controllers[i];\n // 更新则走更新逻辑;否则清空载重绘\n if (isUpdate) {\n controller.update();\n } else {\n controller.clear();\n controller.render();\n }\n }\n }\n\n private doLayout() {\n this.layoutFunc(this);\n }\n\n /**\n * 创建坐标系\n * @private\n */\n private createCoordinate() {\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n this.coordinateInstance = this.coordinateController.create(start, end);\n }\n\n /**\n * 根据 options 配置自动渲染 geometry\n * @private\n */\n private paintGeometries(isUpdate: boolean) {\n const doAnimation = this.options.animate;\n // geometry 的 paint 阶段\n const coordinate = this.getCoordinate();\n const canvasRegion = {\n x: this.viewBBox.x,\n y: this.viewBBox.y,\n minX: this.viewBBox.minX,\n minY: this.viewBBox.minY,\n maxX: this.viewBBox.maxX,\n maxY: this.viewBBox.maxY,\n width: this.viewBBox.width,\n height: this.viewBBox.height,\n };\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n geometry.coordinate = coordinate;\n geometry.canvasRegion = canvasRegion;\n if (!doAnimation) {\n // 如果 view 不执行动画,那么 view 下所有的 geometry 都不执行动画\n geometry.animate(false);\n }\n geometry.paint(isUpdate);\n }\n }\n\n /**\n * 最后的绘制组件\n * @param isUpdate\n */\n private renderComponents(isUpdate: boolean) {\n const components = this.getComponents();\n // 先全部清空,然后 render\n for (let i = 0; i < components.length; i++) {\n const co = components[i];\n (co.component as GroupComponent).render();\n }\n }\n\n /**\n * 渲染分面,会在其中进行数据分面,然后进行子 view 创建\n * @param isUpdate\n */\n private renderFacet(isUpdate: boolean) {\n if (this.facetInstance) {\n if (isUpdate) {\n this.facetInstance.update();\n } else {\n this.facetInstance.clear();\n // 计算分面数据\n this.facetInstance.init();\n // 渲染组件和 views\n this.facetInstance.render();\n }\n }\n }\n\n private initOptions() {\n const {\n geometries = [],\n interactions = [],\n views = [],\n annotations = [],\n coordinate,\n events,\n facets,\n } = this.options;\n\n // 设置坐标系\n if (this.coordinateController) {\n // 更新 coordinate controller\n coordinate && this.coordinateController.update(coordinate);\n } else {\n // 创建 coordinate controller\n this.coordinateController = new CoordinateController(coordinate);\n }\n\n // 创建 geometry 实例\n for (let i = 0; i < geometries.length; i++) {\n const geometryOption = geometries[i];\n this.createGeometry(geometryOption);\n }\n\n // 创建 interactions 实例\n for (let j = 0; j < interactions.length; j++) {\n const interactionOption = interactions[j];\n const { type, cfg } = interactionOption;\n this.interaction(type, cfg);\n }\n\n // 创建 view 实例\n for (let k = 0; k < views.length; k++) {\n const viewOption = views[k];\n this.createView(viewOption);\n }\n\n // 设置 annotation\n const annotationComponent = this.getController('annotation');\n for (let l = 0; l < annotations.length; l++) {\n const annotationOption = annotations[l];\n annotationComponent.annotation(annotationOption);\n }\n\n // 设置 events\n if (events) {\n each(events, (eventCallback, eventName) => {\n this.on(eventName, eventCallback);\n });\n }\n\n if (facets) {\n each(facets, (facet) => {\n const { type, ...rest } = facet;\n\n this.facet(type, rest);\n });\n }\n }\n\n private createGeometry(geometryOption: GeometryOption) {\n const { type, cfg = {} } = geometryOption;\n if (this[type]) {\n const geometry = this[type](cfg);\n each(geometryOption, (v, k) => {\n if (isFunction(geometry[k])) {\n geometry[k](v);\n }\n });\n }\n }\n\n /**\n * scale key 的创建方式\n * @param field\n */\n private getScaleKey(field: string): string {\n return `${this.id}-${field}`;\n }\n}\n\n/**\n * 注册 geometry 组件\n * @param name\n * @param Ctor\n * @returns Geometry\n */\nexport function registerGeometry(name: string, Ctor: any) {\n // 语法糖,在 view API 上增加原型方法\n View.prototype[name.toLowerCase()] = function (cfg: any = {}) {\n const props = {\n /** 图形容器 */\n container: this.middleGroup.addGroup(),\n labelsContainer: this.foregroundGroup.addGroup(),\n ...cfg,\n };\n\n const geometry = new Ctor(props);\n this.geometries.push(geometry);\n\n return geometry;\n };\n}\n\nexport default View;\n","import { debounce, each, isString } from '@antv/util';\nimport { ChartCfg } from '../interface';\nimport { GROUP_Z_INDEX, VIEW_LIFE_CIRCLE } from '../constant';\nimport { getEngine } from '../engine';\nimport { createDom, getChartSize, removeDom, modifyCSS } from '../util/dom';\nimport View from './view';\nimport { AriaOption } from '../interface';\n\n/**\n * Chart 类,是使用 G2 进行绘图的入口。\n */\nexport default class Chart extends View {\n /** Chart 的 DOM 容器 */\n public ele: HTMLElement;\n\n /** 图表宽度 */\n public width: number;\n /** 图表高度 */\n public height: number;\n /** 是否开启局部刷新 */\n public localRefresh: boolean;\n /** 是否自适应 DOM 容器宽高,默认为 false,需要用户手动指定宽高 */\n public autoFit: boolean;\n /** 图表渲染引擎 */\n public renderer: 'canvas' | 'svg';\n\n private wrapperElement: HTMLElement;\n\n // @ts-ignore\n constructor(props: ChartCfg) {\n const {\n container,\n width,\n height,\n autoFit = false,\n padding,\n appendPadding,\n renderer = 'canvas',\n pixelRatio,\n localRefresh = true,\n visible = true,\n supportCSSTransform = false,\n defaultInteractions = ['tooltip', 'legend-filter', 'legend-active', 'continuous-filter', 'ellipsis-text', 'axis-description'],\n options,\n limitInPlot,\n theme,\n syncViewPadding,\n } = props;\n\n const ele: HTMLElement = isString(container) ? document.getElementById(container) : container;\n\n // 生成内部正式绘制的 div 元素\n const wrapperElement = createDom('
      ');\n ele.appendChild(wrapperElement);\n\n // if autoFit, use the container size, to avoid the graph render twice.\n const size = getChartSize(ele, autoFit, width, height);\n\n const G = getEngine(renderer);\n\n const canvas = new G.Canvas({\n container: wrapperElement,\n pixelRatio,\n localRefresh,\n supportCSSTransform,\n ...size,\n });\n\n // 调用 view 的创建\n super({\n parent: null,\n canvas,\n // create 3 group layers for views.\n backgroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n padding,\n appendPadding,\n visible,\n options,\n limitInPlot,\n theme,\n syncViewPadding,\n });\n\n this.ele = ele;\n this.canvas = canvas;\n this.width = size.width;\n this.height = size.height;\n this.autoFit = autoFit;\n this.localRefresh = localRefresh;\n this.renderer = renderer;\n this.wrapperElement = wrapperElement;\n\n // 自适应大小\n this.updateCanvasStyle();\n this.bindAutoFit();\n this.initDefaultInteractions(defaultInteractions);\n }\n\n private initDefaultInteractions(interactions) {\n each(interactions, (interaction) => {\n this.interaction(interaction);\n });\n }\n\n /**\n * 设置 WAI-ARIA 无障碍标签。如何根据图形语法自动生成 arial 内容?\n * @param ariaOption\n */\n public aria(ariaOption: AriaOption) {\n const ATTR = 'aria-label';\n if (ariaOption === false) {\n this.ele.removeAttribute(ATTR);\n } else {\n this.ele.setAttribute(ATTR, ariaOption.label);\n }\n }\n\n /**\n * 改变图表大小,同时重新渲染。\n * @param width 图表宽度\n * @param height 图表高度\n * @returns\n */\n public changeSize(width: number, height: number) {\n // 如果宽高一致,那么 changeSize 不执行任何操作\n if (this.width === width && this.height === height) {\n return this;\n }\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_SIZE);\n\n this.width = width;\n this.height = height;\n this.canvas.changeSize(width, height);\n\n // 重新渲染\n this.render(true);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_SIZE);\n\n return this;\n }\n\n /**\n * 清空图表,同时清除掉 aria 配置\n */\n public clear() {\n super.clear();\n\n this.aria(false);\n }\n\n /**\n * 销毁图表,同时解绑事件,销毁创建的 G.Canvas 实例。\n * @returns void\n */\n public destroy() {\n super.destroy();\n\n this.unbindAutoFit();\n this.canvas.destroy();\n\n removeDom(this.wrapperElement);\n this.wrapperElement = null;\n }\n\n /**\n * 显示或隐藏图表\n * @param visible 是否可见,true 表示显示,false 表示隐藏\n * @returns\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible); // 需要更新 visible 变量\n this.wrapperElement.style.display = visible ? '' : 'none';\n\n return this;\n }\n\n /**\n * 自动根据容器大小 resize 画布\n */\n public forceFit() {\n // skip if already destroyed\n if (!this.destroyed) {\n // 注意第二参数用 true,意思是即时 autoFit = false,forceFit() 调用之后一样是适配容器\n const { width, height } = getChartSize(this.ele, true, this.width, this.height);\n this.changeSize(width, height);\n }\n }\n\n private updateCanvasStyle() {\n modifyCSS(this.canvas.get('el'), {\n display: 'inline-block',\n verticalAlign: 'middle',\n });\n }\n\n private bindAutoFit() {\n if (this.autoFit) {\n window.addEventListener('resize', this.onResize);\n }\n }\n\n private unbindAutoFit() {\n if (this.autoFit) {\n window.removeEventListener('resize', this.onResize);\n }\n }\n\n /**\n * when container size changed, change chart size props, and re-render.\n */\n private onResize = debounce(() => {\n this.forceFit();\n }, 300);\n}\n","import { each } from '@antv/util';\nimport { ComponentOption } from '../../interface';\nimport View from '../view';\n\n/** Component controller class type define */\nexport type ControllerCtor = new (view: View) => Controller;\n\n/**\n * Component Controller 规范需要定义的基类\n * 1. 规范的 option 输入\n * 2. 统一的信息获取 API\n * 3. 明确定义的组件事件(名称、数据)\n */\nexport abstract class Controller {\n /** 是否可见 */\n public visible: boolean = true;\n protected view: View;\n /** option 配置,不同组件有自己不同的配置结构 */\n protected option: O;\n /** 所有的 component */\n protected components: ComponentOption[] = [];\n\n constructor(view: View) {\n this.view = view;\n }\n\n public abstract get name(): string;\n\n /**\n * init the component\n */\n public abstract init();\n\n /**\n * render the components\n */\n public abstract render();\n\n /**\n * update the components\n */\n // public abstract update();\n\n /**\n * do layout\n */\n public abstract layout();\n\n /**\n * 组件的更新逻辑\n * - 根据字段为标识,为每一个组件生成一个 id,放到 option 中\n * - 更新的时候按照 id 去做 diff,然后对同的做处理\n * - 创建增加的\n * - 更新已有的\n * - 销毁删除的\n */\n public abstract update();\n\n /**\n * clear\n * @param includeOption 是否清空 option 配置项(used in annotation)\n */\n public clear(includeOption?: boolean) {\n // destroy all components\n each(this.components, (co: ComponentOption) => {\n co.component.destroy();\n });\n\n // clear all component instance\n this.components = [];\n }\n\n /**\n * destroy the component\n */\n public destroy() {\n this.clear();\n }\n\n /**\n * get all components\n * @returns components array\n */\n public getComponents(): ComponentOption[] {\n return this.components;\n }\n\n /**\n * change visibility of component\n * @param visible\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.components.forEach((co: ComponentOption) => {\n if (visible) {\n co.component.show();\n } else {\n co.component.hide();\n }\n });\n this.visible = visible;\n }\n}\n","import { deepMix, find, get, isEqual, isFunction, mix, isString, isBoolean, flatten, isArray } from '@antv/util';\nimport { Crosshair, HtmlTooltip, IGroup } from '../../dependents';\nimport { Point, TooltipItem, TooltipOption } from '../../interface';\nimport { getAngleByPoint, getDistanceToCenter, getCoordinateClipCfg } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { findItemsFromView } from '../../util/tooltip';\nimport { BBox } from '../../util/bbox';\nimport { Controller } from './base';\nimport Event from '../event';\nimport View from '../view';\n\n// Filter duplicates, use `name`, `color`, `value` and `title` property values as condition\nfunction uniq(items) {\n const uniqItems = [];\n for (let index = 0; index < items.length; index++) {\n const item = items[index];\n const result = find(uniqItems, (subItem) => {\n return (\n subItem.color === item.color &&\n subItem.name === item.name &&\n subItem.value === item.value &&\n subItem.title === item.title\n );\n });\n if (!result) {\n uniqItems.push(item);\n }\n }\n return uniqItems;\n}\n\n/** @ignore */\nexport default class Tooltip extends Controller {\n private tooltip;\n private tooltipMarkersGroup: IGroup;\n private tooltipCrosshairsGroup: IGroup;\n private xCrosshair;\n private yCrosshair;\n private guideGroup: IGroup;\n\n private isLocked: boolean = false;\n private items;\n private title: string;\n private point: Point;\n\n public get name(): string {\n return 'tooltip';\n }\n\n public init() { }\n\n private isVisible() {\n const option = this.view.getOptions().tooltip;\n return option !== false;\n }\n\n public render() { }\n\n /**\n * Shows tooltip\n * @param point\n */\n public showTooltip(point: Point) {\n this.point = point;\n if (!this.isVisible()) {\n // 如果设置 tooltip(false) 则始终不显示\n return;\n }\n const view = this.view;\n const items = this.getTooltipItems(point);\n if (!items.length) {\n // 无内容则不展示,同时 tooltip 需要隐藏\n this.hideTooltip();\n return;\n }\n const title = this.getTitle(items);\n const dataPoint = {\n x: items[0].x,\n y: items[0].y,\n }; // 数据点位置\n\n view.emit(\n 'tooltip:show',\n Event.fromData(view, 'tooltip:show', {\n items,\n title,\n ...point,\n })\n );\n\n const cfg = this.getTooltipCfg();\n const { follow, showMarkers, showCrosshairs, showContent, marker } = cfg;\n const lastItems = this.items;\n const lastTitle = this.title;\n if (!isEqual(lastTitle, title) || !isEqual(lastItems, items)) {\n // 内容发生变化了更新 tooltip\n view.emit(\n 'tooltip:change',\n Event.fromData(view, 'tooltip:change', {\n items,\n title,\n ...point,\n })\n );\n\n if (isFunction(showContent) ? showContent(items) : showContent) {\n // 展示 tooltip 内容框才渲染 tooltip\n if (!this.tooltip) {\n // 延迟生成\n this.renderTooltip();\n }\n this.tooltip.update(\n mix(\n {},\n cfg,\n {\n items: this.getItemsAfterProcess(items),\n title,\n },\n follow ? point : {}\n )\n );\n this.tooltip.show();\n }\n\n if (showMarkers) {\n // 展示 tooltipMarkers,tooltipMarkers 跟随数据\n this.renderTooltipMarkers(items, marker);\n }\n } else {\n // 内容未发生变化,则更新位置\n if (this.tooltip && follow) {\n this.tooltip.update(point);\n this.tooltip.show(); // tooltip 有可能被隐藏,需要保证显示状态\n }\n\n if (this.tooltipMarkersGroup) {\n this.tooltipMarkersGroup.show();\n }\n }\n\n this.items = items;\n this.title = title;\n\n if (showCrosshairs) {\n // 展示 tooltip 辅助线\n const isCrosshairsFollowCursor = get(cfg, ['crosshairs', 'follow'], false); // 辅助线是否要跟随鼠标\n this.renderCrosshairs(isCrosshairsFollowCursor ? point : dataPoint, cfg);\n }\n }\n\n public hideTooltip() {\n const { follow } = this.getTooltipCfg();\n if (!follow) {\n this.point = null;\n return;\n }\n // hide the tooltipMarkers\n const tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n\n // hide crosshairs\n const xCrosshair = this.xCrosshair;\n const yCrosshair = this.yCrosshair;\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n\n const tooltip = this.tooltip;\n if (tooltip) {\n tooltip.hide();\n }\n\n this.view.emit('tooltip:hide', Event.fromData(this.view, 'tooltip:hide', {}));\n\n this.point = null;\n }\n\n /**\n * lockTooltip\n */\n public lockTooltip() {\n this.isLocked = true;\n if (this.tooltip) {\n // tooltip contianer 可捕获事件\n this.tooltip.setCapture(true);\n }\n }\n\n /**\n * unlockTooltip\n */\n public unlockTooltip() {\n this.isLocked = false;\n const cfg = this.getTooltipCfg();\n if (this.tooltip) {\n // 重置 capture 属性\n this.tooltip.setCapture(cfg.capture);\n }\n }\n\n /**\n * isTooltipLocked\n */\n public isTooltipLocked() {\n return this.isLocked;\n }\n\n public clear() {\n const { tooltip, xCrosshair, yCrosshair, tooltipMarkersGroup } = this;\n if (tooltip) {\n tooltip.hide();\n tooltip.clear();\n }\n\n if (xCrosshair) {\n xCrosshair.clear();\n }\n\n if (yCrosshair) {\n yCrosshair.clear();\n }\n\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.clear();\n }\n\n // 如果 customContent 不为空,就重新生成 tooltip\n if (tooltip?.get('customContent')) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n // title 和 items 需要清空, 否则 tooltip 内容会出现置空的情况\n // 即:需要走进 !isEqual(lastTitle, title) || !isEqual(lastItems, items) 的逻辑,更新 tooltip 的内容\n this.title = null;\n this.items = null;\n }\n\n public destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n if (this.xCrosshair) {\n this.xCrosshair.destroy();\n }\n if (this.yCrosshair) {\n this.yCrosshair.destroy();\n }\n\n if (this.guideGroup) {\n this.guideGroup.remove(true);\n }\n\n this.reset();\n }\n\n public reset() {\n this.items = null;\n this.title = null;\n this.tooltipMarkersGroup = null;\n this.tooltipCrosshairsGroup = null;\n this.xCrosshair = null;\n this.yCrosshair = null;\n this.tooltip = null;\n this.guideGroup = null;\n this.isLocked = false;\n this.point = null;\n }\n\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n const { tooltip, tooltipMarkersGroup, xCrosshair, yCrosshair } = this;\n if (visible) {\n if (tooltip) {\n tooltip.show();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.show();\n }\n if (xCrosshair) {\n xCrosshair.show();\n }\n if (yCrosshair) {\n yCrosshair.show();\n }\n } else {\n if (tooltip) {\n tooltip.hide();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n }\n this.visible = visible;\n }\n\n public getTooltipItems(point: Point) {\n let items = this.findItemsFromView(this.view, point);\n if (items.length) {\n // 三层\n items = flatten(items);\n for (const itemArr of items) {\n for (const item of itemArr) {\n const { x, y } = item.mappingData;\n item.x = isArray(x) ? x[x.length - 1] : x;\n item.y = isArray(y) ? y[y.length - 1] : y;\n }\n }\n\n const { shared } = this.getTooltipCfg();\n // shared: false 代表只显示当前拾取到的 shape 的数据,但是一个 view 会有多个 Geometry,所以有可能会拾取到多个 shape\n if (shared === false && items.length > 1) {\n let snapItem = items[0];\n let min = Math.abs(point.y - snapItem[0].y);\n for (const aItem of items) {\n const yDistance = Math.abs(point.y - aItem[0].y);\n if (yDistance <= min) {\n snapItem = aItem;\n min = yDistance;\n }\n }\n items = [snapItem];\n }\n\n return uniq(flatten(items));\n }\n\n return [];\n }\n\n public layout() { }\n\n public update() {\n if (this.point) {\n this.showTooltip(this.point);\n }\n\n if (this.tooltip) {\n // #2279 修复resize之后tooltip越界的问题\n // 确保tooltip已经创建的情况下\n const canvas = this.view.getCanvas();\n // TODO 逍为 tooltip 的区域不应该是 canvas,而应该是整个 特别是在图比较小的时候\n // 更新 region\n this.tooltip.set('region', {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n });\n }\n }\n\n /**\n * 当前鼠标点是在 enter tooltip 中\n * @param point\n */\n public isCursorEntered(point: Point) {\n // 是可捕获的,并且点在 tooltip dom 上\n if (this.tooltip) {\n const el: HTMLElement = this.tooltip.getContainer();\n const capture = this.tooltip.get('capture');\n\n if (el && capture) {\n const { x, y, width, height } = el.getBoundingClientRect();\n return new BBox(x, y, width, height).isPointIn(point);\n }\n }\n\n return false;\n }\n\n // 获取 tooltip 配置,因为用户可能会通过 view.tooltip() 重新配置 tooltip,所以就不做缓存,每次直接读取\n public getTooltipCfg() {\n const view = this.view;\n const option = view.getOptions().tooltip;\n const processOption = this.processCustomContent(option);\n const theme = view.getTheme();\n const defaultCfg = get(theme, ['components', 'tooltip'], {});\n const enterable = get(processOption, 'enterable', defaultCfg.enterable);\n return deepMix({}, defaultCfg, processOption, {\n capture: enterable || this.isLocked ? true : false,\n });\n }\n\n // process customContent\n protected processCustomContent(option: TooltipOption) {\n if (isBoolean(option) || !get(option, 'customContent')) {\n return option;\n }\n const currentCustomContent = option.customContent;\n const customContent = (title: string, items: any[]) => {\n const content = currentCustomContent(title, items) || '';\n return isString(content) ? '
      ' + content + '
      ' : content;\n };\n return {\n ...option,\n customContent,\n };\n }\n\n private getTitle(items) {\n const title = items[0].title || items[0].name;\n this.title = title;\n\n return title;\n }\n\n private renderTooltip() {\n const canvas = this.view.getCanvas();\n const region = {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n };\n\n const cfg = this.getTooltipCfg();\n const tooltip = new HtmlTooltip({\n parent: canvas.get('el').parentNode,\n region,\n ...cfg,\n visible: false,\n crosshairs: null,\n });\n\n tooltip.init();\n this.tooltip = tooltip;\n }\n\n private renderTooltipMarkers(items, marker) {\n const tooltipMarkersGroup = this.getTooltipMarkersGroup();\n const rootView = this.view.getRootView();\n const { limitInPlot } = rootView;\n for (const item of items) {\n const { x, y } = item;\n\n // 有裁剪就剪切\n if (limitInPlot || tooltipMarkersGroup?.getClip()) {\n const { type, attrs } = getCoordinateClipCfg(rootView.getCoordinate());\n tooltipMarkersGroup?.setClip({\n type,\n attrs,\n });\n } else {\n // 清除已有的 clip\n tooltipMarkersGroup?.setClip(undefined);\n }\n\n const theme = this.view.getTheme();\n const markerDefaultCfg = get(theme, ['components', 'tooltip', 'marker'], {});\n\n const attrs = {\n fill: item.color,\n symbol: 'circle',\n shadowColor: item.color,\n ...(isFunction(marker) ? { ...markerDefaultCfg, ...marker(item) } : marker),\n x,\n y,\n };\n\n tooltipMarkersGroup.addShape('marker', {\n attrs,\n });\n }\n }\n\n private renderCrosshairs(point: Point, cfg) {\n const crosshairsType = get(cfg, ['crosshairs', 'type'], 'x'); // 默认展示 x 轴上的辅助线\n if (crosshairsType === 'x') {\n if (this.yCrosshair) {\n this.yCrosshair.hide();\n }\n this.renderXCrosshairs(point, cfg);\n } else if (crosshairsType === 'y') {\n if (this.xCrosshair) {\n this.xCrosshair.hide();\n }\n this.renderYCrosshairs(point, cfg);\n } else if (crosshairsType === 'xy') {\n this.renderXCrosshairs(point, cfg);\n this.renderYCrosshairs(point, cfg);\n }\n }\n\n // 渲染 x 轴上的 tooltip 辅助线\n private renderXCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n let start;\n let end;\n if (coordinate.isRect) {\n if (coordinate.isTransposed) {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n } else {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n }\n } else {\n // 极坐标下 x 轴上的 crosshairs 表现为半径\n const angle = getAngleByPoint(coordinate, point);\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n end = polarToCartesian(center.x, center.y, radius, angle);\n start = center;\n }\n\n const cfg = deepMix(\n {\n start,\n end,\n container: this.getTooltipCrosshairsGroup(),\n },\n get(tooltipCfg, 'crosshairs', {}),\n this.getCrosshairsText('x', point, tooltipCfg)\n );\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let xCrosshair = this.xCrosshair;\n if (xCrosshair) {\n xCrosshair.update(cfg);\n } else {\n xCrosshair = new Crosshair.Line(cfg);\n xCrosshair.init();\n }\n xCrosshair.render();\n xCrosshair.show();\n this.xCrosshair = xCrosshair;\n }\n\n // 渲染 y 轴上的辅助线\n private renderYCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n let cfg;\n let type;\n if (coordinate.isRect) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n } else {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n }\n cfg = {\n start,\n end,\n };\n type = 'Line';\n } else {\n // 极坐标下 y 轴上的 crosshairs 表现为圆弧\n cfg = {\n center: coordinate.getCenter(),\n // @ts-ignore\n radius: getDistanceToCenter(coordinate, point),\n startAngle: coordinate.startAngle,\n endAngle: coordinate.endAngle,\n };\n type = 'Circle';\n }\n\n cfg = deepMix(\n {\n container: this.getTooltipCrosshairsGroup(),\n },\n cfg,\n get(tooltipCfg, 'crosshairs', {}),\n this.getCrosshairsText('y', point, tooltipCfg)\n );\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let yCrosshair = this.yCrosshair;\n if (yCrosshair) {\n // 如果坐标系发生直角坐标系与极坐标的切换操作\n if (\n (coordinate.isRect && yCrosshair.get('type') === 'circle') ||\n (!coordinate.isRect && yCrosshair.get('type') === 'line')\n ) {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n } else {\n yCrosshair.update(cfg);\n }\n } else {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n }\n yCrosshair.render();\n yCrosshair.show();\n this.yCrosshair = yCrosshair;\n }\n\n private getCrosshairsText(type, point: Point, tooltipCfg) {\n let textCfg = get(tooltipCfg, ['crosshairs', 'text']);\n const follow = get(tooltipCfg, ['crosshairs', 'follow']);\n const items = this.items;\n\n if (textCfg) {\n const view = this.getViewWithGeometry(this.view);\n // 需要展示文本\n const firstItem = items[0];\n const xScale = view.getXScale();\n const yScale = view.getYScales()[0];\n let xValue;\n let yValue;\n if (follow) {\n // 如果需要跟随鼠标移动,就需要将当前鼠标坐标点转换为对应的数值\n const invertPoint = this.view.getCoordinate().invert(point);\n xValue = xScale.invert(invertPoint.x); // 转换为原始值\n yValue = yScale.invert(invertPoint.y); // 转换为原始值\n } else {\n xValue = firstItem.data[xScale.field];\n yValue = firstItem.data[yScale.field];\n }\n\n const content = type === 'x' ? xValue : yValue;\n if (isFunction(textCfg)) {\n textCfg = textCfg(type, content, items, point);\n } else {\n textCfg.content = content;\n }\n\n return {\n text: textCfg,\n };\n }\n }\n\n // 获取存储 tooltipMarkers 和 crosshairs 的容器\n private getGuideGroup() {\n if (!this.guideGroup) {\n const foregroundGroup = this.view.foregroundGroup;\n this.guideGroup = foregroundGroup.addGroup({\n name: 'tooltipGuide',\n capture: false,\n });\n }\n\n return this.guideGroup;\n }\n\n // 获取 tooltipMarkers 存储的容器\n private getTooltipMarkersGroup() {\n let tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup && !tooltipMarkersGroup.destroyed) {\n tooltipMarkersGroup.clear();\n tooltipMarkersGroup.show();\n } else {\n tooltipMarkersGroup = this.getGuideGroup().addGroup({\n name: 'tooltipMarkersGroup',\n });\n tooltipMarkersGroup.toFront();\n this.tooltipMarkersGroup = tooltipMarkersGroup;\n }\n return tooltipMarkersGroup;\n }\n\n // 获取 tooltip crosshairs 存储的容器\n private getTooltipCrosshairsGroup() {\n let tooltipCrosshairsGroup = this.tooltipCrosshairsGroup;\n if (!tooltipCrosshairsGroup) {\n tooltipCrosshairsGroup = this.getGuideGroup().addGroup({\n name: 'tooltipCrosshairsGroup',\n capture: false,\n });\n tooltipCrosshairsGroup.toBack();\n this.tooltipCrosshairsGroup = tooltipCrosshairsGroup;\n }\n return tooltipCrosshairsGroup;\n }\n\n private findItemsFromView(view: View, point: Point) {\n if (view.getOptions().tooltip === false) {\n // 如果 view 关闭了 tooltip\n return [];\n }\n\n const tooltipCfg = this.getTooltipCfg();\n let result = findItemsFromView(view, point, tooltipCfg);\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(this.findItemsFromView(childView, point));\n }\n\n return result;\n }\n\n // FIXME: hack 方法\n // 因为 tooltip 的交互是挂载在 Chart 上,所以当chart 上没有绘制 Geometry 的时候,就查找不到数据,并且绘图区域同子 View 的区域不同\n private getViewWithGeometry(view) {\n if (view.geometries.length) {\n return view;\n }\n\n return find(view.views, (childView) => this.getViewWithGeometry(childView));\n }\n\n /**\n * 根据用户配置的 items 配置,来进行用户自定义的处理,并返回最终的 items\n * 默认不做任何处理\n */\n private getItemsAfterProcess(originalItems: TooltipItem[]): TooltipItem[] {\n const { customItems } = this.getTooltipCfg();\n const fn = customItems ? customItems : (v) => v;\n\n return fn(originalItems);\n }\n}\n","import { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\n/** @ignore */\ninterface AnimationMap {\n [key: string]: Animation;\n}\n\ntype Animation = (element: IGroup | IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) => void;\n\nconst ANIMATIONS_MAP: AnimationMap = {};\n\n/**\n * 根据名称获取对应的动画执行函数\n * @param type 动画函数名称\n */\nexport function getAnimation(type: string) {\n return ANIMATIONS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册动画执行函数\n * @param type 动画执行函数名称\n * @param animation 动画执行函数\n */\nexport function registerAnimation(type: string, animation: Animation) {\n ANIMATIONS_MAP[type.toLowerCase()] = animation;\n}\n","import { deepMix, get, isFunction } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Coordinate, IGroup, IShape } from '../dependents';\nimport { AnimateCfg, Data, Datum, GAnimateCfg, Point } from '../interface';\nimport { AnimateExtraCfg } from './interface';\n\nimport { getAnimation } from './animation';\n\n// 默认的动画参数配置\nexport const DEFAULT_ANIMATE_CFG = {\n appear: {\n duration: 450,\n easing: 'easeQuadOut',\n }, // 初始入场动画配置\n update: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时发生变更的动画配置\n enter: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时新增元素的入场动画配置\n leave: {\n duration: 350,\n easing: 'easeQuadIn',\n }, // 更新时销毁动画配置\n};\n\n// 各个 Geometry 默认的动画执行函数\nconst GEOMETRY_ANIMATE_CFG = {\n interval: (coordinate: Coordinate) => {\n return {\n enter: {\n animation: coordinate.isRect ? (coordinate.isTransposed ? 'scale-in-x' : 'scale-in-y') : 'fade-in',\n },\n update: {\n animation: coordinate.isPolar && coordinate.isTransposed ? 'sector-path-update' : null,\n },\n leave: {\n animation: 'fade-out',\n },\n };\n },\n line: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n path: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n point: {\n appear: {\n animation: 'zoom-in',\n },\n enter: {\n animation: 'zoom-in',\n },\n leave: {\n animation: 'zoom-out',\n },\n },\n area: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n polygon: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n schema: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n edge: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n label: {\n appear: {\n animation: 'fade-in',\n delay: 450,\n },\n enter: {\n animation: 'fade-in',\n },\n update: {\n animation: 'position-update',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n};\n\n// 各个 Geometry 默认的群组出场动画\nconst GEOMETRY_GROUP_APPEAR_ANIMATION = {\n line: () => {\n return {\n animation: 'wave-in',\n };\n },\n area: () => {\n return {\n animation: 'wave-in',\n };\n },\n path: () => {\n return {\n animation: 'fade-in',\n };\n },\n interval(coordinate: Coordinate) {\n let animation;\n\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n if (coordinate.isPolar && coordinate.isTransposed) {\n // pie chart\n animation = 'wave-in';\n }\n }\n return {\n animation,\n };\n },\n schema: (coordinate) => {\n let animation;\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n }\n return {\n animation,\n };\n },\n polygon: () => {\n return {\n animation: 'fade-in',\n duration: 500,\n };\n },\n edge: () => {\n return {\n animation: 'fade-in',\n };\n },\n};\n\n// 解析用户的动画配置\nfunction parseAnimateConfig(animateCfg: AnimateCfg, data: Data | Datum): GAnimateCfg {\n return {\n delay: isFunction(animateCfg.delay) ? animateCfg.delay(data) : animateCfg.delay,\n easing: isFunction(animateCfg.easing) ? animateCfg.easing(data) : animateCfg.easing,\n duration: isFunction(animateCfg.duration) ? animateCfg.duration(data) : animateCfg.duration,\n callback: animateCfg.callback,\n repeat: animateCfg.repeat,\n };\n}\n\n/**\n * @ignore\n * 获取 elementName 对应的动画配置,当声明了 `animateType`,则返回 `animateType` 对应的动画配置\n * @param elementName 元素名称\n * @param coordinate 做表弟类型\n * @param animateType 可选,动画类型\n */\nexport function getDefaultAnimateCfg(elementName: string, coordinate: Coordinate, animateType?: string) {\n let animateCfg = GEOMETRY_ANIMATE_CFG[elementName];\n\n if (animateCfg) {\n if (isFunction(animateCfg)) {\n animateCfg = animateCfg(coordinate);\n }\n animateCfg = deepMix({}, DEFAULT_ANIMATE_CFG, animateCfg);\n\n if (animateType) {\n return animateCfg[animateType];\n }\n }\n return animateCfg;\n}\n\n/**\n * @ignore\n * 工具函数\n * 根据用户传入的配置为 shape 执行动画\n * @param shape 执行动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外的信息\n */\nexport function doAnimate(shape: IGroup | IShape, animateCfg: AnimateCfg, cfg: AnimateExtraCfg) {\n const data = get(shape.get('origin'), 'data', FIELD_ORIGIN);\n const animation = animateCfg.animation; // 获取动画执行函数\n const parsedAnimateCfg = parseAnimateConfig(animateCfg, data);\n if (animation) {\n // 用户声明了动画执行函数\n const animateFunction = getAnimation(animation);\n if (animateFunction) {\n animateFunction(shape, parsedAnimateCfg, cfg);\n }\n } else {\n // 没有声明,则根据 toAttrs 做差值动画\n shape.animate(cfg.toAttrs, parsedAnimateCfg);\n }\n}\n\n/**\n * @ignore\n * 执行 Geometry 群组入场动画\n * @param container 执行群组动画的图形元素\n * @param animateCfg 动画配置\n * @param geometryType geometry 类型\n * @param coordinate 坐标系对象\n * @param minYPoint y 轴最小值对应的画布坐标点\n */\nexport function doGroupAppearAnimate(\n container: IGroup,\n animateCfg: AnimateCfg,\n geometryType: string,\n coordinate: Coordinate,\n minYPoint: Point\n) {\n if (GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType]) {\n const defaultCfg = GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType](coordinate);\n const animation = getAnimation(get(defaultCfg, 'animation', ''));\n if (animation) {\n const cfg = {\n ...DEFAULT_ANIMATE_CFG.appear,\n ...defaultCfg,\n ...animateCfg,\n };\n container.stopAnimate(); // 先结束当前 container 动画\n animation(container, cfg, {\n coordinate,\n minYPoint,\n toAttrs: null,\n });\n }\n }\n}\n","/**\n * Name of Background Shape\n */\nexport const BACKGROUND_SHAPE = 'element-background';\n","import { deepMix, each, get, isArray, isEmpty, isEqual, isFunction, isString } from '@antv/util';\n// 暂未发包\n// @ts-ignore\nimport { propagationDelegate } from '@antv/component';\nimport { doAnimate } from '../../animate';\nimport Base from '../../base';\nimport { BBox, IGroup, IShape } from '../../dependents';\nimport { AnimateOption, Datum, ShapeFactory, ShapeInfo, StateCfg } from '../../interface';\nimport { getReplaceAttrs } from '../../util/graphics';\nimport Geometry from '../base';\nimport { GEOMETRY_LIFE_CIRCLE } from '../../constant';\nimport { BACKGROUND_SHAPE } from '../shape/constant';\n\n/** Element 构造函数传入参数类型 */\ninterface ElementCfg {\n /** 用于创建各种 shape 的工厂对象 */\n shapeFactory: ShapeFactory;\n /** shape 容器 */\n container: IGroup;\n /** element 的索引 */\n elementIndex?: number;\n /** 虚拟 group,用户可以不传入 */\n offscreenGroup?: IGroup;\n /** 是否可见 */\n visible?: boolean;\n}\n\n/**\n * Element 图形元素。\n * 定义:在 G2 中,我们会将数据通过图形语法映射成不同的图形,比如点图,数据集中的每条数据会对应一个点,柱状图每条数据对应一个柱子,线图则是一组数据对应一条折线,Element 即一条/一组数据对应的图形元素,它代表一条数据或者一个数据集,在图形层面,它可以是单个 Shape 也可以是多个 Shape,我们称之为图形元素。\n */\nexport default class Element extends Base {\n /** 用于创建各种 shape 的工厂对象 */\n public shapeFactory: ShapeFactory;\n /** shape 容器 */\n public container: IGroup;\n /** element 索引 */\n public elementIndex: number;\n /** 最后创建的图形对象 */\n public shape: IShape | IGroup;\n /** shape 的动画配置 */\n public animate: AnimateOption | boolean;\n\n // 非构造函数属性,需要外部赋值\n /** element 对应的 Geometry 实例 */\n public geometry: Geometry;\n /** 保存 shape 对应的 label */\n public labelShape: IGroup[] = [];\n\n /** 绘制的 shape 类型 */\n private shapeType: string;\n\n /** shape 绘制需要的数据 */\n private model: ShapeInfo;\n /** 原始数据 */\n private data: Datum;\n // 存储当前开启的状态\n private states: string[] = [];\n private statesStyle;\n // 虚拟 Group\n private offscreenGroup: IGroup;\n\n constructor(cfg: ElementCfg) {\n super(cfg);\n\n const { shapeFactory, container, offscreenGroup, elementIndex, visible = true } = cfg;\n this.shapeFactory = shapeFactory;\n this.container = container;\n this.offscreenGroup = offscreenGroup;\n this.visible = visible;\n this.elementIndex = elementIndex;\n }\n\n /**\n * 绘制图形。\n * @param model 绘制数据。\n * @param isUpdate 可选,是否是更新发生后的绘制。\n */\n public draw(model: ShapeInfo, isUpdate: boolean = false) {\n this.model = model;\n this.data = model.data; // 存储原始数据\n this.shapeType = this.getShapeType(model);\n\n // 绘制图形\n this.drawShape(model, isUpdate);\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 更新图形。\n * @param model 更新的绘制数据。\n */\n public update(model: ShapeInfo) {\n const { shapeFactory, shape } = this;\n if (!shape) {\n return;\n }\n\n // 更新数据\n this.model = model;\n this.data = model.data;\n this.shapeType = this.getShapeType(model);\n\n // step 1: 更新 shape 携带的信息\n this.setShapeInfo(shape, model);\n\n // step 2: 使用虚拟 Group 重新绘制 shape,然后更新当前 shape\n const offscreenGroup = this.getOffscreenGroup();\n const newShape = shapeFactory.drawShape(this.shapeType, model, offscreenGroup);\n // @ts-ignore\n newShape.cfg.data = this.data;\n // @ts-ignore\n newShape.cfg.origin = model;\n // label 需要使用\n newShape.cfg.element = this;\n\n // step 3: 同步 shape 样式\n this.syncShapeStyle(shape, newShape, this.getStates(), this.getAnimateCfg('update'));\n }\n\n /**\n * 销毁 element 实例。\n */\n public destroy() {\n const { shapeFactory, shape } = this;\n\n if (shape) {\n const animateCfg = this.getAnimateCfg('leave');\n if (animateCfg) {\n // 指定了动画配置则执行销毁动画\n doAnimate(shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...shape.attr(),\n },\n });\n } else {\n // 否则直接销毁\n shape.remove(true);\n }\n }\n\n // reset\n this.states = [];\n this.shapeFactory = undefined;\n this.container = undefined;\n this.shape = undefined;\n this.animate = undefined;\n this.geometry = undefined;\n this.labelShape = [];\n this.model = undefined;\n this.data = undefined;\n this.offscreenGroup = undefined;\n this.statesStyle = undefined;\n\n super.destroy();\n }\n\n /**\n * 显示或者隐藏 element。\n * @param visible 是否可见。\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n\n if (visible) {\n if (this.shape) {\n this.shape.show();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.show();\n });\n }\n } else {\n if (this.shape) {\n this.shape.hide();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.hide();\n });\n }\n }\n }\n\n /**\n * 设置 Element 的状态。\n *\n * 目前 Element 开放三种状态:\n * 1. active\n * 2. selected\n * 3. inactive\n *\n * 这三种状态相互独立,可以进行叠加。\n *\n * 这三种状态的样式可在 [[Theme]] 主题中或者通过 `geometry.state()` 接口进行配置。\n *\n * ```ts\n * // 激活 active 状态\n * setState('active', true);\n * ```\n *\n * @param stateName 状态名\n * @param stateStatus 是否开启状态\n */\n public setState(stateName: string, stateStatus: boolean) {\n const { states, shapeFactory, model, shape, shapeType } = this;\n\n const index = states.indexOf(stateName);\n if (stateStatus) {\n // 开启状态\n if (index > -1) {\n // 该状态已经开启,则返回\n return;\n }\n states.push(stateName);\n if (stateName === 'active' || stateName === 'selected') {\n shape?.toFront();\n }\n } else {\n if (index === -1) {\n // 关闭状态,但是状态未设置过\n return;\n }\n states.splice(index, 1);\n if (stateName === 'active' || stateName === 'selected') {\n const { sortZIndex, zIndexReversed } = this.geometry;\n const idx = zIndexReversed ? this.geometry.elements.length - this.elementIndex : this.elementIndex;\n sortZIndex ? shape.setZIndex(idx) : shape.set('zIndex', idx);\n }\n }\n\n // 使用虚拟 group 重新绘制 shape,然后对这个 shape 应用状态样式后,更新当前 shape。\n const offscreenShape = shapeFactory.drawShape(shapeType, model, this.getOffscreenGroup());\n if (states.length) {\n // 应用当前状态\n this.syncShapeStyle(shape, offscreenShape, states, null);\n } else {\n // 如果没有状态,则需要恢复至原始状态\n this.syncShapeStyle(shape, offscreenShape, ['reset'], null);\n }\n\n offscreenShape.remove(true); // 销毁,减少内存占用\n\n const eventObject = {\n state: stateName,\n stateStatus,\n element: this,\n target: this.container,\n };\n this.container.emit('statechange', eventObject);\n // @ts-ignore\n propagationDelegate(this.shape, 'statechange', eventObject);\n }\n\n /**\n * 清空状量态,恢复至初始状态。\n */\n public clearStates() {\n const states = this.states;\n\n each(states, (state) => {\n this.setState(state, false);\n });\n\n this.states = [];\n }\n\n /**\n * 查询当前 Element 上是否已设置 `stateName` 对应的状态。\n * @param stateName 状态名称。\n * @returns true 表示存在,false 表示不存在。\n */\n public hasState(stateName: string): boolean {\n return this.states.includes(stateName);\n }\n\n /**\n * 获取当前 Element 上所有的状态。\n * @returns 当前 Element 上所有的状态数组。\n */\n public getStates(): string[] {\n return this.states;\n }\n\n /**\n * 获取 Element 对应的原始数据。\n * @returns 原始数据。\n */\n public getData(): Datum {\n return this.data;\n }\n\n /**\n * 获取 Element 对应的图形绘制数据。\n * @returns 图形绘制数据。\n */\n public getModel(): ShapeInfo {\n return this.model;\n }\n\n /**\n * 返回 Element 元素整体的 bbox,包含文本及文本连线(有的话)。\n * @returns 整体包围盒。\n */\n public getBBox(): BBox {\n const { shape, labelShape } = this;\n let bbox = {\n x: 0,\n y: 0,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0,\n width: 0,\n height: 0,\n };\n if (shape) {\n bbox = shape.getCanvasBBox();\n }\n if (labelShape) {\n labelShape.forEach((label: IGroup) => {\n const labelBBox = label.getCanvasBBox();\n bbox.x = Math.min(labelBBox.x, bbox.x);\n bbox.y = Math.min(labelBBox.y, bbox.y);\n bbox.minX = Math.min(labelBBox.minX, bbox.minX);\n bbox.minY = Math.min(labelBBox.minY, bbox.minY);\n bbox.maxX = Math.max(labelBBox.maxX, bbox.maxX);\n bbox.maxY = Math.max(labelBBox.maxY, bbox.maxY);\n });\n }\n\n bbox.width = bbox.maxX - bbox.minX;\n bbox.height = bbox.maxY - bbox.minY;\n\n return bbox;\n }\n\n private getStatesStyle() {\n if (!this.statesStyle) {\n const { shapeType, geometry, shapeFactory } = this;\n const stateOption = geometry.stateOption;\n const defaultShapeType = shapeFactory.defaultShapeType;\n const stateTheme = shapeFactory.theme[shapeType] || shapeFactory.theme[defaultShapeType];\n this.statesStyle = deepMix({}, stateTheme, stateOption);\n }\n\n return this.statesStyle;\n }\n\n // 从主题中获取对应状态量的样式\n private getStateStyle(stateName: string, shapeKey?: string): StateCfg {\n const statesStyle = this.getStatesStyle();\n const stateCfg = get(statesStyle, [stateName, 'style'], {});\n const shapeStyle = stateCfg[shapeKey] || stateCfg;\n if (isFunction(shapeStyle)) {\n return shapeStyle(this);\n }\n\n return shapeStyle;\n }\n\n // 获取动画配置\n private getAnimateCfg(animateType: string) {\n const animate = this.animate;\n if (animate) {\n const cfg = animate[animateType];\n\n if (cfg) {\n // 增加动画的回调函数,如果外部传入了,则先执行外部,然后发射 geometry 的 animate 事件\n return {\n ...cfg,\n callback: () => {\n isFunction(cfg.callback) && cfg.callback();\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.AFTER_DRAW_ANIMATE);\n },\n };\n }\n return cfg;\n }\n\n return null;\n }\n\n // 绘制图形\n private drawShape(model: ShapeInfo, isUpdate: boolean = false) {\n const { shapeFactory, container, shapeType } = this;\n\n // 自定义 shape 有可能返回空 shape\n this.shape = shapeFactory.drawShape(shapeType, model, container);\n\n if (this.shape) {\n this.setShapeInfo(this.shape, model); // 存储绘图数据\n // @ts-ignore\n const name = this.shape.cfg.name;\n // 附加 element 的 name, name 现在支持数组了,很好用了\n if (!name) {\n // 这个地方如果用户添加了 name, 则附加 name ,否则就添加自己的 name\n // @ts-ignore\n this.shape.cfg.name = ['element', this.shapeFactory.geometryType];\n } else if (isString(name)) {\n // @ts-ignore\n this.shape.cfg.name = ['element', name];\n }\n // 执行入场动画\n const animateType = isUpdate ? 'enter' : 'appear';\n const animateCfg = this.getAnimateCfg(animateType);\n if (animateCfg) {\n // 开始执行动画的生命周期\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_DRAW_ANIMATE);\n\n doAnimate(this.shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...this.shape.attr(),\n },\n });\n }\n }\n }\n\n // 获取虚拟 Group\n private getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n\n return this.offscreenGroup;\n }\n\n // 设置 shape 上需要携带的信息\n private setShapeInfo(shape: IShape | IGroup, data: ShapeInfo) {\n // @ts-ignore\n shape.cfg.origin = data;\n // @ts-ignore\n shape.cfg.element = this;\n if (shape.isGroup()) {\n const children = shape.get('children');\n children.forEach((child) => {\n this.setShapeInfo(child, data);\n });\n }\n }\n\n // 更新当前 shape 的样式\n private syncShapeStyle(\n sourceShape: IGroup | IShape,\n targetShape: IGroup | IShape,\n states: string[] = [],\n animateCfg,\n index: number = 0\n ) {\n if (!sourceShape || !targetShape) {\n return;\n }\n // 所有的 shape 都需要同步 clip\n const clip = sourceShape.get('clipShape');\n const newClip = targetShape.get('clipShape');\n\n this.syncShapeStyle(clip, newClip, states, animateCfg);\n\n if (sourceShape.isGroup()) {\n const children = sourceShape.get('children');\n const newChildren = targetShape.get('children');\n for (let i = 0; i < children.length; i++) {\n this.syncShapeStyle(children[i], newChildren[i], states, animateCfg, index + i);\n }\n } else {\n if (!isEmpty(states) && !isEqual(states, ['reset'])) {\n let name = sourceShape.get('name');\n if (isArray(name)) {\n // 会附加 element 的 name\n name = name[1];\n }\n\n each(states, (state) => {\n // background shape 不进行状态样式设置\n if (targetShape.get('name') !== BACKGROUND_SHAPE) {\n const style = this.getStateStyle(state, name || index); // 如果用户没有设置 name,则默认根据索引值\n targetShape.attr(style);\n }\n });\n }\n const newAttrs = getReplaceAttrs(sourceShape as IShape, targetShape as IShape);\n\n if (this.animate) {\n if (animateCfg) {\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_DRAW_ANIMATE);\n // 需要进行动画\n doAnimate(sourceShape, animateCfg, {\n coordinate: this.shapeFactory.coordinate,\n toAttrs: newAttrs,\n shapeModel: this.model,\n });\n } else if (!isEmpty(states)) {\n sourceShape.stopAnimate();\n sourceShape.animate(newAttrs, {\n duration: 300,\n });\n } else {\n sourceShape.attr(newAttrs);\n }\n } else {\n sourceShape.attr(newAttrs);\n }\n }\n }\n\n private getShapeType(model: ShapeInfo) {\n const shape = get(model, 'shape');\n return isArray(shape) ? shape[0] : shape;\n }\n}\n","import { BBox, IGroup, IShape } from '../../dependents';\nimport { LooseObject } from '../../interface';\nimport { GeometryLabelConstructor } from './base';\nimport { LabelItem } from './interface';\n\n/**\n * label 布局函数定义\n * @param items 存储每个 label 的详细信息\n * @param labels 所有的 labels 图形实例\n * @param shapes 所有 label 对应的图形元素实例\n * @param region 画布区域\n * @param cfg 用于存储各个布局函数开放给用户的配置数据\n */\ntype GeometryLabelsLayoutFn = (\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg?: LooseObject\n) => void;\n\nconst GEOMETRY_LABELS_MAP: Record = {};\nconst GEOMETRY_LABELS_LAYOUT_MAP: Record = {};\n\n/**\n * 获取 `type` 对应的 [[GeometryLabel]] 类\n * @param type\n * @returns\n */\nexport function getGeometryLabel(type: string): GeometryLabelConstructor {\n return GEOMETRY_LABELS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 GeometryLabel 类\n * @param type GeometryLabel 类型名称\n * @param ctor GeometryLabel 类\n */\nexport function registerGeometryLabel(type: string, ctor: GeometryLabelConstructor) {\n GEOMETRY_LABELS_MAP[type.toLowerCase()] = ctor;\n}\n\n/**\n * 获取 `type` 对应的 [[GeometryLabelsLayoutFn]] label 布局函数\n * @param type 布局函数名称\n * @returns\n */\nexport function getGeometryLabelLayout(type: string): GeometryLabelsLayoutFn {\n return GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 label 布局函数\n * @param type label 布局函数名称\n * @param layoutFn label 布局函数\n */\nexport function registerGeometryLabelLayout(type: string, layoutFn: GeometryLabelsLayoutFn) {\n GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()] = layoutFn;\n}\n","import { LooseObject } from '@antv/g-svg';\nimport { parsePathString } from '@antv/path-util';\nimport { deepMix, get, upperFirst } from '@antv/util';\nimport { IGroup, IShape, PathCommand } from '../../dependents';\nimport {\n Point,\n RegisterShape,\n RegisterShapeFactory,\n Shape,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerAttrs,\n ShapeMarkerCfg,\n ShapePoint,\n} from '../../interface';\n\nimport { convertNormalPath, convertPolarPath } from './util/path';\n\n/** ShapeFactory 基类 */\nconst ShapeFactoryBase = {\n /** 坐标系对象 */\n coordinate: null,\n /** 默认绘制的 Shape 类型 */\n defaultShapeType: null,\n /** 主题样式 */\n theme: null,\n /**\n * 获取 shape 绘制需要的关键点\n * @param shapeType shape 类型\n * @param shapePoint 每条数据映射后的坐标点以及 size 数值\n * @returns 图形关键点信息\n */\n getShapePoints(shapeType: string, shapePoint: ShapePoint) {\n const shape = this.getShape(shapeType);\n if (shape.getPoints) {\n return shape.getPoints(shapePoint);\n }\n\n return this.getDefaultPoints(shapePoint);\n },\n /**\n * 根据 shape 类型获取具体的 shape 实例\n * @param shapeType string shape 的类型\n * @returns\n */\n getShape(shapeType: string): Shape {\n const shape = this[shapeType] || this[this.defaultShapeType];\n shape.coordinate = this.coordinate;\n\n return shape;\n },\n /**\n * 获取 shape 的默认关键点\n * @override\n */\n getDefaultPoints() {\n return [];\n },\n /**\n * 获取 shape 的默认绘制样式 (内置的 shapeFactory 均有注册默认样式)\n */\n getDefaultStyle(geometryTheme: LooseObject): LooseObject {\n return get(geometryTheme, [this.defaultShapeType, 'default', 'style'], {});\n },\n /**\n * 获取 shape 对应的缩略图配置信息。\n * @param shapeType shape 类型\n * @param color 颜色\n * @param isInPolar 是否在极坐标系下\n * @returns 返回缩略图 marker 配置。\n */\n getMarker(shapeType: string, markerCfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n let shape = this.getShape(shapeType);\n\n if (!shape.getMarker) {\n const defaultShapeType = this.defaultShapeType;\n shape = this.getShape(defaultShapeType);\n }\n\n const theme = this.theme;\n const shapeStyle = get(theme, [shapeType, 'default'], {});\n const markerStyle = shape.getMarker(markerCfg);\n\n return deepMix({}, shapeStyle, markerStyle);\n },\n /**\n * 绘制 shape\n * @override\n * @param shapeType 绘制的 shape 类型\n * @param cfg 绘制 shape 需要的信息\n * @param element Element 实例\n * @returns\n */\n drawShape(shapeType: string, cfg: ShapeInfo, container: IGroup): IShape | IGroup {\n const shape = this.getShape(shapeType);\n return shape.draw(cfg, container);\n },\n};\n\n/** Shape 基类 */\nconst ShapeBase = {\n /** 坐标系对象 */\n coordinate: null,\n /**\n * 将归一化的 path 转换成坐标系下的 path\n * @param path 归一化的路径\n * @returns\n */\n parsePath(path: string): PathCommand[] {\n const coordinate = this.coordinate;\n let parsedPath = parsePathString(path);\n if (coordinate.isPolar) {\n parsedPath = convertPolarPath(coordinate, parsedPath);\n } else {\n parsedPath = convertNormalPath(coordinate, parsedPath);\n }\n return parsedPath;\n },\n /**\n * 将归一化的坐标转换成画布坐标\n * @param point 归一化的坐标点数据\n * @returns\n */\n parsePoint(point: Point): Point {\n const coordinate = this.coordinate;\n return coordinate.convert(point);\n },\n /**\n * 0~1 points 转 画布 points\n * @param points 节点集合\n * @returns\n */\n parsePoints(points: Point[]): Point[] {\n const coordinate = this.coordinate;\n return points.map((point) => {\n return coordinate.convert(point);\n });\n },\n /**\n * 绘制 shape\n * @override\n */\n draw(cfg: ShapeInfo, container: IGroup) {},\n};\n\nconst ShapeFactoryMap = {};\n\n/**\n * 注册 ShapeFactory。\n * @param factoryName ShapeFactory 名称,对应 Geometry 几何标记名称。\n * @param cfg 注册 ShapeFactory 需要覆写定义的属性。\n * @returns 返回 ShapeFactory 对象。\n */\nexport function registerShapeFactory(factoryName: string, cfg: RegisterShapeFactory): ShapeFactory {\n const className = upperFirst(factoryName);\n const geomObj = {\n ...ShapeFactoryBase,\n ...cfg,\n geometryType: factoryName,\n };\n ShapeFactoryMap[className] = geomObj;\n return geomObj;\n}\n\n/**\n * 注册 Shape。\n * @param factoryName 对应的 ShapeFactory 名称。\n * @param shapeType 注册的 shape 名称。\n * @param cfg 注册 Shape 需要覆写定义的属性。\n * @returns shape 返回注册的 shape 对象。\n */\nexport function registerShape(factoryName: string, shapeType: string, cfg: RegisterShape): Shape {\n const className = upperFirst(factoryName);\n const factory = ShapeFactoryMap[className];\n const shapeObj = {\n ...ShapeBase,\n ...cfg,\n };\n factory[shapeType] = shapeObj;\n return shapeObj;\n}\n\n/**\n * 获取 factoryName 对应的 shapeFactory\n * @param factoryName\n * @returns shape factory\n */\nexport function getShapeFactory(factoryName: string): ShapeFactory {\n const className = upperFirst(factoryName);\n return ShapeFactoryMap[className];\n}\n","import { isEqual, some } from '@antv/util';\nimport { ShapeInfo } from '../../interface';\n\n/**\n * @ignore\n * Determines whether model is change\n * @param currentModel\n * @param preModel\n * @returns\n */\nexport function isModelChange(currentModel: ShapeInfo, preModel: ShapeInfo) {\n return some(\n ['color', 'shape', 'size', 'x', 'y', 'isInCircle', 'data', 'style', 'defaultStyle', 'points', 'mappingData'],\n (key: string) => {\n return !isEqual(currentModel[key], preModel[key]);\n }\n );\n}\n","import { isArray } from '@antv/util';\n\n/** @ignore */\nexport function parseFields(field: string | string[]): string[] {\n if (isArray(field)) {\n return field;\n }\n\n return field.split('*');\n}\n","/**\n * 对比当前元素和之前的元素,返回 added, updated, removed\n * @param keyItem 之前的元素的,按照 key-item 的 object 的形式存储\n * @param keys 现在的元素,按照 array 的形式存储\n * @returns 由 added, updated, removed array 构成的 object\n */\nexport function diff(keyItem: Record, keys: string[]) {\n const added = [];\n const updated = [];\n const removed = [];\n const keyIncluded = new Map();\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (keyItem[key]) updated.push(key);\n else added.push(key);\n keyIncluded.set(key, true);\n }\n\n Object.keys(keyItem).forEach((key) => {\n if (!keyIncluded.has(key)) removed.push(key);\n });\n\n return {\n added,\n updated,\n removed,\n };\n}\n","import { Adjust, getAdjust as getAdjustClass } from '@antv/adjust';\nimport { Attribute, getAttribute as getAttributeClass } from '@antv/attr';\nimport {\n clone,\n deepMix,\n each,\n flatten,\n get,\n isArray,\n isEmpty,\n isEqual,\n isFunction,\n isNil,\n isNumber,\n isObject,\n isPlainObject,\n isString,\n set,\n} from '@antv/util';\nimport { doGroupAppearAnimate, getDefaultAnimateCfg } from '../animate';\nimport Base from '../base';\nimport { FIELD_ORIGIN, GEOMETRY_LIFE_CIRCLE, GROUP_ATTRS } from '../constant';\nimport { BBox, Coordinate, IGroup, IShape, Scale } from '../dependents';\nimport {\n AdjustOption,\n AdjustType,\n AnimateOption,\n AttributeOption,\n ColorAttrCallback,\n Data,\n Datum,\n GeometryLabelCfg,\n GeometryTooltipOption,\n LabelCallback,\n LabelOption,\n LooseObject,\n MappingDatum,\n ScaleOption,\n ShapeAttrCallback,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerCfg,\n ShapeMarkerAttrs,\n ShapePoint,\n SizeAttrCallback,\n StateOption,\n StyleCallback,\n StyleOption,\n TooltipCallback,\n CustomOption,\n} from '../interface';\nimport { uniq } from '../util/helper';\nimport Element from './element';\nimport { getGeometryLabel } from './label';\nimport GeometryLabel from './label/base';\nimport { getShapeFactory } from './shape/base';\nimport { group } from './util/group-data';\nimport { isModelChange } from './util/is-model-change';\nimport { parseFields } from './util/parse-fields';\nimport { diff } from './util/diff';\nimport { inferScaleType } from '../util/scale';\nimport { getXDimensionLength } from '../util/coordinate';\n\n/** @ignore */\ninterface AttributeInstanceCfg {\n fields?: string[];\n callback?: (...args) => any;\n values?: string[] | number[];\n scales?: Scale[];\n}\ninterface DimValuesMapType {\n [dim: string]: number[];\n}\n/** @ignore */\ninterface AdjustInstanceCfg {\n type: AdjustType;\n adjustNames?: string[];\n xField?: string;\n yField?: string;\n\n dodgeBy?: string;\n marginRatio?: number;\n dodgeRatio?: number;\n\n size?: number;\n height?: number;\n reverseOrder?: boolean;\n\n /** 像素级柱间宽度,调整offset */\n intervalPadding?: number;\n dodgePadding?: number;\n /** x维度长度,计算归一化padding使用 */\n xDimensionLength?: number;\n /** 分组数,计算offset */\n groupNum?: number;\n /** 用户配置宽度 size */\n defaultSize?: number;\n /** 最大最小宽度约束 */\n maxColumnWidth?: number;\n minColumnWidth?: number;\n /** 柱宽比例 */\n columnWidthRatio?: number;\n /** 用户自定义的dimValuesMap */\n dimValuesMap?: DimValuesMapType;\n}\n\n/** geometry.init() 传入参数 */\nexport interface InitCfg {\n /** 坐标系 */\n coordinate?: Coordinate;\n /** 数据 */\n data?: Data;\n /** 主题对象 */\n theme?: LooseObject;\n /** 列定义 */\n scaleDefs?: Record;\n /** 因为数据使用的引用,所以需要有一个标识位标识数据是否发生了更新 */\n isDataChanged?: boolean;\n isCoordinateChanged?: boolean;\n}\n\n/** Geometry 构造函数参数 */\nexport interface GeometryCfg {\n /** Geometry shape 的容器。 */\n container: IGroup;\n /** 绘制的坐标系对象。 */\n coordinate?: Coordinate;\n /** 绘制数据。 */\n data?: Data;\n /** 需要的 scales。 */\n scales?: Record;\n /** 列定义 */\n scaleDefs?: Record;\n /** Geometry labels 的容器 */\n labelsContainer?: IGroup;\n /** 是否对数据进行排序 */\n sortable?: boolean;\n /** elements 的 zIndex 默认按顺序提升,通过 zIndexReversed 可以反序,从而数据越前,层级越高 */\n zIndexReversed?: boolean;\n /** 是否需要对 zIndex 进行 sort。因为耗时长,由具体场景自行决定 */\n sortZIndex?: boolean;\n /** 延迟渲染 Geometry 数据标签. 设置为 true 时,会在浏览器空闲时期被调用, 也可以指定具体 timeout 时间 */\n useDeferredLabel?: boolean | number;\n /** 是否可见 */\n visible?: boolean;\n /** 主题配置 */\n theme?: LooseObject;\n\n /** 组间距 */\n intervalPadding?: number;\n /** 组内间距 */\n dodgePadding?: number;\n /** 柱状图最大宽度 */\n maxColumnWidth?: number;\n /** 柱状图最小宽度 */\n minColumnWidth?: number;\n /** 默认宽度占比,interval类型和schema类型通用 */\n columnWidthRatio?: number;\n /** 玫瑰图占比 */\n roseWidthRatio?: number;\n /** 多层饼图/环图占比 */\n multiplePieWidthRatio?: number;\n}\n\n/**\n * Geometry 几何标记基类,主要负责数据到图形属性的映射以及绘制逻辑。\n */\nexport default class Geometry extends Base {\n /** Geometry 几何标记类型。 */\n public readonly type: string = 'base';\n /** ShapeFactory 对应的类型。 */\n public readonly shapeType: string;\n\n // 在创建 Geometry 实例时可以传入的属性\n /** Coordinate 坐标系实例。 */\n public coordinate: Coordinate;\n /** 用户绘制数据。 */\n public data: Data;\n /** 图形绘制容器。 */\n public readonly container: IGroup;\n /** label 绘制容器。 */\n public readonly labelsContainer: IGroup;\n /** 是否对数据进行排序,默认为 false。 */\n public sortable: boolean;\n /** 当前 Geometry 实例主题。 */\n public theme: LooseObject;\n /** 存储 geometry 需要的 scales,需要外部传入。 */\n public scales: Record;\n /** scale 定义,需要外部传入。 */\n public scaleDefs: Record;\n /** 画布区域,用于 label 布局。 */\n public canvasRegion: BBox;\n\n // 内部产生的属性\n /** Attribute map */\n public attributes: Record = {};\n /** Element map */\n public elements: Element[] = [];\n /**\n * 存储处理后的数据,\n * + init() 及 updateData() 逻辑后, 结构为 Data[];\n * + paint() 逻辑后,结构为 MappingDatum[][]。\n */\n public dataArray: MappingDatum[][];\n /** 存储 tooltip 配置信息。 */\n public tooltipOption: GeometryTooltipOption | boolean;\n /** 存储 label 配置信息。 */\n public labelOption: LabelOption | false;\n /** 状态量相关的配置项 */\n public stateOption: StateOption;\n /** 使用 key-value 结构存储 Element,key 为每个 Element 实例对应的唯一 ID */\n public elementsMap: Record = {};\n /** animate 配置项 */\n public animateOption: AnimateOption | boolean = true;\n /** 图形属性映射配置 */\n protected attributeOption: Record = {};\n /** adjust 配置项 */\n protected adjustOption: AdjustOption[];\n /** style 配置项 */\n protected styleOption: StyleOption;\n /** custom 自定义的配置项 */\n protected customOption: CustomOption;\n /** 每个 Geometry 对应的 Shape 工厂实例,用于创建各个 Shape */\n protected shapeFactory: ShapeFactory;\n /** 存储上一次渲染时的 element 映射表,用于更新逻辑 */\n protected lastElementsMap: Record = {};\n /** 是否生成多个点来绘制图形。 */\n protected generatePoints: boolean = false;\n /** 存储发生图形属性映射前的数据 */\n protected beforeMappingData: Data[] = null;\n /** 存储每个 shape 的默认 size,用于 Interval、Schema 几何标记 */\n protected defaultSize: number;\n\n // 用户通过 geometry 构造函数设置的主题\n private userTheme: LooseObject;\n private adjusts: Record = {};\n private lastAttributeOption;\n private idFields: string[] = [];\n private geometryLabel: GeometryLabel;\n\n // 柱状图间距相关配置\n /** 组间距 */\n protected intervalPadding: number;\n /** 组内间距 */\n protected dodgePadding: number;\n /** 柱状图最大宽度 */\n protected maxColumnWidth: number;\n /** 柱状图最小宽度 */\n protected minColumnWidth: number;\n /** 一般柱状图宽度占比 */\n protected columnWidthRatio: number;\n /** 玫瑰图占比 */\n protected roseWidthRatio: number;\n /** 多层饼图/环图占比 */\n protected multiplePieWidthRatio: number;\n /** elements 的 zIndex 默认按顺序提升,通过 zIndexReversed 可以反序,从而数据越前,层级越高 */\n public zIndexReversed?: boolean;\n /** 是否需要对 zIndex 进行 sort。因为耗时长,由具体场景自行决定 */\n public sortZIndex?: boolean;\n protected useDeferredLabel?: null | number;\n\n /** 虚拟 Group,用于图形更新 */\n private offscreenGroup: IGroup;\n private groupScales: Scale[];\n private hasSorted: boolean = false;\n protected isCoordinateChanged: boolean = false;\n\n /**\n * 创建 Geometry 实例。\n * @param cfg\n */\n constructor(cfg: GeometryCfg) {\n super(cfg);\n\n const {\n container,\n labelsContainer,\n coordinate,\n data,\n sortable = false,\n visible = true,\n theme,\n scales = {},\n scaleDefs = {},\n // 柱状图间隔与宽度相关配置\n intervalPadding,\n dodgePadding,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n roseWidthRatio,\n multiplePieWidthRatio,\n zIndexReversed,\n sortZIndex,\n useDeferredLabel,\n } = cfg;\n\n this.container = container;\n this.labelsContainer = labelsContainer;\n this.coordinate = coordinate;\n this.data = data;\n this.sortable = sortable;\n this.visible = visible;\n this.userTheme = theme;\n this.scales = scales;\n this.scaleDefs = scaleDefs;\n // 柱状图间隔与宽度相关配置\n this.intervalPadding = intervalPadding;\n this.dodgePadding = dodgePadding;\n this.maxColumnWidth = maxColumnWidth;\n this.minColumnWidth = minColumnWidth;\n this.columnWidthRatio = columnWidthRatio;\n this.roseWidthRatio = roseWidthRatio;\n this.multiplePieWidthRatio = multiplePieWidthRatio;\n this.zIndexReversed = zIndexReversed;\n this.sortZIndex = sortZIndex;\n this.useDeferredLabel = useDeferredLabel ? (typeof useDeferredLabel === 'number' ? useDeferredLabel : Infinity) : null;\n }\n\n /**\n * 配置 position 通道映射规则。\n *\n * @example\n * ```typescript\n * // 数据结构: [{ x: 'A', y: 10, color: 'red' }]\n * geometry.position('x*y');\n * geometry.position([ 'x', 'y' ]);\n * geometry.position({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n *\n * @param cfg 映射规则\n * @returns\n */\n public position(cfg: string | string[] | AttributeOption): Geometry {\n let positionCfg = cfg;\n if (!isPlainObject(cfg)) {\n // 字符串字段或者数组字段\n positionCfg = {\n fields: parseFields(cfg),\n };\n }\n\n const fields = get(positionCfg, 'fields');\n if (fields.length === 1) {\n // 默认填充一维 1*xx\n fields.unshift('1');\n set(positionCfg, 'fields', fields);\n }\n set(this.attributeOption, 'position', positionCfg);\n\n return this;\n }\n\n /**\n * 配置 color 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.color({\n * fields: [ 'x' ],\n * values: [ '#1890ff', '#5AD8A6' ],\n * });\n * ```\n *\n * @param field 映射规则\n * @returns\n */\n public color(field: AttributeOption): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 使用 '#1890ff' 颜色渲染图形\n * geometry.color('#1890ff');\n *\n * // 根据 x 字段的数据值进行颜色的映射,这时候 G2 会在内部调用默认的回调函数,读取默认提供的颜色进行数据值到颜色值的映射。\n * geometry.color('x');\n *\n * // 将 'x' 字段的数据值映射至指定的颜色值 colors(可以是字符串也可以是数组),此时用于通常映射分类数据\n * geometry.color('x', [ '#1890ff', '#5AD8A6' ]);\n *\n * // 使用回调函数进行颜色值的自定义;可以使用多个字段使用、*号连接\n * geometry.color('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'red';\n * }\n * return 'blue';\n * });\n *\n * // 指定颜色的渐变路径,用于映射连续的数据\n * geometry.color('x', '#BAE7FF-#1890FF-#0050B3');\n * ```\n *\n * @param field 参与颜色映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, color 映射规则。\n * @returns\n */\n public color(field: string, cfg?: string | string[] | ColorAttrCallback): Geometry;\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 shape 通道映射规则。\n *\n * @example\n *\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.shape({\n * fields: [ 'x' ],\n * });\n * ```\n *\n * @param field 映射规则配置。\n * @returns\n */\n public shape(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 指定常量,将所有数据值映射到固定的 shape\n * geometry.shape('circle');\n *\n * // 将指定的字段映射到内置的 shapes 数组中\n * geometry.shape('x');\n *\n * // 将指定的字段映射到指定的 shapes 数组中\n * geometry.shape('x', [ 'circle', 'diamond', 'square' ]);\n *\n * // 使用回调函数获取 shape,用于个性化的 shape 定制,可以根据单个或者多个字段确定\n * geometry.shape('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'circle';\n * }\n * return 'diamond';\n * });\n * ```\n *\n * @param field 参与 shape 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, shape 映射规则。\n * @returns\n */\n public shape(field: string, cfg?: string[] | ShapeAttrCallback): Geometry;\n public shape(field: AttributeOption | string, cfg?: string[] | ShapeAttrCallback): Geometry {\n this.createAttrOption('shape', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 size 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.size({\n * values: [ 10 ],\n * })\n * ```\n *\n * @param field 映射规则。\n * @returns\n */\n public size(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 直接指定像素大小\n * geometry.size(10);\n *\n * // 指定映射到 size 的字段,使用内置的默认大小范围为 [1, 10]\n * geometry.size('x');\n *\n * // 指定映射到 size 字段外,还提供了 size 的最大值和最小值范围\n * geometry.size('x', [ 5, 30 ]);\n *\n * // 使用回调函数映射 size,用于个性化的 size 定制,可以使用多个字段进行映射\n * geometry.size('x', (xVal) => {\n * if (xVal === 'a') {\n * return 10;\n * }\n * return 5;\n * });\n * ```\n *\n * @param field 参与 size 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, size 映射规则\n * @returns\n */\n public size(field: number | string, cfg?: [number, number] | SizeAttrCallback): Geometry;\n public size(field: AttributeOption | number | string, cfg?: [number, number] | SizeAttrCallback): Geometry {\n this.createAttrOption('size', field, cfg);\n\n return this;\n }\n\n /**\n * 设置数据调整方式。G2 目前内置了四种类型:\n * 1. dodge\n * 2. stack\n * 3. symmetric\n * 4. jitter\n *\n *\n * **Tip**\n * + 对于 'dodge' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('dodge', {\n * marginRatio: 0, // 取 0 到 1 范围的值(相对于每个柱子宽度),用于控制一个分组中柱子之间的间距\n * dodgeBy: 'x', // 该属性只对 'dodge' 类型生效,声明以哪个数据字段为分组依据\n * });\n * ```\n *\n * + 对于 'stack' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('stack', {\n * reverseOrder: false, // 用于控制是否对数据进行反序操作\n * });\n * ```\n *\n * @example\n * ```typescript\n * geometry.adjust('stack');\n *\n * geometry.adjust({\n * type: 'stack',\n * reverseOrder: false,\n * });\n *\n * // 组合使用 adjust\n * geometry.adjust([ 'stack', 'dodge' ]);\n *\n * geometry.adjust([\n * { type: 'stack' },\n * { type: 'dodge', dodgeBy: 'x' },\n * ]);\n * ```\n *\n * @param adjustCfg 数据调整配置\n * @returns\n */\n public adjust(adjustCfg: string | string[] | AdjustOption | AdjustOption[]): Geometry {\n let adjusts: any = adjustCfg;\n if (isString(adjustCfg) || isPlainObject(adjustCfg)) {\n adjusts = [adjustCfg];\n }\n each(adjusts, (adjust, index) => {\n if (!isObject(adjust)) {\n adjusts[index] = { type: adjust };\n }\n });\n\n this.adjustOption = adjusts;\n return this;\n }\n\n /**\n * 图形样式配置。\n *\n * @example\n * ```typescript\n * // 配置图形样式\n * style({\n * lineWidth: 2,\n * stroke: '#1890ff',\n * });\n *\n * // 根据具体的数据进行详细配置\n * style({\n * fields: [ 'x', 'y' ], // 数据字段\n * callback: (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * },\n * });\n * ```\n *\n * @param field 配置样式属性或者样式规则。\n * @returns\n */\n public style(field: StyleOption | LooseObject): Geometry;\n /**\n * @example\n * ```typescript\n * style('x*y', (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * });\n * ```\n *\n * @param field 数据字段或者样式配置规则。\n * @param styleFunc Optional, 样式配置回调函数。\n * @returns\n */\n public style(field: string, styleFunc: StyleCallback): Geometry;\n public style(field: StyleOption | LooseObject | string, styleFunc?: StyleCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.styleOption = {\n fields,\n callback: styleFunc,\n };\n } else {\n const { fields, callback, cfg } = field as StyleOption;\n if (fields || callback || cfg) {\n this.styleOption = field;\n } else {\n this.styleOption = {\n cfg: field,\n };\n }\n }\n\n return this;\n }\n\n /**\n * 配置 Geometry 显示的 tooltip 内容。\n *\n * `tooltip(false)` 代表关闭 tooltip。\n * `tooltip(true)` 代表开启 tooltip。\n *\n * Geometry 默认允许 tooltip 展示,我们可以使用以下方法对 tooltip 的展示内容进行配置:\n *\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n * tooltip({\n * fields: [ 'x' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*268uQ50if60AAAAAAAAAAABkARQnAQ)\n *\n * ```typescript\n * tooltip({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*A_ujSa8QhtcAAAAAAAAAAABkARQnAQ)\n *\n * tooltip() 方法同样支持数据映射及回调用法:\n *\n * @example\n * ```typescript\n * chart.tooltip({\n * itemTpl: '
    • {x}: {y}
    • ',\n * });\n *\n * chart.line()\n * .position('x*y')\n * .tooltip({\n * fields: [ 'x', 'y' ],\n * callback: (x, y) => {\n * return {\n * x,\n * y,\n * };\n * },\n * });\n * ```\n *\n * 其返回的值必须为对象,该值中的属性同 chart.tooltip() 的 itemTpl 模板相对应,返回的变量可用于 itemTpl 的字符串模板。\n *\n * @param field tooltip 配置信息。\n * @returns\n */\n public tooltip(field: GeometryTooltipOption | boolean): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n *\n * // 等同于 tooltip({ fields: [ 'x' ] })\n * tooltip('x');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ] })\n * tooltip('x*y');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ], callback: (x, y) => { x, y } })\n * tooltip('x*y', (x, y) => {\n * return {\n * x,\n * y,\n * };\n * });\n * ```\n *\n * @param field 参与映射的字段。\n * @param cfg Optional, 回调函数\n * @returns\n */\n public tooltip(field: string, cfg?: TooltipCallback): Geometry;\n public tooltip(field: GeometryTooltipOption | boolean | string, cfg?: TooltipCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.tooltipOption = {\n fields,\n callback: cfg,\n };\n } else {\n this.tooltipOption = field;\n }\n\n return this;\n }\n\n /**\n * Geometry 动画配置。\n *\n * + `animate(false)` 关闭动画\n * + `animate(true)` 开启动画,默认开启。\n *\n * 我们将动画分为四个场景:\n * 1. appear: 图表第一次加载时的入场动画;\n * 2. enter: 图表绘制完成,发生更新后,产生的新图形的进场动画;\n * 3. update: 图表绘制完成,数据发生变更后,有状态变更的图形的更新动画;\n * 4. leave: 图表绘制完成,数据发生变更后,被销毁图形的销毁动画。\n *\n * @example\n * ```typescript\n * animate({\n * enter: {\n * duration: 1000, // enter 动画执行时间\n * },\n * leave: false, // 关闭 leave 销毁动画\n * });\n * ```\n *\n * @param cfg 动画配置\n * @returns\n */\n public animate(cfg: AnimateOption | boolean): Geometry {\n this.animateOption = cfg;\n return this;\n }\n\n /**\n * Geometry label 配置。\n *\n * @example\n * ```ts\n * // data: [ {x: 1, y: 2, z: 'a'}, {x: 2, y: 2, z: 'b'} ]\n * // 在每个图形上显示 z 字段对应的数值\n * label({\n * fields: [ 'z' ]\n * });\n *\n * label(false); // 不展示 label\n *\n * // 在每个图形上显示 x 字段对应的数值,同时配置文本颜色为红色\n * label('x', {\n * style: {\n * fill: 'red',\n * },\n * })\n *\n * // 以 type 类型的 label 渲染每个图形上显示 x 字段对应的数值,同时格式化文本内容\n * label('x', (xValue) => {\n * return {\n * content: xValue + '%',\n * };\n * }, {\n * type: 'base' // 声明 label 类型\n * })\n * ```\n *\n * @param field\n * @returns label\n */\n public label(field: LabelOption | false | string): Geometry;\n public label(field: string, secondParam: GeometryLabelCfg | LabelCallback): Geometry;\n public label(field: string, secondParam: LabelCallback, thirdParam: GeometryLabelCfg): Geometry;\n public label(\n field: string | LabelOption | false,\n secondParam?: GeometryLabelCfg | LabelCallback,\n thirdParam?: GeometryLabelCfg\n ): Geometry {\n if (isString(field)) {\n const labelOption: LabelOption = {};\n const fields = parseFields(field);\n labelOption.fields = fields;\n if (isFunction(secondParam)) {\n labelOption.callback = secondParam;\n } else if (isPlainObject(secondParam)) {\n labelOption.cfg = secondParam;\n }\n\n if (thirdParam) {\n labelOption.cfg = thirdParam;\n }\n this.labelOption = labelOption;\n } else {\n this.labelOption = field;\n }\n\n return this;\n }\n\n /**\n * 设置状态对应的样式。\n *\n * @example\n * ```ts\n * chart.interval().state({\n * selected: {\n * animate: { duration: 100, easing: 'easeLinear' },\n * style: {\n * lineWidth: 2,\n * stroke: '#000',\n * },\n * },\n * });\n * ```\n *\n * 如果图形 shape 是由多个 shape 组成,即为一个 G.Group 对象,那么针对 group 中的每个 shape,我们需要使用下列方式进行状态样式设置:\n * 如果我们为 group 中的每个 shape 设置了 'name' 属性(shape.set('name', 'xx')),则以 'name' 作为 key,否则默认以索引值(即 shape 的 添加顺序)为 key。\n *\n * ```ts\n * chart.interval().shape('groupShape').state({\n * selected: {\n * style: {\n * 0: { lineWidth: 2 },\n * 1: { fillOpacity: 1 },\n * }\n * }\n * });\n * ```\n *\n * @param cfg 状态样式\n */\n public state(cfg: StateOption) {\n this.stateOption = cfg;\n return this;\n }\n\n /**\n * 用于向 shape 中传入自定义的数据。目前可能仅仅可能用于在自定义 shape 的时候,像自定义 shape 中传入自定义的数据,方便实现自定义 shape 的配置能力。\n *\n * @example\n * ```ts\n * chart.interval().customInfo({ yourData: 'hello, g2!' });\n * ```\n *\n * 然后在自定义 shape 的时候,可以拿到这个信息。\n *\n * ```ts\n * registerShape('interval', 'your-shape', {\n * draw(shapeInfo, container) {\n * const { customInfo } = shapeInfo;\n * console.log(customInfo); // will log { yourData: 'hello, g2!' }.\n * }\n * });\n * ```\n *\n * @param cfg\n */\n public customInfo(cfg: any) {\n this.customOption = cfg;\n return this;\n }\n\n /**\n * 初始化 Geomtry 实例:\n * 创建 [[Attribute]] and [[Scale]] 实例,进行数据处理,包括分组、数值化以及数据调整。\n */\n public init(cfg: InitCfg = {}) {\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n\n // 数据加工:分组 -> 数字化 -> adjust\n this.processData(this.data);\n\n // 调整 scale\n this.adjustScale();\n }\n\n /**\n * Geometry 更新。\n * @param [cfg] 更新的配置\n */\n public update(cfg: InitCfg = {}) {\n const { data, isDataChanged, isCoordinateChanged } = cfg;\n const { attributeOption, lastAttributeOption } = this;\n\n if (!isEqual(attributeOption, lastAttributeOption)) {\n // 映射发生改变,则重新创建图形属性\n this.init(cfg);\n } else if (data && (isDataChanged || !isEqual(data, this.data))) {\n // 数据发生变化\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n this.processData(data); // 数据加工:分组 -> 数字化 -> adjust\n } else {\n // 有可能 coordinate 变化\n this.setCfg(cfg);\n }\n\n // 调整 scale\n this.adjustScale();\n this.isCoordinateChanged = isCoordinateChanged;\n }\n\n /**\n * 将原始数据映射至图形空间,同时创建图形对象。\n */\n public paint(isUpdate: boolean = false) {\n if (this.animateOption) {\n this.animateOption = deepMix({}, getDefaultAnimateCfg(this.type, this.coordinate), this.animateOption);\n }\n\n this.defaultSize = undefined;\n this.elementsMap = {};\n this.elements = [];\n const offscreenGroup = this.getOffscreenGroup();\n offscreenGroup.clear();\n\n const beforeMappingData = this.beforeMappingData;\n const dataArray = this.beforeMapping(beforeMappingData);\n\n this.dataArray = new Array(dataArray.length);\n for (let i = 0; i < dataArray.length; i++) {\n const data = dataArray[i];\n this.dataArray[i] = this.mapping(data);\n }\n this.updateElements(this.dataArray, isUpdate);\n this.lastElementsMap = this.elementsMap;\n\n if (this.canDoGroupAnimation(isUpdate)) {\n // 如果用户没有配置 appear.animation,就默认走整体动画\n const container = this.container;\n const type = this.type;\n const coordinate = this.coordinate;\n const animateCfg = get(this.animateOption, 'appear');\n const yScale = this.getYScale();\n const yMinPoint = coordinate.convert({\n x: 0,\n y: yScale.scale(this.getYMinValue()),\n });\n doGroupAppearAnimate(container, animateCfg, type, coordinate, yMinPoint);\n }\n\n // 添加 label\n if (this.labelOption) {\n const deferred = this.useDeferredLabel;\n const callback = (() => this.renderLabels(flatten(this.dataArray) as unknown as MappingDatum[], isUpdate)).bind(this);\n if (typeof deferred === 'number') {\n // Use `requestIdleCallback` to render labels in idle time (like react fiber)\n const timeout = (typeof deferred === 'number' && deferred !== Infinity) ? deferred : 0;\n if (!window.requestIdleCallback) {\n setTimeout(callback, timeout);\n } else {\n const options = timeout && timeout !== Infinity ? { timeout } : undefined;\n window.requestIdleCallback(callback, options);\n }\n } else {\n callback();\n }\n }\n\n // 缓存,用于更新\n this.lastAttributeOption = {\n ...this.attributeOption,\n };\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 清空当前 Geometry,配置项仍保留,但是内部创建的对象全部清空。\n * @override\n */\n public clear() {\n const { container, geometryLabel, offscreenGroup } = this;\n if (container) {\n container.clear();\n }\n\n if (geometryLabel) {\n geometryLabel.clear();\n }\n\n if (offscreenGroup) {\n offscreenGroup.clear();\n }\n\n // 属性恢复至出厂状态\n this.scaleDefs = undefined;\n this.attributes = {};\n this.scales = {};\n this.elementsMap = {};\n this.lastElementsMap = {};\n this.elements = [];\n this.adjusts = {};\n this.dataArray = null;\n this.beforeMappingData = null;\n this.lastAttributeOption = undefined;\n this.defaultSize = undefined;\n this.idFields = [];\n this.groupScales = undefined;\n this.hasSorted = false;\n this.isCoordinateChanged = false;\n }\n\n /**\n * 销毁 Geometry 实例。\n */\n public destroy() {\n this.clear();\n const container = this.container;\n container.remove(true);\n\n if (this.offscreenGroup) {\n this.offscreenGroup.remove(true);\n this.offscreenGroup = null;\n }\n\n if (this.geometryLabel) {\n this.geometryLabel.destroy();\n this.geometryLabel = null;\n }\n this.theme = undefined;\n this.shapeFactory = undefined;\n\n super.destroy();\n }\n\n /**\n * 获取决定分组的图形属性对应的 scale 实例。\n * @returns\n */\n public getGroupScales(): Scale[] {\n return this.groupScales;\n }\n\n /**\n * 根据名字获取图形属性实例。\n */\n public getAttribute(name: string): Attribute {\n return this.attributes[name];\n }\n\n /** 获取 x 轴对应的 scale 实例。 */\n public getXScale(): Scale {\n return this.getAttribute('position').scales[0];\n }\n\n /** 获取 y 轴对应的 scale 实例。 */\n public getYScale(): Scale {\n return this.getAttribute('position').scales[1];\n }\n\n /**\n * 获取决定分组的图形属性实例。\n */\n public getGroupAttributes(): Attribute[] {\n const rst = [];\n each(this.attributes, (attr: Attribute) => {\n if (GROUP_ATTRS.includes(attr.type)) {\n rst.push(attr);\n }\n });\n return rst;\n }\n\n /** 获取图形属性默认的映射值。 */\n public getDefaultValue(attrName: string) {\n let value: any;\n const attr = this.getAttribute(attrName);\n if (attr && isEmpty(attr.scales)) {\n // 获取映射至常量的值\n value = attr.values[0];\n }\n return value;\n }\n\n /**\n * 获取该数据发生图形映射后对应的 Attribute 图形空间数据。\n * @param attr Attribute 图形属性实例。\n * @param obj 需要进行映射的原始数据。\n * @returns\n */\n public getAttributeValues(attr: Attribute, obj: Datum) {\n const params = [];\n const scales = attr.scales;\n for (let index = 0, length = scales.length; index < length; index++) {\n const scale = scales[index];\n const field = scale.field;\n if (scale.isIdentity) {\n params.push(scale.values);\n } else {\n params.push(obj[field]);\n }\n }\n\n return attr.mapping(...params);\n }\n\n /**\n * 获取对应的 adjust 实例\n * @param adjustType\n * @returns\n */\n public getAdjust(adjustType: string) {\n return this.adjusts[adjustType];\n }\n\n /**\n * 获得 coordinate 实例\n * @returns\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n public getData() {\n return this.data;\n }\n\n /**\n * 获取 shape 对应的 marker 样式。\n * @param shapeName shape 具体名字\n * @param cfg marker 信息\n * @returns\n */\n public getShapeMarker(shapeName: string, cfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n const shapeFactory = this.getShapeFactory();\n return shapeFactory.getMarker(shapeName, cfg);\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.elements.filter((element) => condition(element));\n }\n\n /**\n * 获取 Geometry 的所有 Elements。\n *\n * ```typescript\n * getElements();\n * ```\n */\n public getElements() {\n return this.elements;\n }\n\n /**\n * 获取数据对应的唯一 id。\n * @param data Element 对应的绘制数据\n * @returns\n */\n public getElementId(data: MappingDatum | MappingDatum[]) {\n data = isArray(data) ? data[0] : data;\n const originData = data[FIELD_ORIGIN];\n\n // 如果用户声明了使用哪些字段作为 id 值\n if (this.idFields.length) {\n let elementId = originData[this.idFields[0]];\n for (let index = 1; index < this.idFields.length; index++) {\n elementId += '-' + originData[this.idFields[index]];\n }\n\n return elementId;\n }\n\n const type = this.type;\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field || 'x';\n const yField = yScale.field || 'y';\n const yVal = originData[yField];\n let xVal;\n if (xScale.type === 'identity') {\n xVal = xScale.values[0];\n } else {\n xVal = originData[xField];\n }\n\n let id: string;\n if (type === 'interval' || type === 'schema') {\n id = `${xVal}`;\n } else if (type === 'line' || type === 'area' || type === 'path') {\n id = type;\n } else {\n id = `${xVal}-${yVal}`;\n }\n\n const groupScales = this.groupScales;\n\n for (let index = 0, length = groupScales.length; index < length; index++) {\n const groupScale = groupScales[index];\n const field = groupScale.field;\n id = `${id}-${originData[field]}`;\n }\n\n // 用户在进行 dodge 类型的 adjust 调整的时候设置了 dodgeBy 属性\n const dodgeAdjust = this.getAdjust('dodge');\n if (dodgeAdjust) {\n const dodgeBy = dodgeAdjust.dodgeBy;\n if (dodgeBy) {\n id = `${id}-${originData[dodgeBy]}`;\n }\n }\n\n if (this.getAdjust('jitter')) {\n id = `${id}-${data.x}-${data.y}`;\n }\n\n return id;\n }\n\n /**\n * 获取所有需要创建 scale 的字段名称。\n */\n public getScaleFields(): string[] {\n const fields = [];\n const tmpMap = new Map();\n const { attributeOption, labelOption, tooltipOption } = this;\n // 获取图形属性上的 fields\n for (const attributeType in attributeOption) {\n if (attributeOption.hasOwnProperty(attributeType)) {\n const eachOpt = attributeOption[attributeType];\n if (eachOpt.fields) {\n uniq(eachOpt.fields, fields, tmpMap);\n } else if (eachOpt.values) {\n // 考虑 size(10), shape('circle') 等场景\n uniq(eachOpt.values, fields, tmpMap);\n }\n }\n }\n // 获取 label 上的字段\n if (labelOption && labelOption.fields) {\n uniq(labelOption.fields, fields, tmpMap);\n }\n\n // 获取 tooltip 上的字段\n if (isObject(tooltipOption) && tooltipOption.fields) {\n uniq(tooltipOption.fields, fields, tmpMap);\n }\n\n return fields;\n }\n\n /**\n * 显示或者隐藏 geometry。\n * @param visible\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n const elements = this.elements;\n for (let index = 0, length = elements.length; index < length; index++) {\n const element = elements[index];\n element.changeVisible(visible);\n }\n if (visible) {\n if (this.container) {\n this.container.show();\n }\n if (this.labelsContainer) {\n this.labelsContainer.show();\n }\n } else {\n if (this.container) {\n this.container.hide();\n }\n if (this.labelsContainer) {\n this.labelsContainer.hide();\n }\n }\n }\n\n /**\n * 获得所有的字段\n */\n public getFields() {\n const uniqMap = new Map();\n const fields = [];\n\n Object.values(this.attributeOption).forEach((cfg) => {\n const fs = cfg?.fields || [];\n fs.forEach((f) => {\n if (!uniqMap.has(f)) {\n fields.push(f);\n }\n uniqMap.set(f, true);\n });\n }, []);\n\n return fields;\n }\n\n /**\n * 获取当前配置中的所有分组 & 分类的字段。\n * @return fields string[]\n */\n public getGroupFields(): string[] {\n const groupFields = [];\n const tmpMap = new Map(); // 用于去重过滤\n for (let index = 0, length = GROUP_ATTRS.length; index < length; index++) {\n const attributeName = GROUP_ATTRS[index];\n const cfg = this.attributeOption[attributeName];\n if (cfg && cfg.fields) {\n uniq(cfg.fields, groupFields, tmpMap);\n }\n }\n\n return groupFields;\n }\n\n /**\n * 获得图形的 x y 字段。\n */\n public getXYFields() {\n const [x, y] = this.attributeOption.position.fields;\n return [x, y];\n }\n\n /**\n * x 字段\n * @returns\n */\n public getXField(): string {\n return get(this.getXYFields(), [0]);\n }\n\n /**\n * y 字段\n * @returns\n */\n public getYField(): string {\n return get(this.getXYFields(), [1]);\n }\n\n /**\n * 获取该 Geometry 下所有生成的 shapes。\n * @returns shapes\n */\n public getShapes(): (IShape | IGroup)[] {\n return this.elements.map((element: Element) => element.shape);\n }\n\n /**\n * 获取虚拟 Group。\n * @returns\n */\n public getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n return this.offscreenGroup;\n }\n\n // 对数据进行排序\n public sort(mappingArray: Data[]) {\n if (!this.hasSorted) {\n // 未发生过排序\n const xScale = this.getXScale();\n const xField = xScale.field;\n for (let index = 0; index < mappingArray.length; index++) {\n const itemArr = mappingArray[index];\n itemArr.sort((obj1: Datum, obj2: Datum) => {\n return xScale.translate(obj1[FIELD_ORIGIN][xField]) - xScale.translate(obj2[FIELD_ORIGIN][xField]);\n });\n }\n }\n\n this.hasSorted = true;\n }\n\n /**\n * 调整度量范围。主要针对发生层叠以及一些特殊需求的 Geometry,比如 Interval 下的柱状图 Y 轴默认从 0 开始。\n */\n protected adjustScale() {\n const yScale = this.getYScale();\n // 如果数据发生过 stack adjust,需要调整下 yScale 的数据范围\n if (yScale && this.getAdjust('stack')) {\n this.updateStackRange(yScale, this.beforeMappingData);\n }\n }\n\n /**\n * 获取当前 Geometry 对应的 Shape 工厂实例。\n */\n protected getShapeFactory() {\n const shapeType = this.shapeType;\n if (!getShapeFactory(shapeType)) {\n return;\n }\n if (!this.shapeFactory) {\n this.shapeFactory = clone(getShapeFactory(shapeType)); // 防止多个 view 共享一个 shapeFactory 实例,导致 coordinate 被篡改\n }\n // 因为这里缓存了 shapeFactory,但是外部可能会变更 coordinate,导致无法重新设置到 shapeFactory 中\n this.shapeFactory.coordinate = this.coordinate;\n // theme 原因同上\n this.shapeFactory.theme = this.theme.geometries[shapeType] || {};\n\n return this.shapeFactory;\n }\n\n /**\n * 获取每个 Shape 对应的关键点数据。\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum): S {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const x = this.normalizeValues(obj[xScale.field], xScale);\n let y; // 存在没有 y 的情况\n\n if (yScale) {\n y = this.normalizeValues(obj[yScale.field], yScale);\n } else {\n y = obj.y ? obj.y : 0.1;\n }\n\n return {\n x,\n y,\n y0: yScale ? yScale.scale(this.getYMinValue()) : undefined,\n } as S;\n }\n\n /**\n * 创建 Element 实例。\n * @param mappingDatum Element 对应的绘制数据\n * @param [isUpdate] 是否处于更新阶段\n * @returns element 返回创建的 Element 实例\n */\n protected createElement(mappingDatum: MappingDatum, index: number, isUpdate: boolean = false): Element {\n const { container } = this;\n\n const shapeCfg = this.getDrawCfg(mappingDatum); // 获取绘制图形的配置信息\n const shapeFactory = this.getShapeFactory();\n\n const element = new Element({\n shapeFactory,\n container,\n offscreenGroup: this.getOffscreenGroup(),\n elementIndex: index,\n });\n element.animate = this.animateOption;\n element.geometry = this;\n element.draw(shapeCfg, isUpdate); // 绘制\n\n return element;\n }\n\n /**\n * 获取每条数据对应的图形绘制数据。\n * @param mappingDatum 映射后的数据\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const originData = mappingDatum[FIELD_ORIGIN]; // 原始数据\n const cfg: ShapeInfo = {\n mappingData: mappingDatum, // 映射后的数据\n data: originData, // 原始数据\n x: mappingDatum.x,\n y: mappingDatum.y,\n color: mappingDatum.color,\n size: mappingDatum.size,\n isInCircle: this.coordinate.isPolar,\n customInfo: this.customOption,\n };\n\n let shapeName = mappingDatum.shape;\n if (!shapeName && this.getShapeFactory()) {\n shapeName = this.getShapeFactory().defaultShapeType;\n }\n cfg.shape = shapeName;\n // 获取默认样式\n const theme = this.theme.geometries[this.shapeType];\n cfg.defaultStyle = get(theme, [shapeName, 'default'], {}).style;\n if (!cfg.defaultStyle && this.getShapeFactory()) {\n cfg.defaultStyle = this.getShapeFactory().getDefaultStyle(theme);\n }\n\n const styleOption = this.styleOption;\n if (styleOption) {\n cfg.style = this.getStyleCfg(styleOption, originData);\n }\n if (this.generatePoints) {\n cfg.points = mappingDatum.points;\n cfg.nextPoints = mappingDatum.nextPoints;\n }\n\n return cfg;\n }\n\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false): void {\n const keyDatum = new Map();\n const keys: string[] = [];\n\n // 用来保持 diff 元素之后 added, updated 的相对顺序\n const keyIndex = new Map();\n let index = 0;\n\n // 获得更新数据所有的 keys\n // 将更新的数据用 key 索引\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n for (let j = 0; j < mappingData.length; j++) {\n const mappingDatum = mappingData[j];\n const key = this.getElementId(mappingDatum);\n const finalKey = keyDatum.has(key) ? `${key}-${i}-${j}` : key;\n keys.push(finalKey);\n keyDatum.set(finalKey, mappingDatum);\n keyIndex.set(finalKey, index);\n index++;\n }\n }\n\n this.elements = new Array(index);\n\n const { added, updated, removed } = diff(this.lastElementsMap, keys);\n\n // 新建 element\n for (const key of added) {\n const mappingDatum = keyDatum.get(key);\n const i = keyIndex.get(key);\n const element = this.createElement(mappingDatum, i, isUpdate);\n this.elements[i] = element;\n this.elementsMap[key] = element;\n if (element.shape) {\n element.shape.set('zIndex', this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 更新 element\n for (const key of updated) {\n const element = this.lastElementsMap[key];\n const mappingDatum = keyDatum.get(key);\n const currentShapeCfg = this.getDrawCfg(mappingDatum);\n const preShapeCfg = element.getModel();\n const i = keyIndex.get(key);\n if (this.isCoordinateChanged || isModelChange(currentShapeCfg, preShapeCfg)) {\n element.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n element.update(currentShapeCfg); // 更新对应的 element\n }\n this.elements[i] = element;\n this.elementsMap[key] = element;\n if (element.shape) {\n element.shape.set('zIndex', this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 全部 setZIndex 之后,再执行 sort\n if (this.container) {\n this.container.sort();\n }\n\n // 销毁被删除的 elements\n for (const key of removed) {\n const element = this.lastElementsMap[key];\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n element.animate = this.animateOption;\n element.destroy();\n }\n }\n\n /**\n * 获取渲染的 label 类型。\n */\n protected getLabelType(): string {\n const { labelOption, coordinate, type } = this;\n const { type: coordinateType, isTransposed } = coordinate;\n let labelType = get(labelOption, ['cfg', 'type']);\n if (!labelType) {\n // 用户未定义,则进行默认的逻辑\n if (coordinateType === 'polar') {\n // 极坐标下使用通用的极坐标文本,转置则使用饼图\n labelType = isTransposed ? 'pie' : 'polar';\n } else if (coordinateType === 'theta') {\n // theta 坐标系下使用饼图文本\n labelType = 'pie';\n } else if (type === 'interval' || type === 'polygon') {\n labelType = 'interval';\n } else {\n labelType = 'base';\n }\n }\n\n return labelType;\n }\n\n /**\n * 获取 Y 轴上的最小值。\n */\n protected getYMinValue(): number {\n const yScale = this.getYScale();\n const { min, max } = yScale;\n let value: number;\n\n if (min >= 0) {\n value = min;\n } else if (max <= 0) {\n // 当值全位于负区间时,需要保证 ymin 在区域内,不可为 0\n value = max;\n } else {\n value = 0;\n }\n return value;\n }\n\n // 创建图形属性相关的配置项\n protected createAttrOption(attrName: string, field: AttributeOption | string | number, cfg?) {\n if (isNil(field) || isObject(field)) {\n if (isObject(field) && isEqual(Object.keys(field), ['values'])) {\n // shape({ values: [ 'funnel' ] })\n set(this.attributeOption, attrName, {\n fields: field.values,\n });\n } else {\n set(this.attributeOption, attrName, field);\n }\n } else {\n const attrCfg: AttributeOption = {};\n if (isNumber(field)) {\n // size(3)\n attrCfg.values = [field];\n } else {\n attrCfg.fields = parseFields(field);\n }\n\n if (cfg) {\n if (isFunction(cfg)) {\n attrCfg.callback = cfg;\n } else {\n attrCfg.values = cfg;\n }\n }\n\n set(this.attributeOption, attrName, attrCfg);\n }\n }\n\n protected initAttributes() {\n const { attributes, attributeOption, theme, shapeType } = this;\n this.groupScales = [];\n const tmpMap = {};\n\n // 遍历每一个 attrOption,各自创建 Attribute 实例\n for (const attrType in attributeOption) {\n if (attributeOption.hasOwnProperty(attrType)) {\n const option: AttributeOption = attributeOption[attrType];\n if (!option) {\n return;\n }\n const attrCfg: AttributeInstanceCfg = {\n ...option,\n };\n const { callback, values, fields = [] } = attrCfg;\n\n // 获取每一个字段对应的 scale\n const scales = fields.map((field) => {\n const scale = this.scales[field];\n if (!tmpMap[field] && GROUP_ATTRS.includes(attrType)) {\n const inferedScaleType = inferScaleType(scale, get(this.scaleDefs, field), attrType, this.type);\n if (inferedScaleType === 'cat') {\n this.groupScales.push(scale);\n tmpMap[field] = true;\n }\n }\n return scale;\n });\n\n attrCfg.scales = scales;\n\n if (attrType !== 'position' && scales.length === 1 && scales[0].type === 'identity') {\n // 用户在图形通道上声明了常量字段 color('red'), size(5)\n attrCfg.values = scales[0].values;\n } else if (!callback && !values) {\n // 用户没有指定任何规则,则使用默认的映射规则\n if (attrType === 'size') {\n attrCfg.values = theme.sizes;\n } else if (attrType === 'shape') {\n attrCfg.values = theme.shapes[shapeType] || [];\n } else if (attrType === 'color') {\n if (scales.length) {\n // 根据数值个数使用对应的色板\n attrCfg.values = scales[0].values.length <= 10 ? theme.colors10 : theme.colors20;\n } else {\n attrCfg.values = theme.colors10;\n }\n }\n }\n const AttributeCtor = getAttributeClass(attrType);\n attributes[attrType] = new AttributeCtor(attrCfg);\n }\n }\n }\n\n // 处理数据:分组 -> 数字化 -> adjust 调整\n private processData(data: Data) {\n this.hasSorted = false;\n const { scales } = this.getAttribute('position');\n const categoryScales = scales.filter((scale: Scale) => scale.isCategory);\n\n const groupedArray = this.groupData(data); // 数据分组\n const beforeAdjust = [];\n for (let i = 0, len = groupedArray.length; i < len; i++) {\n const subData = groupedArray[i];\n const arr = [];\n for (let j = 0, subLen = subData.length; j < subLen; j++) {\n const originData = subData[j];\n const item = {};\n // tslint:disable-next-line: forin\n for (const k in originData) {\n item[k] = originData[k];\n }\n item[FIELD_ORIGIN] = originData;\n\n // 将分类数据翻译成数据, 仅对位置相关的度量进行数字化处理\n for (const scale of categoryScales) {\n const field = scale.field;\n item[field] = scale.translate(item[field]);\n }\n arr.push(item);\n }\n beforeAdjust.push(arr);\n }\n\n const dataArray = this.adjustData(beforeAdjust); // 进行 adjust 数据调整\n this.beforeMappingData = dataArray;\n\n return dataArray;\n }\n\n // 调整数据\n private adjustData(dataArray: Data[]): Data[] {\n const adjustOption = this.adjustOption;\n const { intervalPadding, dodgePadding, theme } = this;\n // 兼容theme配置\n const maxColumnWidth = this.maxColumnWidth || theme.maxColumnWidth;\n const minColumnWidth = this.minColumnWidth || theme.minColumnWidth;\n const columnWidthRatio = this.columnWidthRatio || theme.columnWidthRatio;\n let result = dataArray;\n\n if (adjustOption) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field;\n const yField = yScale ? yScale.field : null;\n const xDimensionLength = getXDimensionLength(this.coordinate);\n const groupNum = xScale.values.length;\n // 传入size计算相关参数,默认宽度、最大最小宽度约束\n const sizeAttr = this.getAttribute('size');\n let defaultSize;\n if (sizeAttr) {\n defaultSize = sizeAttr.values[0];\n }\n for (let i = 0, len = adjustOption.length; i < len; i++) {\n const adjust = adjustOption[i];\n const adjustCfg: AdjustInstanceCfg = {\n xField,\n yField,\n intervalPadding,\n dodgePadding,\n xDimensionLength,\n groupNum,\n defaultSize,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n ...adjust,\n };\n const type = adjust.type;\n if (type === 'dodge') {\n const adjustNames = [];\n if (xScale.isCategory || xScale.type === 'identity') {\n adjustNames.push('x');\n } else if (!yScale) {\n adjustNames.push('y');\n } else {\n throw new Error('dodge is not support linear attribute, please use category attribute!');\n }\n adjustCfg.adjustNames = adjustNames;\n // 每个分组内每条柱子的宽度占比,用户不可指定,用户需要通过 columnWidthRatio 指定\n // 兼容theme配置\n adjustCfg.dodgeRatio = columnWidthRatio;\n } else if (type === 'stack') {\n const coordinate = this.coordinate;\n if (!yScale) {\n // 一维的情况下获取高度和默认size\n adjustCfg.height = coordinate.getHeight();\n const size = this.getDefaultValue('size') || 3;\n adjustCfg.size = size;\n }\n // 不进行 transpose 时,用户又没有设置这个参数时,默认从上向下\n if (!coordinate.isTransposed && isNil(adjustCfg.reverseOrder)) {\n adjustCfg.reverseOrder = true;\n }\n }\n const adjustCtor = getAdjustClass(type);\n adjustCfg.dimValuesMap = {};\n //生成dimValuesMap\n if (xScale && xScale.values) {\n adjustCfg.dimValuesMap[xScale.field] = xScale.values.map((v) => xScale.translate(v));\n }\n const adjustInstance = new adjustCtor(adjustCfg);\n\n result = adjustInstance.process(result);\n\n this.adjusts[type] = adjustInstance;\n }\n }\n\n return result;\n }\n\n // 对数据进行分组\n private groupData(data: Data): Data[] {\n const groupScales = this.getGroupScales();\n const scaleDefs = this.scaleDefs;\n const appendConditions = {};\n const groupFields = [];\n for (let index = 0; index < groupScales.length; index++) {\n const scale = groupScales[index];\n const field = scale.field;\n groupFields.push(field);\n if (get(scaleDefs, [field, 'values'])) {\n // 用户通过 view.scale() 接口指定了 values 属性\n appendConditions[field] = scaleDefs[field].values;\n }\n }\n\n return group(data, groupFields, appendConditions);\n }\n\n // 更新发生层叠后的数据对应的度量范围\n private updateStackRange(scale: Scale, dataArray: Data[]) {\n const mergeArray = flatten(dataArray);\n const field = scale.field;\n let min = scale.min;\n let max = scale.max;\n for (let index = 0; index < mergeArray.length; index++) {\n const obj = mergeArray[index];\n const tmpMin = Math.min.apply(null, obj[field]);\n const tmpMax = Math.max.apply(null, obj[field]);\n if (tmpMin < min) {\n min = tmpMin;\n }\n if (tmpMax > max) {\n max = tmpMax;\n }\n }\n const scaleDefs = this.scaleDefs;\n const cfg: LooseObject = {};\n if (min < scale.min && !get(scaleDefs, [field, 'min'])) {\n // 用户如果在列定义中定义了 min,则以用户定义的为准\n cfg.min = min;\n }\n if (max > scale.max && !get(scaleDefs, [field, 'max'])) {\n // 用户如果在列定义中定义了 max\n cfg.max = max;\n }\n\n scale.change(cfg);\n }\n\n // 将数据映射至图形空间前的操作:排序以及关键点的生成\n private beforeMapping(beforeMappingData: Data[]) {\n // 当初加 clone 是因为 points 的引用关系,导致更新失败,可是现在貌似复现不出来了,所以暂时不进行 clone\n // const source = clone(beforeMappingData);\n const source = beforeMappingData;\n if (this.sortable) {\n this.sort(source);\n }\n if (this.generatePoints) {\n // 需要生成关键点\n for (let index = 0, length = source.length; index < length; index++) {\n const currentData = source[index];\n this.generateShapePoints(currentData);\n const nextData = source[index + 1];\n if (nextData) {\n this.generateShapePoints(nextData);\n currentData[0].nextPoints = nextData[0].points;\n }\n }\n }\n\n return source;\n }\n\n // 生成 shape 的关键点\n private generateShapePoints(data: Data) {\n const shapeFactory = this.getShapeFactory();\n const shapeAttr = this.getAttribute('shape');\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const cfg = this.createShapePointsCfg(obj);\n const shape = shapeAttr ? this.getAttributeValues(shapeAttr, obj) : null;\n const points = shapeFactory.getShapePoints(shape, cfg);\n obj.points = points;\n }\n }\n\n // 将数据归一化\n private normalizeValues(values, scale) {\n let rst = [];\n if (isArray(values)) {\n for (let index = 0; index < values.length; index++) {\n const value = values[index];\n rst.push(scale.scale(value));\n }\n } else {\n rst = scale.scale(values);\n }\n return rst;\n }\n\n // 将数据映射至图形空间\n private mapping(data: Data): MappingDatum[] {\n const attributes = this.attributes;\n const mappingData = [];\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const newRecord: MappingDatum = {\n _origin: record[FIELD_ORIGIN],\n points: record.points,\n nextPoints: record.nextPoints,\n };\n for (const k in attributes) {\n if (attributes.hasOwnProperty(k)) {\n const attr = attributes[k];\n const names = attr.names;\n const values = this.getAttributeValues(attr, record);\n if (names.length > 1) {\n // position 之类的生成多个字段的属性\n for (let j = 0; j < values.length; j += 1) {\n const val = values[j];\n const name = names[j];\n newRecord[name] = isArray(val) && val.length === 1 ? val[0] : val; // 只有一个值时返回第一个属性值\n }\n } else {\n // values.length === 1 的判断是以下情况,获取用户设置的图形属性值\n // shape('a', ['dot', 'dash']), color('a', ['red', 'yellow'])\n newRecord[names[0]] = values.length === 1 ? values[0] : values;\n }\n }\n }\n\n this.convertPoint(newRecord); // 将 x、y 转换成画布坐标\n mappingData.push(newRecord);\n }\n\n return mappingData;\n }\n\n // 将归一化的坐标值转换成画布坐标\n private convertPoint(mappingRecord: MappingDatum) {\n const { x, y } = mappingRecord;\n\n let rstX;\n let rstY;\n let obj;\n const coordinate = this.coordinate;\n if (isArray(x) && isArray(y)) {\n rstX = [];\n rstY = [];\n for (let i = 0, j = 0, xLen = x.length, yLen = y.length; i < xLen && j < yLen; i += 1, j += 1) {\n obj = coordinate.convert({\n x: x[i],\n y: y[j],\n });\n rstX.push(obj.x);\n rstY.push(obj.y);\n }\n } else if (isArray(y)) {\n rstY = [];\n for (let index = 0; index < y.length; index++) {\n const yVal = y[index];\n obj = coordinate.convert({\n x: x as number,\n y: yVal,\n });\n if (rstX && rstX !== obj.x) {\n if (!isArray(rstX)) {\n rstX = [rstX];\n }\n rstX.push(obj.x);\n } else {\n rstX = obj.x;\n }\n rstY.push(obj.y);\n }\n } else if (isArray(x)) {\n rstX = [];\n for (let index = 0; index < x.length; index++) {\n const xVal = x[index];\n obj = coordinate.convert({\n x: xVal,\n y,\n });\n if (rstY && rstY !== obj.y) {\n if (!isArray(rstY)) {\n rstY = [rstY];\n }\n rstY.push(obj.y);\n } else {\n rstY = obj.y;\n }\n rstX.push(obj.x);\n }\n } else {\n const point = coordinate.convert({\n x,\n y,\n });\n rstX = point.x;\n rstY = point.y;\n }\n mappingRecord.x = rstX;\n mappingRecord.y = rstY;\n }\n\n // 获取 style 配置\n private getStyleCfg(styleOption: StyleOption, originData: Datum) {\n const { fields = [], callback, cfg } = styleOption;\n if (cfg) {\n // 用户直接配置样式属性\n return cfg;\n }\n\n const params = fields.map((field) => {\n return originData[field];\n });\n\n return callback(...params);\n }\n\n private setCfg(cfg: InitCfg) {\n const { coordinate, data, theme, scaleDefs } = cfg;\n if (coordinate) {\n this.coordinate = coordinate;\n }\n if (data) {\n this.data = data;\n }\n if (scaleDefs) {\n this.scaleDefs = scaleDefs;\n this.idFields = [];\n each(scaleDefs, (scaleDef, field) => {\n if (scaleDef && scaleDef.key) {\n this.idFields.push(field);\n }\n });\n }\n if (theme) {\n this.theme = this.userTheme ? deepMix({}, theme, this.userTheme) : theme; // 支持 geometry 层级的主题设置\n }\n }\n\n private async renderLabels(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n let geometryLabel = this.geometryLabel;\n\n this.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_RENDER_LABEL);\n\n if (!geometryLabel) {\n // 初次创建\n const labelType = this.getLabelType();\n const GeometryLabelsCtor = getGeometryLabel(labelType);\n geometryLabel = new GeometryLabelsCtor(this);\n this.geometryLabel = geometryLabel;\n }\n await geometryLabel.render(mappingArray, isUpdate);\n\n // 将 label 同 element 进行关联\n const labelsMap = geometryLabel.labelsRenderer.shapesMap;\n // Store labels for every element.\n const elementLabels = new Map>();\n each(labelsMap, (labelGroup: IGroup, labelGroupId: string) => {\n const labelChildren = labelGroup.getChildren() || [];\n for (let j = 0; j < labelChildren.length; j++) {\n const labelShape = labelChildren[j];\n const element = this.elementsMap[labelShape.get('elementId') || labelGroupId.split(' ')[0]];\n if (element) {\n labelShape.cfg.name = ['element', 'label'];\n labelShape.cfg.element = element;\n const labels = elementLabels.get(element) || new Set();\n labels.add(labelGroup);\n elementLabels.set(element, labels);\n }\n }\n });\n for (const [element, labels] of elementLabels.entries()) {\n element.labelShape = [...labels];\n }\n\n this.emit(GEOMETRY_LIFE_CIRCLE.AFTER_RENDER_LABEL);\n }\n /**\n * 是否需要进行群组入场动画\n * 规则:\n * 1. 如果发生更新,则不进行\n * 2. 如果用户关闭 geometry 动画,则不进行\n * 3. 如果用户关闭了 appear 动画,则不进行\n * 4. 如果用户配置了 appear.animation,则不进行\n */\n private canDoGroupAnimation(isUpdate: boolean) {\n return (\n !isUpdate &&\n this.animateOption &&\n (get(this.animateOption, 'appear') === undefined ||\n (get(this.animateOption, 'appear') && get(this.animateOption, ['appear', 'animation']) === undefined))\n );\n }\n}\n","import { groupToMap } from '@antv/util';\nimport { Data } from '../../interface';\n\n/** @ignore */\nexport function group(data: Data, fields: string[], appendConditions: Record = {}) {\n if (!fields) {\n return [data];\n }\n const groups = groupToMap(data, fields);\n const array = [];\n if (fields.length === 1 && appendConditions[fields[0]]) {\n const values = appendConditions[fields[0]];\n for (const value of values) {\n const arr = groups[`_${value}`];\n if (arr) {\n // 可能存在用户设置 values ,但是数据中没有对应的字段,则这时候 arr 就为 null\n array.push(arr);\n }\n }\n } else {\n for (const k in groups) {\n if (groups.hasOwnProperty(k)) {\n const eachGroup = groups[k];\n array.push(eachGroup);\n }\n }\n }\n\n return array;\n}\n","import { ext } from '@antv/matrix-util';\nimport { IElement, IGroup, IShape } from '../dependents';\n\nconst transform: (m: number[], actions: any[][]) => number[] = ext.transform;\n\nexport { transform };\n\n/**\n * 对元素进行平移操作。\n * @param element 进行变换的元素\n * @param x x 方向位移\n * @param y y 方向位移\n */\nexport function translate(element: IGroup | IShape, x: number, y: number) {\n const matrix = transform(element.getMatrix(), [['t', x, y]]);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元素旋转矩阵 (以元素的左上角为旋转点)\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function getRotateMatrix(element: IElement, rotateRadian: number) {\n const { x, y } = element.attr();\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['r', rotateRadian],\n ['t', x, y],\n ]);\n return matrix;\n}\n\n/**\n * 对元素进行旋转操作。\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function rotate(element: IGroup | IShape, rotateRadian: number) {\n const matrix = getRotateMatrix(element, rotateRadian);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元矩阵。\n * @returns identity matrix\n */\nexport function getIdentityMatrix(): number[] {\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\n}\n\n/**\n * 围绕图形中心点进行缩放\n * @param element 进行缩放的图形元素\n * @param ratio 缩放比例\n */\nexport function zoom(element: IGroup | IShape, ratio: number) {\n const bbox = element.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n element.applyToMatrix([x, y, 1]);\n\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['s', ratio, ratio],\n ['t', x, y],\n ]);\n element.setMatrix(matrix);\n}\n","/**\n * @file utils of label\n */\n\nimport { isNil, isNumber, some } from '@antv/util';\nimport { IElement, IGroup, BBox } from '../../../dependents';\nimport { rotate } from '../../../util/transform';\n\n/**\n * 查找 Label Group 中的文本 shape 对象\n * @param label\n */\nexport function findLabelTextShape(label: IGroup): IElement {\n return label.find((el) => el.get('type') === 'text');\n}\n\n/**\n * 获取标签背景信息: box (无旋转) + rotation (旋转角度)\n */\nexport function getLabelBackgroundInfo(\n labelGroup: IGroup,\n labelItem: { rotate?: number;[key: string]: any },\n padding: number | number[] = [0, 0, 0, 0]\n): { x: number; y: number; width: number; height: number; rotation: number } {\n const content = labelGroup && labelGroup.getChildren()[0];\n if (content) {\n const labelShape = content.clone();\n\n // revert rotate\n if (labelItem?.rotate) {\n rotate(labelShape as IGroup, -labelItem.rotate);\n }\n\n // use `getCanvasBBox`, because if Shape is been translated, `getBBox` is not the actual box position\n const { x, y, width, height } = labelShape.getCanvasBBox();\n\n labelShape.destroy();\n\n let boxPadding = padding;\n if (isNil(boxPadding)) {\n boxPadding = [2, 2, 2, 2];\n } else if (isNumber(boxPadding)) {\n boxPadding = new Array(4).fill(boxPadding);\n }\n\n return {\n x: x - boxPadding[3],\n y: y - boxPadding[0],\n width: width + boxPadding[1] + boxPadding[3],\n height: height + boxPadding[0] + boxPadding[2],\n rotation: labelItem?.rotate || 0,\n };\n }\n\n return { x: 0, y: 0, width: 0, height: 0, rotation: 0 };\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nexport function getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/** 检测是否和已布局的堆叠 */\nexport function checkShapeOverlap(cur: IElement, dones: IElement[]) {\n const box = cur.getBBox();\n return some(dones, (done) => {\n const target = done.getBBox();\n return getOverlapArea(box, target, 2) > 0;\n });\n}\n","import { Coordinate } from '@antv/coord';\nimport { IGroup, IShape } from '@antv/g-base';\nimport { each, get } from '@antv/util';\nimport { doAnimate } from '../animate';\nimport { getReplaceAttrs } from '../util/graphics';\n\n/** label 的必要配置 */\ntype Cfg = {\n data: any;\n origin: any;\n animateCfg: any;\n coordinate: Coordinate;\n};\n\n/**\n * @desc 更新 label (目前没有根据 id 索引,还是会存在一点小问题的,只能根据 idx 索引)\n * @done shape 属性更新\n * @done shape delete\n * @done shape append\n *\n * @param fromShape old labelShape\n * @param toShape new labelShape\n * @param cfg\n */\nexport function updateLabel(fromShape: IGroup, toShape: IGroup, cfg: Cfg): void {\n const { data, origin, animateCfg, coordinate } = cfg;\n const updateAnimateCfg = get(animateCfg, 'update');\n\n fromShape.set('data', data);\n fromShape.set('origin', origin);\n fromShape.set('animateCfg', animateCfg);\n fromShape.set('coordinate', coordinate);\n fromShape.set('visible', toShape.get('visible'));\n\n (fromShape.getChildren() || []).forEach((fromChild, idx) => {\n const toChild = toShape.getChildByIndex(idx) as IShape;\n if (!toChild) {\n fromShape.removeChild(fromChild);\n fromChild.remove(true);\n } else {\n fromChild.set('data', data);\n fromChild.set('origin', origin);\n fromChild.set('animateCfg', animateCfg);\n fromChild.set('coordinate', coordinate);\n\n const newAttrs = getReplaceAttrs(fromChild as IShape, toChild);\n if (updateAnimateCfg) {\n doAnimate(fromChild as IShape, updateAnimateCfg, {\n toAttrs: newAttrs,\n coordinate,\n });\n } else {\n fromChild.attr(newAttrs);\n }\n if (toChild.isGroup()) {\n updateLabel(fromChild as any, toChild as any, cfg);\n }\n }\n });\n\n // append\n each(toShape.getChildren(), (child, idx) => {\n if (idx >= fromShape.getCount()) {\n if (!child.destroyed) {\n fromShape.add(child);\n }\n }\n });\n}\n","import { deepMix, each, get, isArray, isNull } from '@antv/util';\nimport { BBox, Coordinate, IGroup, IShape } from '../dependents';\nimport { LabelItem } from '../geometry/label/interface';\nimport { AnimateOption, GeometryLabelLayoutCfg } from '../interface';\nimport { doAnimate } from '../animate';\nimport { getGeometryLabelLayout } from '../geometry/label';\nimport { getLabelBackgroundInfo } from '../geometry/label/util';\nimport { polarToCartesian } from '../util/graphics';\nimport { rotate, translate } from '../util/transform';\nimport { FIELD_ORIGIN } from '../constant';\nimport { updateLabel } from './update-label';\n\n/**\n * Labels 实例创建时,传入构造函数的参数定义\n */\nexport interface LabelsGroupCfg {\n /** label 容器 */\n container: IGroup;\n /** label 布局配置 */\n layout?: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n}\n\n/**\n * Geometry labels 渲染组件\n */\nexport default class Labels {\n /** 用于指定 labels 布局的类型 */\n public layout: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n /** 图形容器 */\n public container: IGroup;\n /** 动画配置 */\n public animate: AnimateOption | false;\n /** label 绘制的区域 */\n public region: BBox;\n\n /** 存储当前 shape 的映射表,键值为 shape id */\n public shapesMap: Record = {};\n\n constructor(cfg: LabelsGroupCfg) {\n const { layout, container } = cfg;\n\n this.layout = layout;\n this.container = container;\n }\n /**\n * 渲染文本\n */\n public async render(items: LabelItem[], shapes: Record, isUpdate: boolean = false) {\n const shapesMap = {};\n const offscreenGroup = this.createOffscreenGroup(); // 创建虚拟分组\n if (items.length) {\n // 如果 items 空的话就不进行绘制调整操作\n // step 1: 在虚拟 group 中创建 shapes\n for (const item of items) {\n if (item) {\n shapesMap[item.id] = this.renderLabel(item, offscreenGroup);\n }\n }\n // [todo] Move layout into Worker.\n // step 2: 根据布局,调整 labels\n await this.doLayout(items, shapes, shapesMap);\n\n // step 3.1: 绘制 labelLine\n this.renderLabelLine(items, shapesMap);\n // step 3.2: 绘制 labelBackground\n this.renderLabelBackground(items, shapesMap);\n // step 4: 根据用户设置的偏移量调整 label\n this.adjustLabel(items, shapesMap);\n }\n\n // 进行添加、更新、销毁操作\n const lastShapesMap = this.shapesMap;\n each(shapesMap, (shape, id) => {\n if (shape.destroyed) {\n // label 在布局调整环节被删除了(doLayout)\n delete shapesMap[id];\n } else {\n if (lastShapesMap[id]) {\n // 图形发生更新\n const data = shape.get('data');\n const origin = shape.get('origin');\n const coordinate = shape.get('coordinate');\n const currentAnimateCfg = shape.get('animateCfg');\n\n const currentShape = lastShapesMap[id]; // 已经在渲染树上的 shape\n updateLabel(currentShape, shapesMap[id], {\n data,\n origin,\n animateCfg: currentAnimateCfg,\n coordinate,\n });\n\n shapesMap[id] = currentShape; // 保存引用\n } else {\n // 新生成的 shape\n // If container has been destroyed, no need to render labels.\n if (this.container.destroyed) return;\n this.container.add(shape);\n const animateCfg = get(shape.get('animateCfg'), isUpdate ? 'enter' : 'appear');\n if (animateCfg) {\n doAnimate(shape, animateCfg, {\n toAttrs: {\n ...shape.attr(),\n },\n coordinate: shape.get('coordinate'),\n });\n }\n }\n delete lastShapesMap[id];\n }\n });\n\n // 移除\n each(lastShapesMap, (deleteShape) => {\n const animateCfg = get(deleteShape.get('animateCfg'), 'leave');\n if (animateCfg) {\n doAnimate(deleteShape, animateCfg, {\n toAttrs: null,\n coordinate: deleteShape.get('coordinate'),\n });\n } else {\n deleteShape.remove(true); // 移除\n }\n });\n\n this.shapesMap = shapesMap;\n offscreenGroup.destroy();\n }\n\n /** 清除当前 labels */\n public clear() {\n this.container.clear();\n this.shapesMap = {};\n }\n\n /** 销毁 */\n public destroy() {\n this.container.destroy();\n this.shapesMap = null;\n }\n\n private renderLabel(cfg: LabelItem, container: IGroup): IGroup {\n const { id, elementId, data, mappingData, coordinate, animate, content, capture } = cfg;\n const shapeAppendCfg = {\n id,\n elementId,\n capture,\n data,\n origin: {\n ...mappingData,\n data: mappingData[FIELD_ORIGIN],\n },\n coordinate,\n };\n const labelGroup = container.addGroup({\n name: 'label',\n // 如果 this.animate === false 或者 cfg.animate === false/null 则不进行动画,否则进行动画配置的合并\n animateCfg:\n this.animate === false || animate === null || animate === false ? false : deepMix({}, this.animate, animate),\n ...shapeAppendCfg,\n });\n let labelShape;\n if ((content.isGroup && content.isGroup()) || (content.isShape && content.isShape())) {\n // 如果 content 是 Group 或者 Shape,根据 textAlign 调整位置后,直接将其加入 labelGroup\n const { width, height } = content.getCanvasBBox();\n const textAlign = get(cfg, 'textAlign', 'left');\n\n let x = cfg.x;\n const y = cfg.y - height / 2;\n\n if (textAlign === 'center') {\n x = x - width / 2;\n } else if (textAlign === 'right' || textAlign === 'end') {\n x = x - width;\n }\n\n translate(content, x, y); // 将 label 平移至 x, y 指定的位置\n labelShape = content;\n labelGroup.add(content);\n } else {\n const fill = get(cfg, ['style', 'fill']);\n labelShape = labelGroup.addShape('text', {\n attrs: {\n x: cfg.x,\n y: cfg.y,\n textAlign: cfg.textAlign,\n textBaseline: get(cfg, 'textBaseline', 'middle'),\n text: cfg.content,\n ...cfg.style,\n fill: isNull(fill) ? cfg.color : fill,\n },\n ...shapeAppendCfg,\n });\n }\n\n if (cfg.rotate) {\n rotate(labelShape, cfg.rotate);\n }\n return labelGroup;\n }\n\n // 根据type对label布局\n private async doLayout(items: LabelItem[], shapes: Record, shapesMap: Record) {\n if (this.layout) {\n const layouts = isArray(this.layout) ? this.layout : [this.layout];\n await Promise.all(layouts.map((layout: GeometryLabelLayoutCfg) => {\n const layoutFn = getGeometryLabelLayout(get(layout, 'type', ''));\n if (!layoutFn) return;\n\n const labelShapes = [];\n const geometryShapes = [];\n each(shapesMap, (labelShape, id) => {\n labelShapes.push(labelShape);\n geometryShapes.push(shapes[labelShape.get('elementId')]);\n });\n // [todo] Refactor more layout into Worker.\n return layoutFn(items, labelShapes, geometryShapes, this.region, layout.cfg);\n }));\n }\n }\n\n private renderLabelLine(labelItems: LabelItem[], shapesMap) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n if (!labelItem || !coordinate) {\n return;\n }\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n if (!labelItem.labelLine) {\n // labelLine: null | false,关闭 label 对应的 labelLine\n return;\n }\n const labelLineCfg = get(labelItem, 'labelLine', {});\n const id = labelItem.id;\n let path = labelLineCfg.path;\n if (!path) {\n const start = polarToCartesian(center.x, center.y, radius, labelItem.angle);\n path = [\n ['M', start.x, start.y],\n ['L', labelItem.x, labelItem.y],\n ];\n }\n const labelGroup = shapesMap[id];\n if (!labelGroup.destroyed) {\n labelGroup.addShape('path', {\n capture: false, // labelLine 默认不参与事件捕获\n attrs: {\n path,\n stroke: labelItem.color ? labelItem.color : get(labelItem, ['style', 'fill'], '#000'),\n fill: null,\n ...labelLineCfg.style,\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n }\n });\n }\n\n /**\n * 绘制标签背景\n * @param labelItems\n */\n private renderLabelBackground(labelItems: LabelItem[], shapesMap) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n const background: LabelItem['background'] = get(labelItem, 'background');\n if (!background || !coordinate) {\n return;\n }\n\n const id = labelItem.id;\n const labelGroup = shapesMap[id];\n if (!labelGroup.destroyed) {\n const labelContentShape = labelGroup.getChildren()[0];\n if (labelContentShape) {\n const { rotation, ...box } = getLabelBackgroundInfo(labelGroup, labelItem, background.padding);\n const backgroundShape = labelGroup.addShape('rect', {\n attrs: {\n ...box,\n ...(background.style || {}),\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n backgroundShape.setZIndex(-1);\n\n if (rotation) {\n const matrix = labelContentShape.getMatrix();\n backgroundShape.setMatrix(matrix);\n }\n }\n }\n });\n }\n\n private createOffscreenGroup() {\n const container = this.container;\n const GroupClass = container.getGroupBase(); // 获取分组的构造函数\n const newGroup = new GroupClass({});\n return newGroup;\n }\n\n private adjustLabel(items: LabelItem[], shapesMap) {\n each(items, (item) => {\n if (item) {\n const id = item.id;\n const labelGroup = shapesMap[id];\n if (!labelGroup.destroyed) {\n // fix: 如果说开发者的 label content 是一个 group,此处的偏移无法对 整个 content group 生效;场景类似 饼图 spider label 是一个含 2 个 textShape 的 gorup\n const labelShapes = labelGroup.findAll((ele) => ele.get('type') !== 'path');\n each(labelShapes, (labelShape) => {\n if (labelShape) {\n if (item.offsetX) {\n labelShape.attr('x', labelShape.attr('x') + item.offsetX);\n }\n if (item.offsetY) {\n labelShape.attr('y', labelShape.attr('y') + item.offsetY);\n }\n }\n });\n }\n }\n });\n }\n}\n","import { deepMix, each, get, isArray, isFunction, isNil, isNumber, isString, isUndefined } from '@antv/util';\n\nimport { FIELD_ORIGIN } from '../../constant';\nimport { Scale } from '../../dependents';\nimport { Datum, LabelOption, MappingDatum, Point } from '../../interface';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\nimport { getDefaultAnimateCfg } from '../../animate';\nimport { getPolygonCentroid } from '../../util/graphics';\n\nimport Labels from '../../component/labels';\nimport Geometry from '../base';\nimport Element from '../element';\n\nexport type GeometryLabelConstructor = new (cfg: any) => GeometryLabel;\n\nfunction avg(arr: number[]) {\n let sum = 0;\n each(arr, (value: number) => {\n sum += value;\n });\n return sum / arr.length;\n}\n\n/**\n * Geometry Label 基类,用于生成 Geometry 下所有 label 的配置项信息\n */\nexport default class GeometryLabel {\n /** geometry 实例 */\n public readonly geometry: Geometry;\n public labelsRenderer: Labels;\n /** 默认的布局 */\n public defaultLayout: string;\n\n constructor(geometry: Geometry) {\n this.geometry = geometry;\n }\n\n public getLabelItems(mapppingArray: MappingDatum[]): LabelItem[] {\n const items = [];\n const labelCfgs = this.getLabelCfgs(mapppingArray);\n // 获取 label 相关的 x,y 的值,获取具体的 x, y,防止存在数组\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const labelCfg = labelCfgs[index];\n if (!labelCfg || isNil(mappingData.x) || isNil(mappingData.y)) {\n items.push(null);\n return;\n }\n\n const labelContent = !isArray(labelCfg.content) ? [labelCfg.content] : labelCfg.content;\n labelCfg.content = labelContent;\n const total = labelContent.length;\n each(labelContent, (content, subIndex) => {\n if (isNil(content) || content === '') {\n items.push(null);\n return;\n }\n\n const item = {\n ...labelCfg,\n ...this.getLabelPoint(labelCfg, mappingData, subIndex),\n };\n if (!item.textAlign) {\n item.textAlign = this.getLabelAlign(item, subIndex, total);\n }\n\n if (item.offset <= 0) {\n item.labelLine = null;\n }\n\n items.push(item);\n });\n });\n return items;\n }\n\n public async render(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n const labelItems = this.getLabelItems(mappingArray);\n const labelsRenderer = this.getLabelsRenderer();\n const shapes = this.getGeometryShapes();\n // 渲染文本\n await labelsRenderer.render(labelItems, shapes, isUpdate);\n }\n\n public clear() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.clear();\n }\n }\n\n public destroy() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.destroy();\n }\n this.labelsRenderer = null;\n }\n\n // geometry 更新之后,对应的 Coordinate 也会更新,为了获取到最新鲜的 Coordinate,故使用方法获取\n public getCoordinate() {\n return this.geometry.coordinate;\n }\n\n /**\n * 获取 label 的默认配置\n */\n protected getDefaultLabelCfg(offset?: number, position?: string) {\n const geometry = this.geometry;\n const { type, theme } = geometry;\n\n if (\n type === 'polygon' ||\n (type === 'interval' && position === 'middle') ||\n (offset < 0 && !['line', 'point', 'path'].includes(type))\n ) {\n // polygon 或者 (interval 且 middle) 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n return get(theme, 'innerLabels', {});\n }\n\n return get(theme, 'labels', {});\n }\n\n /**\n * 获取当前 label 的最终配置\n * @param labelCfg\n */\n protected getThemedLabelCfg(labelCfg: LabelCfg) {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { type, theme } = geometry;\n let themedLabelCfg;\n\n if (type === 'polygon' || (labelCfg.offset < 0 && !['line', 'point', 'path'].includes(type))) {\n // polygon 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n themedLabelCfg = deepMix({}, defaultLabelCfg, theme.innerLabels, labelCfg);\n } else {\n themedLabelCfg = deepMix({}, defaultLabelCfg, theme.labels, labelCfg);\n }\n\n return themedLabelCfg;\n }\n\n /**\n * 设置 label 位置\n * @param labelPointCfg\n * @param mappingData\n * @param index\n * @param position\n */\n protected setLabelPosition(\n labelPointCfg: LabelPointCfg,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {}\n\n /**\n * @desc 获取 label offset\n */\n protected getLabelOffset(offset: number | string): number {\n const coordinate = this.getCoordinate();\n const vector = this.getOffsetVector(offset);\n return coordinate.isTransposed ? vector[0] : vector[1];\n }\n\n /**\n * 获取每个 label 的偏移量 (矢量)\n * @param labelCfg\n * @param index\n * @param total\n * @return {Point} offsetPoint\n */\n protected getLabelOffsetPoint(labelCfg: LabelCfg, index: number, total: number): Point {\n const offset = labelCfg.offset;\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const factor = transposed ? 1 : -1; // y 方向上越大,像素的坐标越小,所以transposed时将系数变成\n const offsetPoint = {\n x: 0,\n y: 0,\n };\n if (index > 0 || total === 1) {\n // 判断是否小于0\n offsetPoint[dim] = offset * factor;\n } else {\n offsetPoint[dim] = offset * factor * -1;\n }\n return offsetPoint;\n }\n\n /**\n * 获取每个 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n * @returns label point\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n const coordinate = this.getCoordinate();\n const total = labelCfg.content.length;\n\n function getDimValue(value: number | number[], idx: number, isAvg = false) {\n let v = value;\n if (isArray(v)) {\n if (labelCfg.content.length === 1) {\n if (isAvg) {\n v = avg(v);\n } else {\n // 如果仅一个 label,多个 y, 取最后一个 y\n if (v.length <= 2) {\n v = v[(value as number[]).length - 1];\n } else {\n v = avg(v);\n }\n }\n } else {\n v = v[idx];\n }\n }\n return v;\n }\n\n const label = {\n content: labelCfg.content[index],\n x: 0,\n y: 0,\n start: { x: 0, y: 0 },\n color: '#fff',\n };\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n const isFunnel = shape === 'funnel' || shape === 'pyramid';\n\n // 多边形场景,多用于地图\n if (this.geometry.type === 'polygon') {\n const centroid = getPolygonCentroid(mappingData.x, mappingData.y);\n label.x = centroid[0];\n label.y = centroid[1];\n } else if (this.geometry.type === 'interval' && !isFunnel) {\n // 对直方图的label X 方向的位置居中\n label.x = getDimValue(mappingData.x, index, true);\n label.y = getDimValue(mappingData.y, index);\n } else {\n label.x = getDimValue(mappingData.x, index);\n label.y = getDimValue(mappingData.y, index);\n }\n\n // 处理漏斗图文本位置\n if (isFunnel) {\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(nextPoints[1] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n } else if (shape === 'pyramid') {\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(points[2] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n }\n }\n\n if (labelCfg.position) {\n // 如果 label 支持 position 属性\n this.setLabelPosition(label, mappingData, index, labelCfg.position);\n }\n const offsetPoint = this.getLabelOffsetPoint(labelCfg, index, total);\n label.start = { x: label.x, y: label.y };\n label.x += offsetPoint.x;\n label.y += offsetPoint.y;\n label.color = mappingData.color;\n return label;\n }\n\n /**\n * 获取文本的对齐方式\n * @param item\n * @param index\n * @param total\n * @returns\n */\n protected getLabelAlign(item: LabelItem, index: number, total: number): TextAlign {\n let align: TextAlign = 'center';\n const coordinate = this.getCoordinate();\n if (coordinate.isTransposed) {\n const offset = item.offset;\n if (offset < 0) {\n align = 'right';\n } else if (offset === 0) {\n align = 'center';\n } else {\n align = 'left';\n }\n if (total > 1 && index === 0) {\n if (align === 'right') {\n align = 'left';\n } else if (align === 'left') {\n align = 'right';\n }\n }\n }\n return align;\n }\n\n /**\n * 获取每一个 label 的唯一 id\n * @param mappingData label 对应的图形的绘制数据\n */\n protected getLabelId(mappingData: MappingDatum) {\n const geometry = this.geometry;\n const type = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n\n let labelId = geometry.getElementId(mappingData);\n if (type === 'line' || type === 'area') {\n // 折线图以及区域图,一条线会对应一组数据,即多个 labels,为了区分这些 labels,需要在 line id 的前提下加上 x 字段值\n labelId += ` ${origin[xScale.field]}`;\n } else if (type === 'path') {\n // path 路径图,无序,有可能存在相同 x 不同 y 的情况,需要通过 x y 来确定唯一 id\n labelId += ` ${origin[xScale.field]}-${origin[yScale.field]}`;\n }\n\n return labelId;\n }\n\n // 获取 labels 组件\n private getLabelsRenderer() {\n const { labelsContainer, labelOption, canvasRegion, animateOption } = this.geometry;\n const coordinate = this.geometry.coordinate;\n\n let labelsRenderer = this.labelsRenderer;\n if (!labelsRenderer) {\n labelsRenderer = new Labels({\n container: labelsContainer,\n layout: get(labelOption, ['cfg', 'layout'], {\n type: this.defaultLayout,\n }),\n });\n this.labelsRenderer = labelsRenderer;\n }\n labelsRenderer.region = canvasRegion;\n // 设置动画配置,如果 geometry 的动画关闭了,那么 label 的动画也会关闭\n labelsRenderer.animate = animateOption ? getDefaultAnimateCfg('label', coordinate) : false;\n\n return labelsRenderer;\n }\n\n private getLabelCfgs(mapppingArray: MappingDatum[]): LabelCfg[] {\n const geometry = this.geometry;\n const { labelOption, scales, coordinate } = geometry;\n const { fields, callback, cfg } = labelOption as LabelOption;\n const labelScales = fields.map((field: string) => {\n return scales[field];\n });\n\n const labelCfgs: LabelCfg[] = [];\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n const originText = this.getLabelText(origin, labelScales);\n let callbackCfg;\n if (callback) {\n // 当同时配置了 callback 和 cfg 时,以 callback 为准\n const originValues = fields.map((field: string) => origin[field]);\n callbackCfg = callback(...originValues);\n if (isNil(callbackCfg)) {\n labelCfgs.push(null);\n return;\n }\n }\n\n let labelCfg = {\n id: this.getLabelId(mappingData), // 进行 ID 标记\n elementId: this.geometry.getElementId(mappingData), // label 对应 Element 的 ID\n data: origin, // 存储原始数据\n mappingData, // 存储映射后的数据,\n coordinate, // 坐标系\n ...cfg,\n ...callbackCfg,\n };\n\n if (isFunction(labelCfg.position)) {\n labelCfg.position = labelCfg.position(origin, mappingData, index);\n }\n\n const offset = this.getLabelOffset(labelCfg.offset || 0);\n // defaultCfg 需要判断 innerLabels & labels\n const defaultLabelCfg = this.getDefaultLabelCfg(offset, labelCfg.position);\n // labelCfg priority: defaultCfg < cfg < callbackCfg\n labelCfg = deepMix({}, defaultLabelCfg, labelCfg);\n // 获取最终的 offset\n labelCfg.offset = this.getLabelOffset(labelCfg.offset || 0);\n\n const content = labelCfg.content;\n if (isFunction(content)) {\n labelCfg.content = content(origin, mappingData, index);\n } else if (isUndefined(content)) {\n // 用户未配置 content,则默认为映射的第一个字段的值\n labelCfg.content = originText[0];\n }\n\n labelCfgs.push(labelCfg);\n });\n\n return labelCfgs;\n }\n\n private getLabelText(origin: Datum, scales: Scale[]) {\n const labelTexts = [];\n each(scales, (scale: Scale) => {\n let value = origin[scale.field];\n if (isArray(value)) {\n value = value.map((subVal) => {\n return scale.getText(subVal);\n });\n } else {\n value = scale.getText(value);\n }\n\n if (isNil(value) || value === '') {\n labelTexts.push(null);\n } else {\n labelTexts.push(value);\n }\n });\n return labelTexts;\n }\n\n private getOffsetVector(offset: number | string = 0) {\n const coordinate = this.getCoordinate();\n let actualOffset = 0;\n if (isNumber(offset)) {\n actualOffset = offset;\n }\n // 如果 x,y 翻转,则偏移 x,否则偏移 y\n return coordinate.isTransposed ? coordinate.applyMatrix(actualOffset, 0) : coordinate.applyMatrix(0, actualOffset);\n }\n\n private getGeometryShapes() {\n const geometry = this.geometry;\n const shapes = {};\n each(geometry.elementsMap, (element: Element, id: string) => {\n shapes[id] = element.shape;\n });\n // 因为有可能 shape 还在进行动画,导致 shape.getBBox() 获取到的值不是最终态,所以需要从 offscreenGroup 获取\n each(geometry.getOffscreenGroup().getChildren(), (child) => {\n const id = geometry.getElementId(child.get('origin').mappingData);\n shapes[id] = child;\n });\n\n return shapes;\n }\n}\n","import { Attribute } from '../dependents';\n\n/**\n * @ignore\n * get the mapping value by attribute, if mapping value is nil, return def\n * @param attr\n * @param value\n * @param def\n * @returns get mapping value\n */\nexport function getMappingValue(attr: Attribute, value: any, def: string): string {\n if (!attr) {\n return def;\n }\n\n let r;\n // 多参数映射,阻止程序报错\n if (attr.callback && attr.callback.length > 1) {\n const restArgs = Array(attr.callback.length - 1).fill('');\n r = attr.mapping(value, ...restArgs).join('');\n } else {\n r = attr.mapping(value).join('');\n }\n\n return r || def;\n}\n","/** @ignore */\nexport const MarkerSymbols = {\n hexagon: (x: number, y: number, r: number) => {\n const diffX = (r / 2) * Math.sqrt(3);\n return [\n ['M', x, y - r],\n ['L', x + diffX, y - r / 2],\n ['L', x + diffX, y + r / 2],\n ['L', x, y + r],\n ['L', x - diffX, y + r / 2],\n ['L', x - diffX, y - r / 2],\n ['Z'],\n ];\n },\n bowtie: (x: number, y: number, r: number) => {\n const diffY = r - 1.5;\n return [['M', x - r, y - diffY], ['L', x + r, y + diffY], ['L', x + r, y - diffY], ['L', x - r, y + diffY], ['Z']];\n },\n cross: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y - r],\n ['L', x + r, y + r],\n ['M', x + r, y - r],\n ['L', x - r, y + r],\n ];\n },\n tick: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n plus: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n hyphen: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n};\n","import { LegendMarkerCfg } from '@antv/component';\nimport { deepMix, isString, each, get, isFunction } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { Attribute, ShapeAttrs, Tick } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { LegendCfg, LegendItem, MarkerCfg } from '../interface';\nimport { getMappingValue } from './attr';\nimport { omit } from './helper';\nimport { MarkerSymbols } from './marker';\n\n/** 线条形 marker symbol */\nconst STROKES_SYMBOLS = ['line', 'cross', 'tick', 'plus', 'hyphen'];\n\n/**\n * 处理用户配置的 marker style\n * @param markerStyle\n * @param userMarker.style\n * @returns {ShapeAttrs} newStyle\n */\nfunction handleUserMarkerStyle(markerStyle: ShapeAttrs, style: MarkerCfg['style']): ShapeAttrs {\n if (isFunction(style)) {\n return style(markerStyle);\n }\n return deepMix({}, markerStyle, style);\n}\n\n/**\n * 根据 marker 是否为线条形 symbol, 来调整下样式\n * @param symbol\n * @param style\n * @param color\n */\nfunction adpatorMarkerStyle(marker: LegendMarkerCfg, color: string): void {\n const symbol = marker.symbol;\n if (isString(symbol) && STROKES_SYMBOLS.indexOf(symbol) !== -1) {\n const markerStyle = get(marker, 'style', {});\n const lineWidth = get(markerStyle, 'lineWidth', 1);\n const stroke = markerStyle.stroke || markerStyle.fill || color;\n marker.style = deepMix({}, marker.style, { lineWidth, stroke, fill: null });\n }\n}\n\n/**\n * 设置 marker 的 symbol,将 字符串的 symbol 转换为真正的绘制命令\n * @param marker\n */\nfunction setMarkerSymbol(marker: LegendMarkerCfg): void {\n const symbol = marker.symbol;\n if (isString(symbol) && MarkerSymbols[symbol]) {\n marker.symbol = MarkerSymbols[symbol];\n }\n}\n\n/**\n * @ignore\n * get the legend layout from direction\n * @param direction\n * @returns layout 'horizontal' | 'vertical'\n */\nexport function getLegendLayout(direction: DIRECTION): 'vertical' | 'horizontal' {\n return direction.startsWith(DIRECTION.LEFT) || direction.startsWith(DIRECTION.RIGHT) ? 'vertical' : 'horizontal';\n}\n\n/** item of @antv/component legend */\ntype ComponentLegendItem = Omit & {\n marker: any;\n};\n\n/**\n * @ignore\n * get the legend items\n * @param view\n * @param geometry\n * @param attr\n * @param themeMarker\n * @param markerCfg\n * @returns legend items\n */\nexport function getLegendItems(\n view: View,\n geometry: Geometry,\n attr: Attribute,\n themeMarker: object,\n userMarker: LegendCfg['marker']\n): ComponentLegendItem[] {\n const scale = attr.getScale(attr.type);\n if (scale.isCategory) {\n const field = scale.field;\n const colorAttr = geometry.getAttribute('color');\n const shapeAttr = geometry.getAttribute('shape');\n const defaultColor = view.getTheme().defaultColor;\n const isInPolar = geometry.coordinate.isPolar;\n\n return scale.getTicks().map((tick: Tick, index: number) => {\n const { text, value: scaleValue } = tick;\n const name = text;\n const value = scale.invert(scaleValue);\n\n // 通过过滤图例项的数据,来看是否 unchecked\n let unchecked = view.filterFieldData(field, [{ [field]: value }]).length === 0;\n each(view.views, (subView) => {\n if (!subView.filterFieldData(field, [{ [field]: value }]).length) {\n unchecked = true;\n }\n });\n\n // @ts-ignore\n const color = getMappingValue(colorAttr, value, defaultColor);\n const shape = getMappingValue(shapeAttr, value, 'point');\n let marker = geometry.getShapeMarker(shape, {\n color,\n isInPolar,\n });\n\n let markerCfg = userMarker;\n if (isFunction(markerCfg)) {\n markerCfg = markerCfg(name, index, { name, value, ...deepMix({}, themeMarker, marker) });\n }\n\n // the marker configure order should be ensure\n marker = deepMix({}, themeMarker, marker, omit({ ...markerCfg }, ['style']));\n adpatorMarkerStyle(marker, color);\n if (markerCfg && markerCfg.style) {\n // handle user's style settings\n marker.style = handleUserMarkerStyle(marker.style, markerCfg.style);\n }\n setMarkerSymbol(marker);\n\n return { id: value, name, value, marker, unchecked };\n });\n }\n return [];\n}\n\n/**\n *\n * @ignore\n * custom legend 的 items 获取\n * @param themeMarker\n * @param userMarker\n * @param customItems\n */\nexport function getCustomLegendItems(themeMarker: object, userMarker: object, customItems: LegendItem[]) {\n // 如果有自定义的 item,那么就直接使用,并合并主题的 marker 配置\n return customItems.map((item: LegendItem, index: number) => {\n let markerCfg = userMarker;\n if (isFunction(markerCfg)) {\n markerCfg = markerCfg(item.name, index, deepMix({}, themeMarker, item));\n }\n\n const itemMarker = isFunction(item.marker)\n ? item.marker(item.name, index, deepMix({}, themeMarker, item))\n : item.marker;\n\n const marker = deepMix({}, themeMarker, markerCfg, itemMarker);\n setMarkerSymbol(marker);\n\n item.marker = marker;\n return item;\n });\n}\n\n/**\n * get the legend cfg from theme, will mix the common cfg of legend theme\n *\n * @param theme view theme object\n * @param direction legend direction\n * @returns legend theme cfg\n */\nexport function getLegendThemeCfg(theme: object, direction: string): object {\n const legendTheme = get(theme, ['components', 'legend'], {});\n return deepMix({}, get(legendTheme, ['common'], {}), deepMix({}, get(legendTheme, [direction], {})));\n}\n","import { isArray } from '@antv/util';\nimport { PathCommand } from '../../../dependents';\nimport { Point, RangePoint, ShapeVertices } from '../../../interface';\nimport { getSplinePath } from './path';\n\nfunction isValueEmpty(value) {\n if (value) {\n return false;\n }\n return value === null || value === undefined || isNaN(value);\n}\n\nfunction isYNil(point: Point[] | RangePoint) {\n if (isArray(point)) {\n // 特殊处理 area 的关键点数据,其关键点结构为 [{x: 0, y: 1}, {x: 0, y: 2}]\n return isValueEmpty(point[1].y);\n }\n const value = point.y;\n return isArray(value) ? isValueEmpty(value[0]) : isValueEmpty(value);\n}\n\n/**\n * @ignore\n * 分割数据,用于处理在一组点数据中,y 对应的数值存在 null/undefined/NaN 的情况\n * 应用于折线图、区域图以及路径图\n *\n * ```typescript\n * // return [[{x: 1, y: 2}, {x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], true);\n * // return [[{x: 1, y: 2}], [{x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], false);\n * // return [[[{ x: 1, y: 10 }, { x: 2, y: 2 }], [{ x: 9, y: 34 }, { x: 1, y: 1 }]]]\n * getPathPoints([\n * [{ x: 1, y: 10 }, { x: 2, y: 2 }],\n * [{ x: 4, y: 2 }, { x: 8, y: NaN }],\n * [{ x: 9, y: 34 }, { x: 1, y: 1 }],\n * ], true);\n * ```\n *\n * @param points 要进行处理点集合\n * @param connectNulls 是否连接空值数据\n * @param showSinglePoint 是否展示孤立点\n * @returns 返回处理后的点集合\n */\nexport function getPathPoints(points: ShapeVertices, connectNulls: boolean = false, showSinglePoint: boolean = true) {\n if (!points.length || (points.length === 1 && !showSinglePoint)) {\n // 空或者只有一个点并配置不展示时\n return [];\n }\n\n if (connectNulls) {\n // 即 y 值为空的场景\n const filtered = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!isYNil(point)) {\n filtered.push(point);\n }\n }\n return [filtered];\n }\n\n const result = [];\n let tmp = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (isYNil(point)) {\n if (tmp.length) {\n if (!(tmp.length === 1 && !showSinglePoint)) {\n // 如果前段数据只有一个字段并且不需要展示时则不加入\n result.push(tmp);\n }\n tmp = [];\n }\n } else {\n tmp.push(point);\n }\n }\n\n if (tmp.length) {\n result.push(tmp);\n }\n return result;\n}\n\n/**\n * 获取小提琴图的边界 path\n * @param points\n * @returns\n */\nexport function getViolinPath(points: ShapeVertices): PathCommand[] {\n const path = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i] as Point;\n if (point) {\n const action = i === 0 ? 'M' : 'L';\n path.push([action, point.x, point.y]);\n }\n }\n const first = points[0] as Point;\n if (first) {\n path.push(['L', first.x, first.y]);\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * 获取小提琴图 平滑的边界 path\n * @param points\n * @returns\n */\nexport function getSmoothViolinPath(points: ShapeVertices): PathCommand[] {\n const half = points.length / 2;\n const leftPoints = [];\n const rightPoints = [];\n for (let i = 0; i < points.length; i++) {\n if (i < half) {\n leftPoints.push(points[i]);\n } else {\n rightPoints.push(points[i]);\n }\n }\n const leftPath = getSplinePath(leftPoints, false);\n const rightPath = getSplinePath(rightPoints, false);\n if (rightPoints.length) {\n leftPath.push(['L', rightPoints[0].x, rightPoints[0].y]);\n }\n rightPath.shift();\n const path = leftPath.concat(rightPath);\n if (leftPoints.length) {\n path.push(['L', leftPoints[0].x, leftPoints[0].y]);\n }\n path.push(['z']);\n return path;\n}\n","import { deepMix, isNil, get } from '@antv/util';\nimport { ShapeInfo } from '../../../interface';\n\n/**\n * @ignore\n * 获取 Shape 的图形属性\n * @param cfg\n * @param isStroke 是否需要描边\n * @param isFill 是否需要填充\n * @param [sizeName] 可选,表示图形大小的属性,lineWidth 或者 r\n * @returns\n */\nexport function getStyle(cfg: ShapeInfo, isStroke: boolean, isFill: boolean, sizeName: string = '') {\n const { style = {}, defaultStyle, color, size } = cfg;\n const attrs = {\n ...defaultStyle,\n ...style,\n };\n if (color) {\n if (isStroke) {\n if (!style.stroke) {\n // 如果用户在 style() 中配置了 stroke,则以用户配置的为准\n attrs.stroke = color;\n }\n }\n\n if (isFill) {\n if (!style.fill) {\n // 如果用户在 style() 中配置了 fill\n attrs.fill = color;\n }\n }\n }\n if (sizeName && isNil(style[sizeName]) && !isNil(size)) {\n // 如果用户在 style() 中配置了 lineWidth 或者 r 属性\n attrs[sizeName] = size;\n }\n\n return attrs;\n}\n\n/**\n * 获取 矩形背景 的样式\n * @param cfg\n */\nexport function getBackgroundRectStyle(cfg?: ShapeInfo) {\n return deepMix(\n {},\n {\n // 默认背景色,copy from active-region\n fill: '#CCD6EC',\n fillOpacity: 0.3,\n },\n get(cfg, ['background', 'style'])\n );\n}\n","import { isArray } from '@antv/util';\nimport { Point, RangePoint } from '../../../interface';\n\n/**\n * @ignore\n * 拆分点数据\n * @example\n * // result: [{x: 20, y: 20}, {x: 20, y: 30}]\n * splitPoints({x: 20,y: [20, 30]});\n * @example\n * // result: [{x: 20, y: 20}, {x: 30, y: 30}]\n * splitPoints({x: [20, 30],y: [20, 30]});\n * @param obj\n */\nexport function splitPoints(obj: RangePoint): Point[] {\n // y 有可能是数组,对应原始数据中 y 为一个区间数据,如 [19, 30],为了统一也将 x 转换为数组\n const x = obj.x;\n const y = isArray(obj.y) ? obj.y : [obj.y];\n\n return y.map((eachY, index) => {\n return {\n x: isArray(x) ? x[index] : x,\n y: eachY,\n };\n });\n}\n","import { ShapeMarkerCfg } from '../../../interface';\n\nconst LineSymbols = {\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dot: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dash: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n smooth: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['A', r / 2, r / 2, 0, 1, 1, x, y],\n ['A', r / 2, r / 2, 0, 1, 0, x + r, y],\n ];\n },\n hv: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y - 2.5],\n ['L', x, y - 2.5],\n ['L', x, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vh: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y + 2.5],\n ['L', x, y + 2.5],\n ['L', x, y - 2.5],\n ['L', x + r + 1, y - 2.5],\n ];\n },\n hvh: (x: number, y: number, r: number) => {\n return [\n ['M', x - (r + 1), y + 2.5],\n ['L', x - r / 2, y + 2.5],\n ['L', x - r / 2, y - 2.5],\n ['L', x + r / 2, y - 2.5],\n ['L', x + r / 2, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vhv: (x: number, y: number) => {\n // 宽 13px,高 8px\n return [\n ['M', x - 5, y + 2.5],\n ['L', x - 5, y],\n ['L', x, y],\n ['L', x, y - 3],\n ['L', x, y + 3],\n ['L', x + 6.5, y + 3],\n ];\n },\n};\n\n/**\n * Gets line marker\n * @ignore\n * @param markerCfg\n * @param shapeType\n * @returns 返回 Line 的 marker 配置\n */\nexport function getLineMarker(markerCfg: ShapeMarkerCfg, shapeType: string) {\n const { color } = markerCfg;\n return {\n symbol: LineSymbols[shapeType],\n style: {\n lineWidth: 2,\n r: 6,\n stroke: color,\n },\n };\n}\n","import { each, isArray } from '@antv/util';\nimport { IGroup, ShapeAttrs } from '../../../dependents';\nimport { Point, Position, RangePoint, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\nimport { getLineMarker } from './util';\n\nfunction getShapeAttrs(cfg: ShapeInfo, smooth?: boolean, constraint?: Position[]) {\n const { isStack, connectNulls, isInCircle, showSinglePoint } = cfg;\n const shapeAttrs = getStyle(cfg, true, false, 'lineWidth');\n\n const points = getPathPoints(cfg.points, connectNulls, showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const eachLinePoints = points[i];\n path = path.concat(getPath(eachLinePoints, isInCircle, isStack, smooth, constraint, shapeAttrs));\n }\n shapeAttrs.path = path;\n\n return shapeAttrs;\n}\n\n// 单条 path\nfunction getSinglePath(\n points: Point[],\n isInCircle: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length === 1) {\n // 只有一个点时\n return [\n ['M', points[0].x, points[0].y - style.lineWidth / 2],\n ['L', points[0].x, points[0].y],\n ['L', points[0].x, points[0].y + style.lineWidth / 2],\n ];\n }\n\n let path;\n if (!smooth) {\n path = getLinePath(points, false);\n if (isInCircle) {\n path.push(['Z']);\n }\n } else {\n // 直角坐标系下绘制曲线时限制最大值、最小值\n if (isInCircle && points.length) {\n points.push({ x: points[0].x, y: points[0].y });\n }\n path = getSplinePath(points, false, constraint);\n }\n\n return path;\n}\n\nfunction getRangePath(\n points: RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n const topPoints = [];\n const bottomPoints = [];\n each(points, (point: RangePoint) => {\n const result = splitPoints(point);\n topPoints.push(result[1]); // 上边\n bottomPoints.push(result[0]); // 底边\n });\n\n const topPath = getSinglePath(topPoints, isInCircle, smooth, constraint, style);\n const bottomPath = getSinglePath(bottomPoints, isInCircle, smooth, constraint, style);\n if (isStack) {\n return topPath;\n }\n return topPath.concat(bottomPath);\n}\n\n/**\n * 获取折线图 path\n */\nexport function getPath(\n points: Point[] | RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length) {\n const first = points[0];\n\n return isArray(first.y)\n ? getRangePath(points as RangePoint[], isInCircle, isStack, smooth, constraint, style)\n : getSinglePath(points as Point[], isInCircle, smooth, constraint, style);\n }\n return [];\n}\n\nconst LineShapeFactory = registerShapeFactory('line', {\n defaultShapeType: 'line',\n});\n\n// 这里因为代码公用,所以直接全部注册\n// 'line' 默认折线;'dot' 点线 ···;'dash' 断线 - - -\neach(['line', 'dot', 'dash', 'smooth'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const smooth = shapeType === 'smooth';\n let constraint;\n if (smooth) {\n const { start, end } = this.coordinate;\n constraint = [\n [start.x, end.y],\n [end.x, start.y],\n ];\n }\n\n const attrs = getShapeAttrs(cfg, smooth, constraint);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n capture: !smooth,\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n\nexport default LineShapeFactory;\n","/* G2 的一个壳子,不包含 Geometry,由开发者自己定义和引入 */\n\nexport const VERSION = '4.2.10';\n\n// 核心基类导出\nexport { Chart, View, Event } from './chart'; // Chart, View 类\nexport { Controller as ComponentController } from './chart/controller/base'; // G2 组件基类\nexport { default as TooltipController } from './chart/controller/tooltip'; // G2 tooltip 组件基类\nexport { default as Geometry } from './geometry/base'; // Geometry 基类\nexport { default as Element } from './geometry/element'; // Element 类\nexport { default as GeometryLabel } from './geometry/label/base'; // Geometry Label 基类\nexport { Interaction, Action } from './interaction'; // Interaction, Action 基类\nexport { Facet } from './facet'; // Facet 基类\nexport { default as InteractionAction } from './interaction/action/base'; // Interaction Action 基类\n\n// 注册 ComponentController\nexport { registerComponentController } from './chart';\n\n// 注册 Geometry\nexport { registerGeometry } from './chart';\n\n// 注册 Geometry Shape\nexport { registerShape, registerShapeFactory, getShapeFactory } from './geometry/shape/base';\n\n// 注册 Geometry label 以及 Geometry Label 布局函数\nexport {\n registerGeometryLabel,\n registerGeometryLabelLayout,\n getGeometryLabel,\n getGeometryLabelLayout,\n} from './geometry/label';\n\n// 注册 interaction\nexport { getInteraction, registerInteraction, registerAction, getActionClass } from './interaction';\n\n// 注册 facet\nexport { getFacet, registerFacet } from './facet';\n\n// 注册主题\nexport { getTheme, registerTheme } from './theme';\n\n// G engine 管理相关\nexport { registerEngine, getEngine } from './engine';\n\n// 注册动画函数\nexport { registerAnimation, getAnimation } from './animate/animation';\n\nexport { LAYER, DIRECTION } from './constant';\n\n// 因为 typescript 部分版本不支持 export * as 语法。\nimport * as Types from './interface';\nexport type { Types };\n\nexport { IGroup, ShapeAttrs, Coordinate, Scale, ScaleConfig } from './dependents';\n\n// 一些工具方法导出\nimport { getMappingValue } from './util/attr';\nimport { getLegendItems } from './util/legend';\nimport { getAngle, getSectorPath, polarToCartesian } from './util/graphics';\nimport { rotate, transform, translate, zoom } from './util/transform';\nimport { getTooltipItems } from './util/tooltip';\nimport { getDelegationObject } from './interaction/action/util';\nimport { getPathPoints } from './geometry/shape/util/get-path-points';\nimport { getPath } from './geometry/shape/line';\n\nexport const Util = {\n getLegendItems,\n translate,\n rotate,\n zoom,\n transform,\n getAngle,\n getSectorPath,\n polarToCartesian,\n getDelegationObject,\n getTooltipItems,\n getMappingValue,\n // shape 的一些操作方法\n getPath,\n getPathPoints,\n};\n","import { StyleSheetCfg } from '../../interface';\n\nconst WHITE_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst BLACK_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#E86452',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#E86452',\n '#F8D0CB',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\n/** 单色顺序色板 */\nconst SINGLE_SEQUENCE = [\n '#B8E1FF',\n '#9AC5FF',\n '#7DAAFF',\n '#5B8FF9',\n '#3D76DD',\n '#085EC0',\n '#0047A5',\n '#00318A',\n '#001D70',\n];\n\nexport const createDarkStyleSheet = (cfg: StyleSheetCfg = {}) => {\n const { paletteQualitative10 = QUALITATIVE_10, paletteQualitative20 = QUALITATIVE_20 } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n const token = {\n /** 图表背景色 */\n backgroundColor: '#141414',\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor: 'rgba(255,255,255,0.05)',\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** (单色)顺序色板 */\n paletteSequence: SINGLE_SEQUENCE,\n /** 字体 */\n fontFamily: `\"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 1,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n /** 坐标轴标题距离坐标轴文本的间距 */\n axisTitleSpacing: 12,\n /** 坐标轴标题详细说明icon颜色 */\n axisDescriptionIconFillColor: WHITE_COLORS[85],\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 1,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 1,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n /** 坐标轴刻度文本距离坐标轴线的间距 */\n axisLabelOffset: 8,\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 1,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: QUALITATIVE_10[0],\n /** 图例 marker 距离图例文本的间距 */\n legendMarkerSpacing: 8,\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n /** 图例项之间的水平间距 */\n legendItemSpacing: 24,\n /** 图例项垂直方向的间隔 */\n legendItemMarginBottom: 12,\n /** 图例与图表绘图区域的偏移距离 */\n legendSpacing: 16,\n /** 图例与图表绘图区域的偏移距离 */\n legendPadding: [8, 8, 8, 8],\n /** 水平布局的图例与绘图区域偏移距离 */\n legendHorizontalPadding: [8, 0, 8, 0],\n /** 垂直布局的图例与绘图区域偏移距离 */\n legendVerticalPadding: [0, 8, 0, 8],\n\n // 图例分页器\n /** 图例分页器 marker 大小 */\n legendPageNavigatorMarkerSize: 12,\n /** 图例分页器 marker 填充色 */\n legendPageNavigatorMarkerInactiveFillColor: BLACK_COLORS[45],\n /** 图例分页器 marker 填充色透明度 */\n legendPageNavigatorMarkerInactiveFillOpacity: 0.45,\n /** 图例分页器 marker 激活状态填充色 */\n legendPageNavigatorMarkerFillColor: BLACK_COLORS[45],\n /** 图例分页器 marker 激活状态填充色透明度 */\n legendPageNavigatorMarkerFillOpacity: 1,\n /** 图例分页器文本颜色 */\n legendPageNavigatorTextFillColor: BLACK_COLORS[65],\n /** 图例分页器文本字体大小 */\n legendPageNavigatorTextFontSize: 12,\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: WHITE_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: WHITE_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 1,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 1,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: null,\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 0,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 1,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: '#1f1f1f',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 2px 4px rgba(0,0,0,.5)',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n labelFillColorDark: '#2c3542',\n labelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry label 文本颜色 */\n overflowLabelFillColor: BLACK_COLORS[65],\n overflowLabelFillColorDark: '#2c3542',\n overflowLabelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n overflowLabelFontSize: 12,\n /** Geometry label 文本行高 */\n overflowLabelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n overflowLabelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n overflowLabelBorderColor: WHITE_COLORS[100],\n /** Geometry label 文本描边粗细 */\n overflowLabelBorder: 1,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 1,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Slider 组件样式--------------------\n /** slider 滑道高度 */\n cSliderRailHieght: 16,\n /** slider 滑道背景色 */\n cSliderBackgroundFillColor: '#416180',\n /** slider 滑道背景色透明度 */\n cSliderBackgroundFillOpacity: 0.05,\n /** slider 滑道前景色 */\n cSliderForegroundFillColor: '#5B8FF9',\n /** slider 滑道前景色透明度 */\n cSliderForegroundFillOpacity: 0.15,\n // slider handlerStyle 手柄样式\n /** slider 手柄高度 */\n cSliderHandlerHeight: 24,\n /** Slider 手柄宽度 */\n cSliderHandlerWidth: 10,\n /** Slider 手柄背景色 */\n cSliderHandlerFillColor: '#F7F7F7',\n /** Slider 手柄背景色透明度 */\n cSliderHandlerFillOpacity: 1,\n /** Slider 手柄高亮背景色 */\n cSliderHandlerHighlightFillColor: '#FFF',\n /** Slider 手柄边框色 */\n cSliderHandlerBorderColor: '#BFBFBF',\n /** Slider 手柄边框粗细 */\n cSliderHandlerBorder: 1,\n /** Slider 手柄边框圆角 */\n cSliderHandlerBorderRadius: 2,\n // slider textStyle 字体标签样式\n /** Slider 字体标签颜色 */\n cSliderTextFillColor: '#fff',\n /** Slider 字体标签透明度 */\n cSliderTextFillOpacity: 0.45,\n /** Slider 字体标签大小 */\n cSliderTextFontSize: 12,\n /** Slider 字体标签行高 */\n cSliderTextLineHeight: 12,\n /** Slider 字体标签字重 */\n cSliderTextFontWeight: 'normal',\n /** Slider 字体标签描边色 */\n cSliderTextBorderColor: null,\n /** Slider 字体标签描边粗细 */\n cSliderTextBorder: 0,\n\n // -------------------- Scrollbar 组件样式--------------------\n /** 滚动条 滚道填充色 */\n scrollbarTrackFillColor: 'rgba(255,255,255,0.65)',\n /** 滚动条 滑块填充色 */\n scrollbarThumbFillColor: 'rgba(0,0,0,0.35)',\n /** 滚动条 滑块高亮填充色 */\n scrollbarThumbHighlightFillColor: 'rgba(0,0,0,0.45)',\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: QUALITATIVE_10[0],\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: QUALITATIVE_10[0],\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: QUALITATIVE_10[0],\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: QUALITATIVE_10[0],\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: QUALITATIVE_10[0],\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: QUALITATIVE_10[0],\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: QUALITATIVE_10[0],\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: QUALITATIVE_10[0],\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: QUALITATIVE_10[0],\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n };\n\n return { ...token, ...cfg };\n};\n\nexport const antvDark = createDarkStyleSheet();\n","export function getPixelRatio() {\n return window ? window.devicePixelRatio : 1;\n}\n\n/**\n * 两点之间的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n */\nexport function distance(x1: number, y1: number, x2: number, y2: number) {\n const dx = x1 - x2;\n const dy = y1 - y2;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\n/**\n * 是否在包围盒内\n * @param {number} minX 包围盒开始的点 x\n * @param {number} minY 包围盒开始的点 y\n * @param {number} width 宽度\n * @param {number} height 高度\n * @param {[type]} x 检测点的 x\n * @param {[type]} y 监测点的 y\n */\nexport function inBox(minX: number, minY: number, width: number, height: number, x, y) {\n return x >= minX && x <= minX + width && y >= minY && y <= minY + height;\n}\n\nexport function intersectRect(box1, box2) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\n\n// 合并两个区域\nexport function mergeRegion(region1, region2) {\n if (!region1 || !region2) {\n return region1 || region2;\n }\n return {\n minX: Math.min(region1.minX, region2.minX),\n minY: Math.min(region1.minY, region2.minY),\n maxX: Math.max(region1.maxX, region2.maxX),\n maxY: Math.max(region1.maxY, region2.maxY),\n };\n}\n\n/**\n * 判断两个点是否重合,点坐标的格式为 [x, y]\n * @param {Array} point1 第一个点\n * @param {Array} point2 第二个点\n */\nexport function isSamePoint(point1, point2) {\n return point1[0] === point2[0] && point1[1] === point2[1];\n}\n\nexport {\n isNil,\n isString,\n isFunction,\n isArray,\n each,\n toRadian,\n mod,\n isNumberEqual,\n requestAnimationFrame,\n clearAnimationFrame,\n} from '@antv/util';\n","import { IElement } from '@antv/g-base';\nimport { isString, each, isArray } from './util';\n\nconst regexLG = /^l\\s*\\(\\s*([\\d.]+)\\s*\\)\\s*(.*)/i;\nconst regexRG = /^r\\s*\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*\\)\\s*(.*)/i;\nconst regexPR = /^p\\s*\\(\\s*([axyn])\\s*\\)\\s*(.*)/i;\nconst regexColorStop = /[\\d.]+:(#[^\\s]+|[^\\)]+\\))/gi;\n\nfunction addStop(steps, gradient) {\n const arr: string[] = steps.match(regexColorStop);\n each(arr, (item) => {\n const itemArr = item.split(':');\n gradient.addColorStop(itemArr[0], itemArr[1]);\n });\n}\n/**\n * 将边和填充设置的颜色转换成线性渐变对象\n * @param {CanvasRenderingContext2D} context canvas 上下文\n * @param {IElement} element 图形元素\n * @param {string} gradientStr 颜色\n * @returns {any} 渐变对象\n */\nexport function parseLineGradient(context: CanvasRenderingContext2D, element: IElement, gradientStr: string) {\n const arr = regexLG.exec(gradientStr);\n const angle = (parseFloat(arr[1]) % 360) * (Math.PI / 180);\n const steps = arr[2];\n const box = element.getBBox();\n let start;\n let end;\n\n if (angle >= 0 && angle < (1 / 2) * Math.PI) {\n start = {\n x: box.minX,\n y: box.minY,\n };\n end = {\n x: box.maxX,\n y: box.maxY,\n };\n } else if ((1 / 2) * Math.PI <= angle && angle < Math.PI) {\n start = {\n x: box.maxX,\n y: box.minY,\n };\n end = {\n x: box.minX,\n y: box.maxY,\n };\n } else if (Math.PI <= angle && angle < (3 / 2) * Math.PI) {\n start = {\n x: box.maxX,\n y: box.maxY,\n };\n end = {\n x: box.minX,\n y: box.minY,\n };\n } else {\n start = {\n x: box.minX,\n y: box.maxY,\n };\n end = {\n x: box.maxX,\n y: box.minY,\n };\n }\n\n const tanTheta = Math.tan(angle);\n const tanTheta2 = tanTheta * tanTheta;\n\n const x = (end.x - start.x + tanTheta * (end.y - start.y)) / (tanTheta2 + 1) + start.x;\n const y = (tanTheta * (end.x - start.x + tanTheta * (end.y - start.y))) / (tanTheta2 + 1) + start.y;\n const gradient = context.createLinearGradient(start.x, start.y, x, y);\n addStop(steps, gradient);\n return gradient;\n}\n\n/**\n * 将边和填充设置的颜色转换成圆形渐变对象\n * @param {CanvasRenderingContext2D} context canvas 上下文\n * @param {IElement} element 图形元素\n * @param {string} gradientStr 颜色\n * @returns {any} 渐变对象\n */\nexport function parseRadialGradient(context: CanvasRenderingContext2D, element: IElement, gradientStr: string) {\n const arr = regexRG.exec(gradientStr);\n const fx = parseFloat(arr[1]);\n const fy = parseFloat(arr[2]);\n const fr = parseFloat(arr[3]);\n const steps = arr[4];\n // 环半径为0时,默认无渐变,取渐变序列的最后一个颜色\n if (fr === 0) {\n const colors = steps.match(regexColorStop);\n return colors[colors.length - 1].split(':')[1];\n }\n const box = element.getBBox();\n const width = box.maxX - box.minX;\n const height = box.maxY - box.minY;\n const r = Math.sqrt(width * width + height * height) / 2;\n const gradient = context.createRadialGradient(\n box.minX + width * fx,\n box.minY + height * fy,\n 0,\n box.minX + width / 2,\n box.minY + height / 2,\n fr * r\n );\n addStop(steps, gradient);\n return gradient;\n}\n\n/**\n * 边和填充设置的颜色转换成 pattern\n * @param {CanvasRenderingContext2D} context canvas 上下文\n * @param {IElement} element 图形元素\n * @param {string} patternStr 生成 pattern 的字符串\n */\nexport function parsePattern(context: CanvasRenderingContext2D, element: IElement, patternStr: string) {\n // 在转换过程中进行了缓存\n if (element.get('patternSource') && element.get('patternSource') === patternStr) {\n return element.get('pattern');\n }\n let pattern;\n let img;\n const arr = regexPR.exec(patternStr);\n let repeat = arr[1];\n const source = arr[2];\n\n // Function to be called when pattern loads\n function onload() {\n // Create pattern\n pattern = context.createPattern(img, repeat);\n element.set('pattern', pattern); // be a cache\n element.set('patternSource', patternStr);\n }\n\n switch (repeat) {\n case 'a':\n repeat = 'repeat';\n break;\n case 'x':\n repeat = 'repeat-x';\n break;\n case 'y':\n repeat = 'repeat-y';\n break;\n case 'n':\n repeat = 'no-repeat';\n break;\n default:\n repeat = 'no-repeat';\n }\n\n img = new Image();\n // If source URL is not a data URL\n if (!source.match(/^data:/i)) {\n // Set crossOrigin for this image\n img.crossOrigin = 'Anonymous';\n }\n img.src = source;\n\n if (img.complete) {\n onload();\n } else {\n img.onload = onload;\n // Fix onload() bug in IE9\n img.src = img.src;\n }\n\n return pattern;\n}\n\nexport function parseStyle(context: CanvasRenderingContext2D, element: IElement, color: string | CanvasPattern) {\n const bbox = element.getBBox();\n if (isNaN(bbox.x) || isNaN(bbox.y) || isNaN(bbox.width) || isNaN(bbox.height)) {\n return color;\n }\n\n if (isString(color)) {\n if (color[1] === '(' || color[2] === '(') {\n if (color[0] === 'l') {\n // regexLG.test(color)\n return parseLineGradient(context, element, color);\n }\n if (color[0] === 'r') {\n // regexRG.test(color)\n return parseRadialGradient(context, element, color);\n }\n if (color[0] === 'p') {\n // regexPR.test(color)\n return parsePattern(context, element, color);\n }\n }\n return color;\n }\n\n if (color instanceof CanvasPattern) {\n return color;\n }\n}\n\nexport function parseRadius(radius) {\n let r1 = 0;\n let r2 = 0;\n let r3 = 0;\n let r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n return [r1, r2, r3, r4];\n}\n","import { mod, toRadian, isSamePoint } from './util';\n\n// 向量长度\nfunction vMag(v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n}\n\n// u.v/|u||v|,计算夹角的余弦值\nfunction vRatio(u, v) {\n // 当存在一个向量的长度为 0 时,夹角也为 0,即夹角的余弦值为 1\n return vMag(u) * vMag(v) ? (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v)) : 1;\n}\n\n// 向量角度\nfunction vAngle(u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n}\n\n// A 0:rx 1:ry 2:x-axis-rotation 3:large-arc-flag 4:sweep-flag 5: x 6: y\nexport default function getArcParams(startPoint, params) {\n let rx = params[1];\n let ry = params[2];\n const xRotation = mod(toRadian(params[3]), Math.PI * 2);\n const arcFlag = params[4];\n const sweepFlag = params[5];\n // 弧形起点坐标\n const x1 = startPoint[0];\n const y1 = startPoint[1];\n // 弧形终点坐标\n const x2 = params[6];\n const y2 = params[7];\n const xp = (Math.cos(xRotation) * (x1 - x2)) / 2.0 + (Math.sin(xRotation) * (y1 - y2)) / 2.0;\n const yp = (-1 * Math.sin(xRotation) * (x1 - x2)) / 2.0 + (Math.cos(xRotation) * (y1 - y2)) / 2.0;\n const lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n const diff = rx * rx * (yp * yp) + ry * ry * (xp * xp);\n\n let f = diff ? Math.sqrt((rx * rx * (ry * ry) - diff) / diff) : 1;\n\n if (arcFlag === sweepFlag) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n\n // 旋转前的起点坐标,且当长半轴和短半轴的长度为 0 时,坐标按 (0, 0) 处理\n const cxp = ry ? (f * rx * yp) / ry : 0;\n const cyp = rx ? (f * -ry * xp) / rx : 0;\n\n // 椭圆圆心坐标\n const cx = (x1 + x2) / 2.0 + Math.cos(xRotation) * cxp - Math.sin(xRotation) * cyp;\n const cy = (y1 + y2) / 2.0 + Math.sin(xRotation) * cxp + Math.cos(xRotation) * cyp;\n\n // 起始点的单位向量\n const u = [(xp - cxp) / rx, (yp - cyp) / ry];\n // 终止点的单位向量\n const v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n // 计算起始点和圆心的连线,与 x 轴正方向的夹角\n const theta = vAngle([1, 0], u);\n\n // 计算圆弧起始点和终止点与椭圆圆心连线的夹角\n let dTheta = vAngle(u, v);\n\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (sweepFlag === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (sweepFlag === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return {\n cx,\n cy,\n // 弧形的起点和终点相同时,长轴和短轴的长度按 0 处理\n rx: isSamePoint(startPoint, [x2, y2]) ? 0 : rx,\n ry: isSamePoint(startPoint, [x2, y2]) ? 0 : ry,\n startAngle: theta,\n endAngle: theta + dTheta,\n xRotation,\n arcFlag,\n sweepFlag,\n };\n}\n","import { Path } from '../shape';\n\nconst { sin, cos, atan2, PI } = Math;\n\nfunction _addDefaultArrow(shape, attrs, x1, y1, x2, y2, isStart) {\n const { stroke, lineWidth } = attrs;\n const x = x1 - x2;\n const y = y1 - y2;\n const rad = atan2(y, x);\n const arrowShape = new Path({\n type: 'path',\n canvas: shape.get('canvas'),\n isArrowShape: true,\n attrs: {\n // 默认箭头的边长为 10,夹角为 60 度\n path: `M${10 * cos(PI / 6)},${10 * sin(PI / 6)} L0,0 L${10 * cos(PI / 6)},-${10 * sin(PI / 6)}`,\n // 使用 shape stroke 值\n stroke,\n lineWidth,\n },\n });\n arrowShape.translate(x2, y2);\n arrowShape.rotateAtPoint(x2, y2, rad);\n shape.set(isStart ? 'startArrowShape' : 'endArrowShape', arrowShape);\n}\n\n/**\n * 箭头 path 的设置要求\n * 1. 箭头顶点坐标需要为 (0, 0)\n * 2. 箭头夹角的中心分割线需要与 X 轴正方向对齐\n */\nfunction _addCustomizedArrow(shape, attrs, x1, y1, x2, y2, isStart) {\n const { startArrow, endArrow, stroke, lineWidth } = attrs;\n const arrowAttrs = isStart ? startArrow : endArrow;\n const { d, fill: arrowFill, stroke: arrowStroke, lineWidth: arrowLineWidth, ...restAttrs } = arrowAttrs;\n const x = x1 - x2;\n const y = y1 - y2;\n const rad = atan2(y, x);\n\n if (d) {\n x2 = x2 - cos(rad) * d;\n y2 = y2 - sin(rad) * d;\n }\n\n const arrowShape = new Path({\n type: 'path',\n canvas: shape.get('canvas'),\n isArrowShape: true,\n attrs: {\n ...restAttrs,\n // 支持单独设置箭头的 stroke 和 lineWidth,若为空则使用 shape 的值\n stroke: arrowStroke || stroke,\n lineWidth: arrowLineWidth || lineWidth,\n // 箭头是否填充需要手动设置,不会继承自 shape 的值\n fill: arrowFill,\n },\n });\n\n arrowShape.translate(x2, y2);\n arrowShape.rotateAtPoint(x2, y2, rad);\n shape.set(isStart ? 'startArrowShape' : 'endArrowShape', arrowShape);\n}\n\n/**\n * 如果自定义箭头并且有 d 需要做偏移,如果直接画,线条会超出箭头尖端,因此需要根据箭头偏移 d, 返回线需要缩短的距离\n * |----------------\n * |<|--------------\n * |\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 箭头作用点 x\n * @param {number} y2 箭头作用点 y\n * @param {number} d 箭头沿线条方向的偏移距离\n * @return {{dx: number, dy: number}} 返回线条偏移距离\n */\nexport function getShortenOffset(x1, y1, x2, y2, d) {\n const rad = atan2(y2 - y1, x2 - x1);\n return {\n dx: cos(rad) * d,\n dy: sin(rad) * d,\n };\n}\n\n/**\n * 绘制起始箭头\n * @param {IShape} shape 图形\n * @param {ShapeAttrs} attrs shape 的绘图属性\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 箭头作用点 x\n * @param {number} y2 箭头作用点 y\n */\nexport function addStartArrow(shape, attrs, x1, y1, x2, y2) {\n if (typeof attrs.startArrow === 'object') {\n _addCustomizedArrow(shape, attrs, x1, y1, x2, y2, true);\n } else if (attrs.startArrow) {\n _addDefaultArrow(shape, attrs, x1, y1, x2, y2, true);\n } else {\n shape.set('startArrowShape', null);\n }\n}\n\n/**\n * 绘制结束箭头\n * @param {IShape} shape 图形\n * @param {ShapeAttrs} attrs shape 的绘图属性\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 箭头作用点 x\n * @param {number} y2 箭头作用点 y\n */\nexport function addEndArrow(shape, attrs, x1, y1, x2, y2) {\n if (typeof attrs.endArrow === 'object') {\n _addCustomizedArrow(shape, attrs, x1, y1, x2, y2, false);\n } else if (attrs.endArrow) {\n _addDefaultArrow(shape, attrs, x1, y1, x2, y2, false);\n } else {\n shape.set('startArrowShape', null);\n }\n}\n","import { each, isArray, max, min } from '@antv/util';\nimport { IElement } from '../interfaces';\nimport { Region } from '../types';\nimport { parseStyle } from './parse';\nimport getArcParams from './arc-params';\nimport { mergeRegion, intersectRect } from './util';\nimport * as ArrowUtil from '../util/arrow';\n\nconst SHAPE_ATTRS_MAP = {\n fill: 'fillStyle',\n stroke: 'strokeStyle',\n opacity: 'globalAlpha',\n};\n\nexport function applyAttrsToContext(context: CanvasRenderingContext2D, element: IElement) {\n const attrs = element.attr();\n for (const k in attrs) {\n let v = attrs[k];\n // 转换一下不与 canvas 兼容的属性名\n const name = SHAPE_ATTRS_MAP[k] ? SHAPE_ATTRS_MAP[k] : k;\n if (name === 'matrix' && v) {\n // 设置矩阵\n context.transform(v[0], v[1], v[3], v[4], v[6], v[7]);\n } else if (name === 'lineDash' && context.setLineDash) {\n // 设置虚线,只支持数组形式,非数组形式不做任何操作\n isArray(v) && context.setLineDash(v);\n } else {\n if (name === 'strokeStyle' || name === 'fillStyle') {\n // 如果存在渐变、pattern 这个开销有些大\n // 可以考虑缓存机制,通过 hasUpdate 来避免一些运算\n v = parseStyle(context, element, v);\n } else if (name === 'globalAlpha') {\n // opacity 效果可以叠加,子元素的 opacity 需要与父元素 opacity 相乘\n v = v * context.globalAlpha;\n }\n context[name] = v;\n }\n }\n}\n\nexport function drawChildren(context: CanvasRenderingContext2D, children: IElement[], region?: Region) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i] as IElement;\n if (child.cfg.visible) {\n child.draw(context, region);\n } else {\n child.skipDraw();\n }\n }\n}\n\n// 这个地方的逻辑比较复杂,简单画了一张图:https://www.yuque.com/antv/ou292n/pcgt5g#OW1QE\nexport function checkRefresh(canvas, children: IElement[], region: Region) {\n const refreshElements = canvas.get('refreshElements');\n // 先遍历需要刷新的元素,将这些元素的父元素也设置 refresh\n each(refreshElements, (el) => {\n if (el !== canvas) {\n let parent = el.cfg.parent;\n while (parent && parent !== canvas && !parent.cfg.refresh) {\n parent.cfg.refresh = true;\n parent = parent.cfg.parent;\n }\n }\n });\n if (refreshElements[0] === canvas) {\n setChildrenRefresh(children, region);\n } else {\n // 检查所有子元素是否可以刷新\n checkChildrenRefresh(children, region);\n }\n}\n// 检查所有的子元素是否应该更新\nexport function checkChildrenRefresh(children: IElement[], region: Region) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i] as IElement;\n if (child.cfg.visible) {\n // 先判断 hasChanged,因为它的优先级判断应该高于 refresh\n if (child.cfg.hasChanged) {\n // 如果节点发生了 change,则需要级联设置子元素的 refresh\n child.cfg.refresh = true;\n if (child.isGroup()) {\n setChildrenRefresh(child.cfg.children, region);\n }\n } else if (child.cfg.refresh) {\n // 如果当前图形/分组 refresh = true,说明其子节点存在 changed\n if (child.isGroup()) {\n checkChildrenRefresh(child.cfg.children, region);\n }\n } else {\n // 这个分支说明此次局部刷新,所有的节点和父元素没有发生变化,仅需要检查包围盒(缓存)是否相交即可\n const refresh = checkElementRefresh(child, region);\n child.cfg.refresh = refresh;\n if (refresh && child.isGroup()) {\n // 如果需要刷新,说明子元素也需要刷新,继续进行判定\n checkChildrenRefresh(child.cfg.children, region);\n }\n }\n }\n }\n}\n\n// 由于对改变的图形放入 refreshElements 时做了优化,判定父元素 changed 时不加入\n// 那么有可能会出现 elements 都为空,所以最终 group\nexport function clearChanged(elements: IElement[]) {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n el.cfg.hasChanged = false;\n // 级联清理\n if (el.isGroup() && !el.destroyed) {\n clearChanged(el.cfg.children);\n }\n }\n}\n\n// 当某个父元素发生改变时,调用这个方法级联设置 refresh\nfunction setChildrenRefresh(children: IElement[], region: Region) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i] as IElement;\n if (!child.cfg.visible) {\n continue;\n }\n // let refresh = true;\n // 获取缓存的 bbox,如果这个 bbox 还存在则说明父元素不是矩阵发生了改变\n // const bbox = child.cfg.canvasBBox;\n // if (bbox) {\n // // 如果这时候\n // refresh = intersectRect(bbox, region);\n // }\n child.cfg.refresh = true;\n // 如果需要刷新当前节点,所有的子元素设置 refresh\n if (child.isGroup()) {\n setChildrenRefresh(child.get('children'), region);\n }\n }\n}\n\nfunction checkElementRefresh(shape: IElement, region: Region): boolean {\n const bbox = shape.cfg.cacheCanvasBBox;\n const isAllow = shape.cfg.isInView && bbox && intersectRect(bbox, region);\n return isAllow;\n}\n\n// 绘制 path\nexport function drawPath(shape, context, attrs, arcParamsCache) {\n const { path, startArrow, endArrow } = attrs;\n if (!path) {\n return;\n }\n let currentPoint = [0, 0]; // 当前图形\n let startMovePoint = [0, 0]; // 开始 M 的点,可能会有多个\n let distance = {\n dx: 0,\n dy: 0,\n };\n context.beginPath();\n for (let i = 0; i < path.length; i++) {\n const params = path[i];\n const command = params[0];\n if (i === 0 && startArrow && startArrow.d) {\n const tangent = shape.getStartTangent();\n distance = ArrowUtil.getShortenOffset(tangent[0][0], tangent[0][1], tangent[1][0], tangent[1][1], startArrow.d);\n } else if (i === path.length - 2 && path[i + 1][0] === 'Z' && endArrow && endArrow.d) {\n // 为了防止结尾为 Z 的 segment 缩短不起效,需要取最后两个 segment 特殊处理\n const lastPath = path[i + 1];\n if (lastPath[0] === 'Z') {\n const tangent = shape.getEndTangent();\n distance = ArrowUtil.getShortenOffset(tangent[0][0], tangent[0][1], tangent[1][0], tangent[1][1], endArrow.d);\n }\n } else if (i === path.length - 1 && endArrow && endArrow.d) {\n if (path[0] !== 'Z') {\n const tangent = shape.getEndTangent();\n distance = ArrowUtil.getShortenOffset(tangent[0][0], tangent[0][1], tangent[1][0], tangent[1][1], endArrow.d);\n }\n }\n\n const { dx, dy } = distance;\n // V,H,S,T 都在前面被转换成标准形式\n switch (command) {\n case 'M':\n context.moveTo(params[1] - dx, params[2] - dy);\n startMovePoint = [params[1], params[2]];\n break;\n case 'L':\n context.lineTo(params[1] - dx, params[2] - dy);\n break;\n case 'Q':\n context.quadraticCurveTo(params[1], params[2], params[3] - dx, params[4] - dy);\n break;\n case 'C':\n context.bezierCurveTo(params[1], params[2], params[3], params[4], params[5] - dx, params[6] - dy);\n break;\n case 'A': {\n let arcParams;\n // 为了加速绘制,可以提供参数的缓存,各个图形自己缓存\n if (arcParamsCache) {\n arcParams = arcParamsCache[i];\n if (!arcParams) {\n arcParams = getArcParams(currentPoint, params);\n arcParamsCache[i] = arcParams;\n }\n } else {\n arcParams = getArcParams(currentPoint, params);\n }\n const { cx, cy, rx, ry, startAngle, endAngle, xRotation, sweepFlag } = arcParams;\n // 直接使用椭圆的 api\n if (context.ellipse) {\n context.ellipse(cx, cy, rx, ry, xRotation, startAngle, endAngle, 1 - sweepFlag);\n } else {\n const r = rx > ry ? rx : ry;\n const scaleX = rx > ry ? 1 : rx / ry;\n const scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(xRotation);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, startAngle, endAngle, 1 - sweepFlag);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-xRotation);\n context.translate(-cx, -cy);\n }\n break;\n }\n case 'Z':\n context.closePath();\n break;\n default:\n break;\n }\n\n // 有了 Z 后,当前节点从开始 M 的点开始\n if (command === 'Z') {\n currentPoint = startMovePoint;\n } else {\n const len = params.length;\n currentPoint = [params[len - 2], params[len - 1]];\n }\n }\n}\n\n// 刷新图形元素(Shape 或者 Group)\nexport function refreshElement(element, changeType) {\n const canvas = element.get('canvas');\n // 只有存在于 canvas 上时生效\n if (canvas) {\n if (changeType === 'remove') {\n // 一旦 remove,则无法在 element 上拿到包围盒\n // destroy 后所有属性都拿不到,所以需要暂存一下\n // 这是一段 hack 的代码\n element._cacheCanvasBBox = element.get('cacheCanvasBBox');\n }\n // 防止反复刷新\n if (!element.get('hasChanged')) {\n // 但是始终要标记为 hasChanged,便于后面进行局部渲染\n element.set('hasChanged', true);\n\n // 本来只有局部渲染模式下,才需要记录更新的元素队列\n // if (canvas.get('localRefresh')) {\n // canvas.refreshElement(element, changeType, canvas);\n // }\n // 但对于 https://github.com/antvis/g/issues/422 的场景,全局渲染的模式下也需要记录更新的元素队列\n // 如果当前元素的父元素发生了改变,可以不放入队列,这句话大概能够提升 15% 的初次渲染性能\n if (!(element.cfg.parent && element.cfg.parent.get('hasChanged'))) {\n canvas.refreshElement(element, changeType, canvas);\n if (canvas.get('autoDraw')) {\n canvas.draw();\n }\n }\n }\n }\n}\n\nexport function getRefreshRegion(element): Region | undefined {\n let region;\n if (!element.destroyed) {\n const cacheBox = element.get('cacheCanvasBBox');\n const validCache = cacheBox && !!(cacheBox.width && cacheBox.height);\n const bbox = element.getCanvasBBox();\n const validBBox = bbox && !!(bbox.width && bbox.height);\n // 是否是有效 bbox 判定,一些 NaN 或者 宽高为 0 的情况过滤掉\n if (validCache && validBBox) {\n region = mergeRegion(cacheBox, bbox);\n } else if (validCache) {\n region = cacheBox;\n } else if (validBBox) {\n region = bbox;\n }\n } else {\n // 因为元素已经销毁所以无法获取到缓存的包围盒\n region = element['_cacheCanvasBBox'];\n }\n return region;\n}\n\nexport function getMergedRegion(elements): Region {\n if (!elements.length) {\n return null;\n }\n const minXArr = [];\n const minYArr = [];\n const maxXArr = [];\n const maxYArr = [];\n each(elements, (el: IElement) => {\n const region = getRefreshRegion(el);\n if (region) {\n minXArr.push(region.minX);\n minYArr.push(region.minY);\n maxXArr.push(region.maxX);\n maxYArr.push(region.maxY);\n }\n });\n return {\n minX: min(minXArr),\n minY: min(minYArr),\n maxX: max(maxXArr),\n maxY: max(maxYArr),\n };\n}\n\nexport function mergeView(region, viewRegion) {\n if (!region || !viewRegion) {\n return null;\n }\n // 不相交,则直接返回 null\n if (!intersectRect(region, viewRegion)) {\n return null;\n }\n return {\n minX: Math.max(region.minX, viewRegion.minX),\n minY: Math.max(region.minY, viewRegion.minY),\n maxX: Math.min(region.maxX, viewRegion.maxX),\n maxY: Math.min(region.maxY, viewRegion.maxY),\n };\n}\n","import { AbstractGroup } from '@antv/g-base';\nimport { ChangeType } from '@antv/g-base';\nimport { IElement } from './interfaces';\nimport { Region } from './types';\nimport ShapeBase from './shape/base';\nimport * as Shape from './shape';\nimport { applyAttrsToContext, drawChildren, refreshElement } from './util/draw';\nimport { each, max, min } from '@antv/util';\nimport { intersectRect } from './util/util';\n\nclass Group extends AbstractGroup {\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {\n refreshElement(this, changeType);\n }\n\n getShapeBase() {\n return Shape;\n }\n\n getGroupBase() {\n return Group;\n }\n\n // 同 shape 中的方法重复了\n _applyClip(context, clip: ShapeBase) {\n if (clip) {\n context.save();\n // 将 clip 的属性挂载到 context 上\n applyAttrsToContext(context, clip);\n // 绘制 clip 路径\n clip.createPath(context);\n context.restore();\n // 裁剪\n context.clip();\n clip._afterDraw();\n }\n }\n\n // 这个方法以前直接使用的 getCanvasBBox,由于 group 上没有缓存,所以每次重新计算,导致性能开销比较大\n // 大概能够节省全局渲染 15-20% 的性能,如果不在这里加缓存优化后 10W 个节点无法达到 5-6 ms,大概能够 30-40ms\n private cacheCanvasBBox() {\n const children = this.cfg.children;\n const xArr = [];\n const yArr = [];\n each(children, (child) => {\n const bbox = child.cfg.cacheCanvasBBox;\n // isInview 的判定是一旦图形或者分组渲染就要计算是否在视图内,\n // 这个判定 10W 个图形下差不多能够节省 5-6 ms 的开销\n if (bbox && child.cfg.isInView) {\n xArr.push(bbox.minX, bbox.maxX);\n yArr.push(bbox.minY, bbox.maxY);\n }\n });\n let bbox = null;\n if (xArr.length) {\n const minX = min(xArr);\n const maxX = max(xArr);\n const minY = min(yArr);\n const maxY = max(yArr);\n bbox = {\n minX,\n minY,\n x: minX,\n y: minY,\n maxX,\n maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n const canvas = this.cfg.canvas;\n if (canvas) {\n const viewRange = canvas.getViewRange();\n // 如果这个地方判定 isInView == false 设置 bbox 为 false 的话,拾取的性能会更高\n // 但是目前 10W 图形的拾取在 2-5ms 内,这个优化意义不大,可以后期观察再看\n this.set('isInView', intersectRect(bbox, viewRange));\n }\n } else {\n this.set('isInView', false);\n }\n\n this.set('cacheCanvasBBox', bbox);\n }\n\n draw(context: CanvasRenderingContext2D, region?: Region) {\n const children = this.cfg.children as IElement[];\n const allowDraw = region ? this.cfg.refresh : true; // 局部刷新需要判定\n // 这个地方需要判定,在 G6 的场景每个 group 都有 transform 的场景下性能会开销非常大\n // 通过 refresh 的判定,可以不刷新没有发生过变化的分组,不在视窗内的分组等等\n // 如果想进一步提升局部渲染性能,可以进一步优化 refresh 的判定,依然有潜力\n if (children.length && allowDraw) {\n context.save();\n // group 上的矩阵和属性也会应用到上下文上\n // 先将 attrs 应用到上下文中,再设置 clip。因为 clip 应该被当前元素的 matrix 所影响\n applyAttrsToContext(context, this);\n this._applyClip(context, this.getClip() as ShapeBase);\n drawChildren(context, children, region);\n context.restore();\n this.cacheCanvasBBox();\n }\n // 这里的成本比较大,如果不绘制则不再\n // this.set('cacheCanvasBBox', this.getCanvasBBox());\n this.cfg.refresh = null;\n // 绘制后,消除更新标记\n this.set('hasChanged', false);\n }\n // 绘制时被跳过,一般发生在分组隐藏时\n skipDraw() {\n this.set('cacheCanvasBBox', null);\n this.set('hasChanged', false);\n }\n}\n\nexport default Group;\n","import { AbstractShape } from '@antv/g-base';\nimport { ChangeType, BBox } from '@antv/g-base';\nimport { isNil, intersectRect } from '../util/util';\nimport { applyAttrsToContext, refreshElement } from '../util/draw';\nimport { getBBoxMethod } from '@antv/g-base';\nimport { Region } from '../types';\nimport * as Shape from './index';\nimport Group from '../group';\n\nclass ShapeBase extends AbstractShape {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n // 设置默认值\n return {\n ...attrs,\n lineWidth: 1,\n lineAppendWidth: 0,\n strokeOpacity: 1,\n fillOpacity: 1,\n };\n }\n\n getShapeBase() {\n return Shape;\n }\n\n getGroupBase() {\n return Group;\n }\n\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {\n refreshElement(this, changeType);\n }\n\n calculateBBox(): BBox {\n const type = this.get('type');\n const lineWidth = this.getHitLineWidth();\n // const attrs = this.attr();\n const bboxMethod = getBBoxMethod(type);\n const box = bboxMethod(this);\n const halfLineWidth = lineWidth / 2;\n const minX = box.x - halfLineWidth;\n const minY = box.y - halfLineWidth;\n const maxX = box.x + box.width + halfLineWidth;\n const maxY = box.y + box.height + halfLineWidth;\n return {\n x: minX,\n minX,\n y: minY,\n minY,\n width: box.width + lineWidth,\n height: box.height + lineWidth,\n maxX,\n maxY,\n };\n }\n\n isFill() {\n return !!this.attrs['fill'] || this.isClipShape();\n }\n\n isStroke() {\n return !!this.attrs['stroke'];\n }\n\n // 同 shape 中的方法重复了\n _applyClip(context, clip: ShapeBase) {\n if (clip) {\n context.save();\n // 将 clip 的属性挂载到 context 上\n applyAttrsToContext(context, clip);\n // 绘制 clip 路径\n clip.createPath(context);\n context.restore();\n // 裁剪\n context.clip();\n clip._afterDraw();\n }\n }\n\n // 绘制图形时需要考虑 region 限制\n draw(context: CanvasRenderingContext2D, region?: Region) {\n const clip = this.cfg.clipShape;\n // 如果指定了 region,同时不允许刷新时,直接返回\n if (region) {\n if (this.cfg.refresh === false) {\n // this._afterDraw();\n this.set('hasChanged', false);\n return;\n }\n // 是否相交需要考虑 clip 的包围盒\n const bbox = this.getCanvasBBox();\n if (!intersectRect(region, bbox)) {\n // 图形的包围盒与重绘区域不相交时,也需要清除标记\n this.set('hasChanged', false);\n // 存在多种情形需要更新 cacheCanvasBBox 和 isInview 的判定\n // 1. 之前图形在视窗内,但是现在不再视窗内\n // 2. 如果当前的图形以及父元素都没有发生过变化,refresh = false 不会走到这里,所以这里的图形都是父元素发生变化,但是没有在视图内的元素\n if (this.cfg.isInView) {\n this._afterDraw();\n }\n return;\n }\n }\n context.save();\n // 先将 attrs 应用到上下文中,再设置 clip。因为 clip 应该被当前元素的 matrix 所影响\n applyAttrsToContext(context, this);\n this._applyClip(context, clip as ShapeBase);\n this.drawPath(context);\n context.restore();\n this._afterDraw();\n }\n\n private getCanvasViewBox() {\n const canvas = this.cfg.canvas;\n if (canvas) {\n // @ts-ignore\n return canvas.getViewRange();\n }\n return null;\n }\n\n cacheCanvasBBox() {\n const canvasBBox = this.getCanvasViewBox();\n // 绘制的时候缓存包围盒\n if (canvasBBox) {\n const bbox = this.getCanvasBBox();\n const isInView = intersectRect(bbox, canvasBBox);\n this.set('isInView', isInView);\n // 不再视窗内 cacheCanvasBBox 设置成 null,会提升局部渲染的性能,\n // 因为在局部渲染影响的包围盒计算时不考虑这个图形的包围盒\n // 父元素 cacheCanvasBBox 计算的时候也不计算\n if (isInView) {\n this.set('cacheCanvasBBox', bbox);\n } else {\n this.set('cacheCanvasBBox', null);\n }\n }\n }\n\n _afterDraw() {\n this.cacheCanvasBBox();\n // 绘制后消除标记\n this.set('hasChanged', false);\n this.set('refresh', null);\n }\n\n skipDraw() {\n this.set('cacheCanvasBBox', null);\n this.set('isInView', null);\n this.set('hasChanged', false);\n }\n\n /**\n * 绘制图形的路径\n * @param {CanvasRenderingContext2D} context 上下文\n */\n drawPath(context: CanvasRenderingContext2D) {\n this.createPath(context);\n this.strokeAndFill(context);\n this.afterDrawPath(context);\n }\n\n /**\n * @protected\n * 填充图形\n * @param {CanvasRenderingContext2D} context context 上下文\n */\n fill(context: CanvasRenderingContext2D) {\n context.fill();\n }\n\n /**\n * @protected\n * 绘制图形边框\n * @param {CanvasRenderingContext2D} context context 上下文\n */\n stroke(context: CanvasRenderingContext2D) {\n context.stroke();\n }\n\n // 绘制或者填充\n strokeAndFill(context) {\n const { lineWidth, opacity, strokeOpacity, fillOpacity } = this.attrs;\n\n if (this.isFill()) {\n if (!isNil(fillOpacity) && fillOpacity !== 1) {\n context.globalAlpha = fillOpacity;\n this.fill(context);\n context.globalAlpha = opacity;\n } else {\n this.fill(context);\n }\n }\n\n if (this.isStroke()) {\n if (lineWidth > 0) {\n if (!isNil(strokeOpacity) && strokeOpacity !== 1) {\n context.globalAlpha = strokeOpacity;\n }\n this.stroke(context);\n }\n }\n this.afterDrawPath(context);\n }\n\n /**\n * @protected\n * 绘制图形的路径\n * @param {CanvasRenderingContext2D} context 上下文\n */\n createPath(context: CanvasRenderingContext2D) {}\n\n /**\n * 绘制完成 path 后的操作\n * @param {CanvasRenderingContext2D} context 上下文\n */\n afterDrawPath(context: CanvasRenderingContext2D) {}\n\n isInShape(refX: number, refY: number): boolean {\n // return HitUtil.isHitShape(this, refX, refY);\n const isStroke = this.isStroke();\n const isFill = this.isFill();\n const lineWidth = this.getHitLineWidth();\n return this.isInStrokeOrPath(refX, refY, isStroke, isFill, lineWidth);\n }\n\n // 之所以不拆成 isInStroke 和 isInPath 在于两者存在一些共同的计算\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n return false;\n }\n\n /**\n * 获取线拾取的宽度\n * @returns {number} 线的拾取宽度\n */\n getHitLineWidth() {\n if (!this.isStroke()) {\n return 0;\n }\n const attrs = this.attrs;\n return attrs['lineWidth'] + attrs['lineAppendWidth'];\n }\n}\n\nexport default ShapeBase;\n","/**\n * @fileoverview 圆\n * @author dxq613@gmail.com\n */\n\nimport ShapeBase from './base';\nimport { distance } from '../util/util';\n\nclass Circle extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n r: 0,\n };\n }\n\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n const attrs = this.attr();\n const cx = attrs.x;\n const cy = attrs.y;\n const r = attrs.r;\n const halfLineWidth = lineWidth / 2;\n const absDistance = distance(cx, cy, x, y);\n // 直接用距离,如果同时存在边和填充时,可以减少两次计算\n if (isFill && isStroke) {\n return absDistance <= r + halfLineWidth;\n }\n if (isFill) {\n return absDistance <= r;\n }\n if (isStroke) {\n return absDistance >= r - halfLineWidth && absDistance <= r + halfLineWidth;\n }\n return false;\n }\n\n createPath(context) {\n const attrs = this.attr();\n const cx = attrs.x;\n const cy = attrs.y;\n const r = attrs.r;\n context.beginPath();\n context.arc(cx, cy, r, 0, Math.PI * 2, false);\n context.closePath();\n }\n}\n\nexport default Circle;\n","/**\n * @fileoverview 椭圆\n * @author dxq613@gmail.com\n */\n\nimport ShapeBase from './base';\n\n// 根据椭圆公式计算 x*x/rx*rx + y*y/ry*ry;\nfunction ellipseDistance(squareX, squareY, rx, ry) {\n return squareX / (rx * rx) + squareY / (ry * ry);\n}\n\nclass Ellipse extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n rx: 0,\n ry: 0,\n };\n }\n\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n const attrs = this.attr();\n const halfLineWith = lineWidth / 2;\n const cx = attrs.x;\n const cy = attrs.y;\n const { rx, ry } = attrs;\n const squareX = (x - cx) * (x - cx);\n const squareY = (y - cy) * (y - cy);\n // 使用椭圆的公式: x*x/rx*rx + y*y/ry*ry = 1;\n if (isFill && isStroke) {\n return ellipseDistance(squareX, squareY, rx + halfLineWith, ry + halfLineWith) <= 1;\n }\n if (isFill) {\n return ellipseDistance(squareX, squareY, rx, ry) <= 1;\n }\n if (isStroke) {\n return (\n ellipseDistance(squareX, squareY, rx - halfLineWith, ry - halfLineWith) >= 1 &&\n ellipseDistance(squareX, squareY, rx + halfLineWith, ry + halfLineWith) <= 1\n );\n }\n return false;\n }\n\n createPath(context) {\n const attrs = this.attr();\n const cx = attrs.x;\n const cy = attrs.y;\n const rx = attrs.rx;\n const ry = attrs.ry;\n context.beginPath();\n // 兼容逻辑\n if (context.ellipse) {\n context.ellipse(cx, cy, rx, ry, 0, 0, Math.PI * 2, false);\n } else {\n // 如果不支持,则使用圆来绘制,进行变形\n const r = rx > ry ? rx : ry;\n const scaleX = rx > ry ? 1 : rx / ry;\n const scaleY = rx > ry ? ry / rx : 1;\n context.save();\n context.translate(cx, cy);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, 0, Math.PI * 2);\n context.restore();\n context.closePath();\n }\n }\n}\n\nexport default Ellipse;\n","/**\n * @fileoverview 图片\n * @author dxq613@gmail.com\n */\n\nimport ShapeBase from './base';\nimport { isString, isNil } from '../util/util';\nfunction isCanvas(dom) {\n return dom instanceof HTMLElement && isString(dom.nodeName) && dom.nodeName.toUpperCase() === 'CANVAS';\n}\n\nclass ImageShape extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n\n initAttrs(attrs) {\n this._setImage(attrs.img);\n }\n\n // image 不计算 stroke\n isStroke() {\n return false;\n }\n\n // 仅仅使用包围盒检测来进行拾取\n // 所以不需要复写 isInStrokeOrPath 的方法\n isOnlyHitBox() {\n return true;\n }\n\n _afterLoading() {\n if (this.get('toDraw') === true) {\n const canvas = this.get('canvas');\n if (canvas) {\n // 这段应该改成局部渲染\n canvas.draw();\n } else {\n // 这种方式如果发生遮挡会出现问题\n this.createPath(this.get('context'));\n }\n }\n }\n\n _setImage(img) {\n const attrs = this.attrs;\n if (isString(img)) {\n const image = new Image();\n image.onload = () => {\n // 图片未加载完,则已经被销毁\n if (this.destroyed) {\n return false;\n }\n // 缓存原始地址,可以做对比,防止重复加载图片\n // 如果考虑到在加载过程中可能替换 img 属性,则情况更加复杂\n // this.set('imgSrc', img);\n // 这里会循环调用 _setImage 方法,但不会再走这个分支\n this.attr('img', image);\n this.set('loading', false);\n this._afterLoading();\n const callback = this.get('callback');\n if (callback) {\n callback.call(this);\n }\n };\n // 设置跨域\n image.crossOrigin = 'Anonymous';\n\n image.src = img;\n // loading 过程中不绘制\n this.set('loading', true);\n } else if (img instanceof Image) {\n // 如果是一个 image 对象,则设置宽高\n if (!attrs.width) {\n attrs.width = img.width;\n }\n if (!attrs.height) {\n attrs.height = img.height;\n }\n } else if (isCanvas(img)) {\n // 如果设置了 canvas 对象\n if (!attrs.width) {\n attrs.width = Number(img.getAttribute('width'));\n }\n\n if (!attrs.height) {\n attrs.height, Number(img.getAttribute('height'));\n }\n }\n }\n\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n // 如果加载的已经是当前图片,则不再处理\n if (name === 'img') {\n // 可以加缓冲,&& this.get('imgSrc') !== value\n this._setImage(value);\n }\n }\n\n createPath(context: CanvasRenderingContext2D) {\n // 正在加载则不绘制\n if (this.get('loading')) {\n this.set('toDraw', true); // 加载完成后绘制\n this.set('context', context);\n return;\n }\n const attrs = this.attr();\n const { x, y, width, height, sx, sy, swidth, sheight } = attrs;\n\n const img = attrs.img;\n if (img instanceof Image || isCanvas(img)) {\n if (!isNil(sx) && !isNil(sy) && !isNil(swidth) && !isNil(sheight)) {\n context.drawImage(img, sx, sy, swidth, sheight, x, y, width, height);\n } else {\n context.drawImage(img, x, y, width, height);\n }\n }\n }\n}\n\nexport default ImageShape;\n","import { Line as LineUtil } from '@antv/g-math';\n\nexport default function inLine(x1, y1, x2, y2, lineWidth, x, y) {\n const minX = Math.min(x1, x2);\n const maxX = Math.max(x1, x2);\n const minY = Math.min(y1, y2);\n const maxY = Math.max(y1, y2);\n const halfWidth = lineWidth / 2;\n // 因为目前的方案是计算点到直线的距离,而有可能会在延长线上,所以要先判断是否在包围盒内\n // 这种方案会在水平或者竖直的情况下载线的延长线上有半 lineWidth 的误差\n if (!(x >= minX - halfWidth && x <= maxX + halfWidth && y >= minY - halfWidth && y <= maxY + halfWidth)) {\n return false;\n }\n // 因为已经计算了包围盒,所以仅需要计算到直线的距离即可,可以显著提升性能\n return LineUtil.pointToLine(x1, y1, x2, y2, x, y) <= lineWidth / 2;\n}\n","/**\n * @fileoverview 线\n * @author dxq613@gmail.com\n */\nimport { Line as LineUtil } from '@antv/g-math';\nimport ShapeBase from './base';\nimport inLine from '../util/in-stroke/line';\nimport * as ArrowUtil from '../util/arrow';\n\nclass Line extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n startArrow: false,\n endArrow: false,\n };\n }\n\n initAttrs(attrs) {\n this.setArrow();\n }\n\n // 更新属性时,检测是否更改了箭头\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n // 由于箭头的绘制依赖于 line 的诸多 attrs,因此这里不再对每个 attr 进行判断,attr 每次变化都会影响箭头的更新\n this.setArrow();\n }\n\n setArrow() {\n const attrs = this.attr();\n const { x1, y1, x2, y2, startArrow, endArrow } = attrs;\n if (startArrow) {\n ArrowUtil.addStartArrow(this, attrs, x2, y2, x1, y1);\n }\n if (endArrow) {\n ArrowUtil.addEndArrow(this, attrs, x1, y1, x2, y2);\n }\n }\n\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n if (!isStroke || !lineWidth) {\n return false;\n }\n const { x1, y1, x2, y2 } = this.attr();\n return inLine(x1, y1, x2, y2, lineWidth, x, y);\n }\n\n createPath(context) {\n const attrs = this.attr();\n const { x1, y1, x2, y2, startArrow, endArrow } = attrs;\n let startArrowDistance = {\n dx: 0,\n dy: 0,\n };\n let endArrowDistance = {\n dx: 0,\n dy: 0,\n };\n\n if (startArrow && startArrow.d) {\n startArrowDistance = ArrowUtil.getShortenOffset(x1, y1, x2, y2, attrs.startArrow.d);\n }\n if (endArrow && endArrow.d) {\n endArrowDistance = ArrowUtil.getShortenOffset(x1, y1, x2, y2, attrs.endArrow.d);\n }\n\n context.beginPath();\n // 如果自定义箭头,线条相应缩进\n context.moveTo(x1 + startArrowDistance.dx, y1 + startArrowDistance.dy);\n context.lineTo(x2 - endArrowDistance.dx, y2 - endArrowDistance.dy);\n }\n\n afterDrawPath(context) {\n const startArrowShape = this.get('startArrowShape');\n const endArrowShape = this.get('endArrowShape');\n if (startArrowShape) {\n startArrowShape.draw(context);\n }\n if (endArrowShape) {\n endArrowShape.draw(context);\n }\n }\n\n /**\n * Get length of line\n * @return {number} length\n */\n getTotalLength() {\n const { x1, y1, x2, y2 } = this.attr();\n return LineUtil.length(x1, y1, x2, y2);\n }\n\n /**\n * Get point according to ratio\n * @param {number} ratio\n * @return {Point} point\n */\n getPoint(ratio: number) {\n const { x1, y1, x2, y2 } = this.attr();\n return LineUtil.pointAt(x1, y1, x2, y2, ratio);\n }\n}\n\nexport default Line;\n","import { each, isArray, isString } from '@antv/util';\n\nconst regexTags = /[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/ig;\nconst regexDot = /[^\\s\\,]+/ig;\n\nfunction parsePath(p: string): string[] {\n let path = p || [] as string | string[];\n if (isArray(path)) {\n return path;\n }\n\n if (isString(path)) {\n path = path.match(regexTags);\n each(path, (item, index) => {\n // @ts-ignore\n item = item.match(regexDot);\n if (item[0].length > 1) {\n const tag = item[0].charAt(0);\n // @ts-ignore\n item.splice(1, 0, item[0].substr(1));\n // @ts-ignore\n item[0] = tag;\n }\n // @ts-ignore\n each(item, function (sub, i) {\n if (!isNaN(sub)) {\n // @ts-ignore\n item[i] = +sub;\n }\n });\n // @ts-ignore\n path[index] = item;\n });\n return path;\n }\n}\n\nexport default parsePath;\n","import { isArray } from '@antv/util';\n\nconst SPACES = '\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029';\nconst PATH_COMMAND = new RegExp('([a-z])[' + SPACES + ',]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[' + SPACES + ']*,?[' + SPACES + ']*)+)', 'ig');\nconst PATH_VALUES = new RegExp('(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[' + SPACES + ']*,?[' + SPACES + ']*', 'ig');\n\n// Parses given path string into an array of arrays of path segments\nexport default function parsePathString(pathString: string) {\n if (!pathString) {\n return null;\n }\n\n if (isArray(pathString)) {\n return pathString;\n }\n const paramCounts = {\n a: 7,\n c: 6,\n o: 2,\n h: 1,\n l: 2,\n m: 2,\n r: 4,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n u: 3,\n z: 0,\n };\n const data = [];\n\n String(pathString).replace(PATH_COMMAND, function (a, b, c) {\n const params = [];\n let name = b.toLowerCase();\n c.replace(PATH_VALUES, function (a, b) {\n b && params.push(+b);\n });\n if (name === 'm' && params.length > 2) {\n data.push([ b ].concat(params.splice(0, 2)));\n name = 'l';\n b = b === 'm' ? 'l' : 'L';\n }\n if (name === 'o' && params.length === 1) {\n data.push([ b, params[0] ]);\n }\n if (name === 'r') {\n data.push([ b ].concat(params));\n } else {\n while (params.length >= paramCounts[name]) {\n data.push([ b ].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n }\n return '';\n });\n\n return data;\n}\n","import parsePathString from './parse-path-string';\nconst REGEX_MD = /[a-z]/;\n\nfunction toSymmetry(p, c) { // 点对称\n return [\n c[0] + (c[0] - p[0]),\n c[1] + (c[1] - p[1]),\n ];\n}\n\nexport default function pathToAbsolute(pathString: string) {\n const pathArray = parsePathString(pathString);\n\n if (!pathArray || !pathArray.length) {\n return [\n [ 'M', 0, 0 ],\n ];\n }\n let needProcess = false; // 如果存在小写的命令或者 V,H,T,S 则需要处理\n for (let i = 0; i < pathArray.length; i++) {\n const cmd = pathArray[i][0];\n // 如果存在相对位置的命令,则中断返回\n if (REGEX_MD.test(cmd) || [ 'V', 'H', 'T', 'S' ].indexOf(cmd) >= 0) {\n needProcess = true;\n break;\n }\n }\n // 如果不存在相对命令,则直接返回\n // 如果在业务上都写绝对路径,这种方式最快,仅做了一次检测\n if (!needProcess) {\n return pathArray;\n }\n\n const res = [];\n let x = 0;\n let y = 0;\n let mx = 0;\n let my = 0;\n let start = 0;\n let pa0;\n let dots;\n const first = pathArray[0];\n if (first[0] === 'M' || first[0] === 'm') {\n x = +first[1];\n y = +first[2];\n mx = x;\n my = y;\n start++;\n res[0] = [ 'M', x, y ];\n }\n\n for (let i = start, ii = pathArray.length; i < ii; i++) {\n const pa = pathArray[i];\n const preParams = res[i - 1]; // 取前一个已经处理后的节点,否则会出现问题\n let r = [];\n const cmd = pa[0];\n const upCmd = cmd.toUpperCase();\n if (cmd !== upCmd) {\n r[0] = upCmd;\n switch (upCmd) {\n case 'A':\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case 'V':\n r[1] = +pa[1] + y;\n break;\n case 'H':\n r[1] = +pa[1] + x;\n break;\n case 'M':\n mx = +pa[1] + x;\n my = +pa[2] + y;\n r[1] = mx;\n r[2] = my;\n break; // for lint\n default:\n for (let j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + ((j % 2) ? x : y);\n }\n }\n } else { // 如果本来已经大写,则不处理\n r = pathArray[i];\n }\n // 需要在外面统一做,同时处理 V,H,S,T 等特殊指令\n switch (upCmd) {\n case 'Z':\n x = +mx;\n y = +my;\n break;\n case 'H':\n x = r[1];\n r = [ 'L', x, y ];\n break;\n case 'V':\n y = r[1];\n r = [ 'L', x, y ];\n break;\n case 'T':\n x = r[1];\n y = r[2];\n // 以 x, y 为中心的,上一个控制点的对称点\n // 需要假设上一个节点的命令为 Q\n const symetricT = toSymmetry([ preParams[1], preParams[2] ], [ preParams[3], preParams[4] ]);\n r = [ 'Q', symetricT[0], symetricT[1], x, y ];\n break;\n case 'S':\n x = r[r.length - 2];\n y = r[r.length - 1];\n // 以 x,y 为中心,取上一个控制点,\n // 需要假设上一个线段为 C 或者 S\n const length = preParams.length;\n const symetricS = toSymmetry(\n [ preParams[length - 4], preParams[length - 3] ],\n [ preParams[length - 2], preParams[length - 1] ]);\n r = [ 'C', symetricS[0], symetricS[1], r[1], r[2], x, y ];\n break;\n case 'M':\n mx = r[r.length - 2];\n my = r[r.length - 1];\n break; // for lint\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n res.push(r);\n }\n\n return res;\n}\n","const TAU = Math.PI * 2\n\nconst mapToEllipse = ({ x, y }: { x: number, y: number }, rx: number, ry: number, cosphi: number, sinphi: number, centerx: number, centery: number) => {\n x *= rx\n y *= ry\n\n const xp = cosphi * x - sinphi * y\n const yp = sinphi * x + cosphi * y\n\n return {\n x: xp + centerx,\n y: yp + centery\n }\n}\n\nconst approxUnitArc = (ang1: number, ang2: number) => {\n // If 90 degree circular arc, use a constant\n // as derived from http://spencermortensen.com/articles/bezier-circle\n const a = ang2 === 1.5707963267948966\n ? 0.551915024494\n : ang2 === -1.5707963267948966\n ? -0.551915024494\n : 4 / 3 * Math.tan(ang2 / 4)\n\n const x1 = Math.cos(ang1)\n const y1 = Math.sin(ang1)\n const x2 = Math.cos(ang1 + ang2)\n const y2 = Math.sin(ang1 + ang2)\n\n return [\n {\n x: x1 - y1 * a,\n y: y1 + x1 * a\n },\n {\n x: x2 + y2 * a,\n y: y2 - x2 * a\n },\n {\n x: x2,\n y: y2\n }\n ]\n}\n\nconst vectorAngle = (ux: number, uy: number, vx: number, vy: number) => {\n const sign = (ux * vy - uy * vx < 0) ? -1 : 1\n\n let dot = ux * vx + uy * vy\n\n if (dot > 1) {\n dot = 1\n }\n\n if (dot < -1) {\n dot = -1\n }\n\n return sign * Math.acos(dot)\n}\n\nconst getArcCenter = (\n px: any,\n py: any,\n cx: any,\n cy: any,\n rx: number,\n ry: number,\n largeArcFlag: number,\n sweepFlag: number,\n sinphi: number,\n cosphi: number,\n pxp: number,\n pyp: number\n) => {\n const rxsq = Math.pow(rx, 2)\n const rysq = Math.pow(ry, 2)\n const pxpsq = Math.pow(pxp, 2)\n const pypsq = Math.pow(pyp, 2)\n\n let radicant = (rxsq * rysq) - (rxsq * pypsq) - (rysq * pxpsq)\n\n if (radicant < 0) {\n radicant = 0\n }\n\n radicant /= (rxsq * pypsq) + (rysq * pxpsq)\n radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1)\n\n const centerxp = radicant * rx / ry * pyp\n const centeryp = radicant * -ry / rx * pxp\n\n const centerx = cosphi * centerxp - sinphi * centeryp + (px + cx) / 2\n const centery = sinphi * centerxp + cosphi * centeryp + (py + cy) / 2\n\n const vx1 = (pxp - centerxp) / rx\n const vy1 = (pyp - centeryp) / ry\n const vx2 = (-pxp - centerxp) / rx\n const vy2 = (-pyp - centeryp) / ry\n\n let ang1 = vectorAngle(1, 0, vx1, vy1)\n let ang2 = vectorAngle(vx1, vy1, vx2, vy2)\n\n if (sweepFlag === 0 && ang2 > 0) {\n ang2 -= TAU\n }\n\n if (sweepFlag === 1 && ang2 < 0) {\n ang2 += TAU\n }\n\n return [ centerx, centery, ang1, ang2 ]\n}\n\nconst arcToBezier = ({\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n xAxisRotation = 0,\n largeArcFlag = 0,\n sweepFlag = 0\n}) => {\n const curves = []\n\n if (rx === 0 || ry === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n const sinphi = Math.sin(xAxisRotation * TAU / 360)\n const cosphi = Math.cos(xAxisRotation * TAU / 360)\n\n const pxp = cosphi * (px - cx) / 2 + sinphi * (py - cy) / 2\n const pyp = -sinphi * (px - cx) / 2 + cosphi * (py - cy) / 2\n\n if (pxp === 0 && pyp === 0) {\n return [{ x1: 0, y1: 0, x2: 0, y2: 0, x: cx, y: cy }];\n }\n\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n\n const lambda =\n Math.pow(pxp, 2) / Math.pow(rx, 2) +\n Math.pow(pyp, 2) / Math.pow(ry, 2)\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda)\n ry *= Math.sqrt(lambda)\n }\n\n let [ centerx, centery, ang1, ang2 ] = getArcCenter(\n px,\n py,\n cx,\n cy,\n rx,\n ry,\n largeArcFlag,\n sweepFlag,\n sinphi,\n cosphi,\n pxp,\n pyp\n )\n\n // If 'ang2' == 90.0000000001, then `ratio` will evaluate to\n // 1.0000000001. This causes `segments` to be greater than one, which is an\n // unecessary split, and adds extra points to the bezier curve. To alleviate\n // this issue, we round to 1.0 when the ratio is close to 1.0.\n let ratio = Math.abs(ang2) / (TAU / 4)\n if (Math.abs(1.0 - ratio) < 0.0000001) {\n ratio = 1.0\n }\n\n const segments = Math.max(Math.ceil(ratio), 1)\n\n ang2 /= segments\n\n for (let i = 0; i < segments; i++) {\n curves.push(approxUnitArc(ang1, ang2))\n ang1 += ang2\n }\n\n return curves.map(curve => {\n const { x: x1, y: y1 } = mapToEllipse(curve[ 0 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x: x2, y: y2 } = mapToEllipse(curve[ 1 ], rx, ry, cosphi, sinphi, centerx, centery)\n const { x, y } = mapToEllipse(curve[ 2 ], rx, ry, cosphi, sinphi, centerx, centery)\n\n return { x1, y1, x2, y2, x, y }\n })\n}\n\nexport function arcToCubic(x1: number, y1: number, rx: number, ry: number, angle: number, LAF: number, SF: number, x2: number, y2: number) {\n const curves = arcToBezier({\n px: x1,\n py: y1,\n cx: x2,\n cy: y2,\n rx,\n ry,\n xAxisRotation: angle,\n largeArcFlag: LAF,\n sweepFlag: SF,\n });\n\n return curves.reduce((prev, cur) => {\n const { x1, y1, x2, y2, x, y } = cur;\n prev.push(x1, y1, x2, y2, x, y);\n return prev;\n }, [] as number[]);\n}\n","import { mod, toRadian } from '@antv/util';\n\n// 向量长度\nfunction vMag(v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n}\n\n// u.v/|u||v|,计算夹角的余弦值\nfunction vRatio(u, v) {\n // 当存在一个向量的长度为 0 时,夹角也为 0,即夹角的余弦值为 1\n return vMag(u) * vMag(v) ? (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v)) : 1;\n}\n\n// 向量角度\nfunction vAngle(u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n}\n\n/**\n * 判断两个点是否重合,点坐标的格式为 [x, y]\n * @param {Array} point1 第一个点\n * @param {Array} point2 第二个点\n */\nexport function isSamePoint(point1, point2) {\n return point1[0] === point2[0] && point1[1] === point2[1];\n}\n\n// A 0:rx 1:ry 2:x-axis-rotation 3:large-arc-flag 4:sweep-flag 5: x 6: y\nexport default function getArcParams(startPoint, params) {\n let rx = params[1];\n let ry = params[2];\n const xRotation = mod(toRadian(params[3]), Math.PI * 2);\n const arcFlag = params[4];\n const sweepFlag = params[5];\n // 弧形起点坐标\n const x1 = startPoint[0];\n const y1 = startPoint[1];\n // 弧形终点坐标\n const x2 = params[6];\n const y2 = params[7];\n const xp = (Math.cos(xRotation) * (x1 - x2)) / 2.0 + (Math.sin(xRotation) * (y1 - y2)) / 2.0;\n const yp = (-1 * Math.sin(xRotation) * (x1 - x2)) / 2.0 + (Math.cos(xRotation) * (y1 - y2)) / 2.0;\n const lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n const diff = rx * rx * (yp * yp) + ry * ry * (xp * xp);\n\n let f = diff ? Math.sqrt((rx * rx * (ry * ry) - diff) / diff) : 1;\n\n if (arcFlag === sweepFlag) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n\n // 旋转前的起点坐标,且当长半轴和短半轴的长度为 0 时,坐标按 (0, 0) 处理\n const cxp = ry ? (f * rx * yp) / ry : 0;\n const cyp = rx ? (f * -ry * xp) / rx : 0;\n\n // 椭圆圆心坐标\n const cx = (x1 + x2) / 2.0 + Math.cos(xRotation) * cxp - Math.sin(xRotation) * cyp;\n const cy = (y1 + y2) / 2.0 + Math.sin(xRotation) * cxp + Math.cos(xRotation) * cyp;\n\n // 起始点的单位向量\n const u = [ (xp - cxp) / rx, (yp - cyp) / ry ];\n // 终止点的单位向量\n const v = [ (-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry ];\n // 计算起始点和圆心的连线,与 x 轴正方向的夹角\n const theta = vAngle([ 1, 0 ], u);\n\n // 计算圆弧起始点和终止点与椭圆圆心连线的夹角\n let dTheta = vAngle(u, v);\n\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (sweepFlag === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (sweepFlag === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return {\n cx,\n cy,\n // 弧形的起点和终点相同时,长轴和短轴的长度按 0 处理\n rx: isSamePoint(startPoint, [ x2, y2 ]) ? 0 : rx,\n ry: isSamePoint(startPoint, [ x2, y2 ]) ? 0 : ry,\n startAngle: theta,\n endAngle: theta + dTheta,\n xRotation,\n arcFlag,\n sweepFlag,\n };\n}\n","import getArcParams from './get-arc-params';\nimport { isSamePoint } from './get-arc-params';\nimport parsePath from './parse-path';\n\n// 点对称\nfunction toSymmetry(point, center) {\n return [ center[0] + (center[0] - point[0]), center[1] + (center[1] - point[1]) ];\n}\n\nexport default function getSegments(path) {\n path = parsePath(path);\n const segments = [];\n let currentPoint = null; // 当前图形\n let nextParams = null; // 下一节点的 path 参数\n let startMovePoint = null; // 开始 M 的点,可能会有多个\n let lastStartMovePointIndex = 0; // 最近一个开始点 M 的索引\n const count = path.length;\n for (let i = 0; i < count; i++) {\n const params = path[i];\n nextParams = path[i + 1];\n const command = params[0];\n // 数学定义上的参数,便于后面的计算\n const segment = {\n command,\n prePoint: currentPoint,\n params,\n startTangent: null,\n endTangent: null,\n };\n switch (command) {\n case 'M':\n startMovePoint = [ params[1], params[2] ];\n lastStartMovePointIndex = i;\n break;\n case 'A':\n const arcParams = getArcParams(currentPoint, params);\n segment['arcParams'] = arcParams;\n break;\n default:\n break;\n }\n if (command === 'Z') {\n // 有了 Z 后,当前节点从开始 M 的点开始\n currentPoint = startMovePoint;\n // 如果当前点的命令为 Z,相当于当前点为最近一个 M 点,则下一个点直接指向最近一个 M 点的下一个点\n nextParams = path[lastStartMovePointIndex + 1];\n } else {\n const len = params.length;\n currentPoint = [ params[len - 2], params[len - 1] ];\n }\n if (nextParams && nextParams[0] === 'Z') {\n // 如果下一个点的命令为 Z,则下一个点直接指向最近一个 M 点\n nextParams = path[lastStartMovePointIndex];\n if (segments[lastStartMovePointIndex]) {\n // 如果下一个点的命令为 Z,则最近一个 M 点的前一个点为当前点\n segments[lastStartMovePointIndex].prePoint = currentPoint;\n }\n }\n segment['currentPoint'] = currentPoint;\n // 如果当前点与最近一个 M 点相同,则最近一个 M 点的前一个点为当前点的前一个点\n if (\n segments[lastStartMovePointIndex] &&\n isSamePoint(currentPoint, segments[lastStartMovePointIndex].currentPoint)\n ) {\n segments[lastStartMovePointIndex].prePoint = segment.prePoint;\n }\n const nextPoint = nextParams ? [ nextParams[nextParams.length - 2], nextParams[nextParams.length - 1] ] : null;\n segment['nextPoint'] = nextPoint;\n // Add startTangent and endTangent\n const { prePoint } = segment;\n if ([ 'L', 'H', 'V' ].includes(command)) {\n segment.startTangent = [ prePoint[0] - currentPoint[0], prePoint[1] - currentPoint[1] ];\n segment.endTangent = [ currentPoint[0] - prePoint[0], currentPoint[1] - prePoint[1] ];\n } else if (command === 'Q') {\n // 二次贝塞尔曲线只有一个控制点\n const cp = [ params[1], params[2] ];\n // 二次贝塞尔曲线的终点为 currentPoint\n segment.startTangent = [ prePoint[0] - cp[0], prePoint[1] - cp[1] ];\n segment.endTangent = [ currentPoint[0] - cp[0], currentPoint[1] - cp[1] ];\n } else if (command === 'T') {\n const preSegment = segments[i - 1];\n const cp = toSymmetry(preSegment.currentPoint, prePoint);\n if (preSegment.command === 'Q') {\n segment.command = 'Q';\n segment.startTangent = [ prePoint[0] - cp[0], prePoint[1] - cp[1] ];\n segment.endTangent = [ currentPoint[0] - cp[0], currentPoint[1] - cp[1] ];\n } else {\n segment.command = 'TL';\n segment.startTangent = [ prePoint[0] - currentPoint[0], prePoint[1] - currentPoint[1] ];\n segment.endTangent = [ currentPoint[0] - prePoint[0], currentPoint[1] - prePoint[1] ];\n }\n } else if (command === 'C') {\n // 三次贝塞尔曲线有两个控制点\n const cp1 = [ params[1], params[2] ];\n const cp2 = [ params[3], params[4] ];\n segment.startTangent = [ prePoint[0] - cp1[0], prePoint[1] - cp1[1] ];\n segment.endTangent = [ currentPoint[0] - cp2[0], currentPoint[1] - cp2[1] ];\n\n // horizontal line, eg. ['C', 100, 100, 100, 100, 200, 200]\n if (segment.startTangent[0] === 0 && segment.startTangent[1] === 0) {\n segment.startTangent = [cp1[0] - cp2[0], cp1[1] - cp2[1]];\n }\n if (segment.endTangent[0] === 0 && segment.endTangent[1] === 0) {\n segment.endTangent = [cp2[0] - cp1[0], cp2[1] - cp1[1]];\n }\n } else if (command === 'S') {\n const preSegment = segments[i - 1];\n const cp1 = toSymmetry(preSegment.currentPoint, prePoint);\n const cp2 = [ params[1], params[2] ];\n if (preSegment.command === 'C') {\n segment.command = 'C'; // 将 S 命令变换为 C 命令\n segment.startTangent = [ prePoint[0] - cp1[0], prePoint[1] - cp1[1] ];\n segment.endTangent = [ currentPoint[0] - cp2[0], currentPoint[1] - cp2[1] ];\n } else {\n segment.command = 'SQ'; // 将 S 命令变换为 SQ 命令\n segment.startTangent = [ prePoint[0] - cp2[0], prePoint[1] - cp2[1] ];\n segment.endTangent = [ currentPoint[0] - cp2[0], currentPoint[1] - cp2[1] ];\n }\n } else if (command === 'A') {\n let d = 0.001;\n const {\n cx = 0,\n cy = 0,\n rx = 0,\n ry = 0,\n sweepFlag = 0,\n startAngle = 0,\n endAngle = 0,\n } = segment['arcParams'] || {};\n if (sweepFlag === 0) {\n d *= -1;\n }\n const dx1 = rx * Math.cos(startAngle - d) + cx;\n const dy1 = ry * Math.sin(startAngle - d) + cy;\n segment.startTangent = [ dx1 - startMovePoint[0], dy1 - startMovePoint[1] ];\n const dx2 = rx * Math.cos(startAngle + endAngle + d) + cx;\n const dy2 = ry * Math.sin(startAngle + endAngle - d) + cy;\n segment.endTangent = [ prePoint[0] - dx2, prePoint[1] - dy2 ];\n }\n segments.push(segment);\n }\n return segments;\n}\n","/**\n * @fileoverview Marker\n * @author dxq613@gmail.com\n */\n\nimport { isNil } from '@antv/util';\nimport { path2Absolute } from '@antv/path-util';\nimport ShapeBase from './base';\nimport { isFunction } from '../util/util';\nimport { drawPath } from '../util/draw';\n\nconst Symbols = {\n // 圆\n circle(x, y, r) {\n return [\n ['M', x - r, y],\n ['A', r, r, 0, 1, 0, x + r, y],\n ['A', r, r, 0, 1, 0, x - r, y],\n ];\n },\n // 正方形\n square(x, y, r) {\n return [['M', x - r, y - r], ['L', x + r, y - r], ['L', x + r, y + r], ['L', x - r, y + r], ['Z']];\n },\n // 菱形\n diamond(x, y, r) {\n return [['M', x - r, y], ['L', x, y - r], ['L', x + r, y], ['L', x, y + r], ['Z']];\n },\n // 三角形\n triangle(x, y, r) {\n const diffY = r * Math.sin((1 / 3) * Math.PI);\n return [['M', x - r, y + diffY], ['L', x, y - diffY], ['L', x + r, y + diffY], ['Z']];\n },\n // 倒三角形\n 'triangle-down'(x, y, r) {\n const diffY = r * Math.sin((1 / 3) * Math.PI);\n return [['M', x - r, y - diffY], ['L', x + r, y - diffY], ['L', x, y + diffY], ['Z']];\n },\n};\n\nclass Marker extends ShapeBase {\n initAttrs(attrs) {\n this._resetParamsCache();\n }\n\n // 重置绘制 path 存储的缓存\n _resetParamsCache() {\n // 为了加速 path 的绘制、拾取和计算,这个地方可以缓存很多东西\n // 这些缓存都是第一次需要时计算和存储,虽然增加了复杂度,但是频繁调用的方法,性能有很大提升\n this.set('paramsCache', {}); // 清理缓存\n }\n\n // 更新属性时,检测是否更改了 path\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n if (['symbol', 'x', 'y', 'r', 'radius'].indexOf(name) !== -1) {\n // path 相关属性更改时,清理缓存\n this._resetParamsCache();\n }\n }\n\n // 仅仅使用包围盒检测来进行拾取\n // 所以不需要复写 isInStrokeOrPath 的方法\n isOnlyHitBox() {\n return true;\n }\n\n _getR(attrs) {\n // 兼容 r 和 radius 两种写法,推荐使用 r\n return isNil(attrs.r) ? attrs.radius : attrs.r;\n }\n\n _getPath() {\n const attrs = this.attr();\n const { x, y } = attrs;\n const symbol = attrs.symbol || 'circle';\n const r = this._getR(attrs);\n let method;\n let path;\n if (isFunction(symbol)) {\n method = symbol;\n path = method(x, y, r);\n // 将 path 转成绝对路径\n path = path2Absolute(path);\n } else {\n // 内置 symbol 的 path 都是绝对路径,直接绘制即可,不需要对 path 进行特殊处理\n method = Marker.Symbols[symbol];\n\n if (!method) {\n console.warn(`${symbol} marker is not supported.`);\n return null;\n }\n\n path = method(x, y, r);\n }\n\n return path;\n }\n\n createPath(context) {\n const path = this._getPath();\n const paramsCache = this.get('paramsCache');\n drawPath(this, context, { path }, paramsCache);\n }\n\n static Symbols = Symbols;\n}\n\nexport default Marker;\n","import { getOffScreenContext } from '@antv/g-base';\n\nexport default function isPointInPath(shape, x, y) {\n const ctx = getOffScreenContext();\n shape.createPath(ctx);\n return ctx.isPointInPath(x, y);\n}\n","/**\n * @fileoverview 判断点是否在多边形内\n * @author dxq613@gmail.com\n */\n\n// 多边形的射线检测,参考:https://blog.csdn.net/WilliamSun0122/article/details/77994526\nconst tolerance = 1e-6;\n// 三态函数,判断两个double在eps精度下的大小关系\nfunction dcmp(x) {\n if (Math.abs(x) < tolerance) {\n return 0;\n }\n\n return x < 0 ? -1 : 1;\n}\n\n// 判断点Q是否在p1和p2的线段上\nfunction onSegment(p1, p2, q) {\n if (\n (q[0] - p1[0]) * (p2[1] - p1[1]) === (p2[0] - p1[0]) * (q[1] - p1[1]) &&\n Math.min(p1[0], p2[0]) <= q[0] &&\n q[0] <= Math.max(p1[0], p2[0]) &&\n Math.min(p1[1], p2[1]) <= q[1] &&\n q[1] <= Math.max(p1[1], p2[1])\n ) {\n return true;\n }\n return false;\n}\n\n// 判断点P在多边形内-射线法\nexport default function isInPolygon(points, x, y) {\n let isHit = false;\n const n = points.length;\n if (n <= 2) {\n // svg 中点小于 3 个时,不显示,也无法被拾取\n return false;\n }\n for (let i = 0; i < n; i++) {\n const p1 = points[i];\n const p2 = points[(i + 1) % n];\n if (onSegment(p1, p2, [x, y])) {\n // 点在多边形一条边上\n return true;\n }\n // 前一个判断min(p1[1],p2[1]) 0 !== dcmp(p2[1] - y) > 0 &&\n dcmp(x - ((y - p1[1]) * (p1[0] - p2[0])) / (p1[1] - p2[1]) - p1[0]) < 0\n ) {\n isHit = !isHit;\n }\n }\n return isHit;\n}\n","import { distance } from '../util';\nexport default function arc(cx, cy, r, startAngle, endAngle, lineWidth, x, y) {\n const angle = (Math.atan2(y - cy, x - cx) + Math.PI * 2) % (Math.PI * 2); // 转换到 0 - 2 * Math.PI 之间\n if (angle < startAngle || angle > endAngle) {\n return false;\n }\n const point = {\n x: cx + r * Math.cos(angle),\n y: cy + r * Math.sin(angle),\n };\n return distance(point.x, point.y, x, y) <= lineWidth / 2;\n}\n","/**\n * @fileoverview path 的一些工具\n * @author dxq613@gmail.com\n */\nimport { PathUtil } from '@antv/g-base';\nimport { Quad as QuadUtil } from '@antv/g-math';\nimport { Cubic as CubicUtil } from '@antv/g-math';\nimport { ext } from '@antv/matrix-util';\nimport * as vec3 from 'gl-matrix/vec3';\nimport { inBox } from './util';\nimport inLine from './in-stroke/line';\nimport inArc from './in-stroke/arc';\n\nconst { transform } = ext;\n\nfunction hasArc(path) {\n let hasArc = false;\n const count = path.length;\n for (let i = 0; i < count; i++) {\n const params = path[i];\n const cmd = params[0];\n if (cmd === 'C' || cmd === 'A' || cmd === 'Q') {\n hasArc = true;\n break;\n }\n }\n return hasArc;\n}\n\nfunction isPointInStroke(segments, lineWidth, x, y, length) {\n let isHit = false;\n const halfWidth = lineWidth / 2;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const { currentPoint, params, prePoint, box } = segment;\n // 如果在前面已经生成过包围盒,直接按照包围盒计算\n if (box && !inBox(box.x - halfWidth, box.y - halfWidth, box.width + lineWidth, box.height + lineWidth, x, y)) {\n continue;\n }\n switch (segment.command) {\n // L 和 Z 都是直线, M 不进行拾取\n case 'L':\n case 'Z':\n isHit = inLine(prePoint[0], prePoint[1], currentPoint[0], currentPoint[1], lineWidth, x, y);\n break;\n case 'Q':\n const qDistance = QuadUtil.pointDistance(\n prePoint[0],\n prePoint[1],\n params[1],\n params[2],\n params[3],\n params[4],\n x,\n y\n );\n isHit = qDistance <= lineWidth / 2;\n break;\n case 'C':\n const cDistance = CubicUtil.pointDistance(\n prePoint[0], // 上一段结束位置, 即 C 的起始点\n prePoint[1],\n params[1], // 'C' 的参数,1、2 为第一个控制点,3、4 为第二个控制点,5、6 为结束点\n params[2],\n params[3],\n params[4],\n params[5],\n params[6],\n x,\n y,\n length\n );\n isHit = cDistance <= lineWidth / 2;\n break;\n case 'A':\n // 计算点到椭圆圆弧的距离,暂时使用近似算法,后面可以改成切割法求最近距离\n const arcParams = segment.arcParams;\n const { cx, cy, rx, ry, startAngle, endAngle, xRotation } = arcParams;\n const p = [x, y, 1];\n const r = rx > ry ? rx : ry;\n const scaleX = rx > ry ? 1 : rx / ry;\n const scaleY = rx > ry ? ry / rx : 1;\n const m = transform(null, [\n ['t', -cx, -cy],\n ['r', -xRotation],\n ['s', 1 / scaleX, 1 / scaleY],\n ]);\n vec3.transformMat3(p, p, m);\n isHit = inArc(0, 0, r, startAngle, endAngle, lineWidth, p[0], p[1]);\n break;\n default:\n break;\n }\n if (isHit) {\n break;\n }\n }\n return isHit;\n}\n\n/**\n * 提取出内部的闭合多边形和非闭合的多边形,假设 path 不存在圆弧\n * @param {Array} path 路径\n * @returns {Array} 点的集合\n */\nfunction extractPolygons(path) {\n const count = path.length;\n const polygons = [];\n const polylines = [];\n let points = []; // 防止第一个命令不是 'M'\n for (let i = 0; i < count; i++) {\n const params = path[i];\n const cmd = params[0];\n if (cmd === 'M') {\n // 遇到 'M' 判定是否是新数组,新数组中没有点\n if (points.length) {\n // 如果存在点,则说明没有遇到 'Z',开始了一个新的多边形\n polylines.push(points);\n points = []; // 创建新的点\n }\n points.push([params[1], params[2]]);\n } else if (cmd === 'Z') {\n if (points.length) {\n // 存在点\n polygons.push(points);\n points = []; // 开始新的点集合\n }\n // 如果不存在点,同时 'Z',则说明是错误,不处理\n } else {\n points.push([params[1], params[2]]);\n }\n }\n // 说明 points 未放入 polygons 或者 polyline\n // 仅当只有一个 M,没有 Z 时会发生这种情况\n if (points.length > 0) {\n polylines.push(points);\n }\n return {\n polygons,\n polylines,\n };\n}\n\nexport default {\n hasArc,\n extractPolygons,\n isPointInStroke,\n ...PathUtil,\n};\n","/**\n * @fileoverview path\n * @author dxq613@gmail.com\n */\nimport { Point } from '@antv/g-base';\nimport { Cubic as CubicUtil } from '@antv/g-math';\nimport { each, isNil } from '@antv/util';\nimport ShapeBase from './base';\nimport { path2Absolute, path2Segments } from '@antv/path-util';\nimport { drawPath } from '../util/draw';\nimport isPointInPath from '../util/in-path/point-in-path';\nimport isInPolygon from '../util/in-path/polygon';\nimport PathUtil from '../util/path';\nimport * as ArrowUtil from '../util/arrow';\n\n// 是否在多个多边形内部\nfunction isInPolygons(polygons, x, y) {\n let isHit = false;\n for (let i = 0; i < polygons.length; i++) {\n const points = polygons[i];\n isHit = isInPolygon(points, x, y);\n if (isHit) {\n break;\n }\n }\n return isHit;\n}\n\nclass Path extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n startArrow: false,\n endArrow: false,\n };\n }\n\n initAttrs(attrs) {\n this._setPathArr(attrs.path);\n this.setArrow();\n }\n\n // 更新属性时,检测是否更改了 path\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n if (name === 'path') {\n this._setPathArr(value);\n }\n // 由于箭头的绘制依赖于 line 的诸多 attrs,因此这里不再对每个 attr 进行判断,attr 每次变化都会影响箭头的更新\n this.setArrow();\n }\n\n // 将 path 转换成绝对路径\n _setPathArr(path) {\n // 转换 path 的格式\n this.attrs.path = path2Absolute(path);\n const hasArc = PathUtil.hasArc(path);\n // 为了加速 path 的绘制、拾取和计算,这个地方可以缓存很多东西\n // 这些缓存都是第一次需要时计算和存储,虽然增加了复杂度,但是频繁调用的方法,性能有很大提升\n this.set('hasArc', hasArc);\n this.set('paramsCache', {}); // 清理缓存\n this.set('segments', null); // 延迟生成 path,在动画场景下可能不会有拾取\n this.set('curve', null);\n this.set('tCache', null);\n this.set('totalLength', null);\n }\n\n getSegments() {\n let segments = this.get('segements');\n if (!segments) {\n segments = path2Segments(this.attr('path'));\n this.set('segments', segments);\n }\n return segments;\n }\n\n setArrow() {\n const attrs = this.attr();\n const { startArrow, endArrow } = attrs;\n\n if (startArrow) {\n const tangent = this.getStartTangent();\n ArrowUtil.addStartArrow(this, attrs, tangent[0][0], tangent[0][1], tangent[1][0], tangent[1][1]);\n }\n if (endArrow) {\n const tangent = this.getEndTangent();\n ArrowUtil.addEndArrow(this, attrs, tangent[0][0], tangent[0][1], tangent[1][0], tangent[1][1]);\n }\n }\n\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n const segments = this.getSegments();\n const hasArc = this.get('hasArc');\n let isHit = false;\n if (isStroke) {\n const length = this.getTotalLength();\n isHit = PathUtil.isPointInStroke(segments, lineWidth, x, y, length);\n }\n if (!isHit && isFill) {\n if (hasArc) {\n // 存在曲线时,暂时使用 canvas 的 api 计算,后续可以进行多边形切割\n isHit = isPointInPath(this, x, y);\n } else {\n const path = this.attr('path');\n const extractResutl = PathUtil.extractPolygons(path);\n // 提取出来的多边形包含闭合的和非闭合的,在这里统一按照多边形处理\n isHit = isInPolygons(extractResutl.polygons, x, y) || isInPolygons(extractResutl.polylines, x, y);\n }\n }\n return isHit;\n }\n\n createPath(context) {\n const attrs = this.attr();\n const paramsCache = this.get('paramsCache'); // 由于计算圆弧的参数成本很大,所以要缓存\n drawPath(this, context, attrs, paramsCache);\n }\n\n afterDrawPath(context: CanvasRenderingContext2D) {\n const startArrowShape = this.get('startArrowShape');\n const endArrowShape = this.get('endArrowShape');\n if (startArrowShape) {\n startArrowShape.draw(context);\n }\n if (endArrowShape) {\n endArrowShape.draw(context);\n }\n }\n\n /**\n * Get total length of path\n * @return {number} length\n */\n getTotalLength() {\n const totalLength = this.get('totalLength');\n if (!isNil(totalLength)) {\n return totalLength;\n }\n this._calculateCurve();\n this._setTcache();\n return this.get('totalLength');\n }\n\n /**\n * Get point according to ratio\n * @param {number} ratio\n * @return {Point} point\n */\n getPoint(ratio: number): Point {\n let tCache = this.get('tCache');\n if (!tCache) {\n this._calculateCurve();\n this._setTcache();\n tCache = this.get('tCache');\n }\n\n let subt;\n let index;\n\n const curve = this.get('curve');\n if (!tCache || tCache.length === 0) {\n if (curve) {\n return {\n x: curve[0][1],\n y: curve[0][2],\n };\n }\n return null;\n }\n each(tCache, (v, i) => {\n if (ratio >= v[0] && ratio <= v[1]) {\n subt = (ratio - v[0]) / (v[1] - v[0]);\n index = i;\n }\n });\n\n const seg = curve[index];\n if (isNil(seg) || isNil(index)) {\n return null;\n }\n const l = seg.length;\n const nextSeg = curve[index + 1];\n return CubicUtil.pointAt(\n seg[l - 2],\n seg[l - 1],\n nextSeg[1],\n nextSeg[2],\n nextSeg[3],\n nextSeg[4],\n nextSeg[5],\n nextSeg[6],\n subt\n );\n }\n\n _calculateCurve() {\n const { path } = this.attr();\n this.set('curve', PathUtil.pathToCurve(path));\n }\n\n _setTcache() {\n let totalLength = 0;\n let tempLength = 0;\n // 每段 curve 对应起止点的长度比例列表,形如: [[0, 0.25], [0.25, 0.6]. [0.6, 0.9], [0.9, 1]]\n const tCache = [];\n let segmentT;\n let segmentL;\n let segmentN;\n let l;\n const curve = this.get('curve');\n\n if (!curve) {\n return;\n }\n\n each(curve, (segment, i) => {\n segmentN = curve[i + 1];\n l = segment.length;\n if (segmentN) {\n totalLength +=\n CubicUtil.length(\n segment[l - 2],\n segment[l - 1],\n segmentN[1],\n segmentN[2],\n segmentN[3],\n segmentN[4],\n segmentN[5],\n segmentN[6]\n ) || 0;\n }\n });\n this.set('totalLength', totalLength);\n\n if (totalLength === 0) {\n this.set('tCache', []);\n return;\n }\n\n each(curve, (segment, i) => {\n segmentN = curve[i + 1];\n l = segment.length;\n if (segmentN) {\n segmentT = [];\n segmentT[0] = tempLength / totalLength;\n segmentL = CubicUtil.length(\n segment[l - 2],\n segment[l - 1],\n segmentN[1],\n segmentN[2],\n segmentN[3],\n segmentN[4],\n segmentN[5],\n segmentN[6]\n );\n // 当 path 不连续时,segmentL 可能为空,为空时需要作为 0 处理\n tempLength += segmentL || 0;\n segmentT[1] = tempLength / totalLength;\n tCache.push(segmentT);\n }\n });\n this.set('tCache', tCache);\n }\n\n /**\n * Get start tangent vector\n * @return {Array}\n */\n getStartTangent(): number[][] {\n const segments = this.getSegments();\n let result;\n if (segments.length > 1) {\n const startPoint = segments[0].currentPoint;\n const endPoint = segments[1].currentPoint;\n const tangent = segments[1].startTangent;\n result = [];\n if (tangent) {\n result.push([startPoint[0] - tangent[0], startPoint[1] - tangent[1]]);\n result.push([startPoint[0], startPoint[1]]);\n } else {\n result.push([endPoint[0], endPoint[1]]);\n result.push([startPoint[0], startPoint[1]]);\n }\n }\n return result;\n }\n\n /**\n * Get end tangent vector\n * @return {Array}\n */\n getEndTangent(): number[][] {\n const segments = this.getSegments();\n const length = segments.length;\n let result;\n if (length > 1) {\n const startPoint = segments[length - 2].currentPoint;\n const endPoint = segments[length - 1].currentPoint;\n const tangent = segments[length - 1].endTangent;\n result = [];\n if (tangent) {\n result.push([endPoint[0] - tangent[0], endPoint[1] - tangent[1]]);\n result.push([endPoint[0], endPoint[1]]);\n } else {\n result.push([startPoint[0], startPoint[1]]);\n result.push([endPoint[0], endPoint[1]]);\n }\n }\n return result;\n }\n}\n\nexport default Path;\n","import inLine from './line';\n\nexport default function inPolyline(points: any[], lineWidth: number, x: number, y: number, isClose: boolean) {\n const count = points.length;\n if (count < 2) {\n return false;\n }\n for (let i = 0; i < count - 1; i++) {\n const x1 = points[i][0];\n const y1 = points[i][1];\n const x2 = points[i + 1][0];\n const y2 = points[i + 1][1];\n\n if (inLine(x1, y1, x2, y2, lineWidth, x, y)) {\n return true;\n }\n }\n\n // 如果封闭,则计算起始点和结束点的边\n if (isClose) {\n const first = points[0];\n const last = points[count - 1];\n if (inLine(first[0], first[1], last[0], last[1], lineWidth, x, y)) {\n return true;\n }\n }\n\n return false;\n}\n","/**\n * @fileoverview 多边形\n * @author dxq613@gmail.com\n */\n\nimport ShapeBase from './base';\nimport inPolyline from '../util/in-stroke/polyline';\nimport isInPolygon from '../util/in-path/polygon';\n\nclass Polygon extends ShapeBase {\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n const { points } = this.attr();\n let isHit = false;\n if (isStroke) {\n isHit = inPolyline(points, lineWidth, x, y, true);\n }\n if (!isHit && isFill) {\n isHit = isInPolygon(points, x, y); // isPointInPath(shape, x, y);\n }\n return isHit;\n }\n\n createPath(context) {\n const attrs = this.attr();\n const points = attrs.points;\n if (points.length < 2) {\n return;\n }\n context.beginPath();\n for (let i = 0; i < points.length; i++) {\n const point = points[i];\n if (i === 0) {\n context.moveTo(point[0], point[1]);\n } else {\n context.lineTo(point[0], point[1]);\n }\n }\n context.closePath();\n }\n}\n\nexport default Polygon;\n","/**\n * @fileoverview 多边形\n * @author dxq613@gmail.com\n */\nimport { Point } from '@antv/g-base';\nimport { Line as LineUtil } from '@antv/g-math';\nimport { Polyline as PolylineUtil } from '@antv/g-math';\nimport { each, isNil } from '@antv/util';\nimport ShapeBase from './base';\nimport inPolyline from '../util/in-stroke/polyline';\nimport * as ArrowUtil from '../util/arrow';\n\nclass PolyLine extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n startArrow: false,\n endArrow: false,\n };\n }\n\n initAttrs(attrs) {\n this.setArrow();\n }\n\n // 更新属性时,检测是否更改了 points\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n this.setArrow();\n if (['points'].indexOf(name) !== -1) {\n this._resetCache();\n }\n }\n\n _resetCache() {\n this.set('totalLength', null);\n this.set('tCache', null);\n }\n\n setArrow() {\n const attrs = this.attr();\n const { points, startArrow, endArrow } = this.attrs;\n const length = points.length;\n const x1 = points[0][0];\n const y1 = points[0][1];\n const x2 = points[length - 1][0];\n const y2 = points[length - 1][1];\n\n if (startArrow) {\n ArrowUtil.addStartArrow(this, attrs, points[1][0], points[1][1], x1, y1);\n }\n if (endArrow) {\n ArrowUtil.addEndArrow(this, attrs, points[length - 2][0], points[length - 2][1], x2, y2);\n }\n }\n\n // 不允许 fill\n isFill() {\n return false;\n }\n\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n // 没有设置 stroke 不能被拾取, 没有线宽不能被拾取\n if (!isStroke || !lineWidth) {\n return false;\n }\n const { points } = this.attr();\n return inPolyline(points, lineWidth, x, y, false);\n }\n\n // 始终填充\n isStroke() {\n return true;\n }\n\n createPath(context) {\n const { points, startArrow, endArrow } = this.attr();\n const length = points.length;\n if (points.length < 2) {\n return;\n }\n let x1 = points[0][0];\n let y1 = points[0][1];\n let x2 = points[length - 1][0];\n let y2 = points[length - 1][1];\n // 如果定义了箭头,并且是自定义箭头,线条相应缩进\n if (startArrow && startArrow.d) {\n const distance = ArrowUtil.getShortenOffset(x1, y1, points[1][0], points[1][1], startArrow.d);\n x1 += distance.dx;\n y1 += distance.dy;\n }\n if (endArrow && endArrow.d) {\n const distance = ArrowUtil.getShortenOffset(points[length - 2][0], points[length - 2][1], x2, y2, endArrow.d);\n x2 -= distance.dx;\n y2 -= distance.dy;\n }\n\n context.beginPath();\n context.moveTo(x1, y1);\n for (let i = 0; i < length - 1; i++) {\n const point = points[i];\n context.lineTo(point[0], point[1]);\n }\n context.lineTo(x2, y2);\n }\n\n afterDrawPath(context: CanvasRenderingContext2D) {\n const startArrowShape = this.get('startArrowShape');\n const endArrowShape = this.get('endArrowShape');\n if (startArrowShape) {\n startArrowShape.draw(context);\n }\n if (endArrowShape) {\n endArrowShape.draw(context);\n }\n }\n\n /**\n * Get length of polyline\n * @return {number} length\n */\n getTotalLength() {\n const { points } = this.attr();\n // get totalLength from cache\n const totalLength = this.get('totalLength');\n if (!isNil(totalLength)) {\n return totalLength;\n }\n this.set('totalLength', PolylineUtil.length(points));\n return this.get('totalLength');\n }\n\n /**\n * Get point according to ratio\n * @param {number} ratio\n * @return {Point} point\n */\n getPoint(ratio: number): Point {\n const { points } = this.attr();\n // get tCache from cache\n let tCache = this.get('tCache');\n if (!tCache) {\n this._setTcache();\n tCache = this.get('tCache');\n }\n\n let subt;\n let index;\n each(tCache, (v, i) => {\n if (ratio >= v[0] && ratio <= v[1]) {\n subt = (ratio - v[0]) / (v[1] - v[0]);\n index = i;\n }\n });\n return LineUtil.pointAt(points[index][0], points[index][1], points[index + 1][0], points[index + 1][1], subt);\n }\n\n _setTcache() {\n const { points } = this.attr();\n if (!points || points.length === 0) {\n return;\n }\n\n const totalLength = this.getTotalLength();\n if (totalLength <= 0) {\n return;\n }\n\n let tempLength = 0;\n const tCache = [];\n let segmentT;\n let segmentL;\n\n each(points, (p, i) => {\n if (points[i + 1]) {\n segmentT = [];\n segmentT[0] = tempLength / totalLength;\n segmentL = LineUtil.length(p[0], p[1], points[i + 1][0], points[i + 1][1]);\n tempLength += segmentL;\n segmentT[1] = tempLength / totalLength;\n tCache.push(segmentT);\n }\n });\n this.set('tCache', tCache);\n }\n\n /**\n * Get start tangent vector\n * @return {Array}\n */\n getStartTangent(): number[][] {\n const { points } = this.attr();\n const result = [];\n result.push([points[1][0], points[1][1]]);\n result.push([points[0][0], points[0][1]]);\n return result;\n }\n\n /**\n * Get end tangent vector\n * @return {Array}\n */\n getEndTangent(): number[][] {\n const { points } = this.attr();\n const l = points.length - 1;\n const result = [];\n result.push([points[l - 1][0], points[l - 1][1]]);\n result.push([points[l][0], points[l][1]]);\n return result;\n }\n}\n\nexport default PolyLine;\n","/**\n * @fileoverview 矩形\n * @author dxq613@gmail.com\n */\n\nimport ShapeBase from './base';\nimport { parseRadius } from '../util/parse';\nimport { inBox } from '../util/util';\nimport inRect from '../util/in-stroke/rect';\nimport inRectWithRadius from '../util/in-stroke/rect-radius';\nimport isPointInPath from '../util/in-path/point-in-path';\n\nclass Rect extends ShapeBase {\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n radius: 0,\n };\n }\n\n isInStrokeOrPath(x, y, isStroke, isFill, lineWidth) {\n const attrs = this.attr();\n const minX = attrs.x;\n const minY = attrs.y;\n const width = attrs.width;\n const height = attrs.height;\n const radius = attrs.radius;\n // 无圆角时的策略\n if (!radius) {\n const halfWidth = lineWidth / 2;\n // 同时填充和带有边框\n if (isFill && isStroke) {\n return inBox(minX - halfWidth, minY - halfWidth, width + halfWidth, height + halfWidth, x, y);\n }\n // 仅填充\n if (isFill) {\n return inBox(minX, minY, width, height, x, y);\n }\n if (isStroke) {\n return inRect(minX, minY, width, height, lineWidth, x, y);\n }\n } else {\n let isHit = false;\n if (isStroke) {\n isHit = inRectWithRadius(minX, minY, width, height, radius, lineWidth, x, y);\n }\n // 仅填充时带有圆角的矩形直接通过图形拾取\n // 以后可以改成纯数学的近似拾取,将圆弧切割成多边形\n if (!isHit && isFill) {\n isHit = isPointInPath(this, x, y);\n }\n return isHit;\n }\n }\n\n createPath(context) {\n const attrs = this.attr();\n const x = attrs.x;\n const y = attrs.y;\n const width = attrs.width;\n const height = attrs.height;\n const radius = attrs.radius;\n\n context.beginPath();\n if (radius === 0) {\n // 改成原生的rect方法\n context.rect(x, y, width, height);\n } else {\n const [r1, r2, r3, r4] = parseRadius(radius);\n context.moveTo(x + r1, y);\n context.lineTo(x + width - r2, y);\n r2 !== 0 && context.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);\n context.lineTo(x + width, y + height - r3);\n r3 !== 0 && context.arc(x + width - r3, y + height - r3, r3, 0, Math.PI / 2);\n context.lineTo(x + r4, y + height);\n r4 !== 0 && context.arc(x + r4, y + height - r4, r4, Math.PI / 2, Math.PI);\n context.lineTo(x, y + r1);\n r1 !== 0 && context.arc(x + r1, y + r1, r1, Math.PI, Math.PI * 1.5);\n context.closePath();\n }\n }\n}\n\nexport default Rect;\n","import inLine from './line';\nimport inArc from './arc';\n\nexport default function rectWithRadius(minX, minY, width, height, radius, lineWidth, x, y) {\n const halfWidth = lineWidth / 2;\n return (\n inLine(minX + radius, minY, minX + width - radius, minY, lineWidth, x, y) ||\n inLine(minX + width, minY + radius, minX + width, minY + height - radius, lineWidth, x, y) ||\n inLine(minX + width - radius, minY + height, minX + radius, minY + height, lineWidth, x, y) ||\n inLine(minX, minY + height - radius, minX, minY + radius, lineWidth, x, y) ||\n inArc(minX + width - radius, minY + radius, radius, 1.5 * Math.PI, 2 * Math.PI, lineWidth, x, y) ||\n inArc(minX + width - radius, minY + height - radius, radius, 0, 0.5 * Math.PI, lineWidth, x, y) ||\n inArc(minX + radius, minY + height - radius, radius, 0.5 * Math.PI, Math.PI, lineWidth, x, y) ||\n inArc(minX + radius, minY + radius, radius, Math.PI, 1.5 * Math.PI, lineWidth, x, y)\n );\n}\n","import { inBox } from '../util';\n\nexport default function inRect(minX, minY, width, height, lineWidth, x, y) {\n const halfWidth = lineWidth / 2;\n // 将四个边看做矩形来检测,比边的检测算法要快\n return (\n inBox(minX - halfWidth, minY - halfWidth, width, lineWidth, x, y) || // 上边\n inBox(minX + width - halfWidth, minY - halfWidth, lineWidth, height, x, y) || // 右边\n inBox(minX + halfWidth, minY + height - halfWidth, width, lineWidth, x, y) || // 下边\n inBox(minX - halfWidth, minY + halfWidth, lineWidth, height, x, y)\n ); // 左边\n}\n","/**\n * @fileoverview 文本\n * @author dxq613@gmail.com\n */\n\nimport ShapeBase from './base';\nimport { isNil, isString, each } from '../util/util';\nimport { getTextHeight, assembleFont } from '@antv/g-base';\nclass Text extends ShapeBase {\n // 默认文本属性\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n text: null,\n fontSize: 12,\n fontFamily: 'sans-serif',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontVariant: 'normal',\n textAlign: 'start',\n textBaseline: 'bottom',\n };\n }\n\n // 仅仅使用包围盒检测来进行拾取\n isOnlyHitBox() {\n return true;\n }\n\n // 初始化时组合 font,同时判断 text 是否换行\n initAttrs(attrs) {\n this._assembleFont();\n if (attrs.text) {\n this._setText(attrs.text);\n }\n }\n // 组装字体\n _assembleFont() {\n const attrs = this.attrs;\n attrs.font = assembleFont(attrs);\n }\n\n // 如果文本换行,则缓存数组\n _setText(text) {\n let textArr = null;\n if (isString(text) && text.indexOf('\\n') !== -1) {\n textArr = text.split('\\n');\n }\n this.set('textArr', textArr);\n }\n\n // 更新属性时,检测是否更改了 font、text\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n if (name.startsWith('font')) {\n this._assembleFont();\n }\n if (name === 'text') {\n this._setText(value);\n }\n }\n\n // 这个方法在 text 时没有可以做的事情,如果要支持文字背景时可以考虑\n // createPath(context) {\n\n // }\n\n // 如果文本多行,需要获取文本间距\n _getSpaceingY() {\n const attrs = this.attrs;\n const lineHeight = attrs.lineHeight;\n const fontSize = attrs.fontSize * 1;\n return lineHeight ? lineHeight - fontSize : fontSize * 0.14;\n }\n\n // 绘制文本,考虑多行的场景\n _drawTextArr(context, textArr, isFill) {\n const attrs = this.attrs;\n const textBaseline = attrs.textBaseline;\n const x = attrs.x;\n const y = attrs.y;\n const fontSize = attrs.fontSize * 1;\n const spaceingY = this._getSpaceingY();\n const height = getTextHeight(attrs.text, attrs.fontSize, attrs.lineHeight);\n let subY;\n each(textArr, (subText, index: number) => {\n subY = y + index * (spaceingY + fontSize) - height + fontSize; // bottom;\n if (textBaseline === 'middle') subY += height - fontSize - (height - fontSize) / 2;\n if (textBaseline === 'top') subY += height - fontSize;\n if (!isNil(subText)) {\n if (isFill) {\n context.fillText(subText, x, subY);\n } else {\n context.strokeText(subText, x, subY);\n }\n }\n });\n }\n\n // 绘制文本,同时考虑填充和绘制边框\n _drawText(context, isFill) {\n const attrs = this.attr();\n const x = attrs.x;\n const y = attrs.y;\n const textArr = this.get('textArr');\n if (textArr) {\n this._drawTextArr(context, textArr, isFill);\n } else {\n const text = attrs.text;\n if (!isNil(text)) {\n if (isFill) {\n context.fillText(text, x, y);\n } else {\n context.strokeText(text, x, y);\n }\n }\n }\n }\n\n // 复写绘制和填充的逻辑:对于文本,应该先绘制边框,再进行填充\n strokeAndFill(context) {\n const { lineWidth, opacity, strokeOpacity, fillOpacity } = this.attrs;\n\n if (this.isStroke()) {\n if (lineWidth > 0) {\n if (!isNil(strokeOpacity) && strokeOpacity !== 1) {\n context.globalAlpha = opacity;\n }\n this.stroke(context);\n }\n }\n\n if (this.isFill()) {\n if (!isNil(fillOpacity) && fillOpacity !== 1) {\n context.globalAlpha = fillOpacity;\n this.fill(context);\n context.globalAlpha = opacity;\n } else {\n this.fill(context);\n }\n }\n\n this.afterDrawPath(context);\n }\n\n // 复写填充逻辑\n fill(context) {\n this._drawText(context, true);\n }\n\n // 复写绘制边框的逻辑\n stroke(context) {\n this._drawText(context, false);\n }\n}\n\nexport default Text;\n","import { IContainer, IElement, IGroup, IShape, isAllowCapture, multiplyVec2, invert } from '@antv/g-base';\n\nfunction invertFromMatrix(v: number[], matrix: number[]): number[] {\n if (matrix) {\n const invertMatrix = invert(matrix);\n return multiplyVec2(invertMatrix, v);\n }\n return v;\n}\n\nfunction getRefXY(element: IElement, x: number, y: number) {\n // @ts-ignore\n const totalMatrix = element.getTotalMatrix();\n if (totalMatrix) {\n const [refX, refY] = invertFromMatrix([x, y, 1], totalMatrix);\n return [refX, refY];\n }\n return [x, y];\n}\n\n// 拾取前的检测,只有通过检测才能继续拾取\nfunction preTest(element: IElement, x: number, y: number) {\n // @ts-ignore\n if (element.isCanvas && element.isCanvas()) {\n return true;\n }\n // 不允许被拾取,则返回 null\n // @ts-ignore\n if (!isAllowCapture(element) || element.cfg.isInView === false) {\n return false;\n }\n\n if (element.cfg.clipShape) {\n // 如果存在 clip\n const [refX, refY] = getRefXY(element, x, y);\n if (element.isClipped(refX, refY)) {\n return false;\n }\n }\n // @ts-ignore ,这个地方调用过于频繁\n const bbox = element.cfg.cacheCanvasBBox || element.getCanvasBBox();\n // 如果没有缓存 bbox,则说明不可见\n // 注释掉的这段可能会加速拾取,上面的语句改写成 const bbox = element.cfg.cacheCanvasBBox;\n // 这时候的拾取假设图形/分组在上一次绘制都在视窗内,但是上面已经判定了 isInView 所以意义不大\n // 现在还调用 element.getCanvasBBox(); 一个很大的原因是便于单元测试\n // if (!bbox) {\n // return false;\n // }\n if (!(x >= bbox.minX && x <= bbox.maxX && y >= bbox.minY && y <= bbox.maxY)) {\n return false;\n }\n return true;\n}\n\n// 这个方法复写了 g-base 的 getShape\nexport function getShape(container: IContainer, x: number, y: number) {\n // 没有通过检测,则返回 null\n if (!preTest(container, x, y)) {\n return null;\n }\n let shape = null;\n const children = container.getChildren();\n const count = children.length;\n for (let i = count - 1; i >= 0; i--) {\n const child = children[i];\n if (child.isGroup()) {\n shape = getShape(child as IGroup, x, y);\n } else if (preTest(child, x, y)) {\n const curShape = child as IShape;\n const [refX, refY] = getRefXY(child, x, y);\n // @ts-ignore\n if (curShape.isInShape(refX, refY)) {\n shape = child;\n }\n }\n if (shape) {\n break;\n }\n }\n return shape;\n}\n","import { AbstractCanvas } from '@antv/g-base';\nimport { ChangeType } from '@antv/g-base';\nimport { IElement } from './interfaces';\nimport { getShape } from './util/hit';\nimport * as Shape from './shape';\nimport Group from './group';\nimport { each, getPixelRatio, requestAnimationFrame, clearAnimationFrame } from './util/util';\nimport { applyAttrsToContext, drawChildren, getMergedRegion, mergeView, checkRefresh, clearChanged } from './util/draw';\n\nclass Canvas extends AbstractCanvas {\n getDefaultCfg() {\n const cfg = super.getDefaultCfg();\n // 设置渲染引擎为 canvas,只读属性\n cfg['renderer'] = 'canvas';\n // 是否自动绘制,不需要用户调用 draw 方法\n cfg['autoDraw'] = true;\n // 是否允许局部刷新图表\n cfg['localRefresh'] = true;\n cfg['refreshElements'] = [];\n // 是否在视图内自动裁剪\n cfg['clipView'] = true;\n // 是否使用快速拾取的方案,默认为 false,上层可以打开\n cfg['quickHit'] = false;\n return cfg;\n }\n\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {\n /**\n * 触发画布更新的三种 changeType\n * 1. attr: 修改画布的绘图属性\n * 2. sort: 画布排序,图形的层次会发生变化\n * 3. changeSize: 改变画布大小\n */\n if (changeType === 'attr' || changeType === 'sort' || changeType === 'changeSize') {\n this.set('refreshElements', [this]);\n this.draw();\n }\n }\n\n getShapeBase() {\n return Shape;\n }\n\n getGroupBase() {\n return Group;\n }\n /**\n * 获取屏幕像素比\n */\n getPixelRatio() {\n const pixelRatio = this.get('pixelRatio') || getPixelRatio();\n // 不足 1 的取 1,超出 1 的取整\n return pixelRatio >= 1 ? Math.ceil(pixelRatio) : 1;\n }\n\n getViewRange() {\n return {\n minX: 0,\n minY: 0,\n maxX: this.cfg.width,\n maxY: this.cfg.height,\n };\n }\n\n // 复写基类的方法生成标签\n createDom(): HTMLElement {\n const element = document.createElement('canvas');\n const context = element.getContext('2d');\n // 缓存 context 对象\n this.set('context', context);\n return element;\n }\n setDOMSize(width: number, height: number) {\n super.setDOMSize(width, height);\n const context = this.get('context');\n const el = this.get('el');\n const pixelRatio = this.getPixelRatio();\n el.width = pixelRatio * width;\n el.height = pixelRatio * height;\n // 设置 canvas 元素的宽度和高度,会重置缩放,因此 context.scale 需要在每次设置宽、高后调用\n if (pixelRatio > 1) {\n context.scale(pixelRatio, pixelRatio);\n }\n }\n // 复写基类方法\n clear() {\n super.clear();\n this._clearFrame(); // 需要清理掉延迟绘制的帧\n const context = this.get('context');\n const element = this.get('el');\n context.clearRect(0, 0, element.width, element.height);\n }\n\n getShape(x: number, y: number) {\n let shape;\n if (this.get('quickHit')) {\n shape = getShape(this, x, y);\n } else {\n shape = super.getShape(x, y, null);\n }\n return shape;\n }\n // 对绘制区域边缘取整,避免浮点数问题\n _getRefreshRegion() {\n const elements = this.get('refreshElements');\n const viewRegion = this.getViewRange();\n let region;\n // 如果是当前画布整体发生了变化,则直接重绘整个画布\n if (elements.length && elements[0] === this) {\n region = viewRegion;\n } else {\n region = getMergedRegion(elements);\n if (region) {\n region.minX = Math.floor(region.minX);\n region.minY = Math.floor(region.minY);\n region.maxX = Math.ceil(region.maxX);\n region.maxY = Math.ceil(region.maxY);\n region.maxY += 1; // 在很多环境下字体的高低会不一致,附加一像素,避免残影\n const clipView = this.get('clipView');\n // 自动裁剪不在 view 内的区域\n if (clipView) {\n region = mergeView(region, viewRegion);\n }\n }\n }\n return region;\n }\n\n /**\n * 刷新图形元素,这里仅仅是放入队列,下次绘制时进行绘制\n * @param {IElement} element 图形元素\n */\n refreshElement(element: IElement) {\n const refreshElements = this.get('refreshElements');\n refreshElements.push(element);\n // if (this.get('autoDraw')) {\n // this._startDraw();\n // }\n }\n // 清理还在进行的绘制\n _clearFrame() {\n const drawFrame = this.get('drawFrame');\n if (drawFrame) {\n // 如果全部渲染时,存在局部渲染,则抛弃掉局部渲染\n clearAnimationFrame(drawFrame);\n this.set('drawFrame', null);\n this.set('refreshElements', []);\n }\n }\n\n // 手工调用绘制接口\n draw() {\n const drawFrame = this.get('drawFrame');\n if (this.get('autoDraw') && drawFrame) {\n return;\n }\n this._startDraw();\n }\n // 绘制所有图形\n _drawAll() {\n const context = this.get('context');\n const element = this.get('el');\n const children = this.getChildren() as IElement[];\n context.clearRect(0, 0, element.width, element.height);\n applyAttrsToContext(context, this);\n drawChildren(context, children);\n // 对于 https://github.com/antvis/g/issues/422 的场景,全局渲染的模式下也会记录更新的元素队列,因此全局渲染完后也需要置空\n this.set('refreshElements', []);\n }\n // 绘制局部\n _drawRegion() {\n const context = this.get('context');\n const refreshElements = this.get('refreshElements');\n const children = this.getChildren() as IElement[];\n const region = this._getRefreshRegion();\n // 需要注意可能没有 region 的场景\n // 一般发生在设置了 localRefresh ,在没有图形发生变化的情况下,用户调用了 draw\n if (region) {\n // 清理指定区域\n context.clearRect(region.minX, region.minY, region.maxX - region.minX, region.maxY - region.minY);\n // 保存上下文,设置 clip\n context.save();\n context.beginPath();\n context.rect(region.minX, region.minY, region.maxX - region.minX, region.maxY - region.minY);\n context.clip();\n applyAttrsToContext(context, this);\n // 确认更新的元素,这个优化可以提升 10 倍左右的性能,10W 个带有 group 的节点,局部渲染会从 90ms 下降到 5-6 ms\n checkRefresh(this, children, region);\n // 绘制子元素\n drawChildren(context, children, region);\n context.restore();\n } else if (refreshElements.length) {\n // 防止发生改变的 elements 没有 region 的场景,这会发生在多个情况下\n // 1. 空的 group\n // 2. 所有 elements 没有在绘图区域\n // 3. group 下面的 elements 隐藏掉\n // 如果不进行清理 hasChanged 的状态会不正确\n clearChanged(refreshElements);\n }\n each(refreshElements, (element) => {\n if (element.get('hasChanged')) {\n // 在视窗外的 Group 元素会加入到更新队列里,但实际却没有执行 draw() 逻辑,也就没有清除 hasChanged 标记\n // 即已经重绘完、但 hasChanged 标记没有清除的元素,需要统一清除掉。主要是 Group 存在问题,具体原因待排查\n element.set('hasChanged', false);\n }\n });\n this.set('refreshElements', []);\n }\n\n // 触发绘制\n _startDraw() {\n let drawFrame = this.get('drawFrame');\n if (!drawFrame) {\n drawFrame = requestAnimationFrame(() => {\n if (this.get('localRefresh')) {\n this._drawRegion();\n } else {\n this._drawAll();\n }\n this.set('drawFrame', null);\n });\n this.set('drawFrame', drawFrame);\n }\n }\n\n skipDraw() {}\n\n removeDom() {\n const el = this.get('el');\n // 需要清理 canvas 画布内容,否则ios下 创建的canvas垃圾未回收,导致Total canvas memory use exceeds问题\n // 相关问题列表\n // https://stackoverflow.com/questions/52532614/total-canvas-memory-use-exceeds-the-maximum-limit-safari-12\n // https://github.com/openlayers/openlayers/issues/9291\n el.width = 0;\n el.height = 0;\n el.parentNode.removeChild(el);\n }\n}\n\nexport default Canvas;\n","import * as Shape from './shape';\nexport * from '@antv/g-base';\nexport { IElement } from './interfaces';\nexport { Region } from './types';\nexport { default as Canvas } from './canvas';\nexport { default as Group } from './group';\nexport { Shape };\nexport { default as getArcParams } from './util/arc-params';\n\nexport const version = '0.5.12';\n","export const SHAPE_TO_TAGS = {\n rect: 'path',\n circle: 'circle',\n line: 'line',\n path: 'path',\n marker: 'path',\n text: 'text',\n polyline: 'polyline',\n polygon: 'polygon',\n image: 'image',\n ellipse: 'ellipse',\n dom: 'foreignObject',\n};\n\nexport const SVG_ATTR_MAP = {\n opacity: 'opacity',\n fillStyle: 'fill',\n fill: 'fill',\n fillOpacity: 'fill-opacity',\n strokeStyle: 'stroke',\n strokeOpacity: 'stroke-opacity',\n stroke: 'stroke',\n x: 'x',\n y: 'y',\n r: 'r',\n rx: 'rx',\n ry: 'ry',\n width: 'width',\n height: 'height',\n x1: 'x1',\n x2: 'x2',\n y1: 'y1',\n y2: 'y2',\n lineCap: 'stroke-linecap',\n lineJoin: 'stroke-linejoin',\n lineWidth: 'stroke-width',\n lineDash: 'stroke-dasharray',\n lineDashOffset: 'stroke-dashoffset',\n miterLimit: 'stroke-miterlimit',\n font: 'font',\n fontSize: 'font-size',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n fontFamily: 'font-family',\n startArrow: 'marker-start',\n endArrow: 'marker-end',\n path: 'd',\n class: 'class',\n id: 'id',\n style: 'style',\n preserveAspectRatio: 'preserveAspectRatio',\n};\n\nexport const EVENTS = [\n 'click',\n 'mousedown',\n 'mouseup',\n 'dblclick',\n 'contextmenu',\n 'mouseenter',\n 'mouseleave',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'wheel',\n];\n","import { toArray } from '@antv/util';\nimport { IShape, IGroup, IElement } from '../interfaces';\nimport { SHAPE_TO_TAGS } from '../constant';\n\n/**\n * 创建并返回图形的 svg 元素\n * @param type svg类型\n */\nexport function createSVGElement(type: string): SVGElement {\n return document.createElementNS('http://www.w3.org/2000/svg', type);\n}\n\n/**\n * 创建并返回图形的 dom 元素\n * @param {IShape} shape 图形\n * @return {SVGElement}\n */\nexport function createDom(shape: IShape) {\n const type = SHAPE_TO_TAGS[shape.type];\n const parent = shape.getParent();\n if (!type) {\n throw new Error(`the type ${shape.type} is not supported by svg`);\n }\n const element = createSVGElement(type);\n if (shape.get('id')) {\n element.id = shape.get('id');\n }\n shape.set('el', element);\n shape.set('attrs', {});\n // 对于 defs 下的 dom 节点,parent 为空,通过 context 统一挂载到 defs 节点下\n if (parent) {\n let parentNode = parent.get('el');\n if (parentNode) {\n parentNode.appendChild(element);\n } else {\n // parentNode maybe null for group\n parentNode = (parent as IGroup).createDom();\n parent.set('el', parentNode);\n parentNode.appendChild(element);\n }\n }\n return element;\n}\n\n/**\n * 对 dom 元素进行排序\n * @param {IElement} element 元素\n * @param {sorter} function 排序函数\n */\nexport function sortDom(element: IElement, sorter: (a: IElement, b: IElement) => number) {\n const el = element.get('el');\n const childList = toArray(el.children).sort(sorter);\n // create empty fragment\n const fragment = document.createDocumentFragment();\n childList.forEach((child) => {\n fragment.appendChild(child);\n });\n el.appendChild(fragment);\n}\n\n/**\n * 将 dom 元素移动到父元素下的指定位置\n * @param {SVGElement} element dom 元素\n * @param {number} targetIndex 目标位置(从 0 开始)\n */\nexport function moveTo(element: SVGElement, targetIndex: number) {\n const parentNode = element.parentNode;\n const siblings = Array.from(parentNode.childNodes).filter(\n // 要求为元素节点,且不能为 defs 节点\n (node: Node) => node.nodeType === 1 && node.nodeName.toLowerCase() !== 'defs'\n );\n // 获取目标节点\n const target = siblings[targetIndex];\n const currentIndex = siblings.indexOf(element);\n // 如果目标节点存在\n if (target) {\n // 当前索引 > 目标索引,直接插入到目标节点之前即可\n if (currentIndex > targetIndex) {\n parentNode.insertBefore(element, target);\n } else if (currentIndex < targetIndex) {\n // 当前索引 < 目标索引\n // 获取目标节点的下一个节点\n const targetNext = siblings[targetIndex + 1];\n // 如果目标节点的下一个节点存在,插入到该节点之前\n if (targetNext) {\n parentNode.insertBefore(element, targetNext);\n } else {\n // 如果该节点不存在,则追加到末尾\n parentNode.appendChild(element);\n }\n }\n } else {\n parentNode.appendChild(element);\n }\n}\n","import { createDom } from './dom';\n\nexport function setShadow(model, context) {\n const el = model.cfg.el;\n const attrs = model.attr();\n const cfg = {\n dx: attrs.shadowOffsetX,\n dy: attrs.shadowOffsetY,\n blur: attrs.shadowBlur,\n color: attrs.shadowColor,\n };\n if (!cfg.dx && !cfg.dy && !cfg.blur && !cfg.color) {\n el.removeAttribute('filter');\n } else {\n let id = context.find('filter', cfg);\n if (!id) {\n id = context.addShadow(cfg);\n }\n el.setAttribute('filter', `url(#${id})`);\n }\n}\n\nexport function setTransform(model) {\n const { matrix } = model.attr();\n if (matrix) {\n const el = model.cfg.el;\n let transform: any = [];\n for (let i = 0; i < 9; i += 3) {\n transform.push(`${matrix[i]},${matrix[i + 1]}`);\n }\n transform = transform.join(',');\n if (transform.indexOf('NaN') === -1) {\n el.setAttribute('transform', `matrix(${transform})`);\n } else {\n console.warn('invalid matrix:', matrix);\n }\n }\n}\n\nexport function setClip(model, context) {\n const clip = model.getClip();\n const el = model.get('el');\n if (!clip) {\n el.removeAttribute('clip-path');\n } else if (clip && !el.hasAttribute('clip-path')) {\n createDom(clip);\n clip.createPath(context);\n const id = context.addClip(clip);\n el.setAttribute('clip-path', `url(#${id})`);\n }\n}\n","import { ChangeType } from '@antv/g-base';\nimport { IElement } from '../interfaces';\nimport { setTransform, setClip } from './svg';\nimport { sortDom, moveTo } from './dom';\nimport Defs from '../defs';\n\nexport function drawChildren(context: Defs, children: IElement[]) {\n children.forEach((child) => {\n child.draw(context);\n });\n}\n\n/**\n * 更新元素,包括 group 和 shape\n * @param {IElement} element SVG 元素\n * @param {ChangeType} changeType 更新类型\n */\nexport function refreshElement(element: IElement, changeType: ChangeType) {\n // 对于还没有挂载到画布下的元素,canvas 可能为空\n const canvas = element.get('canvas');\n // 只有挂载到画布下,才对元素进行实际渲染\n if (canvas && canvas.get('autoDraw')) {\n const context = canvas.get('context');\n const parent = element.getParent();\n const parentChildren = parent ? parent.getChildren() : [canvas];\n const el = element.get('el');\n if (changeType === 'remove') {\n const isClipShape = element.get('isClipShape');\n // 对于 clip,不仅需要将 clipShape 对于的 SVG 元素删除,还需要将上层的 clipPath 元素也删除\n if (isClipShape) {\n const clipPathEl = el && el.parentNode;\n const defsEl = clipPathEl && clipPathEl.parentNode;\n if (clipPathEl && defsEl) {\n defsEl.removeChild(clipPathEl);\n }\n } else if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n } else if (changeType === 'show') {\n el.setAttribute('visibility', 'visible');\n } else if (changeType === 'hide') {\n el.setAttribute('visibility', 'hidden');\n } else if (changeType === 'zIndex') {\n moveTo(el, parentChildren.indexOf(element));\n } else if (changeType === 'sort') {\n const children = element.get('children');\n if (children && children.length) {\n sortDom(element, (a: IElement, b: IElement) => {\n return children.indexOf(a) - children.indexOf(b) ? 1 : 0;\n });\n }\n } else if (changeType === 'clear') {\n // el maybe null for group\n if (el) {\n el.innerHTML = '';\n }\n } else if (changeType === 'matrix') {\n setTransform(element);\n } else if (changeType === 'clip') {\n setClip(element, context);\n } else if (changeType === 'attr') {\n // 已在 afterAttrsChange 进行了处理,此处 do nothing\n } else if (changeType === 'add') {\n element.draw(context);\n }\n }\n}\n","import { AbstractGroup } from '@antv/g-base';\nimport { ChangeType } from '@antv/g-base';\nimport { each } from '@antv/util';\nimport { IElement, IGroup } from './interfaces';\nimport * as Shape from './shape';\nimport Defs from './defs';\nimport { drawChildren, refreshElement } from './util/draw';\nimport { setClip, setTransform } from './util/svg';\nimport { SVG_ATTR_MAP } from './constant';\nimport { createSVGElement } from './util/dom';\n\nclass Group extends AbstractGroup {\n // SVG 中分组对应实体标签 \n isEntityGroup() {\n return true;\n }\n\n createDom() {\n const element = createSVGElement('g');\n this.set('el', element);\n const parent = this.getParent();\n if (parent) {\n let parentNode = parent.get('el');\n if (parentNode) {\n parentNode.appendChild(element);\n } else {\n // parentNode maybe null for group\n parentNode = (parent as IGroup).createDom();\n parent.set('el', parentNode);\n parentNode.appendChild(element);\n }\n }\n return element;\n }\n\n // 覆盖基类的 afterAttrsChange 方法\n afterAttrsChange(targetAttrs) {\n super.afterAttrsChange(targetAttrs);\n const canvas = this.get('canvas');\n // 只有挂载到画布下,才对元素进行实际渲染\n if (canvas && canvas.get('autoDraw')) {\n const context = canvas.get('context');\n this.createPath(context, targetAttrs);\n }\n }\n\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {\n refreshElement(this, changeType);\n }\n\n getShapeBase() {\n return Shape;\n }\n\n getGroupBase() {\n return Group;\n }\n\n draw(context: Defs) {\n const children = this.getChildren() as IElement[];\n const el = this.get('el');\n if (this.get('destroyed')) {\n if (el) {\n el.parentNode.removeChild(el);\n }\n } else {\n if (!el) {\n this.createDom();\n }\n setClip(this, context);\n this.createPath(context);\n if (children.length) {\n drawChildren(context, children);\n }\n }\n }\n\n /**\n * 绘制分组的路径\n * @param {Defs} context 上下文\n * @param {ShapeAttrs} targetAttrs 渲染的目标属性\n */\n createPath(context: Defs, targetAttrs?) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n setTransform(this);\n }\n}\n\nexport default Group;\n","import { AbstractShape } from '@antv/g-base';\nimport { ShapeAttrs, ChangeType, BBox } from '@antv/g-base';\nimport { IShape } from '../interfaces';\nimport Defs from '../defs';\nimport { setShadow, setTransform, setClip } from '../util/svg';\nimport { createDom } from '../util/dom';\nimport { refreshElement } from '../util/draw';\nimport { SVG_ATTR_MAP } from '../constant';\nimport * as Shape from './index';\nimport Group from '../group';\nimport { getBBoxMethod } from '@antv/g-base';\n\nclass ShapeBase extends AbstractShape implements IShape {\n type: string = 'svg';\n canFill: boolean = false;\n canStroke: boolean = false;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n // 设置默认值\n return {\n ...attrs,\n lineWidth: 1,\n lineAppendWidth: 0,\n strokeOpacity: 1,\n fillOpacity: 1,\n };\n }\n\n // 覆盖基类的 afterAttrsChange 方法\n afterAttrsChange(targetAttrs: ShapeAttrs) {\n super.afterAttrsChange(targetAttrs);\n const canvas = this.get('canvas');\n // 只有挂载到画布下,才对元素进行实际渲染\n if (canvas && canvas.get('autoDraw')) {\n const context = canvas.get('context');\n this.draw(context, targetAttrs);\n }\n }\n\n getShapeBase() {\n return Shape;\n }\n\n getGroupBase() {\n return Group;\n }\n\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {\n refreshElement(this, changeType);\n }\n\n calculateBBox(): BBox {\n const el = this.get('el');\n let bbox = null;\n // 包围盒计算依赖于绘制,如果还没有生成对应的 Dom 元素,则包围盒的长宽均为 0\n if (el) {\n bbox = el.getBBox();\n } else {\n const bboxMethod = getBBoxMethod(this.get('type'));\n if (bboxMethod) {\n bbox = bboxMethod(this);\n }\n }\n if (bbox) {\n const { x, y, width, height } = bbox;\n const lineWidth = this.getHitLineWidth();\n const halfWidth = lineWidth / 2;\n const minX = x - halfWidth;\n const minY = y - halfWidth;\n const maxX = x + width + halfWidth;\n const maxY = y + height + halfWidth;\n return {\n x: minX,\n y: minY,\n minX,\n minY,\n maxX,\n maxY,\n width: width + lineWidth,\n height: height + lineWidth,\n };\n }\n return {\n x: 0,\n y: 0,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0,\n width: 0,\n height: 0,\n };\n }\n\n isFill() {\n const { fill, fillStyle } = this.attr();\n return (fill || fillStyle || this.isClipShape()) && this.canFill;\n }\n\n isStroke() {\n const { stroke, strokeStyle } = this.attr();\n return (stroke || strokeStyle) && this.canStroke;\n }\n\n draw(context, targetAttrs) {\n const el = this.get('el');\n if (this.get('destroyed')) {\n if (el) {\n el.parentNode.removeChild(el);\n }\n } else {\n if (!el) {\n createDom(this);\n }\n setClip(this, context);\n this.createPath(context, targetAttrs);\n this.shadow(context, targetAttrs);\n this.strokeAndFill(context, targetAttrs);\n this.transform(targetAttrs);\n }\n }\n\n /**\n * @protected\n * 绘制图形的路径\n * @param {Defs} context 上下文\n * @param {ShapeAttrs} targetAttrs 渲染的目标属性\n */\n createPath(context: Defs, targetAttrs?: ShapeAttrs) {}\n\n // stroke and fill\n strokeAndFill(context, targetAttrs?) {\n const attrs = targetAttrs || this.attr();\n const { fill, fillStyle, stroke, strokeStyle, fillOpacity, strokeOpacity, lineWidth } = attrs;\n const el = this.get('el');\n\n if (this.canFill) {\n // 初次渲染和更新渲染的逻辑有所不同: 初次渲染值为空时,需要设置为 none,否则就会是黑色,而更新渲染则不需要\n if (!targetAttrs) {\n this._setColor(context, 'fill', fill || fillStyle);\n } else if ('fill' in attrs) {\n this._setColor(context, 'fill', fill);\n } else if ('fillStyle' in attrs) {\n // compatible with fillStyle\n this._setColor(context, 'fill', fillStyle);\n }\n if (fillOpacity) {\n el.setAttribute(SVG_ATTR_MAP['fillOpacity'], fillOpacity);\n }\n }\n\n if (this.canStroke && lineWidth > 0) {\n if (!targetAttrs) {\n this._setColor(context, 'stroke', stroke || strokeStyle);\n } else if ('stroke' in attrs) {\n this._setColor(context, 'stroke', stroke);\n } else if ('strokeStyle' in attrs) {\n // compatible with strokeStyle\n this._setColor(context, 'stroke', strokeStyle);\n }\n if (strokeOpacity) {\n el.setAttribute(SVG_ATTR_MAP['strokeOpacity'], strokeOpacity);\n }\n if (lineWidth) {\n el.setAttribute(SVG_ATTR_MAP['lineWidth'], lineWidth);\n }\n }\n }\n\n _setColor(context, attr, value) {\n const el = this.get('el');\n if (!value) {\n // need to set `none` to avoid default value\n el.setAttribute(SVG_ATTR_MAP[attr], 'none');\n return;\n }\n value = value.trim();\n if (/^[r,R,L,l]{1}[\\s]*\\(/.test(value)) {\n let id = context.find('gradient', value);\n if (!id) {\n id = context.addGradient(value);\n }\n el.setAttribute(SVG_ATTR_MAP[attr], `url(#${id})`);\n } else if (/^[p,P]{1}[\\s]*\\(/.test(value)) {\n let id = context.find('pattern', value);\n if (!id) {\n id = context.addPattern(value);\n }\n el.setAttribute(SVG_ATTR_MAP[attr], `url(#${id})`);\n } else {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n }\n\n shadow(context, targetAttrs?) {\n const attrs = this.attr();\n const { shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor } = targetAttrs || attrs;\n if (shadowOffsetX || shadowOffsetY || shadowBlur || shadowColor) {\n setShadow(this, context);\n }\n }\n\n transform(targetAttrs?) {\n const attrs = this.attr();\n const { matrix } = targetAttrs || attrs;\n if (matrix) {\n setTransform(this);\n }\n }\n\n isInShape(refX: number, refY: number): boolean {\n return this.isPointInPath(refX, refY);\n }\n\n isPointInPath(refX: number, refY: number): boolean {\n const el = this.get('el');\n const canvas = this.get('canvas');\n const bbox = canvas.get('el').getBoundingClientRect();\n const clientX = refX + bbox.left;\n const clientY = refY + bbox.top;\n const element = document.elementFromPoint(clientX, clientY);\n if (element && element.isEqualNode(el)) {\n return true;\n }\n return false;\n }\n\n /**\n * 获取线拾取的宽度\n * @returns {number} 线的拾取宽度\n */\n getHitLineWidth() {\n const { lineWidth, lineAppendWidth } = this.attrs;\n if (this.isStroke()) {\n return lineWidth + lineAppendWidth;\n }\n return 0;\n }\n}\n\nexport default ShapeBase;\n","/**\n * @fileoverview circle\n * @author dengfuping_develop@163.com\n */\n\nimport { each } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Circle extends ShapeBase {\n type: string = 'circle';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n r: 0,\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n // 圆和椭圆的点坐标属性不是 x, y,而是 cx, cy\n if (attr === 'x' || attr === 'y') {\n el.setAttribute(`c${attr}`, value);\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n}\n\nexport default Circle;\n","/**\n * @fileoverview dom\n * @author dengfuping_develop@163.com\n */\n\nimport { each } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Dom extends ShapeBase {\n type: string = 'dom';\n canFill: boolean = false;\n canStroke: boolean = false;\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n if (typeof attrs['html'] === 'function') {\n const element = attrs['html'].call(this, attrs);\n if (element instanceof Element || element instanceof HTMLDocument) {\n const children = el.childNodes;\n for (let i = children.length - 1; i >= 0; i--) {\n el.removeChild(children[i]);\n }\n el.appendChild(element); // append to el if it's an element\n } else {\n el.innerHTML = element; // set innerHTML\n }\n } else {\n el.innerHTML = attrs['html']; // set innerHTML\n }\n }\n}\n\nexport default Dom;\n","/**\n * @fileoverview ellipse\n * @author dengfuping_develop@163.com\n */\n\nimport { each } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Ellipse extends ShapeBase {\n type: string = 'ellipse';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n rx: 0,\n ry: 0,\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n // 圆和椭圆的点坐标属性不是 x, y,而是 cx, cy\n if (attr === 'x' || attr === 'y') {\n el.setAttribute(`c${attr}`, value);\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n}\n\nexport default Ellipse;\n","/**\n * @fileoverview image\n * @author dengfuping_develop@163.com\n */\n\nimport { each, isString } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Image extends ShapeBase {\n type: string = 'image';\n canFill: boolean = false;\n canStroke: boolean = false;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (attr === 'img') {\n this._setImage(attrs.img);\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n\n setAttr(name: string, value: any) {\n this.attrs[name] = value;\n if (name === 'img') {\n this._setImage(value);\n }\n }\n\n _setImage(img) {\n const attrs = this.attr();\n const el = this.get('el');\n if (isString(img)) {\n el.setAttribute('href', img);\n } else if (img instanceof (window as any).Image) {\n if (!attrs.width) {\n el.setAttribute('width', img.width);\n this.attr('width', img.width);\n }\n if (!attrs.height) {\n el.setAttribute('height', img.height);\n this.attr('height', img.height);\n }\n el.setAttribute('href', img.src);\n } else if (img instanceof HTMLElement && isString(img.nodeName) && img.nodeName.toUpperCase() === 'CANVAS') {\n // @ts-ignore\n el.setAttribute('href', img.toDataURL());\n } else if (img instanceof ImageData) {\n const canvas = document.createElement('canvas');\n canvas.setAttribute('width', `${img.width}`);\n canvas.setAttribute('height', `${img.height}`);\n canvas.getContext('2d').putImageData(img, 0, 0);\n if (!attrs.width) {\n el.setAttribute('width', `${img.width}`);\n this.attr('width', img.width);\n }\n if (!attrs.height) {\n el.setAttribute('height', `${img.height}`);\n this.attr('height', img.height);\n }\n el.setAttribute('href', canvas.toDataURL());\n }\n }\n}\n\nexport default Image;\n","/**\n * @fileoverview line\n * @author dengfuping_develop@163.com\n */\nimport { Line as LineUtil } from '@antv/g-math';\nimport { each, isObject } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Line extends ShapeBase {\n type: string = 'line';\n canFill: boolean = false;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n startArrow: false,\n endArrow: false,\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (attr === 'startArrow' || attr === 'endArrow') {\n if (value) {\n const id = isObject(value)\n ? context.addArrow(attrs, SVG_ATTR_MAP[attr])\n : context.getDefaultArrow(attrs, SVG_ATTR_MAP[attr]);\n el.setAttribute(SVG_ATTR_MAP[attr], `url(#${id})`);\n } else {\n el.removeAttribute(SVG_ATTR_MAP[attr]);\n }\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n\n /**\n * Use math calculation to get length of line\n * @return {number} length\n */\n getTotalLength() {\n const { x1, y1, x2, y2 } = this.attr();\n return LineUtil.length(x1, y1, x2, y2);\n }\n\n /**\n * Use math calculation to get point according to ratio as same sa Canvas version\n * @param {number} ratio\n * @return {Point} point\n */\n getPoint(ratio: number) {\n const { x1, y1, x2, y2 } = this.attr();\n return LineUtil.pointAt(x1, y1, x2, y2, ratio);\n }\n}\n\nexport default Line;\n","const Symbols = {\n // 圆\n circle(x: number, y: number, r: number): any[] {\n return [\n ['M', x, y],\n ['m', -r, 0],\n ['a', r, r, 0, 1, 0, r * 2, 0],\n ['a', r, r, 0, 1, 0, -r * 2, 0],\n ];\n },\n // 正方形\n square(x: number, y: number, r: number): any[] {\n return [['M', x - r, y - r], ['L', x + r, y - r], ['L', x + r, y + r], ['L', x - r, y + r], ['Z']];\n },\n // 菱形\n diamond(x: number, y: number, r: number): any[] {\n return [['M', x - r, y], ['L', x, y - r], ['L', x + r, y], ['L', x, y + r], ['Z']];\n },\n // 三角形\n triangle(x: number, y: number, r: number): any[] {\n const diffY = r * Math.sin((1 / 3) * Math.PI);\n return [['M', x - r, y + diffY], ['L', x, y - diffY], ['L', x + r, y + diffY], ['z']];\n },\n // 倒三角形\n triangleDown(x: number, y: number, r: number): any[] {\n const diffY = r * Math.sin((1 / 3) * Math.PI);\n return [['M', x - r, y - diffY], ['L', x + r, y - diffY], ['L', x, y + diffY], ['Z']];\n },\n};\n\nexport type SymbolFunc = (x: number, y: number, r: number) => any[];\n\nexport default {\n get(type: string): SymbolFunc {\n return Symbols[type];\n },\n\n register(type: string, func: SymbolFunc) {\n Symbols[type] = func;\n },\n\n remove(type: string) {\n delete Symbols[type];\n },\n\n getAll() {\n return Symbols;\n },\n};\n","/**\n * @fileoverview marker\n * @author dengfuping_develop@163.com\n */\n\nimport { isArray, isFunction } from '@antv/util';\nimport ShapeBase from '../base';\nimport symbolsFactory from './symbols';\n\nclass Marker extends ShapeBase {\n type: string = 'marker';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n // 作为其静态属性\n public static symbolsFactory = symbolsFactory;\n\n createPath(context) {\n const el = this.get('el');\n el.setAttribute('d', this._assembleMarker());\n }\n\n _assembleMarker() {\n const d = this._getPath();\n if (isArray(d)) {\n return d\n .map((path) => {\n return path.join(' ');\n })\n .join('');\n }\n return d;\n }\n\n _getPath(): any[] {\n const attrs = this.attr();\n const { x, y } = attrs;\n // 兼容 r 和 radius 两种写法,推荐使用 r\n const r = attrs.r || attrs.radius;\n const symbol = attrs.symbol || 'circle';\n let method;\n if (isFunction(symbol)) {\n method = symbol;\n } else {\n method = symbolsFactory.get(symbol);\n }\n\n if (!method) {\n console.warn(`${method} symbol is not exist.`);\n return null;\n }\n return method(x, y, r);\n }\n}\n\nexport default Marker;\n","/**\n * @fileoverview path\n * @author dengfuping_develop@163.com\n */\nimport { Point } from '@antv/g-base';\nimport { each, isArray, isObject } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Path extends ShapeBase {\n type: string = 'path';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n startArrow: false,\n endArrow: false,\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (attr === 'path' && isArray(value)) {\n el.setAttribute('d', this._formatPath(value));\n } else if (attr === 'startArrow' || attr === 'endArrow') {\n if (value) {\n const id = isObject(value)\n ? context.addArrow(attrs, SVG_ATTR_MAP[attr])\n : context.getDefaultArrow(attrs, SVG_ATTR_MAP[attr]);\n el.setAttribute(SVG_ATTR_MAP[attr], `url(#${id})`);\n } else {\n el.removeAttribute(SVG_ATTR_MAP[attr]);\n }\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n\n _formatPath(value) {\n const newValue = value\n .map((path) => {\n return path.join(' ');\n })\n .join('');\n if (~newValue.indexOf('NaN')) {\n return '';\n }\n return newValue;\n }\n\n /**\n * Get total length of path\n * 尽管通过浏览器的 SVGPathElement.getTotalLength() 接口获取的 path 长度,\n * 与 Canvas 版本通过数学计算的方式得到的长度有一些细微差异,但最大误差在个位数像素,精度上可以能接受\n * @return {number} length\n */\n getTotalLength() {\n const el = this.get('el');\n return el ? el.getTotalLength() : null;\n }\n\n /**\n * Get point according to ratio\n * @param {number} ratio\n * @return {Point} point\n */\n getPoint(ratio: number): Point {\n const el = this.get('el');\n const totalLength = this.getTotalLength();\n // @see https://github.com/antvis/g/issues/634\n if (totalLength === 0) {\n return null;\n }\n const point = el ? el.getPointAtLength(ratio * totalLength) : null;\n return point\n ? {\n x: point.x,\n y: point.y,\n }\n : null;\n }\n}\n\nexport default Path;\n","/**\n * @fileoverview polygon\n * @author dengfuping_develop@163.com\n */\nimport { each, isArray } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Polygon extends ShapeBase {\n type: string = 'polygon';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (attr === 'points' && isArray(value) && value.length >= 2) {\n el.setAttribute('points', value.map((point) => `${point[0]},${point[1]}`).join(' '));\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n}\n\nexport default Polygon;\n","/**\n * @fileoverview polyline\n * @author dengfuping_develop@163.com\n */\nimport { Point } from '@antv/g-base';\nimport { Polyline as PolylineUtil } from '@antv/g-math';\nimport { Line as LineUtil } from '@antv/g-math';\nimport { each, isArray, isNil } from '@antv/util';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nclass Polyline extends ShapeBase {\n type: string = 'polyline';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n startArrow: false,\n endArrow: false,\n };\n }\n\n // 更新属性时,检测是否更改了 points\n onAttrChange(name: string, value: any, originValue: any) {\n super.onAttrChange(name, value, originValue);\n if (['points'].indexOf(name) !== -1) {\n this._resetCache();\n }\n }\n\n _resetCache() {\n this.set('totalLength', null);\n this.set('tCache', null);\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n each(targetAttrs || attrs, (value, attr) => {\n if (attr === 'points' && isArray(value) && value.length >= 2) {\n el.setAttribute('points', value.map((point) => `${point[0]},${point[1]}`).join(' '));\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n\n /**\n * Get length of polyline\n * @return {number} length\n */\n getTotalLength() {\n const { points } = this.attr();\n // get totalLength from cache\n const totalLength = this.get('totalLength');\n if (!isNil(totalLength)) {\n return totalLength;\n }\n this.set('totalLength', PolylineUtil.length(points));\n return this.get('totalLength');\n }\n\n /**\n * Get point according to ratio\n * @param {number} ratio\n * @return {Point} point\n */\n getPoint(ratio: number): Point {\n const { points } = this.attr();\n // get tCache from cache\n let tCache = this.get('tCache');\n if (!tCache) {\n this._setTcache();\n tCache = this.get('tCache');\n }\n\n let subt;\n let index;\n each(tCache, (v, i) => {\n if (ratio >= v[0] && ratio <= v[1]) {\n subt = (ratio - v[0]) / (v[1] - v[0]);\n index = i;\n }\n });\n return LineUtil.pointAt(points[index][0], points[index][1], points[index + 1][0], points[index + 1][1], subt);\n }\n\n _setTcache() {\n const { points } = this.attr();\n if (!points || points.length === 0) {\n return;\n }\n\n const totalLength = this.getTotalLength();\n if (totalLength <= 0) {\n return;\n }\n\n let tempLength = 0;\n const tCache = [];\n let segmentT;\n let segmentL;\n\n each(points, (p, i) => {\n if (points[i + 1]) {\n segmentT = [];\n segmentT[0] = tempLength / totalLength;\n segmentL = LineUtil.length(p[0], p[1], points[i + 1][0], points[i + 1][1]);\n tempLength += segmentL;\n segmentT[1] = tempLength / totalLength;\n tCache.push(segmentT);\n }\n });\n this.set('tCache', tCache);\n }\n\n /**\n * Get start tangent vector\n * @return {Array}\n */\n getStartTangent(): number[][] {\n const { points } = this.attr();\n const result = [];\n result.push([points[1][0], points[1][1]]);\n result.push([points[0][0], points[0][1]]);\n return result;\n }\n\n /**\n * Get end tangent vector\n * @return {Array}\n */\n getEndTangent(): number[][] {\n const { points } = this.attr();\n const l = points.length - 1;\n const result = [];\n result.push([points[l - 1][0], points[l - 1][1]]);\n result.push([points[l][0], points[l][1]]);\n return result;\n }\n}\n\nexport default Polyline;\n","/**\n * @fileoverview rect\n * @author dengfuping_develop@163.com\n */\n\nimport { each, isArray } from '@antv/util';\nimport ShapeBase from './base';\nimport { SVG_ATTR_MAP } from '../constant';\nimport { parseRadius } from '../util/format';\n\nclass Rect extends ShapeBase {\n type: string = 'rect';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n radius: 0,\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n // 加上状态量,用来标记 path 是否已组装\n let completed = false;\n // 和组装 path 相关的绘图属性\n const pathRelatedAttrs = ['x', 'y', 'width', 'height', 'radius'];\n each(targetAttrs || attrs, (value, attr) => {\n if (pathRelatedAttrs.indexOf(attr) !== -1 && !completed) {\n el.setAttribute('d', this._assembleRect(attrs));\n completed = true;\n } else if (pathRelatedAttrs.indexOf(attr) === -1 && SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n }\n\n _assembleRect(attrs) {\n const x = attrs.x;\n const y = attrs.y;\n const w = attrs.width;\n const h = attrs.height;\n const radius = attrs.radius;\n\n if (!radius) {\n return `M ${x},${y} l ${w},0 l 0,${h} l${-w} 0 z`;\n }\n const r = parseRadius(radius);\n if (isArray(radius)) {\n if (radius.length === 1) {\n r.r1 = r.r2 = r.r3 = r.r4 = radius[0];\n } else if (radius.length === 2) {\n r.r1 = r.r3 = radius[0];\n r.r2 = r.r4 = radius[1];\n } else if (radius.length === 3) {\n r.r1 = radius[0];\n r.r2 = r.r4 = radius[1];\n r.r3 = radius[2];\n } else {\n r.r1 = radius[0];\n r.r2 = radius[1];\n r.r3 = radius[2];\n r.r4 = radius[3];\n }\n } else {\n r.r1 = r.r2 = r.r3 = r.r4 = radius;\n }\n const d = [\n [`M ${x + r.r1},${y}`],\n [`l ${w - r.r1 - r.r2},0`],\n [`a ${r.r2},${r.r2},0,0,1,${r.r2},${r.r2}`],\n [`l 0,${h - r.r2 - r.r3}`],\n [`a ${r.r3},${r.r3},0,0,1,${-r.r3},${r.r3}`],\n [`l ${r.r3 + r.r4 - w},0`],\n [`a ${r.r4},${r.r4},0,0,1,${-r.r4},${-r.r4}`],\n [`l 0,${r.r4 + r.r1 - h}`],\n [`a ${r.r1},${r.r1},0,0,1,${r.r1},${-r.r1}`],\n ['z'],\n ];\n return d.join(' ');\n }\n}\n\nexport default Rect;\n","import { each, isArray, isString } from '@antv/util';\n\nconst regexTags = /[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/gi;\nconst regexDot = /[^\\s,]+/gi;\n\nexport function parseRadius(radius) {\n let r1 = 0;\n let r2 = 0;\n let r3 = 0;\n let r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n return {\n r1,\n r2,\n r3,\n r4,\n };\n}\n\nexport function parsePath(path) {\n path = path || [];\n if (isArray(path)) {\n return path;\n }\n\n if (isString(path)) {\n path = path.match(regexTags);\n each(path, (item, index) => {\n item = item.match(regexDot);\n if (item[0].length > 1) {\n const tag = item[0].charAt(0);\n item.splice(1, 0, item[0].substr(1));\n item[0] = tag;\n }\n each(item, (sub, i) => {\n if (!isNaN(sub)) {\n item[i] = +sub;\n }\n });\n path[index] = item;\n });\n return path;\n }\n}\n","/**\n * @fileoverview text\n * @author dengfuping_develop@163.com\n */\n\nimport { each } from '@antv/util';\nimport { detect } from 'detect-browser';\nimport { setTransform } from '../util/svg';\nimport { SVG_ATTR_MAP } from '../constant';\nimport ShapeBase from './base';\n\nconst LETTER_SPACING = 0.3;\n\nconst BASELINE_MAP = {\n top: 'before-edge',\n middle: 'central',\n bottom: 'after-edge',\n alphabetic: 'baseline',\n hanging: 'hanging',\n};\n\n// for FireFox\nconst BASELINE_MAP_FOR_FIREFOX = {\n top: 'text-before-edge',\n middle: 'central',\n bottom: 'text-after-edge',\n alphabetic: 'alphabetic',\n hanging: 'hanging',\n};\n\nconst ANCHOR_MAP = {\n left: 'left',\n start: 'left',\n center: 'middle',\n right: 'end',\n end: 'end',\n};\n\nclass Text extends ShapeBase {\n type: string = 'text';\n canFill: boolean = true;\n canStroke: boolean = true;\n\n getDefaultAttrs() {\n const attrs = super.getDefaultAttrs();\n return {\n ...attrs,\n x: 0,\n y: 0,\n text: null,\n fontSize: 12,\n fontFamily: 'sans-serif',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontVariant: 'normal',\n textAlign: 'start',\n textBaseline: 'bottom',\n };\n }\n\n createPath(context, targetAttrs) {\n const attrs = this.attr();\n const el = this.get('el');\n this._setFont();\n each(targetAttrs || attrs, (value, attr) => {\n if (attr === 'text') {\n this._setText(`${value}`);\n } else if (attr === 'matrix' && value) {\n setTransform(this);\n } else if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n el.setAttribute('paint-order', 'stroke');\n el.setAttribute('style', 'stroke-linecap:butt; stroke-linejoin:miter;');\n }\n\n _setFont() {\n const el = this.get('el');\n const { textBaseline, textAlign } = this.attr();\n\n const browser = detect();\n if (browser && browser.name === 'firefox') {\n // compatible with FireFox browser, ref: https://github.com/antvis/g/issues/119\n el.setAttribute('dominant-baseline', BASELINE_MAP_FOR_FIREFOX[textBaseline] || 'alphabetic');\n } else {\n el.setAttribute('alignment-baseline', BASELINE_MAP[textBaseline] || 'baseline');\n }\n\n el.setAttribute('text-anchor', ANCHOR_MAP[textAlign] || 'left');\n }\n\n _setText(text) {\n const el = this.get('el');\n const { x, textBaseline: baseline = 'bottom' } = this.attr();\n if (!text) {\n el.innerHTML = '';\n } else if (~text.indexOf('\\n')) {\n const textArr = text.split('\\n');\n const textLen = textArr.length - 1;\n let arr = '';\n each(textArr, (segment, i: number) => {\n if (i === 0) {\n if (baseline === 'alphabetic') {\n arr += `${segment}`;\n } else if (baseline === 'top') {\n arr += `${segment}`;\n } else if (baseline === 'middle') {\n arr += `${segment}`;\n } else if (baseline === 'bottom') {\n arr += `${segment}`;\n } else if (baseline === 'hanging') {\n arr += `${segment}`;\n }\n } else {\n arr += `${segment}`;\n }\n });\n el.innerHTML = arr;\n } else {\n el.innerHTML = text;\n }\n }\n}\n\nexport default Text;\n","/**\n * @fileoverview gradient\n * @author dengfuping_develop@163.com\n */\n\nimport { each, mod, toRadian, uniqueId } from '@antv/util';\nimport { createSVGElement } from '../util/dom';\n\nconst regexLG = /^l\\s*\\(\\s*([\\d.]+)\\s*\\)\\s*(.*)/i;\nconst regexRG = /^r\\s*\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*\\)\\s*(.*)/i;\nconst regexColorStop = /[\\d.]+:(#[^\\s]+|[^)]+\\))/gi;\n\nfunction addStop(steps) {\n const arr = steps.match(regexColorStop);\n if (!arr) {\n return '';\n }\n let stops = '';\n arr.sort((a, b) => {\n a = a.split(':');\n b = b.split(':');\n return Number(a[0]) - Number(b[0]);\n });\n each(arr, (item: any) => {\n item = item.split(':');\n stops += ``;\n });\n return stops;\n}\n\nfunction parseLineGradient(color, el) {\n const arr = regexLG.exec(color);\n const angle = mod(toRadian(parseFloat(arr[1])), Math.PI * 2);\n const steps = arr[2];\n let start;\n let end;\n\n if (angle >= 0 && angle < 0.5 * Math.PI) {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 1,\n y: 1,\n };\n } else if (0.5 * Math.PI <= angle && angle < Math.PI) {\n start = {\n x: 1,\n y: 0,\n };\n end = {\n x: 0,\n y: 1,\n };\n } else if (Math.PI <= angle && angle < 1.5 * Math.PI) {\n start = {\n x: 1,\n y: 1,\n };\n end = {\n x: 0,\n y: 0,\n };\n } else {\n start = {\n x: 0,\n y: 1,\n };\n end = {\n x: 1,\n y: 0,\n };\n }\n\n const tanTheta = Math.tan(angle);\n const tanTheta2 = tanTheta * tanTheta;\n\n const x = (end.x - start.x + tanTheta * (end.y - start.y)) / (tanTheta2 + 1) + start.x;\n const y = (tanTheta * (end.x - start.x + tanTheta * (end.y - start.y))) / (tanTheta2 + 1) + start.y;\n el.setAttribute('x1', start.x);\n el.setAttribute('y1', start.y);\n el.setAttribute('x2', x);\n el.setAttribute('y2', y);\n el.innerHTML = addStop(steps);\n}\n\nfunction parseRadialGradient(color, self) {\n const arr = regexRG.exec(color);\n const cx = parseFloat(arr[1]);\n const cy = parseFloat(arr[2]);\n const r = parseFloat(arr[3]);\n const steps = arr[4];\n self.setAttribute('cx', cx);\n self.setAttribute('cy', cy);\n self.setAttribute('r', r);\n self.innerHTML = addStop(steps);\n}\n\nclass Gradient {\n el: SVGGradientElement;\n id: string;\n cfg: {\n [key: string]: any;\n } = {};\n\n constructor(cfg) {\n let el = null;\n const id = uniqueId('gradient_');\n if (cfg.toLowerCase()[0] === 'l') {\n el = createSVGElement('linearGradient');\n parseLineGradient(cfg, el);\n } else {\n el = createSVGElement('radialGradient');\n parseRadialGradient(cfg, el);\n }\n el.setAttribute('id', id);\n this.el = el;\n this.id = id;\n this.cfg = cfg;\n return this;\n }\n\n match(type, attr) {\n return this.cfg === attr;\n }\n}\n\nexport default Gradient;\n","/**\n * @fileoverview shadow\n * @author dengfuping_develop@163.com\n */\n\nimport { each, uniqueId } from '@antv/util';\nimport { createSVGElement } from '../util/dom';\n\nconst ATTR_MAP = {\n shadowColor: 'color',\n shadowOpacity: 'opacity',\n shadowBlur: 'blur',\n shadowOffsetX: 'dx',\n shadowOffsetY: 'dy',\n};\n\nconst SHADOW_DIMENSION = {\n x: '-40%',\n y: '-40%',\n width: '200%',\n height: '200%',\n};\n\nclass Shadow {\n type: string = 'filter';\n id: string;\n el: SVGFilterElement;\n cfg: {\n [key: string]: any;\n } = {};\n\n constructor(cfg) {\n this.type = 'filter';\n const el = createSVGElement('filter') as SVGFilterElement;\n // expand the filter region to fill in shadows\n each(SHADOW_DIMENSION, (v, k) => {\n el.setAttribute(k, v);\n });\n this.el = el;\n this.id = uniqueId('filter_');\n this.el.id = this.id;\n this.cfg = cfg;\n this._parseShadow(cfg, el);\n return this;\n }\n\n match(type, cfg) {\n if (this.type !== type) {\n return false;\n }\n let flag = true;\n const config = this.cfg;\n each(Object.keys(config), (attr) => {\n if (config[attr] !== cfg[attr]) {\n flag = false;\n return false;\n }\n });\n return flag;\n }\n\n update(name, value) {\n const config = this.cfg;\n config[ATTR_MAP[name]] = value;\n this._parseShadow(config, this.el);\n return this;\n }\n\n _parseShadow(config, el) {\n const child = ``;\n el.innerHTML = child;\n }\n}\n\nexport default Shadow;\n","/**\n * @fileoverview arrow\n * @author dengfuping_develop@163.com\n */\n\nimport { isArray, uniqueId } from '@antv/util';\nimport { createSVGElement } from '../util/dom';\n\nclass Arrow {\n id: string;\n el: SVGMarkerElement;\n child: SVGPathElement | any; // TODO G.Shape, not any\n stroke: string;\n cfg: {\n [key: string]: any;\n } = {};\n\n constructor(attrs, type) {\n const el = createSVGElement('marker') as SVGMarkerElement;\n const id = uniqueId('marker_');\n el.setAttribute('id', id);\n const shape = createSVGElement('path');\n shape.setAttribute('stroke', attrs.stroke || 'none');\n shape.setAttribute('fill', attrs.fill || 'none');\n el.appendChild(shape);\n el.setAttribute('overflow', 'visible');\n el.setAttribute('orient', 'auto-start-reverse');\n this.el = el;\n this.child = shape;\n this.id = id;\n const cfg = attrs[type === 'marker-start' ? 'startArrow' : 'endArrow'];\n this.stroke = attrs.stroke || '#000';\n if (cfg === true) {\n this._setDefaultPath(type, shape);\n } else {\n this.cfg = cfg; // when arrow config exists\n this._setMarker(attrs.lineWidth, shape);\n }\n return this;\n }\n\n match() {\n return false;\n }\n\n _setDefaultPath(type, el) {\n const parent = this.el;\n // 默认箭头的边长为 10,夹角为 60 度\n el.setAttribute('d', `M0,0 L${10 * Math.cos(Math.PI / 6)},5 L0,10`);\n parent.setAttribute('refX', `${10 * Math.cos(Math.PI / 6)}`);\n parent.setAttribute('refY', `${5}`);\n }\n\n _setMarker(r, el) {\n const parent = this.el;\n let path = this.cfg.path;\n const d = this.cfg.d;\n\n if (isArray(path)) {\n path = path\n .map((segment) => {\n return segment.join(' ');\n })\n .join('');\n }\n el.setAttribute('d', path);\n parent.appendChild(el);\n if (d) {\n parent.setAttribute('refX', `${d / r}`);\n }\n }\n\n update(fill) {\n const child = this.child;\n if (child.attr) {\n child.attr('fill', fill);\n } else {\n child.setAttribute('fill', fill);\n }\n }\n}\n\nexport default Arrow;\n","/**\n * @fileoverview clip\n * @author dengfuping_develop@163.com\n */\n\nimport { uniqueId } from '@antv/util';\nimport { createSVGElement } from '../util/dom';\n\nclass Clip {\n type: string = 'clip';\n id: string;\n el: SVGClipPathElement;\n cfg: {\n [key: string]: any;\n } = {};\n\n constructor(cfg) {\n const el = createSVGElement('clipPath') as SVGClipPathElement;\n this.el = el;\n this.id = uniqueId('clip_');\n el.id = this.id;\n const shapeEl = cfg.cfg.el;\n el.appendChild(shapeEl);\n this.cfg = cfg;\n return this;\n }\n\n match() {\n return false;\n }\n\n remove() {\n const el = this.el;\n el.parentNode.removeChild(el);\n }\n}\n\nexport default Clip;\n","/**\n * @fileoverview pattern\n * @author dengfuping_develop@163.com\n */\n\nimport { uniqueId } from '@antv/util';\nimport { createSVGElement } from '../util/dom';\n\nconst regexPR = /^p\\s*\\(\\s*([axyn])\\s*\\)\\s*(.*)/i;\n\nclass Pattern {\n el: SVGPatternElement;\n id: string;\n cfg: {\n [key: string]: any;\n } = {};\n\n constructor(cfg) {\n const el = createSVGElement('pattern') as SVGPatternElement;\n el.setAttribute('patternUnits', 'userSpaceOnUse');\n const child = createSVGElement('image');\n el.appendChild(child);\n const id = uniqueId('pattern_');\n el.id = id;\n this.el = el;\n this.id = id;\n this.cfg = cfg;\n const arr = regexPR.exec(cfg);\n const source = arr[2];\n child.setAttribute('href', source);\n const img = new Image();\n if (!source.match(/^data:/i)) {\n img.crossOrigin = 'Anonymous';\n }\n img.src = source;\n function onload() {\n el.setAttribute('width', `${img.width}`);\n el.setAttribute('height', `${img.height}`);\n }\n if (img.complete) {\n onload();\n } else {\n img.onload = onload;\n // Fix onload() bug in IE9\n img.src = img.src;\n }\n\n return this;\n }\n\n match(type, attr) {\n return this.cfg === attr;\n }\n}\n\nexport default Pattern;\n","/**\n * @fileoverview defs\n * @author dengfuping_develop@163.com\n */\n\nimport { uniqueId } from '@antv/util';\nimport Gradient from './gradient';\nimport Shadow from './shadow';\nimport Arrow from './arrow';\nimport Clip from './clip';\nimport Pattern from './pattern';\nimport { createSVGElement } from '../util/dom';\n\nclass Defs {\n id: string;\n defaultArrow: {};\n children: any[];\n el: SVGDefsElement;\n canvas: SVGSVGElement;\n\n constructor(canvas) {\n const el = createSVGElement('defs') as SVGDefsElement;\n const id = uniqueId('defs_');\n el.id = id;\n canvas.appendChild(el);\n this.children = [];\n this.defaultArrow = {};\n this.el = el;\n this.canvas = canvas;\n }\n\n find(type, attr) {\n const children = this.children;\n let result = null;\n for (let i = 0; i < children.length; i++) {\n if (children[i].match(type, attr)) {\n result = children[i].id;\n break;\n }\n }\n return result;\n }\n\n findById(id) {\n const children = this.children;\n let flag = null;\n for (let i = 0; i < children.length; i++) {\n if (children[i].id === id) {\n flag = children[i];\n break;\n }\n }\n return flag;\n }\n\n add(item) {\n this.children.push(item);\n item.canvas = this.canvas;\n item.parent = this;\n }\n\n getDefaultArrow(attrs, name) {\n const stroke = attrs.stroke || attrs.strokeStyle;\n if (this.defaultArrow[stroke]) {\n return this.defaultArrow[stroke].id;\n }\n const arrow = new Arrow(attrs, name);\n this.defaultArrow[stroke] = arrow;\n this.el.appendChild(arrow.el);\n this.add(arrow);\n return arrow.id;\n }\n\n addGradient(cfg) {\n const gradient = new Gradient(cfg);\n this.el.appendChild(gradient.el);\n this.add(gradient);\n return gradient.id;\n }\n\n addArrow(attrs, name) {\n const arrow = new Arrow(attrs, name);\n this.el.appendChild(arrow.el);\n this.add(arrow);\n return arrow.id;\n }\n\n addShadow(cfg) {\n const shadow = new Shadow(cfg);\n this.el.appendChild(shadow.el);\n this.add(shadow);\n return shadow.id;\n }\n\n addPattern(cfg) {\n const pattern = new Pattern(cfg);\n this.el.appendChild(pattern.el);\n this.add(pattern);\n return pattern.id;\n }\n\n addClip(cfg) {\n const clip = new Clip(cfg);\n this.el.appendChild(clip.el);\n this.add(clip);\n return clip.id;\n }\n}\n\nexport default Defs;\n","import { AbstractCanvas, IShape } from '@antv/g-base';\nimport { ChangeType } from '@antv/g-base';\nimport { IElement } from './interfaces';\nimport { SHAPE_TO_TAGS } from './constant';\nimport { drawChildren } from './util/draw';\nimport { setTransform, setClip } from './util/svg';\nimport { sortDom, createSVGElement } from './util/dom';\nimport * as Shape from './shape';\nimport Group from './group';\nimport Defs from './defs';\n\nclass Canvas extends AbstractCanvas {\n constructor(cfg) {\n super({\n ...cfg,\n autoDraw: true,\n // 设置渲染引擎为 canvas,只读属性\n renderer: 'svg',\n });\n }\n\n getShapeBase() {\n return Shape;\n }\n\n getGroupBase() {\n return Group;\n }\n\n // 覆盖 Container 中通过遍历的方式获取 shape 对象的逻辑,直接走 SVG 的 dom 拾取即可\n getShape(x: number, y: number, ev: Event): IShape {\n let target = ev.target || ev.srcElement;\n if (!SHAPE_TO_TAGS[target.tagName]) {\n let parent = target.parentNode;\n while (parent && !SHAPE_TO_TAGS[parent.tagName]) {\n parent = parent.parentNode;\n }\n target = parent;\n }\n return this.find((child) => child.get('el') === target) as IShape;\n }\n\n // 复写基类的方法生成标签\n createDom() {\n const element = createSVGElement('svg') as SVGSVGElement;\n const context = new Defs(element);\n element.setAttribute('width', `${this.get('width')}`);\n element.setAttribute('height', `${this.get('height')}`);\n // 缓存 context 对象\n this.set('context', context);\n return element;\n }\n\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n onCanvasChange(changeType: ChangeType) {\n const context = this.get('context');\n const el = this.get('el');\n if (changeType === 'sort') {\n const children = this.get('children');\n if (children && children.length) {\n sortDom(this, (a: IElement, b: IElement) => {\n return children.indexOf(a) - children.indexOf(b) ? 1 : 0;\n });\n }\n } else if (changeType === 'clear') {\n // el maybe null for canvas\n if (el) {\n // 清空 SVG 元素\n el.innerHTML = '';\n const defsEl = context.el;\n // 清空 defs 元素\n defsEl.innerHTML = '';\n // 将清空后的 defs 元素挂载到 el 下\n el.appendChild(defsEl);\n }\n } else if (changeType === 'matrix') {\n setTransform(this);\n } else if (changeType === 'clip') {\n setClip(this, context);\n } else if (changeType === 'changeSize') {\n el.setAttribute('width', `${this.get('width')}`);\n el.setAttribute('height', `${this.get('height')}`);\n }\n }\n\n // 复写基类的 draw 方法\n draw() {\n const context = this.get('context');\n const children = this.getChildren() as IElement[];\n setClip(this, context);\n if (children.length) {\n drawChildren(context, children);\n }\n }\n}\n\nexport default Canvas;\n","import * as Shape from './shape';\n\nexport * from '@antv/g-base';\nexport { IElement, IGroup, IShape } from './interfaces';\nexport { default as Canvas } from './canvas';\nexport { default as Group } from './group';\nexport { Shape };\n\nexport const version = '0.5.6';\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry, { GeometryCfg } from './base';\nimport Element from './element';\n/** 引入对应的 ShapeFactory */\nimport './shape/line';\nimport { isModelChange } from './util/is-model-change';\nimport { diff } from './util/diff';\n\n/** Path 构造函数参数类型 */\nexport interface PathCfg extends GeometryCfg {\n /** 是否连接空值 */\n connectNulls?: boolean;\n /** 单个孤立数据点是否展示 */\n showSinglePoint?: boolean;\n}\n\n/**\n * Path 几何标记。\n * 用于绘制路径图等。\n */\nexport default class Path extends Geometry {\n public readonly type: string = 'path';\n public readonly shapeType: string = 'line';\n /** 是否连接空值 */\n public connectNulls: boolean;\n /** 单个孤立数据点是否展示 */\n public showSinglePoint: boolean;\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { connectNulls = false, showSinglePoint = true } = cfg;\n this.connectNulls = connectNulls;\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 创建所有的 Element 实例,对于 Path、Line、Area,一组数据对应一个 Element。\n * @param mappingData\n * @param [isUpdate]\n * @returns elements\n */\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false) {\n // Path 的每个 element 对应一组数据\n const keyData = new Map();\n const keyIndex = new Map();\n const keys: string[] = [];\n\n let index = 0;\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n const key = this.getElementId(mappingData);\n keys.push(key);\n keyData.set(key, mappingData);\n keyIndex.set(key, index);\n index++;\n }\n\n this.elements = new Array(index);\n\n const { added, updated, removed } = diff(this.lastElementsMap, keys);\n\n for (const key of added) {\n const mappingData = keyData.get(key);\n const shapeFactory = this.getShapeFactory();\n const shapeCfg = this.getShapeInfo(mappingData);\n const i = keyIndex.get(key);\n const element = new Element({\n shapeFactory,\n container: this.container,\n offscreenGroup: this.getOffscreenGroup(),\n elementIndex: i,\n });\n element.geometry = this;\n element.animate = this.animateOption;\n element.draw(shapeCfg, isUpdate); // 绘制 shape\n this.elementsMap[key] = element;\n this.elements[i] = element;\n }\n\n for (const key of updated) {\n const mappingData = keyData.get(key);\n const element = this.lastElementsMap[key];\n const i = keyIndex.get(key);\n const shapeCfg = this.getShapeInfo(mappingData);\n const preShapeCfg = element.getModel();\n if (this.isCoordinateChanged || isModelChange(preShapeCfg, shapeCfg)) {\n element.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n element.update(shapeCfg); // 更新对应的 element\n }\n this.elementsMap[key] = element;\n this.elements[i] = element;\n }\n\n for (const key of removed) {\n const element = this.lastElementsMap[key];\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n element.animate = this.animateOption;\n element.destroy();\n }\n }\n\n /**\n * 获取组成一条线(一组数据)的所有点以及数据\n * @param mappingData 映射后的数组\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push({\n x: obj.x,\n y: obj.y,\n });\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n const { points, data } = this.getPointsAndData(mappingData);\n shapeCfg.mappingData = mappingData;\n shapeCfg.data = data;\n shapeCfg.isStack = !!this.getAdjust('stack');\n shapeCfg.points = points;\n shapeCfg.connectNulls = this.connectNulls;\n shapeCfg.showSinglePoint = this.showSinglePoint;\n\n return shapeCfg;\n }\n}\n","import { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position, Shape, ShapeInfo } from '../../../interface';\n\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\n\nfunction getPath(\n points: Point[],\n isInCircle: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n): PathCommand[] {\n let path = [];\n\n if (points.length) {\n const topLinePoints = []; // area 区域上部分\n let bottomLinePoints = []; // area 区域下部分\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n topLinePoints.push(point[1]);\n bottomLinePoints.push(point[0]);\n }\n bottomLinePoints = bottomLinePoints.reverse();\n\n each([topLinePoints, bottomLinePoints], (pointsData, index) => {\n let subPath = [];\n const parsedPoints = registeredShape.parsePoints(pointsData);\n const p1 = parsedPoints[0];\n\n if (topLinePoints.length === 1 && bottomLinePoints.length === 1) {\n // 都只有一个点,绘制一条竖线\n subPath =\n index === 0\n ? [\n ['M', p1.x - 0.5, p1.y],\n ['L', p1.x + 0.5, p1.y],\n ]\n : [\n ['L', p1.x + 0.5, p1.y],\n ['L', p1.x - 0.5, p1.y],\n ];\n } else {\n if (isInCircle) {\n parsedPoints.push({ x: p1.x, y: p1.y });\n }\n if (smooth) {\n subPath = getSplinePath(parsedPoints, false, constraint);\n } else {\n subPath = getLinePath(parsedPoints, false);\n }\n if (index > 0) {\n subPath[0][0] = 'L';\n }\n }\n\n path = path.concat(subPath);\n });\n\n path.push(['Z']);\n }\n\n return path;\n}\n\n/**\n * @ignore\n * Gets shape attrs\n * @param cfg\n * @param isStroke\n * @param smooth\n * @param registeredShape\n * @param [constraint]\n * @returns\n */\nexport function getShapeAttrs(\n cfg: ShapeInfo,\n isStroke: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n) {\n const attrs = getStyle(cfg, isStroke, !isStroke, 'lineWidth');\n const { connectNulls, isInCircle, points, showSinglePoint } = cfg;\n const pathPoints = getPathPoints(points, connectNulls, showSinglePoint); // 根据 connectNulls 配置获取图形关键点\n\n let path = [];\n for (let i = 0, len = pathPoints.length; i < len; i++) {\n const eachPoints = pathPoints[i];\n path = path.concat(getPath(eachPoints, isInCircle, smooth, registeredShape, constraint));\n }\n attrs.path = path;\n\n return attrs;\n}\n\n/**\n * @ignore\n * Gets constraint\n * @param coordinate\n * @returns constraint\n */\nexport function getConstraint(coordinate: Coordinate): Position[] {\n const { start, end } = coordinate;\n return [\n [start.x, end.y],\n [end.x, start.y],\n ];\n}\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getShapeAttrs } from './util';\n\nconst AreaShapeFactory = registerShapeFactory('area', {\n defaultShapeType: 'area',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n // area 基本标记的绘制需要获取上下两边的顶点\n const { x, y0 } = pointInfo;\n const y = isArray(pointInfo.y) ? pointInfo.y : [y0, pointInfo.y];\n\n return y.map((yItem: number) => {\n return {\n x: x as number,\n y: yItem,\n };\n });\n },\n});\n\n// Area 几何标记默认的 shape:填充的区域图\nregisterShape('area', 'area', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, false, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n fillOpacity: 1,\n },\n };\n },\n});\n\nexport default AreaShapeFactory;\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum } from '../interface';\nimport Path, { PathCfg } from './path';\nimport './shape/area';\n\n/** Area 几何标记构造函数参数 */\nexport interface AreaCfg extends PathCfg {\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n startOnZero?: boolean;\n}\n\n/**\n * Area 几何标记类。\n * 常用于绘制面积图。\n */\nexport default class Area extends Path {\n public readonly type: string = 'area';\n public readonly shapeType: string = 'area';\n /** 生成图形关键点 */\n public readonly generatePoints: boolean = true;\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n public readonly startOnZero: boolean = true;\n\n constructor(cfg: AreaCfg) {\n super(cfg);\n\n const { startOnZero = true, sortable = false, showSinglePoint = false } = cfg;\n this.startOnZero = startOnZero; // 默认为 true\n this.sortable = sortable; // 关闭默认的 X 轴数据排序\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 获取图形绘制的关键点以及数据\n * @param mappingData 映射后的数据\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push(obj.points);\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n /**\n * 获取 Y 轴上的最小值\n * @returns y 字段最小值\n */\n protected getYMinValue(): number {\n if (this.startOnZero) {\n return super.getYMinValue();\n }\n const yScale = this.getYScale();\n return yScale.min;\n }\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\n\nconst EdgeShapeFactory = registerShapeFactory('edge', {\n defaultShapeType: 'line',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\nregisterShape('edge', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const path = getLinePath(this.parsePoints(cfg.points), this.coordinate.isPolar);\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n\nexport default EdgeShapeFactory;\n","import Geometry from './base';\nimport './shape/edge';\n\n/**\n * Edge 几何标记,用于绘制关系图中的**边**图形,如:\n * 1. 流程图\n * 2. 树\n * 3. 弧长连接图\n * 4. 和弦图\n * 5. 桑基图\n */\nexport default class Edge extends Geometry {\n public readonly type: string = 'edge';\n public readonly shapeType: string = 'edge';\n protected generatePoints: boolean = true;\n}\n","import ColorUtil from '@antv/color-util';\nimport { get, isNumber } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Color, IShape } from '../dependents';\nimport { Data, Datum, MappingDatum, ShapeInfo, AttributeOption, ColorAttrCallback } from '../interface';\nimport Geometry from './base';\n\n/**\n * 用于绘制热力图。\n */\nexport default class Heatmap extends Geometry {\n public readonly type: string = 'heatmap';\n\n private paletteCache: Record = {};\n private grayScaleBlurredCanvas: HTMLCanvasElement;\n private shadowCanvas: HTMLCanvasElement;\n private imageShape: IShape;\n\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false) {\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n const range = this.prepareRange(mappingData);\n const radius = this.prepareSize();\n\n let blur = get(this.styleOption, ['cfg', 'shadowBlur']);\n if (!isNumber(blur)) {\n blur = radius / 2;\n }\n\n this.prepareGreyScaleBlurredCircle(radius, blur);\n this.drawWithRange(mappingData, range, radius, blur);\n }\n }\n\n /** 热力图暂时不支持 callback 回调(文档需要说明下) */\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, typeof cfg !== 'function' ? cfg : '');\n\n return this;\n }\n\n /**\n * clear\n */\n public clear() {\n super.clear();\n this.clearShadowCanvasCtx();\n this.paletteCache = {};\n }\n\n private prepareRange(data: MappingDatum[]) {\n const colorAttr = this.getAttribute('color');\n const colorField = colorAttr.getFields()[0];\n\n let min = Infinity;\n let max = -Infinity;\n data.forEach((row) => {\n const value = row[FIELD_ORIGIN][colorField];\n if (value > max) {\n max = value;\n }\n if (value < min) {\n min = value;\n }\n });\n\n if (min === max) {\n min = max - 1;\n }\n\n return [min, max];\n }\n\n private prepareSize() {\n let radius = this.getDefaultValue('size');\n if (!isNumber(radius)) {\n radius = this.getDefaultSize();\n }\n\n return radius;\n }\n\n private prepareGreyScaleBlurredCircle(radius: number, blur: number) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n const r2 = radius + blur;\n const ctx = grayScaleBlurredCanvas.getContext('2d');\n grayScaleBlurredCanvas.width = grayScaleBlurredCanvas.height = r2 * 2;\n ctx.clearRect(0, 0, grayScaleBlurredCanvas.width, grayScaleBlurredCanvas.height);\n ctx.shadowOffsetX = ctx.shadowOffsetY = r2 * 2;\n ctx.shadowBlur = blur;\n ctx.shadowColor = 'black';\n\n ctx.beginPath();\n ctx.arc(-r2, -r2, radius, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n }\n\n private drawWithRange(data: MappingDatum[], range: number[], radius: number, blur: number) {\n // canvas size\n const { start, end } = this.coordinate;\n const width = this.coordinate.getWidth();\n const height = this.coordinate.getHeight();\n\n // value, range, etc\n const colorAttr = this.getAttribute('color');\n const valueField = colorAttr.getFields()[0];\n\n // prepare shadow canvas context\n this.clearShadowCanvasCtx();\n const ctx = this.getShadowCanvasCtx();\n // filter data\n if (range) {\n data = data.filter((row) => {\n return row[FIELD_ORIGIN][valueField] <= range[1] && row[FIELD_ORIGIN][valueField] >= range[0];\n });\n }\n\n // step1. draw points with shadow\n const scale = this.scales[valueField];\n for (const obj of data) {\n const { x, y } = this.getDrawCfg(obj);\n const alpha = scale.scale(obj[FIELD_ORIGIN][valueField]);\n this.drawGrayScaleBlurredCircle((x as number) - start.x, (y as number) - end.y, radius + blur, alpha, ctx);\n }\n\n // step2. convert pixels\n const colored = ctx.getImageData(0, 0, width, height);\n this.clearShadowCanvasCtx();\n this.colorize(colored);\n ctx.putImageData(colored, 0, 0);\n const imageShape = this.getImageShape();\n imageShape.attr('x', start.x);\n imageShape.attr('y', end.y);\n imageShape.attr('width', width);\n imageShape.attr('height', height);\n imageShape.attr('img', ctx.canvas);\n imageShape.set('origin', this.getShapeInfo(data)); // 存储绘图信息数据\n }\n\n private getDefaultSize() {\n const position = this.getAttribute('position');\n const coordinate = this.coordinate;\n return Math.min(\n coordinate.getWidth() / (position.scales[0].ticks.length * 4),\n coordinate.getHeight() / (position.scales[1].ticks.length * 4)\n );\n }\n\n private clearShadowCanvasCtx() {\n const ctx = this.getShadowCanvasCtx();\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n private getShadowCanvasCtx() {\n let canvas = this.shadowCanvas;\n if (!canvas) {\n canvas = document.createElement('canvas');\n this.shadowCanvas = canvas;\n }\n canvas.width = this.coordinate.getWidth();\n canvas.height = this.coordinate.getHeight();\n return canvas.getContext('2d');\n }\n\n private getGrayScaleBlurredCanvas() {\n if (!this.grayScaleBlurredCanvas) {\n this.grayScaleBlurredCanvas = document.createElement('canvas');\n }\n\n return this.grayScaleBlurredCanvas;\n }\n\n private drawGrayScaleBlurredCircle(x: number, y: number, r: number, alpha: number, ctx: CanvasRenderingContext2D) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n ctx.globalAlpha = alpha;\n ctx.drawImage(grayScaleBlurredCanvas, x - r, y - r);\n }\n\n private colorize(img: ImageData) {\n const colorAttr = this.getAttribute('color') as Color;\n const pixels = img.data;\n const paletteCache = this.paletteCache;\n for (let i = 3; i < pixels.length; i += 4) {\n const alpha = pixels[i]; // get gradient color from opacity value\n if (isNumber(alpha)) {\n const palette = paletteCache[alpha] ? paletteCache[alpha] : ColorUtil.rgb2arr(colorAttr.gradient(alpha / 256));\n pixels[i - 3] = palette[0];\n pixels[i - 2] = palette[1];\n pixels[i - 1] = palette[2];\n pixels[i] = alpha;\n }\n }\n }\n\n private getImageShape() {\n let imageShape = this.imageShape;\n if (imageShape) {\n return imageShape;\n }\n const container = this.container;\n imageShape = container.addShape({\n type: 'image',\n attrs: {},\n });\n this.imageShape = imageShape;\n return imageShape;\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n\n const data = mappingData.map((obj: Datum) => {\n return obj[FIELD_ORIGIN];\n });\n\n return {\n ...shapeCfg,\n mappingData,\n data,\n };\n }\n}\n","import { Coordinate } from '@antv/coord';\nimport { isArray, isNil, get } from '@antv/util';\nimport { getAngle, getSectorPath } from '../../../util/graphics';\nimport { PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapePoint } from '../../../interface';\n\n/**\n * @ignore\n * 根据数据点生成矩形的四个关键点\n * @param pointInfo 数据点信息\n * @param [isPyramid] 是否为尖底漏斗图\n * @returns rect points 返回矩形四个顶点信息\n */\nexport function getRectPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n // 有 4 种情况,\n // 1. x, y 都不是数组\n // 2. y是数组,x不是\n // 3. x是数组,y不是\n // 4. x, y 都是数组\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n let xMin;\n let xMax;\n if (isArray(x)) {\n [xMin, xMax] = x;\n } else {\n xMin = x - size / 2;\n xMax = x + size / 2;\n }\n\n const points = [\n { x: xMin, y: yMin },\n { x: xMin, y: yMax },\n ];\n\n // 矩形的四个关键点,结构如下(左下角顺时针连接)\n // 1 ---- 2\n // | |\n // 0 ---- 3\n points.push({ x: xMax, y: yMax }, { x: xMax, y: yMin });\n\n return points;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param isClosed path 是否需要闭合\n * @returns 返回矩形的 path\n */\nexport function getRectPath(points: Point[], isClosed: boolean = true): PathCommand[] {\n const path = [];\n const firstPoint = points[0];\n path.push(['M', firstPoint.x, firstPoint.y]);\n for (let i = 1, len = points.length; i < len; i++) {\n path.push(['L', points[i].x, points[i].y]);\n }\n // 对于 shape=\"line\" path 不应该闭合,否则会造成 lineCap 绘图属性失效\n if (isClosed) {\n path.push(['L', firstPoint.x, firstPoint.y]); // 需要闭合\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * 处理 rect path 的 radius\n * @returns 返回矩形 path 的四个角的 arc 半径\n */\nexport function parseRadius(radius: number | number[], minLength: number): number[] {\n let r1 = 0;\n let r2 = 0;\n let r3 = 0;\n let r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n\n // 处理 边界值\n if (r1 + r2 > minLength) {\n r1 = r1 ? minLength / (1 + r2 / r1) : 0;\n r2 = minLength - r1;\n }\n\n if (r3 + r4 > minLength) {\n r3 = r3 ? minLength / (1 + r4 / r3) : 0;\n r4 = minLength - r3;\n }\n\n return [r1 || 0, r2 || 0, r3 || 0, r4 || 0];\n}\n\n/**\n * 获取 interval 矩形背景的 path\n * @param cfg 关键点的信息\n * @param points 已转化为画布坐标的 4 个关键点\n * @param coordinate 坐标系\n * @returns 返回矩形背景的 path\n */\nexport function getBackgroundRectPath(cfg: ShapeInfo, points: Point[], coordinate: Coordinate): PathCommand[] {\n let path = [];\n if (coordinate.isRect) {\n const p0 = coordinate.isTransposed\n ? { x: coordinate.start.x, y: points[0].y }\n : { x: points[0].x, y: coordinate.start.y };\n const p1 = coordinate.isTransposed\n ? { x: coordinate.end.x, y: points[2].y }\n : { x: points[3].x, y: coordinate.end.y };\n\n // corner radius of background shape works only in 笛卡尔坐标系\n const radius = get(cfg, ['background', 'style', 'radius']);\n if (radius) {\n const width = coordinate.isTransposed ? Math.abs(points[0].y - points[2].y) : points[2].x - points[1].x;\n const height = coordinate.isTransposed ? coordinate.getWidth() : coordinate.getHeight();\n const [r1, r2, r3, r4] = parseRadius(radius, Math.min(width, height));\n\n // 同时存在 坐标系是否发生转置 和 y 镜像的时候\n const isReflectYTransposed = (coordinate.isTransposed && coordinate.isReflect('y'));\n const bump = isReflectYTransposed ? 0 : 1;\n const opposite = (r: number) => isReflectYTransposed ? -r : r;\n\n path.push(['M', p0.x, p1.y + opposite(r1)]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, bump, p0.x + r1, p1.y]);\n path.push(['L', p1.x - r2, p1.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, bump, p1.x, p1.y + opposite(r2)]);\n path.push(['L', p1.x, p0.y - opposite(r3)]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, bump, p1.x - r3, p0.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, bump, p0.x, p0.y - opposite(r4)]);\n } else {\n path.push(['M', p0.x, p0.y]);\n path.push(['L', p1.x, p0.y]);\n path.push(['L', p1.x, p1.y]);\n path.push(['L', p0.x, p1.y]);\n path.push(['L', p0.x, p0.y]);\n }\n\n path.push(['z']);\n }\n\n if (coordinate.isPolar) {\n const center = coordinate.getCenter();\n const { startAngle, endAngle } = getAngle(cfg, coordinate);\n if (coordinate.type !== 'theta' && !coordinate.isTransposed) {\n // 获取扇形 path\n path = getSectorPath(center.x, center.y, coordinate.getRadius(), startAngle, endAngle);\n } else {\n const pow = (v) => Math.pow(v, 2);\n const r1 = Math.sqrt(pow(center.x - points[0].x) + pow(center.y - points[0].y));\n const r2 = Math.sqrt(pow(center.x - points[2].x) + pow(center.y - points[2].y));\n // 获取扇形 path(其实是一个圆环,从 coordinate 的起始角度到结束角度)\n path = getSectorPath(center.x, center.y, r1, coordinate.startAngle, coordinate.endAngle, r2);\n }\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param lineCap 'round'圆角样式\n * @param coor 坐标\n * @returns 返回矩形的 path\n */\nexport function getIntervalRectPath(points: Point[], lineCap: CanvasLineCap, coor: Coordinate): PathCommand[] {\n const width = coor.getWidth();\n const height = coor.getHeight();\n const isRect = coor.type === 'rect';\n let path = [];\n const r = (points[2].x - points[1].x) / 2;\n const ry = coor.isTransposed ? (r * height) / width : (r * width) / height;\n if (lineCap === 'round') {\n if (isRect) {\n path.push(['M', points[0].x, points[0].y + ry]);\n path.push(['L', points[1].x, points[1].y - ry]);\n path.push(['A', r, r, 0, 0, 1, points[2].x, points[2].y - ry]);\n path.push(['L', points[3].x, points[3].y + ry]);\n path.push(['A', r, r, 0, 0, 1, points[0].x, points[0].y + ry]);\n } else {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['A', r, r, 0, 0, 1, points[2].x, points[2].y]);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['A', r, r, 0, 0, 1, points[0].x, points[0].y]);\n }\n path.push(['z']);\n } else {\n path = getRectPath(points);\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据 funnel 关键点绘制漏斗图的 path\n * @param points 图形关键点信息\n * @param nextPoints 下一个数据的图形关键点信息\n * @param isPyramid 是否为尖底漏斗图\n * @returns 返回漏斗图的图形 path\n */\nexport function getFunnelPath(points: Point[], nextPoints: Point[], isPyramid: boolean) {\n const path = [];\n if (!isNil(nextPoints)) {\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', nextPoints[1].x, nextPoints[1].y],\n ['L', nextPoints[0].x, nextPoints[0].y],\n ['Z']\n );\n } else if (isPyramid) {\n // 金字塔最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', (points[2].x + points[3].x) / 2, (points[2].y + points[3].y) / 2],\n ['Z']\n );\n } else {\n // 漏斗图最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['Z']\n );\n }\n\n return path;\n}\n\n/**\n * 交换两个对象\n */\nfunction swap(p0: T, p1: T) {\n return [p1, p0];\n}\n\n/**\n * 获取 倒角 矩形\n * - 目前只适用于笛卡尔坐标系下\n */\nexport function getRectWithCornerRadius(points: Point[], coordinate: Coordinate, radius?: number | number[]) {\n // 获取 四个关键点\n let [p0, p1, p2, p3] = [...points];\n let [r1, r2, r3, r4] = typeof radius === 'number' ? Array(4).fill(radius) : radius;\n\n if (coordinate.isTransposed) {\n [p1, p3] = swap(p1, p3);\n }\n\n /**\n * 存在镜像\n */\n if (coordinate.isReflect('y')) {\n [p0, p1] = swap(p0, p1);\n [p2, p3] = swap(p2, p3);\n }\n if (coordinate.isReflect('x')) {\n [p0, p3] = swap(p0, p3);\n [p1, p2] = swap(p1, p2);\n }\n\n const path = [];\n\n\n /**\n * p1 → p2\n * ↑ ↓\n * p0 ← p3\n *\n * 负数的情况,关键点会变成下面的形式\n *\n * p0 ← p3 p2 ← p1\n * ↓ ↑ ↓ ↑\n * p1 → p2 --> (转置下) p3 → p0\n */\n const abs = v => Math.abs(v);\n [r1, r2, r3, r4] = parseRadius([r1, r2, r3, r4], Math.min(abs(p3.x - p0.x), abs(p1.y - p0.y))).map(d => abs(d));\n\n if (coordinate.isTransposed) {\n [r1, r2, r3, r4] = [r4, r1, r2, r3]\n }\n\n if (p0.y < p1.y /** 负数情况 */) {\n path.push(['M', p3.x, p3.y + r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 0, p3.x - r3, p3.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 0, p0.x, p0.y + r4]);\n path.push(['L', p1.x, p1.y - r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 0/** 逆时针 */, p1.x + r1, p1.y]);\n path.push(['L', p2.x - r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 0, p2.x, p2.y - r2]);\n path.push(['L', p3.x, p3.y + r3]);\n path.push(['z']);\n } else if (p3.x < p0.x) {\n path.push(['M', p2.x + r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 0, p2.x, p2.y + r2]);\n path.push(['L', p3.x, p3.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 0, p3.x + r3, p3.y]);\n path.push(['L', p0.x - r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 0, p0.x, p0.y - r4]);\n path.push(['L', p1.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 0, p1.x - r1, p1.y]);\n path.push(['L', p2.x + r2, p2.y]);\n path.push(['z']);\n } else {\n path.push(['M', p1.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 1, p1.x + r1, p1.y]);\n path.push(['L', p2.x - r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 1, p2.x, p2.y + r2]);\n path.push(['L', p3.x, p3.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 1, p3.x - r3, p3.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 1, p0.x, p0.y - r4]);\n path.push(['L', p1.x, p1.y + r1]);\n path.push(['z']);\n }\n\n return path;\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { BACKGROUND_SHAPE } from '../constant';\nimport { getBackgroundRectStyle, getStyle } from '../util/get-style';\nimport { getBackgroundRectPath, getIntervalRectPath, getRectPoints, getRectWithCornerRadius } from './util';\n\n/** Interval 的 shape 工厂 */\nconst IntervalShapeFactory = registerShapeFactory('interval', {\n defaultShapeType: 'rect',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return getRectPoints(pointInfo);\n },\n});\n\n/** Inerval 默认 shape,填充的矩形 */\nregisterShape('interval', 'rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n let group = container;\n\n const backgroundCfg = cfg?.background;\n if (backgroundCfg) {\n group = container.addGroup({\n name: 'interval-group',\n });\n const backgroundStyle = getBackgroundRectStyle(cfg);\n const backgroundPath = getBackgroundRectPath(cfg, this.parsePoints(cfg.points) as Point[], this.coordinate);\n group.addShape('path', {\n attrs: {\n ...backgroundStyle,\n path: backgroundPath,\n },\n capture: false,\n zIndex: -1,\n name: BACKGROUND_SHAPE,\n });\n }\n\n let path;\n if (style.radius && this.coordinate.isRect) {\n path = getRectWithCornerRadius(this.parsePoints(cfg.points), this.coordinate, style.radius);\n } else {\n path = this.parsePath(getIntervalRectPath(cfg.points as Point[], style.lineCap, this.coordinate));\n }\n\n const shape = group.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return backgroundCfg ? group : shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default IntervalShapeFactory;\n","import { flatten, isString, valuesOfKey, isNil } from '@antv/util';\nimport { getXDimensionLength } from '../../util/coordinate';\n\n// 已经排序后的数据查找距离最小的\nfunction findMinDistance(arr, scale) {\n const count = arr.length;\n let sourceArr = arr;\n if (isString(sourceArr[0])) {\n // 日期类型的 values 经常上文本类型,所以需要转换一下\n sourceArr = arr.map((v: string) => {\n return scale.translate(v);\n });\n }\n let distance = sourceArr[1] - sourceArr[0];\n for (let i = 2; i < count; i++) {\n const tmp = sourceArr[i] - sourceArr[i - 1];\n if (distance > tmp) {\n distance = tmp;\n }\n }\n return distance;\n}\n\nfunction getDodgeCount(dataArray, dodgeBy) {\n if (dodgeBy) {\n const mergeData = flatten(dataArray);\n const values = valuesOfKey(mergeData, dodgeBy);\n return values.length;\n }\n\n return dataArray.length;\n}\n\n/** @ignore */\nexport function getDefaultSize(geometry): number {\n const theme = geometry.theme;\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const xValues = xScale.values;\n const dataArray = geometry.beforeMappingData;\n let count: number = xValues.length;\n const xDimensionLength = getXDimensionLength(geometry.coordinate);\n // 获取柱宽相关配置项\n const { intervalPadding, dodgePadding } = geometry;\n // 兼容theme配置\n const maxColumnWidth = geometry.maxColumnWidth || theme.maxColumnWidth;\n const minColumnWidth = geometry.minColumnWidth || theme.minColumnWidth;\n const columnWidthRatio = geometry.columnWidthRatio || theme.columnWidthRatio;\n const multiplePieWidthRatio = geometry.multiplePieWidthRatio || theme.multiplePieWidthRatio;\n const roseWidthRatio = geometry.roseWidthRatio || theme.roseWidthRatio;\n\n // 线性情况下count值\n if (xScale.isLinear && xValues.length > 1) {\n // Linear 类型用户有可能设置了 min, max 范围所以需要根据数据最小区间计算 count\n xValues.sort();\n const interval = findMinDistance(xValues, xScale);\n count = (xScale.max - xScale.min) / interval;\n if (xValues.length > count) {\n count = xValues.length;\n }\n }\n\n const range = xScale.range;\n let normalizedSize = 1 / count;\n let wr = 1;\n if (coordinate.isPolar) {\n // 极坐标场景\n if (coordinate.isTransposed && count > 1) {\n // 极坐标下多层环图\n wr = multiplePieWidthRatio;\n } else {\n wr = roseWidthRatio;\n }\n } else {\n // 非极坐标场景\n if (xScale.isLinear) {\n normalizedSize *= range[1] - range[0];\n }\n wr = columnWidthRatio;\n }\n\n // 基础柱状图\n if (!isNil(intervalPadding) && intervalPadding >= 0) {\n // 配置组间距情况\n const normalizedIntervalPadding = intervalPadding / xDimensionLength;\n normalizedSize = (1 - (count - 1) * normalizedIntervalPadding) / count;\n } else {\n // 默认情况\n normalizedSize *= wr;\n }\n // 分组柱状图\n if (geometry.getAdjust('dodge')) {\n const dodgeAdjust = geometry.getAdjust('dodge');\n const dodgeBy = dodgeAdjust.dodgeBy;\n const dodgeCount = getDodgeCount(dataArray, dodgeBy);\n if (!isNil(dodgePadding) && dodgePadding >= 0) {\n // 仅配置组内间距情况\n const normalizedDodgePadding = dodgePadding / xDimensionLength;\n normalizedSize = (normalizedSize - normalizedDodgePadding * (dodgeCount - 1)) / dodgeCount;\n } else if (!isNil(intervalPadding) && intervalPadding >= 0) {\n // 设置组间距但未设置组内间距情况,避免组间距过小导致图形重叠,需乘以wr\n normalizedSize *= wr;\n normalizedSize = normalizedSize / dodgeCount;\n } else {\n // 组间距和组内间距均未配置\n normalizedSize = normalizedSize / dodgeCount;\n }\n normalizedSize = normalizedSize >= 0 ? normalizedSize : 0;\n }\n\n // 最大和最小限制\n if (!isNil(maxColumnWidth) && maxColumnWidth >= 0) {\n const normalizedMaxColumnWidth = maxColumnWidth / xDimensionLength;\n if (normalizedSize > normalizedMaxColumnWidth) {\n normalizedSize = normalizedMaxColumnWidth;\n }\n }\n\n // \bminColumnWidth可能设置为0\n if (!isNil(minColumnWidth) && minColumnWidth >= 0) {\n const normalizedMinColumnWidth = minColumnWidth / xDimensionLength;\n if (normalizedSize < normalizedMinColumnWidth) {\n normalizedSize = normalizedMinColumnWidth;\n }\n }\n\n return normalizedSize;\n}\n","import { get } from '@antv/util';\nimport { Datum, MappingDatum, ShapeInfo, LooseObject } from '../interface';\nimport { ShapeAttrs } from '../dependents';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry, { GeometryCfg } from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/interval';\nimport { getDefaultSize } from './util/shape-size';\nimport { getMaxScale } from '../util/scale';\n\n/** Path 构造函数参数类型 */\nexport interface IntervalCfg extends GeometryCfg {\n /** shape 背景,只对 Interval Geometry 生效,目前只对 interval-rect shape 生效。 */\n background?: { style?: ShapeAttrs };\n}\n\n/**\n * Interval 几何标记。\n * 用于绘制柱状图、饼图、条形图、玫瑰图等。\n */\nexport default class Interval extends Geometry {\n public readonly type: string = 'interval';\n public readonly shapeType: string = 'interval';\n /** shape 背景。目前只对 interval-rect shape 生效。 */\n protected background?: { style?: ShapeAttrs };\n protected generatePoints: boolean = true;\n\n constructor(cfg: IntervalCfg) {\n super(cfg);\n\n const { background } = cfg;\n this.background = background;\n }\n\n /**\n * 获取每条数据的 Shape 绘制信息\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg = super.createShapePointsCfg(obj);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, obj)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n\n /**\n * 调整 y 轴的 scale 范围。\n * 对于 Y 轴为数值轴柱状图,默认从 0 开始 生长。\n */\n protected adjustScale() {\n super.adjustScale();\n const yScale = this.getYScale();\n // 特殊逻辑:饼图需要填充满整个空间\n if (this.coordinate.type === 'theta') {\n yScale.change({\n nice: false,\n min: 0,\n // 发生过 stack 调整,yScale 的 max 被调整过,this.updateStackRange()\n max: getMaxScale(yScale),\n });\n } else {\n // 柱状图数值轴默认从 0 开始\n const scaleDefs = this.scaleDefs;\n const { field, min, max, type } = yScale;\n if (type !== 'time') {\n // time 类型不做调整\n // 柱状图的 Y 轴要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (min > 0 && !get(scaleDefs, [field, 'min'])) {\n yScale.change({\n min: 0,\n });\n }\n // 柱当柱状图全为负值时也需要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (max <= 0 && !get(scaleDefs, [field, 'max'])) {\n yScale.change({\n max: 0,\n });\n }\n }\n }\n }\n\n /**\n * @override\n */\n protected getDrawCfg(mappingData: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingData);\n shapeCfg.background = this.background;\n\n return shapeCfg;\n }\n}\n","import Path, { PathCfg } from './path';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/line';\n\n/**\n * Line 几何标记。\n * 常用于折线图的绘制。\n */\nexport default class Line extends Path {\n public type: string = 'line';\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { sortable = false } = cfg; // 关闭默认的 X 轴数据排序\n this.sortable = sortable;\n }\n}\n","import { IGroup, IShape } from '../../../dependents';\nimport { ShapeInfo } from '../../../interface';\nimport { MarkerSymbols } from '../../../util/marker';\nimport { getStyle } from '../util/get-style';\n\nexport const SHAPES = ['circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down'];\nexport const HOLLOW_SHAPES = ['cross', 'tick', 'plus', 'hyphen', 'line'];\n\n/**\n * @ignore\n * Draws points\n * @param shape\n * @param cfg\n * @param container\n * @param shapeName\n * @param isStroke\n * @returns points\n */\nexport function drawPoints(\n shape,\n cfg: ShapeInfo,\n container: IGroup,\n shapeName: string,\n isStroke: boolean\n): IShape | IGroup {\n const style = getStyle(cfg, isStroke, !isStroke, 'r');\n const points = shape.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...point,\n },\n });\n }\n return group;\n }\n\n return container.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...pointPosition,\n },\n });\n}\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { splitPoints } from '../util/split-points';\nimport { drawPoints, SHAPES } from './util';\n\nconst PointShapeFactory = registerShapeFactory('point', {\n defaultShapeType: 'hollow-circle',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\neach(SHAPES, (shapeName: string) => {\n // 添加该 shape 对应的 hollow-shape\n registerShape('point', `hollow-${shapeName}`, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n\nexport default PointShapeFactory;\n","import { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry from './base';\n/** 引入 Point 对应的 ShapeFactory */\nimport './shape/point';\n\n/**\n * Point 几何标记。\n * 常用于绘制点图。\n */\nexport default class Point extends Geometry {\n public readonly type: string = 'point';\n public readonly shapeType: string = 'point';\n protected generatePoints: boolean = true;\n\n /**\n * 获取一个点的绘制信息。\n * @param mappingDatum\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingDatum);\n\n return {\n ...shapeCfg,\n isStack: !!this.getAdjust('stack'), // 层叠点图\n };\n }\n}\n","import { each, isEmpty, isEqual, last } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getPath(points: any[]) {\n let flag: any = points[0];\n let i = 1;\n\n const path = [['M', flag.x, flag.y]];\n\n while (i < points.length) {\n const c: any = points[i];\n if (c.x !== points[i - 1].x || c.y !== points[i - 1].y) {\n path.push(['L', c.x, c.y]);\n if (c.x === flag.x && c.y === flag.y && i < points.length - 1) {\n flag = points[i + 1];\n path.push(['Z']);\n path.push(['M', flag.x, flag.y]);\n i++;\n }\n }\n i++;\n }\n\n if (!isEqual(last(path), flag)) {\n path.push(['L', flag.x, flag.y]);\n }\n\n path.push(['Z']);\n\n return path;\n}\n\nconst PolygonShapeFactory = registerShapeFactory('polygon', {\n defaultShapeType: 'polygon',\n getDefaultPoints(pointInfo: ShapePoint) {\n const points = [];\n each(pointInfo.x as number[], (subX, index) => {\n const subY = pointInfo.y[index];\n points.push({\n x: subX,\n y: subY,\n });\n });\n return points;\n },\n});\n\nregisterShape('polygon', 'polygon', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default PolygonShapeFactory;\n","import { isArray } from '@antv/util';\nimport { Datum } from '../interface';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/polygon';\n\n/**\n * Polygon 几何标记。\n * 常用于绘制色块图、日历图等。\n */\nexport default class Polygon extends Geometry {\n public readonly type: string = 'polygon';\n public readonly shapeType: string = 'polygon';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param obj\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg: any = super.createShapePointsCfg(obj);\n let x = cfg.x;\n let y = cfg.y;\n let temp;\n // x y 都是数组时,不做处理\n if (!(isArray(x) && isArray(y))) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xCount = xScale.values.length;\n const yCount = yScale.values.length;\n const xOffset = (0.5 * 1) / xCount;\n const yOffset = (0.5 * 1) / yCount;\n\n if (xScale.isCategory && yScale.isCategory) {\n // 如果x,y都是分类\n x = [x - xOffset, x - xOffset, x + xOffset, x + xOffset];\n y = [y - yOffset, y + yOffset, y + yOffset, y - yOffset];\n } else if (isArray(x)) {\n // x 是数组\n temp = x;\n x = [temp[0], temp[0], temp[1], temp[1]];\n y = [y - yOffset / 2, y + yOffset / 2, y + yOffset / 2, y - yOffset / 2];\n } else if (isArray(y)) {\n // y 是数组\n temp = y;\n y = [temp[0], temp[1], temp[1], temp[0]];\n x = [x - xOffset / 2, x - xOffset / 2, x + xOffset / 2, x + xOffset / 2];\n }\n cfg.x = x;\n cfg.y = y;\n }\n return cfg;\n }\n}\n","import { LooseObject } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/schema';\nimport { getDefaultSize } from './util/shape-size';\n\n/**\n * Schema 几何标记,用于一些自定义图形的绘制,比如箱型图、股票图等。\n */\nexport default class Schema extends Geometry {\n public readonly type: string = 'schema';\n public readonly shapeType: string = 'schema';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: LooseObject) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n}\n","import { registerShapeFactory } from '../base';\n\nconst SchemaShapeFactory = registerShapeFactory('schema', {\n defaultShapeType: '', // 'schema' is for some custom shapes, so will not specify defaultShapeType\n});\n\nexport default SchemaShapeFactory;\n","import { each, max, map, isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ViolinShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\nfunction normalizeSize(arr: number[]) {\n if (!isArray(arr)) {\n return [];\n }\n const maxValue = max(arr);\n return map(arr, (num) => num / maxValue);\n}\n\nconst ViolinShapeFactory = registerShapeFactory('violin', {\n defaultShapeType: 'violin',\n getDefaultPoints(pointInfo: ViolinShapePoint) {\n const radius = pointInfo.size / 2;\n const points = [];\n const sizeArr = normalizeSize(pointInfo._size);\n\n each(pointInfo.y as number[], (y, index) => {\n const offset = sizeArr[index] * radius;\n const isMin = index === 0;\n const isMax = index === (pointInfo.y as number[]).length - 1;\n points.push({\n isMin,\n isMax,\n x: (pointInfo.x as number) - offset,\n y,\n });\n points.unshift({\n isMin,\n isMax,\n x: (pointInfo.x as number) + offset,\n y,\n });\n });\n return points;\n },\n});\n\nregisterShape('violin', 'violin', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'violin',\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default ViolinShapeFactory;\n","import { get } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Datum, ViolinShapePoint } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport { getDefaultSize } from './util/shape-size';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/violin';\n\n/**\n * Violin 几何标记。\n * 用于绘制小提琴图。\n */\nexport default class Violin extends Geometry {\n public readonly type: string = 'violin';\n public readonly shapeType: string = 'violin';\n protected generatePoints: boolean = true;\n /** size 私有映射字段 */\n private _sizeField: string;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: Datum) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n cfg._size = get(record[FIELD_ORIGIN], [this._sizeField]);\n return cfg;\n }\n\n /**\n * @override\n */\n protected initAttributes() {\n const { attributeOption } = this;\n const sizeField = attributeOption.size\n ? attributeOption.size.fields[0]\n : this._sizeField\n ? this._sizeField\n : 'size';\n this._sizeField = sizeField;\n // fixme 干啥要删掉\n delete attributeOption.size;\n super.initAttributes();\n }\n}\n","import { each } from '@antv/util';\nimport { Point } from '../../../interface';\n\n/**\n * @ignore\n * Gets cpath\n * @param from\n * @param to\n * @returns\n */\nexport function getCPath(from: Point, to: Point) {\n return ['C', (from.x * 1) / 2 + (to.x * 1) / 2, from.y, (from.x * 1) / 2 + (to.x * 1) / 2, to.y, to.x, to.y];\n}\n\n/**\n * @ignore\n * Gets qpath\n * @param to\n * @param center\n * @returns\n */\nexport function getQPath(to: Point, center: Point) {\n const points = [];\n points.push({\n x: center.x,\n y: center.y,\n });\n points.push(to);\n\n const sub = ['Q'];\n each(points, (point) => {\n sub.push(point.x, point.y);\n });\n\n return sub;\n}\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getShapeAttrs } from './util';\n\n/**\n * 描边但不填充的区域图\n */\nregisterShape('area', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, true, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/**\n * 填充的平滑曲面图\n */\nregisterShape('area', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, false, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n fillOpacity: 1,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/** 描边的平滑曲面图 */\nregisterShape('area', 'smooth-line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, true, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { getArcPath } from '../../../util/graphics';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath, getQPath } from './util';\n\nfunction getArcShapePath(from: Point, to: Point, center: Point) {\n const sub = getQPath(to, center);\n const path = [['M', from.x, from.y]];\n path.push(sub);\n return path;\n}\n\nfunction getArcShapeWeightPath(points: Point[], center: Point) {\n const arc1 = getQPath(points[1], center);\n const arc2 = getQPath(points[3], center);\n const path = [['M', points[0].x, points[0].y]];\n path.push(arc2);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['L', points[2].x, points[2].y]);\n path.push(arc1);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['L', points[0].x, points[0].y]);\n path.push(['Z']);\n return path;\n}\n\n// 弧线包括笛卡尔坐标系下的半圆弧线、极坐标系下以圆心为控制点的二阶曲线、笛卡尔坐标系下带权重的三阶曲线、极坐标系下带权重的以圆心为控制点的二阶曲线\nregisterShape('edge', 'arc', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n\n let points = cfg.points as Point[];\n const type = points.length > 2 ? 'weight' : 'normal';\n let path;\n if (cfg.isInCircle) {\n const center = { x: 0, y: 1 };\n if (type === 'normal') {\n path = getArcShapePath(points[0], points[1], center);\n } else {\n style.fill = style.stroke;\n path = getArcShapeWeightPath(points, center);\n }\n path = this.parsePath(path);\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n if (type === 'normal') {\n points = this.parsePoints(points);\n path = getArcPath(\n (points[1].x + points[0].x) / 2,\n points[0].y,\n Math.abs(points[1].x - points[0].x) / 2,\n Math.PI,\n Math.PI * 2\n );\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n const c1 = getCPath(points[1], points[3]);\n const c2 = getCPath(points[2], points[0]);\n\n path = [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n c1,\n ['L', points[3].x, points[3].y],\n ['L', points[2].x, points[2].y],\n c2,\n ['Z'],\n ];\n path = this.parsePath(path);\n style.fill = style.stroke;\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n }\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath } from './util';\n\nfunction getSmoothPath(from: Point, to: Point) {\n const sub = getCPath(from, to);\n const path = [['M', from.x, from.y]];\n\n path.push(sub);\n return path;\n}\n\nregisterShape('edge', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getSmoothPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nconst CORNER_PERCENT = 1 / 3;\n\nfunction getVHVPath(from: Point, to: Point) {\n const points = [];\n points.push({\n x: from.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push({\n x: to.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push(to);\n\n const path = [['M', from.x, from.y]];\n each(points, (point) => {\n path.push(['L', point.x, point.y]);\n });\n\n return path;\n}\n\nregisterShape('edge', 'vhv', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getVHVPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 漏斗图 */\nregisterShape('interval', 'funnel', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { BACKGROUND_SHAPE } from '../constant';\nimport { getBackgroundRectStyle, getStyle } from '../util/get-style';\nimport { getBackgroundRectPath, getRectPath } from './util';\n\n/** 描边柱状图 */\nregisterShape('interval', 'hollow-rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n let group = container;\n const backgroundCfg = cfg?.background;\n if (backgroundCfg) {\n group = container.addGroup();\n const backgroundStyle = getBackgroundRectStyle(cfg);\n const backgroundPath = getBackgroundRectPath(cfg, this.parsePoints(cfg.points) as Point[], this.coordinate);\n group.addShape('path', {\n attrs: {\n ...backgroundStyle,\n path: backgroundPath,\n },\n capture: false,\n zIndex: -1,\n name: BACKGROUND_SHAPE,\n });\n }\n\n const path = this.parsePath(getRectPath(cfg.points as Point[]));\n const shape = group.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return backgroundCfg ? group : shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath } from './util';\nimport { omit } from '../../../util/helper';\n\n// 根据数据点生成 Line 的两个关键点\nfunction getLinePoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0 } = pointInfo;\n\n if (isArray(y)) {\n return y.map((yItem, idx) => {\n return {\n x: isArray(x) ? x[idx] : x,\n y: yItem,\n };\n });\n }\n\n // 起始点从 y0 开始\n return [\n { x: x as number, y: y0 },\n { x: x as number, y },\n ];\n}\n\nregisterShape('interval', 'line', {\n getPoints(shapePoint: ShapePoint) {\n return getLinePoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const newStyle = omit({ ...style }, ['fill']);\n const path = this.parsePath(getRectPath(cfg.points as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...newStyle,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 金字塔图,尖底漏斗图 */\nregisterShape('interval', 'pyramid', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], true));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\n// 根据数据点生成 tick shape 的 6 个关键点\nfunction getTickPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n const xMax = (x as number) + size / 2;\n const xMin = (x as number) - size / 2;\n\n // tick 关键点顺序\n // 4 - 1 - 5\n // |\n // 2 - 0 - 3\n return [\n { x: x as number, y: yMin },\n { x: x as number, y: yMax },\n { x: xMin, y: yMin },\n { x: xMax, y: yMin },\n { x: xMin, y: yMax },\n { x: xMax, y: yMax },\n ];\n}\n\n// 根据 tick 关键点绘制 path\nfunction getTickPath(points: Point[]) {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ];\n}\n\n/** I 形状柱状图,常用于 error bar chart */\nregisterShape('interval', 'tick', {\n getPoints(shapePoint: ShapePoint) {\n return getTickPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getTickPath(cfg.points as Point[]));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLineMarker } from './util';\n\nconst interpolateCallback = (point: Point, nextPoint: Point, shapeType: string) => {\n const x = point.x as number;\n const y = point.y as number;\n const nextX = nextPoint.x as number;\n const nextY = nextPoint.y as number;\n let result;\n\n switch (shapeType) {\n case 'hv':\n result = [{ x: nextX, y }];\n break;\n case 'vh':\n result = [{ x, y: nextY }];\n break;\n case 'hvh':\n const middleX = (nextX + x) / 2;\n result = [\n { x: middleX, y },\n { x: middleX, y: nextY },\n ];\n break;\n case 'vhv':\n const middleY = (y + nextY) / 2;\n result = [\n { x, y: middleY },\n { x: nextX, y: middleY },\n ];\n break;\n default:\n break;\n }\n\n return result;\n};\n\nfunction getInterpolatePoints(points: Point[], shapeType: string) {\n let result = [];\n each(points, (point: Point, index) => {\n const nextPoint = points[index + 1];\n result.push(point);\n if (nextPoint) {\n const interpolatePoint = interpolateCallback(point, nextPoint, shapeType);\n result = result.concat(interpolatePoint);\n }\n });\n return result;\n}\n\n// 插值的图形path,不考虑null\nfunction getInterpolatePath(points: Point[]) {\n return points.map((point, index) => {\n return index === 0 ? ['M', point.x, point.y] : ['L', point.x, point.y];\n });\n}\n\n// 插值的图形\nfunction getInterpolateShapeAttrs(cfg: ShapeInfo, shapeType: string) {\n const points = getPathPoints(cfg.points, cfg.connectNulls, cfg.showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n each(points, (eachLinePoints) => {\n const interpolatePoints = getInterpolatePoints(eachLinePoints, shapeType);\n path = path.concat(getInterpolatePath(interpolatePoints));\n });\n\n return {\n ...getStyle(cfg, true, false, 'lineWidth'),\n path,\n };\n}\n\n// step line\neach(['hv', 'vh', 'hvh', 'vhv'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getInterpolateShapeAttrs(cfg, shapeType);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n","import { isArray, isNil } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction parseValue(value: number[]) {\n const array = !isArray(value) ? [value] : value;\n\n const min = array[0]; // 最小值\n const max = array[array.length - 1]; // 最大值\n const min1 = array.length > 1 ? array[1] : min;\n const max1 = array.length > 3 ? array[3] : max;\n const median = array.length > 2 ? array[2] : min1;\n\n return {\n min, // 最小值\n max, // 最大值\n min1,\n max1,\n median,\n };\n}\n\nfunction getBoxPoints(x: number | number[], y: number | number[], size: number): Point[] {\n const halfSize = size / 2;\n let pointsArray;\n if (isArray(y)) {\n // 2维\n const { min, max, median, min1, max1 } = parseValue(y);\n const minX = (x as number) - halfSize;\n const maxX = (x as number) + halfSize;\n pointsArray = [\n [minX, max],\n [maxX, max],\n [x as number, max],\n [x as number, max1],\n [minX, min1],\n [minX, max1],\n [maxX, max1],\n [maxX, min1],\n [x as number, min1],\n [x as number, min],\n [minX, min],\n [maxX, min],\n [minX, median],\n [maxX, median],\n ];\n } else {\n // 只有一个维度\n y = isNil(y) ? 0.5 : y;\n const { min, max, median, min1, max1 } = parseValue(x as number[]);\n const minY = y - halfSize;\n const maxY = y + halfSize;\n pointsArray = [\n [min, minY],\n [min, maxY],\n [min, y],\n [min1, y],\n [min1, minY],\n [min1, maxY],\n [max1, maxY],\n [max1, minY],\n [max1, y],\n [max, y],\n [max, minY],\n [max, maxY],\n [median, minY],\n [median, maxY],\n ];\n }\n\n return pointsArray.map((arr) => {\n return {\n x: arr[0],\n y: arr[1],\n };\n });\n}\n\nfunction getBoxPath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y], // 封闭 z\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x, points[10].y],\n ['L', points[11].x, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n}\n\n// box shape\nregisterShape('schema', 'box', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getBoxPoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getBoxPath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y - 6, y - 3, y, y + 3, y + 6];\n const points = getBoxPoints(x, yValues, r);\n return [\n ['M', points[0].x + 1, points[0].y],\n ['L', points[1].x - 1, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y],\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x + 1, points[10].y],\n ['L', points[11].x - 1, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n },\n style: {\n r: 6,\n lineWidth: 1,\n stroke: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { padEnd } from '../../../util/helper';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getCandleYValues(value: number | number[]) {\n const array = !isArray(value) ? [value] : value;\n // 从大到小排序\n const sorted = array.sort((a, b) => b - a);\n return padEnd(sorted, 4, sorted[sorted.length - 1]);\n}\n\n// get candle shape's key points\nfunction getCandlePoints(x: number, y: number[], size: number): Point[] {\n const yValues = getCandleYValues(y);\n return [\n { x, y: yValues[0] },\n { x, y: yValues[1] },\n { x: x - size / 2, y: yValues[2] },\n { x: x - size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[2] },\n { x, y: yValues[2] },\n { x, y: yValues[3] },\n ];\n}\n\nfunction getCandlePath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n}\n\n// k line shape\nregisterShape('schema', 'candle', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getCandlePoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, true);\n const path = this.parsePath(getCandlePath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y + 7.5, y + 3, y - 3, y - 7.5];\n const points = getCandlePoints(x, yValues, r);\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n },\n style: {\n lineWidth: 1,\n stroke: color,\n fill: color,\n r: 6,\n },\n };\n },\n});\n","import { isEmpty, clamp } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getRectAttrs(points: any[], size: number) {\n const width = Math.abs(points[0].x - points[2].x);\n const height = Math.abs(points[0].y - points[2].y);\n\n let len = Math.min(width, height);\n if (size) {\n len = clamp(size, 0, Math.min(width, height));\n }\n len = len / 2;\n const centerX = (points[0].x + points[2].x) / 2;\n const centerY = (points[0].y + points[2].y) / 2;\n\n return {\n x: centerX - len,\n y: centerY - len,\n width: len * 2,\n height: len * 2,\n };\n}\n\nregisterShape('polygon', 'square', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const points = this.parsePoints(cfg.points); // 转换为画布坐标\n return container.addShape('rect', {\n attrs: {\n ...shapeAttrs,\n ...getRectAttrs(points, cfg.size), // 获取 rect 绘图信息\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, HOLLOW_SHAPES } from './util';\n\n// 添加 hollowShape\neach(HOLLOW_SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName],\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nregisterShape('point', 'image', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const { r: size } = getStyle(cfg, false, false, 'r');\n const points = this.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape('image', {\n attrs: {\n x: (point.x as number) - size / 2,\n y: (point.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n }\n\n return group;\n }\n\n return container.addShape('image', {\n attrs: {\n x: (pointPosition.x as number) - size / 2,\n y: (pointPosition.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, SHAPES } from './util';\n\n// 所有的 SHAPES 都注册一下\neach(SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, false);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getSmoothViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\n/**\n * 平滑边界的小提琴图\n */\nregisterShape('violin', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, true);\n const path = this.parsePath(getSmoothViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n stroke: null,\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup, Point } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getSmoothViolinPath, getViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\n/**\n * 空心小提琴图\n */\nregisterShape('violin', 'hollow', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, false);\n const path = this.parsePath(getViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: null,\n stroke: color,\n },\n };\n },\n});\n\n/**\n * 平滑边界的空心小提琴图\n */\nregisterShape('violin', 'hollow-smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, false);\n const path = this.parsePath(getSmoothViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: null,\n stroke: color,\n },\n };\n },\n});\n","import { get, deepMix, isArray } from '@antv/util';\nimport { Writeable } from '../../util/types';\nimport { MappingDatum, Point } from '../../interface';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\n/**\n * 柱状图 label\n */\nexport default class IntervalLabel extends GeometryLabel {\n /**\n * 获取 interval label 的方向,取决于 value 的值是正还是负\n * @param labelCfg\n */\n private getLabelValueDir(mappingData: MappingDatum) {\n // points 中的 x/y 和 transpose 无关\n const dim = 'y';\n const { points } = mappingData;\n\n return points[0][dim] <= points[2][dim] ? 1 : -1;\n }\n\n /**\n * 重载:根据 interval 值的正负来调整 label 偏移量\n * @param labelCfg\n * @param index\n * @param total\n */\n protected getLabelOffsetPoint(labelCfg: LabelCfg, index: number, total: number, position?: string) {\n let point = super.getLabelOffsetPoint(labelCfg, index, total);\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const dir = this.getLabelValueDir(labelCfg.mappingData);\n point = { ...point, [dim]: point[dim] * dir };\n\n if (coordinate.isReflect('x')) {\n point = {\n ...point,\n x: point.x * -1,\n };\n }\n if (coordinate.isReflect('y')) {\n point = {\n ...point,\n y: point.y * -1,\n };\n }\n\n return point;\n }\n\n /**\n * 重载:定制 interval label 的默认主题配置\n * @param labelCfg\n */\n protected getThemedLabelCfg(labelCfg: LabelCfg) {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { theme } = geometry;\n\n // 如果 interval label position 设置为 middle,则将主题中的 offset 覆盖为 0\n return deepMix({}, defaultLabelCfg, theme.labels, labelCfg.position === 'middle' ? { offset: 0 } : {}, labelCfg);\n }\n\n protected setLabelPosition(\n labelPointCfg: Writeable,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const shapePoints = mappingData.points as Point[];\n const point0 = coordinate.convert(shapePoints[0]);\n const point2 = coordinate.convert(shapePoints[2]);\n const dir = this.getLabelValueDir(mappingData);\n\n let top;\n let right;\n let bottom;\n let left;\n\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n if (shape === 'funnel' || shape === 'pyramid') {\n // 处理漏斗图\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const p0 = coordinate.convert(points[0] as Point);\n const p1 = coordinate.convert(points[1] as Point);\n const nextP0 = coordinate.convert(nextPoints[0] as Point);\n const nextP1 = coordinate.convert(nextPoints[1] as Point);\n\n // TODO: 使用包围盒的计算方法\n if (transposed) {\n top = Math.min(nextP0.y, p0.y);\n bottom = Math.max(nextP0.y, p0.y);\n right = (p1.x + nextP1.x) / 2;\n left = (p0.x + nextP0.x) / 2;\n } else {\n top = Math.min((p1.y + nextP1.y) / 2, (p0.y + nextP0.y) / 2);\n bottom = Math.max((p1.y + nextP1.y) / 2, (p0.y + nextP0.y) / 2);\n right = nextP1.x;\n left = p0.x;\n }\n } else {\n top = Math.min(point2.y, point0.y);\n bottom = Math.max(point2.y, point0.y);\n right = point2.x;\n left = point0.x;\n }\n } else {\n top = Math.min(point2.y, point0.y);\n bottom = Math.max(point2.y, point0.y);\n right = point2.x;\n left = point0.x;\n }\n\n switch (position) {\n case 'right':\n labelPointCfg.x = right;\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', dir > 0 ? 'left' : 'right');\n break;\n case 'left':\n labelPointCfg.x = left;\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', dir > 0 ? 'left' : 'right');\n break;\n case 'bottom':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = bottom;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', dir > 0 ? 'bottom' : 'top');\n break;\n case 'middle':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', 'middle');\n break;\n case 'top':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = top;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', dir > 0 ? 'bottom' : 'top');\n break;\n default:\n break;\n }\n }\n}\n","import { each, get, isArray, map, isNumber, isString } from '@antv/util';\nimport { MappingDatum, Point } from '../../interface';\nimport { getDistanceToCenter } from '../../util/coordinate';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, PolarLabelItem, LabelPointCfg, Writeable } from './interface';\n\nconst HALF_PI = Math.PI / 2;\n\n/**\n * 极坐标下的图形 label\n */\nexport default class PolarLabel extends GeometryLabel {\n /**\n * @override\n * @desc 获取 label offset\n * polar & theta coordinate support「string」type, should transform to 「number」\n */\n protected getLabelOffset(offset: number | string): number {\n const coordinate = this.getCoordinate();\n let actualOffset = 0;\n if (isNumber(offset)) {\n actualOffset = offset;\n } else if (isString(offset) && offset.indexOf('%') !== -1) {\n let r = coordinate.getRadius();\n if (coordinate.innerRadius > 0) {\n r = r * (1 - coordinate.innerRadius);\n }\n actualOffset = parseFloat(offset) * 0.01 * r;\n }\n\n return actualOffset;\n }\n\n /**\n * @override\n * 获取 labelItems, 增加切片 percent\n * @param mapppingArray\n */\n public getLabelItems(mapppingArray: MappingDatum[]): PolarLabelItem[] {\n const items = super.getLabelItems(mapppingArray);\n const yScale = this.geometry.getYScale();\n\n return map(items, (item) => {\n if (item && yScale) {\n const percent = yScale.scale(get(item.data, yScale.field));\n return { ...item, percent };\n }\n return item;\n });\n }\n /**\n * @override\n * 获取文本的对齐方式\n * @param point\n */\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n let align;\n if (point.labelEmit) {\n align = point.angle <= Math.PI / 2 && point.angle >= -Math.PI / 2 ? 'left' : 'right';\n } else if (!coordinate.isTransposed) {\n align = 'center';\n } else {\n const center = coordinate.getCenter();\n const offset = point.offset;\n if (Math.abs(point.x - center.x) < 1) {\n align = 'center';\n } else if (point.angle > Math.PI || point.angle <= 0) {\n align = offset > 0 ? 'left' : 'right';\n } else {\n align = offset > 0 ? 'right' : 'left';\n }\n }\n return align;\n }\n\n /**\n * @override\n * 获取 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n let factor = 1;\n let arcPoint;\n const content = labelCfg.content[index];\n if (this.isToMiddle(mappingData)) {\n arcPoint = this.getMiddlePoint(mappingData.points as Point[]);\n } else {\n if (labelCfg.content.length === 1 && index === 0) {\n index = 1;\n } else if (index === 0) {\n factor = -1;\n }\n arcPoint = this.getArcPoint(mappingData, index);\n }\n\n const offset = labelCfg.offset * factor;\n const middleAngle = this.getPointAngle(arcPoint);\n const isLabelEmit = labelCfg.labelEmit;\n const labelPositionCfg: Writeable = this.getCirclePoint(middleAngle, offset, arcPoint, isLabelEmit);\n if (labelPositionCfg.r === 0) {\n // 如果文本位置位于圆心,则不展示\n labelPositionCfg.content = '';\n } else {\n labelPositionCfg.content = content;\n labelPositionCfg.angle = middleAngle;\n labelPositionCfg.color = mappingData.color;\n }\n\n labelPositionCfg.rotate = labelCfg.autoRotate\n ? this.getLabelRotate(middleAngle, offset, isLabelEmit)\n : labelCfg.rotate;\n labelPositionCfg.start = {\n x: arcPoint.x,\n y: arcPoint.y,\n };\n return labelPositionCfg;\n }\n\n /**\n * 获取圆弧的位置\n */\n protected getArcPoint(mappingData: MappingDatum, index: number = 0): Point {\n if (!isArray(mappingData.x) && !isArray(mappingData.y)) {\n return {\n x: mappingData.x,\n y: mappingData.y,\n };\n }\n\n return {\n x: isArray(mappingData.x) ? mappingData.x[index] : mappingData.x,\n y: isArray(mappingData.y) ? mappingData.y[index] : mappingData.y,\n };\n }\n\n /**\n * 计算坐标线点在极坐标系下角度\n * @param point\n */\n protected getPointAngle(point: Point): number {\n return getAngleByPoint(this.getCoordinate(), point);\n }\n\n /**\n * 获取坐标点与圆心形成的圆的位置信息\n * @param angle\n * @param offset\n * @param point\n * @param isLabelEmit\n */\n protected getCirclePoint(angle: number, offset: number, point: Point, isLabelEmit: boolean) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n let r = getDistanceToCenter(coordinate, point);\n if (r === 0) {\n return {\n ...center,\n r,\n };\n }\n\n let labelAngle = angle;\n if (coordinate.isTransposed && r > offset && !isLabelEmit) {\n const appendAngle = Math.asin(offset / (2 * r));\n labelAngle = angle + appendAngle * 2;\n } else {\n r = r + offset;\n }\n\n return {\n x: center.x + r * Math.cos(labelAngle),\n y: center.y + r * Math.sin(labelAngle),\n r,\n };\n }\n\n /**\n * 获取 label 的旋转角度\n * @param angle\n * @param offset\n * @param isLabelEmit\n */\n protected getLabelRotate(angle: number, offset: number, isLabelEmit: boolean) {\n let rotate = angle + HALF_PI;\n if (isLabelEmit) {\n rotate -= HALF_PI;\n }\n if (rotate) {\n if (rotate > HALF_PI) {\n rotate = rotate - Math.PI;\n } else if (rotate < -HALF_PI) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n // 获取中心的位置\n private getMiddlePoint(points: Point[]) {\n const coordinate = this.getCoordinate();\n const count = points.length;\n let middlePoint = {\n x: 0,\n y: 0,\n };\n each(points, (point: Point) => {\n middlePoint.x += point.x;\n middlePoint.y += point.y;\n });\n middlePoint.x /= count;\n middlePoint.y /= count;\n\n middlePoint = coordinate.convert(middlePoint);\n return middlePoint;\n }\n\n // 是否居中\n private isToMiddle(mappingData: MappingDatum) {\n return (mappingData.x as number[]).length > 2;\n }\n}\n","import { deepMix, get, isArray } from '@antv/util';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { LabelItem } from './interface';\nimport PolarLabel from './polar';\n\n/**\n * 饼图 label\n */\nexport default class PieLabel extends PolarLabel {\n public defaultLayout = 'distribute';\n\n protected getDefaultLabelCfg(offset?: number, position?: string) {\n const cfg = super.getDefaultLabelCfg(offset, position);\n return deepMix({}, cfg, get(this.geometry.theme, 'pieLabels', {}));\n }\n\n /** @override */\n protected getLabelOffset(offset: string | number): number {\n return super.getLabelOffset(offset) || 0;\n }\n\n protected getLabelRotate(angle: number, offset: number, isLabelLimit: boolean) {\n let rotate;\n if (offset < 0) {\n rotate = angle;\n if (rotate > Math.PI / 2) {\n rotate = rotate - Math.PI;\n }\n if (rotate < -Math.PI / 2) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n\n let align;\n if (point.angle <= Math.PI / 2 && point.x >= center.x) {\n align = 'left';\n } else {\n align = 'right';\n }\n if (point.offset <= 0) {\n if (align === 'right') {\n align = 'left';\n } else {\n align = 'right';\n }\n }\n return align;\n }\n\n protected getArcPoint(point) {\n return point;\n }\n\n protected getPointAngle(point) {\n const coordinate = this.getCoordinate();\n const startPoint = {\n x: isArray(point.x) ? point.x[0] : point.x,\n y: point.y[0],\n };\n const endPoint = {\n x: isArray(point.x) ? point.x[1] : point.x,\n y: point.y[1],\n };\n let angle;\n const startAngle = getAngleByPoint(coordinate, startPoint);\n if (point.points && point.points[0].y === point.points[1].y) {\n angle = startAngle;\n } else {\n let endAngle = getAngleByPoint(coordinate, endPoint);\n if (startAngle >= endAngle) {\n // 100% pie slice\n endAngle = endAngle + Math.PI * 2;\n }\n angle = startAngle + (endAngle - startAngle) / 2;\n }\n return angle;\n }\n\n /** @override */\n protected getCirclePoint(angle: number, offset: number) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n const r = coordinate.getRadius() + offset;\n return {\n ...polarToCartesian(center.x, center.y, r, angle),\n angle,\n r,\n };\n }\n}\n","import { PolarLabelItem } from '../../interface';\n\n/**\n * 碰撞检测算法\n */\nexport function antiCollision(\n items: PolarLabelItem[],\n labelHeight: number,\n plotRange: { minY: number; maxY: number; minX: number; maxX: number }\n) {\n const labels = items.filter((item) => !item.invisible);\n\n // sorted by y, mutable\n labels.sort((a, b) => a.y - b.y);\n // adjust y position of labels to avoid overlapping\n let overlapping = true;\n const startY = plotRange.minY;\n const endY = plotRange.maxY;\n let totalHeight = Math.abs(startY - endY);\n let i;\n\n let maxY = 0;\n let minY = Number.MIN_VALUE;\n const boxes = labels.map((label) => {\n if (label.y > maxY) {\n maxY = label.y;\n }\n if (label.y < minY) {\n minY = label.y;\n }\n return {\n content: label.content,\n size: labelHeight,\n targets: [label.y - startY],\n pos: null,\n };\n });\n\n minY -= startY;\n if (maxY - startY > totalHeight) {\n totalHeight = maxY - startY;\n }\n\n while (overlapping) {\n /* eslint no-loop-func: 0 */\n boxes.forEach((box) => {\n const target = (Math.min.apply(minY, box.targets) + Math.max.apply(minY, box.targets)) / 2;\n box.pos = Math.min(Math.max(minY, target - box.size / 2), totalHeight - box.size);\n box.pos = Math.max(0, box.pos);\n });\n\n // detect overlapping and join boxes\n overlapping = false;\n i = boxes.length;\n while (i--) {\n if (i > 0) {\n const previousBox = boxes[i - 1];\n const box = boxes[i];\n if (previousBox.pos + previousBox.size > box.pos) {\n // overlapping\n previousBox.size += box.size;\n previousBox.targets = previousBox.targets.concat(box.targets);\n\n // overflow, shift up\n if (previousBox.pos + previousBox.size > totalHeight) {\n previousBox.pos = totalHeight - previousBox.size;\n }\n boxes.splice(i, 1); // removing box\n overlapping = true;\n }\n }\n }\n }\n\n i = 0;\n // step 4: normalize y and adjust x\n boxes.forEach((b) => {\n let posInCompositeBox = startY + labelHeight / 2; // middle of the label\n b.targets.forEach(() => {\n labels[i].y = b.pos + posInCompositeBox;\n posInCompositeBox += labelHeight;\n i++;\n });\n });\n}\n","import { each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { LabelItem } from '../interface';\n\nconst MAX_TIMES = 100;\n\n/** @ignore */\ninterface Bitmap {\n [key: number]: {\n [key: number]: boolean;\n };\n}\n\n/** @ignore */\ninterface GreedyCfg {\n readonly xGap?: number;\n readonly yGap?: number;\n}\n\n/**\n * @ignore\n * Greedy 贪婪算法\n */\nclass Greedy {\n public readonly xGap: number;\n /** optimizing for text overlapping detection: use a min text height as gap */\n public readonly yGap: number;\n\n private bitmap: Bitmap = {};\n\n constructor(cfg: GreedyCfg = {}) {\n const { xGap = 1, yGap = 8 } = cfg;\n this.xGap = xGap;\n this.yGap = yGap;\n }\n\n public hasGap(bbox: BBox): boolean {\n let hasGap = true;\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n continue;\n }\n if (i === minX || i === maxX) {\n for (let j = minY; j <= maxY; j++) {\n if (bitmap[i][j]) {\n hasGap = false;\n break;\n }\n }\n } else {\n if (bitmap[i][minY] || bitmap[i][maxY]) {\n hasGap = false;\n break;\n }\n }\n }\n return hasGap;\n }\n\n public fillGap(bbox: BBox): void {\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n // filling grid\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n }\n }\n for (let i = minX; i <= maxX; i += this.xGap) {\n for (let j = minY; j <= maxY; j += this.yGap) {\n bitmap[i][j] = true;\n }\n bitmap[i][maxY] = true;\n }\n\n // filling y edges\n if (this.yGap !== 1) {\n for (let i = minY; i <= maxY; i += 1) {\n bitmap[minX][i] = true;\n bitmap[maxX][i] = true;\n }\n }\n\n // filling x edges\n if (this.xGap !== 1) {\n for (let i = minX; i <= maxX; i += 1) {\n bitmap[i][minY] = true;\n bitmap[i][maxY] = true;\n }\n }\n }\n\n public destroy(): void {\n this.bitmap = {};\n }\n}\n\nfunction spiralFill(label: IShape, greedy: Greedy, maxTimes: number = MAX_TIMES) {\n const dt = -1;\n const { x, y } = label.attr();\n const bbox = label.getCanvasBBox();\n const maxDelta = Math.sqrt(bbox.width * bbox.width + bbox.height * bbox.height);\n let dxdy;\n let t = -dt;\n let dx = 0;\n let dy = 0;\n const f = (param: number) => {\n const nt = param * 0.1;\n return [nt * Math.cos(nt), nt * Math.sin(nt)];\n };\n\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n return true;\n }\n let canFill = false;\n let times = 0;\n const accessedCache = {};\n while (Math.min(Math.abs(dx), Math.abs(dy)) < maxDelta && times < maxTimes) {\n dxdy = f((t += dt));\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n if ((!dx && !dy) || accessedCache[`${dx}-${dy}`]) {\n continue;\n }\n label.attr({ x: x + dx, y: y + dy });\n if (dx + dy < 0) {\n label.attr('textAlign', 'right');\n }\n times++;\n if (greedy.hasGap(label.getCanvasBBox())) {\n greedy.fillGap(label.getCanvasBBox());\n canFill = true;\n accessedCache[`${dx}-${dy}`] = true;\n break;\n }\n }\n return canFill;\n}\n\n/*\n * 根据如下规则尝试放置label\n * 5\n * ------------------\n * | 1 | 0 |\n * 8 —————————4———————— 7\n * | 2 | 3 |\n * ——————————————————\n * 6\n */\nfunction adjustLabelPosition(label: IShape, x: number, y: number, index: number) {\n const { width, height } = label.getCanvasBBox();\n const attrs = {\n x,\n y,\n textAlign: 'center',\n };\n switch (index) {\n case 0:\n attrs.y -= height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 1:\n attrs.y -= height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 2:\n attrs.y += height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 3:\n attrs.y += height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 5:\n attrs.y -= height * 2 + 2;\n break;\n case 6:\n attrs.y += height * 2 + 2;\n break;\n case 7:\n attrs.x += width + 1;\n attrs.textAlign = 'left';\n break;\n case 8:\n attrs.x -= width + 1;\n attrs.textAlign = 'right';\n break;\n default:\n break;\n }\n label.attr(attrs);\n return label.getCanvasBBox();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行调整。\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function fixedOverlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n if (!spiralFill(labelShape, greedy)) {\n label.remove(true);\n }\n });\n greedy.destroy();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:为了防止 label 之间相互覆盖同时保证尽可能多 的 label 展示,通过尝试将 label 向**四周偏移**来剔除放不下的 label\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function overlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n const { x, y } = labelShape.attr();\n let canFill = false;\n for (let i = 0; i <= 8; i++) {\n const bbox = adjustLabelPosition(labelShape, x, y, i);\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n canFill = true;\n break;\n }\n }\n if (!canFill) {\n label.remove(true);\n }\n });\n\n greedy.destroy();\n}\n","import { isNumber } from '@antv/util';\nimport { Point } from '../dependents';\n\ntype Vec2 = [number, number];\n\ntype Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n};\n/**\n * 定义投影对象\n */\ntype Projection = { min: number; max: number };\n\nfunction dot(a, b) {\n return (a[0] || 0) * (b[0] || 0) + (a[1] || 0) * (b[1] || 0) + (a[2] || 0) * (b[2] || 0);\n}\n\n/**\n * @private\n * 1. 获取投影轴\n */\nfunction getAxes(points: Point[] /** 多边形的关键点 */): Vec2[] {\n // 目前先处理 平行矩形 的场景, 其他多边形不处理\n if (points.length > 4) {\n return [];\n }\n // 获取向量\n const vector = (start: Point, end: Point): Vec2 => {\n return [end.x - start.x, end.y - start.y];\n };\n\n // 由于 矩形的平行原理,所以只有 2 条投影轴: A -> B, B -> C\n const AB = vector(points[0], points[1]);\n const BC = vector(points[1], points[2]);\n\n return [AB, BC];\n}\n\n/**\n * @private\n * 绕指定点顺时针旋转后的点坐标\n * 默认绕原点旋转\n */\nfunction rotateAtPoint(point: Point, deg = 0, origin = { x: 0, y: 0 }): Point {\n const { x, y } = point;\n return {\n x: (x - origin.x) * Math.cos(-deg) + (y - origin.y) * Math.sin(-deg) + origin.x,\n y: (origin.x - x) * Math.sin(-deg) + (y - origin.y) * Math.cos(-deg) + origin.y,\n };\n}\n\n/**\n * @private\n * 转化为顶点坐标数组\n *\n * @param {Object} box\n */\nfunction getRectPoints(box: Item): Point[] {\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n\n const rotation = box.rotation;\n if (rotation) {\n return [\n rotateAtPoint(points[0], rotation, points[0]),\n rotateAtPoint(points[1], rotation, points[0]),\n rotateAtPoint(points[2], rotation, points[0]),\n rotateAtPoint(points[3], rotation, points[0]),\n ];\n }\n\n return points;\n}\n\n/**\n * @private\n * 2. 获取多边形在投影轴上的投影\n *\n * 向量的点积的其中一个几何含义是:一个向量在平行于另一个向量方向上的投影的数值乘积。\n * 由于投影轴是单位向量(长度为1),投影的长度为 x1 * x2 + y1 * y2\n */\nfunction getProjection(points: Point[] /** 多边形的关键点 */, axis: Vec2): Projection {\n // 目前先处理矩形的场景\n if (points.length > 4) {\n return { min: 0, max: 0 };\n }\n\n const scalars = [];\n points.forEach((point) => {\n scalars.push(dot([point.x, point.y], axis));\n });\n\n return { min: Math.min(...scalars), max: Math.max(...scalars) };\n}\n\nfunction isProjectionOverlap(projection1: Projection, projection2: Projection): boolean {\n return projection1.max > projection2.min && projection1.min < projection2.max;\n}\n\nfunction isValidNumber(d: number) {\n return typeof d === 'number' && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n}\n\nfunction isValidBox(box: Item) {\n return ['x', 'y', 'width', 'height'].every(attr => isValidNumber(box[attr]))\n}\n\n/**\n * 快速判断两个无旋转矩形是否遮挡\n */\nexport function isIntersectRect(box1: Item, box2: Item, margin: number = 0): boolean {\n return !(\n box2.x > box1.x + box1.width + margin ||\n box2.x + box2.width < box1.x - margin ||\n box2.y > box1.y + box1.height + margin ||\n box2.y + box2.height < box1.y - margin\n );\n}\n\n/**\n * detect whether two shape is intersected, useful when shape is been rotated\n * 判断两个矩形是否重叠(相交和包含, 是否旋转)\n *\n * - 原理: 分离轴定律\n */\nexport function intersect(box1: Item, box2: Item, margin: number = 0) {\n // 如果两个 box 中有一个是不合法的 box,也就是不会被渲染出来的,那么它们就不相交。\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // 如果两个矩形没有旋转,使用快速判断\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2, margin);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = getAxes(rect1Points).concat(getAxes(rect2Points));\n\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n const projection1 = getProjection(rect1Points, axis);\n const projection2 = getProjection(rect2Points, axis);\n\n // 判断投影轴上的投影是否存在重叠,若检测到存在间隙则立刻退出判断,消除不必要的运算。\n if (!isProjectionOverlap(projection1, projection2)) {\n return false;\n }\n }\n\n return true;\n}\n","import { isFunction } from '@antv/util';\n\nclass MyWorker {\n queue: any[] = [];\n worker: Worker;\n\n constructor(url) {\n this.worker = new Worker(url);\n this.worker.onmessage = (e: MessageEvent) => {\n this.queue.shift()?.resolve(e);\n };\n this.worker.onmessageerror = (e: MessageEvent) => {\n console.warn('[AntV G2] Web worker is not available');\n this.queue.shift()?.reject(e);\n };\n }\n\n post(params, onError?: () => any): Promise {\n return new Promise((resolve, reject) => {\n this.queue.push({ resolve, reject });\n try {\n this.worker.postMessage(params);\n } catch (e) {\n console.warn('[AntV G2] Web worker is not available');\n isFunction(onError) && onError();\n }\n });\n }\n\n destroy() {\n this.worker.terminate();\n }\n}\n\nexport function createWorker(f: any) {\n if (typeof window === 'undefined') return;\n\n let blob;\n try {\n blob = new Blob([f.toString()], { type: 'application/javascript' });\n } catch (e) {\n // @ts-ignore\n blob = new window.BlobBuilder();\n blob.append(f.toString());\n blob = blob.getBlob();\n }\n\n return new MyWorker(URL.createObjectURL(blob));\n}\n","const onmessage = function (e) {\n type Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n };\n\n // Copy from src/util/collision-detect.ts\n function generateUtils() {\n type Vec2 = [number, number];\n\n type Point = { x: number; y: number };\n\n /**\n * 定义投影对象\n */\n type Projection = { min: number; max: number };\n\n function dot(a, b) {\n return (a[0] || 0) * (b[0] || 0) + (a[1] || 0) * (b[1] || 0) + (a[2] || 0) * (b[2] || 0);\n }\n /**\n * 1. 获取投影轴\n */\n function getAxes(points: Point[] /** 多边形的关键点 */): Vec2[] {\n // 目前先处理 平行矩形 的场景, 其他多边形不处理\n if (points.length > 4) {\n return [];\n }\n // 获取向量\n const vector = (start: Point, end: Point): Vec2 => {\n return [end.x - start.x, end.y - start.y];\n };\n\n // 由于 矩形的平行原理,所以只有 2 条投影轴: A -> B, B -> C\n const AB = vector(points[0], points[1]);\n const BC = vector(points[1], points[2]);\n\n return [AB, BC];\n }\n\n /**\n * 绕指定点顺时针旋转后的点坐标\n * 默认绕原点旋转\n */\n function rotateAtPoint(point: Point, deg = 0, origin = { x: 0, y: 0 }): Point {\n const { x, y } = point;\n return {\n x: (x - origin.x) * Math.cos(-deg) + (y - origin.y) * Math.sin(-deg) + origin.x,\n y: (origin.x - x) * Math.sin(-deg) + (y - origin.y) * Math.cos(-deg) + origin.y,\n };\n }\n\n /**\n * @private\n * 转化为顶点坐标数组\n *\n * @param {Object} box\n */\n function getRectPoints(box: Item): Point[] {\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n\n const rotation = box.rotation;\n if (rotation) {\n return [\n rotateAtPoint(points[0], rotation, points[0]),\n rotateAtPoint(points[1], rotation, points[0]),\n rotateAtPoint(points[2], rotation, points[0]),\n rotateAtPoint(points[3], rotation, points[0]),\n ];\n }\n\n return points;\n }\n\n /**\n * 2. 获取多边形在投影轴上的投影\n *\n * 向量的点积的其中一个几何含义是:一个向量在平行于另一个向量方向上的投影的数值乘积。\n * 由于投影轴是单位向量(长度为1),投影的长度为 x1 * x2 + y1 * y2\n */\n function getProjection(points: Point[] /** 多边形的关键点 */, axis: Vec2): Projection {\n // 目前先处理矩形的场景\n if (points.length > 4) {\n return { min: 0, max: 0 };\n }\n\n const scalars = [];\n points.forEach((point) => {\n scalars.push(dot([point.x, point.y], axis));\n });\n\n return { min: Math.min.apply(null, scalars), max: Math.max.apply(null, scalars) };\n }\n\n function isProjectionOverlap(projection1: Projection, projection2: Projection): boolean {\n return projection1.max > projection2.min && projection1.min < projection2.max;\n }\n\n function isValidNumber(d: number) {\n return typeof d === 'number' && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n }\n\n function isValidBox(box: Item) {\n return ['x', 'y', 'width', 'height'].every(attr => isValidNumber(box[attr]))\n }\n\n function isIntersectRect(box1: Item, box2: Item, margin: number = 0): boolean {\n return !(\n box2.x > box1.x + box1.width + margin ||\n box2.x + box2.width < box1.x - margin ||\n box2.y > box1.y + box1.height + margin ||\n box2.y + box2.height < box1.y - margin\n );\n }\n function intersect(box1: Item, box2: Item, margin: number = 0) {\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // Quick detect, if rotation is null or zero.\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2, margin);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = getAxes(rect1Points).concat(getAxes(rect2Points));\n\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n const projection1 = getProjection(rect1Points, axis);\n const projection2 = getProjection(rect2Points, axis);\n\n if (!isProjectionOverlap(projection1, projection2)) return false;\n }\n\n return true;\n }\n return { intersect }\n }\n const { intersect } = generateUtils();\n\n // Label layouts.\n function hideOverlap(items: Item[]) {\n const boxes = items.slice();\n for (let i = 0; i < boxes.length; i++) {\n const box1 = boxes[i];\n if (box1.visible) {\n for (let j = i + 1; j < boxes.length; j++) {\n const box2 = boxes[j];\n if (box1 !== box2 && box2.visible) {\n if (intersect(box1, box2)) {\n box2.visible = false;\n }\n }\n }\n }\n }\n return boxes;\n }\n\n const methods = {\n 'hide-overlap': hideOverlap,\n }\n\n // Main\n try {\n const eventData = JSON.parse(e.data);\n if (!eventData || !eventData.type || !methods[eventData.type]) return;\n\n const { type, items } = eventData;\n const result = methods[type](items);\n self.postMessage(result);\n } catch (e) {\n throw e;\n }\n}\n\nconst code = `\n self.onmessage = ${onmessage.toString()}\n`\nexport { code };\n","import { get, each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { intersect } from '../../../util/collision-detect';\nimport { LabelItem } from '../interface';\nimport { getLabelBackgroundInfo } from '../util';\nimport { createWorker } from '../util/createWorker';\nimport { code as layoutCode } from './worker/hide-overlap';\n\ntype Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n};\n\nconst layout = (items: Item[]): Item[] => {\n const boxes = items.slice();\n for (let i = 0; i < boxes.length; i++) {\n const box1 = boxes[i];\n if (box1.visible) {\n for (let j = i + 1; j < boxes.length; j++) {\n const box2 = boxes[j];\n if (box1 !== box2 && box2.visible) {\n if (intersect(box1, box2)) {\n box2.visible = false;\n }\n }\n }\n }\n }\n return boxes;\n};\n\nconst cache: Map = new Map();\nconst worker = createWorker(layoutCode);\n\n/**\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行隐藏(非移除)\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport async function hideOverlap(\n labelItems: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox\n) {\n const boxes = labels.map((d, idx) => ({\n ...getLabelBackgroundInfo(d, labelItems[idx], get(labelItems[idx], 'background.padding')),\n visible: true,\n }));\n const memoKey = JSON.stringify(boxes);\n const cb = (items: Item[]) => {\n cache.set(memoKey, items);\n each(items, ({ visible }, idx) => {\n const labelShape = labels[idx];\n if (visible) {\n labelShape?.show();\n } else {\n labelShape?.hide();\n }\n });\n return items;\n };\n if (cache.get(memoKey)) {\n cb(cache.get(memoKey));\n } else if (worker) {\n // Do layout in worker.\n try {\n const params = JSON.stringify({ type: 'hide-overlap', items: boxes });\n const res = await worker.post(params, () => cb(layout(boxes)));\n cb(Array.isArray(res.data) ? res.data : []);\n } catch (e) {\n console.error(e);\n cb(layout(boxes));\n }\n } else {\n // Normal layout in main thread.\n cb(layout(boxes));\n }\n}\n","import colorUtil from '@antv/color-util';\n\n// 内置的一些特殊设置\nconst preset = {\n '#5B8FF9': true,\n};\n\n// 根据YIQ亮度判断指定颜色取反色是不是白色\n// http://24ways.org/2010/calculating-color-contrast\n// http://www.w3.org/TR/AERT#color-contrast\nexport const isContrastColorWhite = (color: string): boolean => {\n const rgb = colorUtil.toRGB(color).toUpperCase();\n if (preset[rgb]) {\n return preset[rgb];\n }\n\n const [r, g, b] = colorUtil.rgb2arr(rgb);\n const isDark = (r * 299 + g * 587 + b * 114) / 1000 < 128;\n\n return isDark;\n};\n","let ctx: CanvasRenderingContext2D;\n\n/**\n * 获取 canvas context\n */\nexport function getCanvasContext() {\n if (!ctx) {\n ctx = document.createElement('canvas').getContext('2d');\n }\n\n return ctx;\n}\n","import { IElement, IGroup, IShape } from '../../../../dependents';\nimport { BBox } from '../../../../util/bbox';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\nfunction shouldInShapeSingle(geometry: Geometry, label: IGroup, shape: IElement): boolean {\n const coordinate = geometry.coordinate;\n const textShape = findLabelTextShape(label);\n const textBBox = BBox.fromObject(textShape.getCanvasBBox());\n const shapeBBox = BBox.fromObject(shape.getBBox());\n\n return coordinate.isTransposed ? shapeBBox.height >= textBBox.height : shapeBBox.width >= textBBox.width;\n}\n\nfunction shouldInShape(geometry: Geometry, labels: IGroup[], shapes: IShape[] | IGroup[]): boolean {\n const isStack = !!geometry.getAdjust('stack');\n\n return (\n isStack ||\n labels.every((label: IGroup, index: number) => {\n const shape = shapes[index];\n return shouldInShapeSingle(geometry, label, shape);\n })\n );\n}\n\nfunction moveInShape(geometry: Geometry, label: IGroup, shape: IElement): void {\n const coordinate = geometry.coordinate;\n const shapeBBox = BBox.fromObject(shape.getBBox());\n const textShape = findLabelTextShape(label);\n\n if (coordinate.isTransposed) {\n // 水平方向:条形图系列\n textShape.attr({\n x: shapeBBox.minX + shapeBBox.width / 2,\n textAlign: 'center',\n });\n } else {\n // 垂直方向:柱形图系列\n textShape.attr({\n y: shapeBBox.minY + shapeBBox.height / 2,\n textBaseline: 'middle',\n });\n }\n}\n\n/**\n * 适用于 interval geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n */\nexport function intervalAdjustPosition(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[]) {\n if (shapes.length === 0) {\n return;\n }\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || geometry.type !== 'interval') {\n return;\n }\n\n const inShape = shouldInShape(geometry, labels, shapes);\n if (inShape) {\n shapes.forEach((shape: IShape | IGroup, index: number) => {\n const label = labels[index];\n moveInShape(geometry, label, shape);\n });\n }\n}\n","import { groupBy, keys, map } from '@antv/util';\nimport { IElement, IGroup, IShape, BBox } from '../../../../dependents';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\n/**\n * point-adjust-position layout 的配置类型\n */\nexport interface PointAdjustPositionLayoutCfg {\n offset?: number;\n}\n\n/**\n * 对同一组(相同 xField )的 Label 进行排序:第一个、最后一个、其他...\n * @param geometry\n * @param labels\n */\nfunction sortLabels(geometry: Geometry, labels: IGroup[]) {\n const yField = geometry.getXYFields()[1];\n const result: IGroup[] = [];\n const sortedLabels = labels.sort((left, right) => left.get('data')[yField] - left.get('data')[yField]);\n\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.shift());\n }\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.pop());\n }\n result.push(...sortedLabels);\n\n return result;\n}\n\nfunction hasSome(dones: IGroup[], current: IGroup, compare: (left: IGroup, right: IGroup) => boolean): boolean {\n return dones.some((done) => compare(done, current));\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nfunction getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/**\n * 判断新添加的 Label 是否和已存在的发生重叠\n * @param dones\n * @param current\n */\nfunction checkShapeOverlap(dones: IGroup[], current: IGroup): boolean {\n return hasSome(dones, current, (left, right) => {\n const leftText = findLabelTextShape(left);\n const rightText = findLabelTextShape(right);\n\n return getOverlapArea(leftText.getCanvasBBox(), rightText.getCanvasBBox(), 2) > 0;\n });\n}\n/**\n * 适用于 point geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n * @param region\n * @param cfg\n */\nexport function pointAdjustPosition(\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg: PointAdjustPositionLayoutCfg\n): void {\n if (shapes.length === 0) {\n return;\n }\n\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || geometry.type !== 'point') {\n return;\n }\n const [xField, yField] = geometry.getXYFields();\n const groupedLabels = groupBy(labels, (label) => label.get('data')[xField]);\n const dones: IGroup[] = [];\n const offset = (cfg && cfg.offset) || items[0]?.offset || 12;\n\n map(keys(groupedLabels).reverse(), (xValue) => {\n const sortedCollections = sortLabels(geometry, groupedLabels[xValue]);\n while (sortedCollections.length) {\n const current = sortedCollections.shift();\n const textShape = findLabelTextShape(current);\n if (\n hasSome(\n dones,\n current,\n (left, right) =>\n left.get('data')[xField] === right.get('data')[xField] &&\n left.get('data')[yField] === right.get('data')[yField]\n )\n ) {\n // 重复位置,直接隐藏\n textShape.set('visible', false);\n continue;\n }\n const upFail = checkShapeOverlap(dones, current);\n let downFail: boolean = false;\n if (upFail) {\n textShape.attr('y', textShape.attr('y') + 2 * offset);\n downFail = checkShapeOverlap(dones, current);\n }\n if (downFail) {\n textShape.set('visible', false);\n continue;\n }\n dones.push(current);\n }\n });\n}\n","import { groupBy, keys, map } from '@antv/util';\nimport { IGroup, IShape, BBox } from '../../../../dependents';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\n/**\n * point-adjust-position layout 的配置类型\n */\nexport interface PointAdjustPositionLayoutCfg {\n offset?: number;\n}\n\n/**\n * 对同一组(相同 xField )的 Label 进行排序:第一个、最后一个、其他...\n * @param geometry\n * @param labels\n */\nfunction sortLabels(geometry: Geometry, labels: IGroup[]) {\n const yField = geometry.getXYFields()[1];\n const result: IGroup[] = [];\n const sortedLabels = labels.sort((left, right) => left.get('data')[yField] - left.get('data')[yField]);\n\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.shift());\n }\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.pop());\n }\n result.push(...sortedLabels);\n\n return result;\n}\n\nfunction hasSome(dones: IGroup[], current: IGroup, compare: (left: IGroup, right: IGroup) => boolean): boolean {\n return dones.some((done) => compare(done, current));\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nfunction getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/**\n * 判断新添加的 Label 是否和已存在的发生重叠\n * @param dones\n * @param current\n */\nfunction checkShapeOverlap(dones: IGroup[], current: IGroup): boolean {\n return hasSome(dones, current, (left, right) => {\n const leftText = findLabelTextShape(left);\n const rightText = findLabelTextShape(right);\n\n return getOverlapArea(leftText.getCanvasBBox(), rightText.getCanvasBBox(), 2) > 0;\n });\n}\n/**\n * 适用于 point geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n * @param region\n * @param cfg\n */\nexport function pathAdjustPosition(\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg: PointAdjustPositionLayoutCfg\n): void {\n if (shapes.length === 0) {\n return;\n }\n\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || ['path', 'line', 'area'].indexOf(geometry.type) < 0) {\n return;\n }\n const [xField, yField] = geometry.getXYFields();\n const groupedLabels = groupBy(labels, (label) => label.get('data')[xField]);\n const dones: IGroup[] = [];\n const offset = (cfg && cfg.offset) || items[0]?.offset || 12;\n\n map(keys(groupedLabels).reverse(), (xValue) => {\n const sortedCollections = sortLabels(geometry, groupedLabels[xValue]);\n while (sortedCollections.length) {\n const current = sortedCollections.shift();\n const textShape = findLabelTextShape(current);\n if (\n hasSome(\n dones,\n current,\n (left, right) =>\n left.get('data')[xField] === right.get('data')[xField] &&\n left.get('data')[yField] === right.get('data')[yField]\n )\n ) {\n // 重复位置,直接隐藏\n textShape.set('visible', false);\n continue;\n }\n const upFail = checkShapeOverlap(dones, current);\n let downFail: boolean = false;\n if (upFail) {\n textShape.attr('y', textShape.attr('y') + 2 * offset);\n downFail = checkShapeOverlap(dones, current);\n }\n if (downFail) {\n textShape.set('visible', false);\n continue;\n }\n dones.push(current);\n }\n });\n}\n","import { isString, memoize, values, toString } from '@antv/util';\nimport * as CSS from 'csstype';\nimport { getCanvasContext } from './context';\n\ntype FontFace = CSS.Properties;\n\ntype Font = Pick & {\n fontSize?: number;\n};\n\n/**\n * 计算文本在画布中的宽度\n */\nexport const measureTextWidth = memoize(\n (text: any, font: Font = {}): number => {\n const { fontSize, fontFamily, fontWeight, fontStyle, fontVariant } = font;\n const ctx = getCanvasContext();\n ctx!.font = [fontStyle, fontVariant, fontWeight, `${fontSize}px`, fontFamily].join(' ');\n return ctx!.measureText(isString(text) ? text : '').width;\n },\n (text: any, font: Font = {}) => [text, ...values(font)].join('')\n);\n\n/**\n * 获取文本的 ... 文本。\n * 算法(减少每次 measureText 的长度,measureText 的性能跟字符串时间相关):\n * 1. 先通过 STEP 逐步计算,找到最后一个小于 maxWidth 的字符串\n * 2. 然后对最后这个字符串二分计算\n * @param text 需要计算的文本, 由于历史原因 除了支持string,还支持空值,number和数组等\n * @param maxWidth\n * @param font\n */\nexport const getEllipsisText = (text: any, maxWidth: number, font?: Font) => {\n const STEP = 16; // 每次 16,调参工程师\n const DOT_WIDTH = measureTextWidth('...', font);\n\n let leftText;\n\n if (!isString(text)) {\n leftText = toString(text);\n } else {\n leftText = text;\n }\n\n let leftWidth = maxWidth;\n\n const r = []; // 最终的分段字符串\n let currentText;\n let currentWidth;\n\n if (measureTextWidth(text, font) <= maxWidth) {\n return text;\n }\n\n // 首先通过 step 计算,找出最大的未超出长度的\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, STEP);\n\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n\n // 超出剩余宽度,则停止\n if (currentWidth + DOT_WIDTH > leftWidth) {\n if (currentWidth > leftWidth) {\n break;\n }\n }\n\n r.push(currentText);\n\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(STEP);\n\n // 字符串整体没有超出\n if (!leftText) {\n return r.join('');\n }\n }\n\n // 最下的最后一个 STEP,使用 1 递增(用二分效果更高)\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, 1);\n\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n\n // 超出剩余宽度,则停止\n if (currentWidth + DOT_WIDTH > leftWidth) {\n break;\n }\n\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(1);\n\n if (!leftText) {\n return r.join('');\n }\n }\n\n return `${r.join('')}...`;\n};\n","import { ext } from '@antv/matrix-util';\nimport { Coordinate, IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg, Point } from '../../interface';\n\n/**\n * @ignore\n * 对图形元素进行矩阵变换,同时返回变换前的图形矩阵\n * @param shape 进行矩阵变换的图形\n * @param vector 矩阵变换的中心点\n * @param direct 矩阵变换的类型\n */\nexport function transformShape(shape: IShape | IGroup, vector: [number, number], direct: string): number[] {\n let scaledMatrix;\n\n const [x, y] = vector;\n shape.applyToMatrix([x, y, 1]);\n if (direct === 'x') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 1],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 1],\n ['t', x, y],\n ]);\n } else if (direct === 'y') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 100],\n ['t', x, y],\n ]);\n } else if (direct === 'xy') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]);\n }\n return scaledMatrix;\n}\n\n/**\n * 对图形元素进行剪切动画\n * @param element 进行动画的图形元素\n * @param animateCfg 动画配置\n * @param coordinate 当前坐标系\n * @param yMinPoint y 轴的最小值对应的图形坐标点\n * @param type 剪切动画的类型\n */\nexport function doScaleAnimate(\n element: IGroup | IShape,\n animateCfg: GAnimateCfg,\n coordinate: Coordinate,\n yMinPoint: Point,\n type: string\n) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n let x: number;\n let y: number;\n\n if (type === 'y') {\n x = start.x + width / 2;\n y = yMinPoint.y < start.y ? yMinPoint.y : start.y;\n } else if (type === 'x') {\n x = yMinPoint.x > start.x ? yMinPoint.x : start.x;\n y = start.y + height / 2;\n } else if (type === 'xy') {\n if (coordinate.isPolar) {\n x = coordinate.getCenter().x;\n y = coordinate.getCenter().y;\n } else {\n x = (start.x + end.x) / 2;\n y = (start.y + end.y) / 2;\n }\n }\n\n const endMatrix = transformShape(element, [x, y], type);\n element.animate(\n {\n matrix: endMatrix,\n },\n animateCfg\n );\n}\n","import { getArcParams } from '@antv/g-canvas';\nimport { isNumberEqual, isEqual, isFunction } from '@antv/util';\n\nimport { IShape, PathCommand } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nimport { getArcPath, getSectorPath } from '../../util/graphics';\n\nfunction getAngle(startPoint: number[], arcPath: PathCommand) {\n let { startAngle, endAngle } = getArcParams(startPoint, arcPath);\n\n if (!isNumberEqual(startAngle, -Math.PI * 0.5) && startAngle < -Math.PI * 0.5) {\n startAngle += Math.PI * 2;\n }\n if (!isNumberEqual(endAngle, -Math.PI * 0.5) && endAngle < -Math.PI * 0.5) {\n endAngle += Math.PI * 2;\n }\n\n if (arcPath[5] === 0) {\n // 逆时针,需要将 startAngle 和 endAngle 转置,因为 G2 极坐标系为顺时针方向\n [startAngle, endAngle] = [endAngle, startAngle];\n }\n\n if (isNumberEqual(startAngle, Math.PI * 1.5)) {\n startAngle = Math.PI * -0.5;\n }\n\n // 当 startAngle, endAngle 接近相等时,不进行 endAngle = Math.PI * 1.5 防止变化从整个圆开始\n if (isNumberEqual(endAngle, Math.PI * -0.5) && !isNumberEqual(startAngle, endAngle)) {\n endAngle = Math.PI * 1.5;\n }\n\n return {\n startAngle,\n endAngle,\n };\n}\n\nfunction getArcStartPoint(path: PathCommand) {\n let startPoint;\n if (path[0] === 'M' || path[0] === 'L') {\n startPoint = [path[1], path[2]];\n } else if (path[0] === 'a' || path[0] === 'A' || path[0] === 'C') {\n startPoint = [path[path.length - 2], path[path.length - 1]];\n }\n\n return startPoint;\n}\n\n/**\n * path 存在以下情况\n * 1. 饼图不为整圆的 path,命令为 M, L, A, L, Z\n * 2. 饼图为整圆的 path,命令为 M, M, A, A, M, Z\n * 3. 环图不为整圆的 path,命令为 M, A, L, A, L, Z\n * 4. 环图为整圆的 path,命令为 M, A, A, M, A, A, M, Z\n * 5. radial-line, 不为整圆时的 path, 命令为 M, A, A, Z\n * 6. radial-line, 为整圆时的 path,命令为 M, A, A, A, A, Z\n * @param path theta 坐标系下圆弧的 path 命令\n */\nexport function getArcInfo(path: PathCommand[]) {\n let startAngle;\n let endAngle;\n\n const arcPaths = path.filter((command) => {\n return command[0] === 'A' || command[0] === 'a';\n });\n\n if (arcPaths.length === 0) {\n return {\n startAngle: 0,\n endAngle: 0,\n radius: 0,\n innerRadius: 0,\n };\n }\n\n const firstArcPathCommand = arcPaths[0];\n const lastArcPathCommand = arcPaths.length > 1 ? arcPaths[1] : arcPaths[0];\n const firstIndex = path.indexOf(firstArcPathCommand);\n const lastIndex = path.indexOf(lastArcPathCommand);\n const firstStartPoint = getArcStartPoint(path[firstIndex - 1]);\n const lastStartPoint = getArcStartPoint(path[lastIndex - 1]);\n\n const { startAngle: firstStartAngle, endAngle: firstEndAngle } = getAngle(firstStartPoint, firstArcPathCommand);\n const { startAngle: lastStartAngle, endAngle: lastEndAngle } = getAngle(lastStartPoint, lastArcPathCommand);\n\n if (isNumberEqual(firstStartAngle, lastStartAngle) && isNumberEqual(firstEndAngle, lastEndAngle)) {\n startAngle = firstStartAngle;\n endAngle = firstEndAngle;\n } else {\n startAngle = Math.min(firstStartAngle, lastStartAngle);\n endAngle = Math.max(firstEndAngle, lastEndAngle);\n }\n\n let radius = firstArcPathCommand[1];\n let innerRadius = arcPaths[arcPaths.length - 1][1];\n if (radius < innerRadius) {\n [radius, innerRadius] = [innerRadius, radius];\n } else if (radius === innerRadius) {\n innerRadius = 0;\n }\n\n return {\n startAngle,\n endAngle,\n radius,\n innerRadius,\n };\n}\n\n/**\n * @ignore\n * 饼图更新动画\n * @param shape 文本图形\n * @param animateCfg\n * @param cfg\n */\nexport function sectorPathUpdate(shape: IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n const { toAttrs, coordinate } = cfg;\n const path = (toAttrs as { path: PathCommand[] }).path || [];\n const pathCommands = path.map((command) => command[0]);\n\n if (path.length < 1) return;\n\n const { startAngle: curStartAngle, endAngle: curEndAngle, radius, innerRadius } = getArcInfo(path);\n const { startAngle: preStartAngle, endAngle: preEndAngle } = getArcInfo(shape.attr('path'));\n\n const center = coordinate.getCenter();\n const diffStartAngle = curStartAngle - preStartAngle;\n const diffEndAngle = curEndAngle - preEndAngle;\n // 没有 diff 时直接返回最终 attrs,不需要额外动画\n if (diffStartAngle === 0 && diffEndAngle === 0) {\n shape.attr('path', path);\n return;\n }\n\n shape.animate(\n (ratio) => {\n const onFrameStartAngle = preStartAngle + ratio * diffStartAngle;\n const onFrameEndAngle = preEndAngle + ratio * diffEndAngle;\n return {\n ...toAttrs,\n path:\n // hack, 兼容 /examples/bar/basic/demo/radial-line.ts 动画\n isEqual(pathCommands, ['M', 'A', 'A', 'Z'])\n ? getArcPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle)\n : getSectorPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle, innerRadius),\n };\n },\n {\n ...animateCfg,\n callback: () => {\n // 将 path 保持原始态,否则会影响 setState() 的动画\n shape.attr('path', path);\n isFunction(animateCfg.callback) && animateCfg.callback();\n },\n }\n );\n}\n","import { ext } from '@antv/matrix-util';\nimport { each, isFunction } from '@antv/util';\nimport { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nfunction doShapeZoom(shape: IShape | IGroup, animateCfg: GAnimateCfg, type: 'zoomIn' | 'zoomOut') {\n if (shape.isGroup()) {\n each((shape as IGroup).getChildren(), (child) => {\n doShapeZoom(child, animateCfg, type);\n });\n } else {\n const bbox = shape.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n shape.applyToMatrix([x, y, 1]);\n\n if (type === 'zoomIn') {\n // 放大\n const matrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]);\n shape.setMatrix(matrix);\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]),\n },\n animateCfg\n );\n } else {\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]),\n },\n {\n ...animateCfg,\n callback: () => {\n shape.remove(true);\n isFunction(animateCfg.callback) && animateCfg.callback();\n },\n }\n );\n }\n }\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * shape 以自身中心点逐渐放大的进入动画\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomIn(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomIn');\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * 消失动画,shape 以自身为中心点的逐渐缩小\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomOut(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomOut');\n}\n","import { DIRECTION } from '../constant';\nimport { Point } from '../dependents';\nimport { FacetTitle } from '../interface';\n\n/**\n * @ignore\n * 获取 facet title 的最佳默认配置,防止\n */\nexport function getFactTitleConfig(direction: DIRECTION): FacetTitle {\n if ([DIRECTION.TOP, DIRECTION.BOTTOM].includes(direction)) {\n return {\n offsetX: 0,\n offsetY: direction === DIRECTION.TOP ? -8 : 8,\n style: {\n textAlign: 'center',\n textBaseline: direction === DIRECTION.TOP ? 'bottom' : 'top',\n },\n };\n }\n\n if ([DIRECTION.LEFT, DIRECTION.RIGHT].includes(direction)) {\n return {\n offsetX: direction === DIRECTION.LEFT ? -8 : 8,\n offsetY: 0,\n style: {\n textAlign: direction === DIRECTION.LEFT ? 'right' : 'left',\n textBaseline: 'middle',\n rotate: Math.PI / 2, // 文本阅读习惯从上往下\n },\n };\n }\n\n return {};\n}\n\n/**\n * @ignore\n * 根据角度,获取 ○ 上的点\n * @param center\n * @param r\n * @param angle\n */\nexport function getAnglePoint(center: Point, r: number, angle: number): Point {\n return {\n x: center.x + r * Math.cos(angle),\n y: center.y + r * Math.sin(angle),\n };\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { AxisCfg, CircleCfg, CircleData, Datum } from '../interface';\n\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { getAnglePoint, getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Circle extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'circle',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 根据总数和当前索引,计算分面的 region\n * @param count\n * @param index\n */\n protected getRegion(count: number, index: number) {\n const r = 1 / 2; // 画布半径\n // 画布圆心\n const center = { x: 0.5, y: 0.5 };\n // 每隔分面间隔的弧度\n const avgAngle = (Math.PI * 2) / count;\n\n // 当前分面所在的弧度\n const angle = (-1 * Math.PI) / 2 + avgAngle * index;\n // TODO 没看懂\n const facetR = r / (1 + 1 / Math.sin(avgAngle / 2));\n // 分面的中心点\n const middle = getAnglePoint(center, r - facetR, angle);\n const startAngle = (Math.PI * 5) / 4; // 右上角\n const endAngle = (Math.PI * 1) / 4; // 左下角\n\n return {\n start: getAnglePoint(middle, facetR, startAngle),\n end: getAnglePoint(middle, facetR, endAngle),\n };\n }\n\n protected afterEachView(view: View, facet: CircleData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: CircleData) {}\n\n protected generateFacets(data: Datum[]): CircleData[] {\n const { fields, type } = this.cfg;\n const [field] = fields;\n if (!field) {\n throw new Error('No `fields` specified!');\n }\n\n const values = this.getFieldValues(data, field);\n const count = values.length;\n\n const rst = [];\n values.forEach((value: any, index: number) => {\n const conditions = [{ field, value, values }];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: CircleData = {\n type,\n data: facetData,\n region: this.getRegion(count, index),\n\n columnValue: value,\n columnField: field,\n columnIndex: index,\n columnValuesLength: count,\n\n rowValue: null,\n rowField: null,\n rowIndex: 0,\n rowValuesLength: 1,\n };\n rst.push(facet);\n });\n return rst;\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: CircleData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, ListCfg, ListData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class List extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'list',\n cols: null, // 默认显示一列\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: ListData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: ListData) {}\n\n protected generateFacets(data: Datum[]): ListData[] {\n const { fields } = this.cfg;\n let { cols } = this.cfg;\n\n const [columnField] = fields;\n if (!columnField) {\n throw new Error('No `fields` specified!');\n }\n\n const colValues = this.getFieldValues(data, columnField);\n\n const count = colValues.length;\n cols = cols || count; // 每行有几列数据\n\n // 总共有几行\n const rows = this.getPageCount(count, cols);\n const rst = [];\n\n colValues.forEach((val, index) => {\n // 当前 index 在那个行列\n const { row, col } = this.getRowCol(index, cols);\n\n const conditions = [{ field: columnField, value: val, values: colValues }];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: ListData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rows, cols, col, row),\n\n columnValue: val,\n rowValue: val,\n columnField,\n rowField: null,\n columnIndex: col,\n rowIndex: row,\n columnValuesLength: cols,\n rowValuesLength: rows,\n\n total: count,\n };\n\n rst.push(facet);\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: ListData): object {\n // 当是最后一行或者下面没有 view 时文本不显示\n if (\n facet.rowIndex !== facet.rowValuesLength - 1 &&\n facet.columnValuesLength * facet.rowIndex + facet.columnIndex + 1 + facet.columnValuesLength <= facet.total\n ) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: ListData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: ListData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n /**\n * 计算分页数\n * @param total\n * @param pageSize\n */\n private getPageCount(total: number, pageSize: number): number {\n return Math.floor((total + pageSize - 1) / pageSize);\n }\n\n /**\n * 索引值在哪一页\n * @param index\n * @param pageSize\n */\n private getRowCol(index: number, pageSize: number) {\n const row = Math.floor(index / pageSize);\n const col = index % pageSize;\n\n return { row, col };\n }\n}\n","import { deepMix, each, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MatrixCfg, MatrixData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Matrix extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'matrix',\n showTitle: false,\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: MatrixData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: MatrixData) {}\n\n protected generateFacets(data: Datum[]): MatrixData[] {\n const { fields, type } = this.cfg;\n\n // 矩阵中行列相等,等于指定的字段个数\n const rowValuesLength = fields.length;\n const columnValuesLength = rowValuesLength;\n\n const rst = [];\n for (let i = 0; i < columnValuesLength; i++) {\n const columnField = fields[i];\n for (let j = 0; j < rowValuesLength; j++) {\n const rowField = fields[j];\n\n const facet: MatrixData = {\n type,\n data,\n region: this.getRegion(rowValuesLength, columnValuesLength, i, j),\n\n columnValue: columnField,\n rowValue: rowField,\n columnField,\n rowField,\n columnIndex: i,\n rowIndex: j,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n }\n }\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 最后一行显示\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 第一列显示\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: MatrixData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, rowValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MirrorCfg, MirrorData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Mirror extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'mirror',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n transpose: false,\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected beforeEachView(view: View, facet: MirrorData) {\n // 做一下坐标系转化\n if (this.cfg.transpose) {\n if (facet.columnIndex % 2 === 0) {\n view.coordinate().transpose().reflect('x');\n } else {\n view.coordinate().transpose();\n }\n } else {\n if (facet.rowIndex % 2 !== 0) {\n view.coordinate().reflect('y');\n }\n }\n }\n\n protected afterEachView(view: View, facet: MirrorData) {\n this.processAxis(view, facet);\n }\n\n protected generateFacets(data: Datum[]): MirrorData[] {\n const [f] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n let columnField;\n let rowField;\n\n if (this.cfg.transpose) {\n columnField = f;\n columnValues = this.getFieldValues(data, columnField).slice(0, 2); // 镜像最多两个\n columnValuesLength = columnValues.length;\n } else {\n rowField = f;\n rowValues = this.getFieldValues(data, rowField).slice(0, 2); // 镜像最多两个\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: MirrorData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // 非最后一行\n // 当是最后一行或者下面没有 view 时文本不显示\n if (facet.columnIndex === 1 || facet.rowIndex === 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // do nothing\n return option;\n }\n\n private renderTitle() {\n each(this.facets, (facet: MirrorData, facetIndex: number) => {\n const { columnValue, rowValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n if (this.cfg.transpose) {\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n } else {\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.title\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, RectCfg, RectData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 矩阵分面\n */\nexport default class Rect extends Facet {\n protected afterEachView(view: View, facet: RectData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: RectData) {\n // do nothing\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'rect',\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 生成矩阵分面的分面数据\n * @param data\n */\n protected generateFacets(data: Datum[]): RectData[] {\n const [columnField, rowField] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n if (columnField) {\n columnValues = this.getFieldValues(data, columnField);\n columnValuesLength = columnValues.length;\n }\n if (rowField) {\n rowValues = this.getFieldValues(data, rowField);\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: RectData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n private renderTitle(): void {\n each(this.facets, (facet: RectData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: RectData): object {\n // 非最后一行\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.columnIndex !== Math.floor((facet.columnValuesLength - 1) / 2)) {\n // 不是中间列\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: RectData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.rowIndex !== Math.floor((facet.rowValuesLength - 1) / 2)) {\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n}\n","/**\n * Create By Bruce Too\n * On 2020-02-10\n */\nimport { assign, deepMix, each, get } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION, VIEW_LIFE_CIRCLE } from '../constant';\nimport { AxisCfg, Condition, Datum, TreeCfg, TreeData } from '../interface';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * Tree Facet\n */\nexport default class Tree extends Facet {\n protected afterEachView(view: View, facet: TreeData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: TreeData) {}\n\n public init() {\n super.init();\n this.view.on(VIEW_LIFE_CIRCLE.AFTER_RENDER, this.afterChartRender);\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'tree',\n line: {\n style: {\n lineWidth: 1,\n stroke: '#ddd',\n },\n smooth: false,\n },\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n protected generateFacets(data: Datum[]): TreeData[] {\n const fields = this.cfg.fields;\n if (!fields.length) {\n throw new Error('Please specify for the fields for rootFacet!');\n }\n const rst = [];\n const rootFacet: TreeData = {\n type: this.cfg.type,\n data,\n region: null,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: 0,\n columnIndex: 0,\n rowField: '',\n columnField: '',\n rowValue: '',\n columnValue: '',\n };\n rst.push(rootFacet);\n rootFacet.children = this.getChildFacets(data, 1, rst);\n this.setRegion(rst);\n return rst;\n }\n\n private setRegion(facets: TreeData[]) {\n this.forceColIndex(facets);\n facets.forEach((facet) => {\n // @ts-ignore 允许调整\n facet.region = this.getRegion(facet.rowValuesLength, facet.columnValuesLength, facet.columnIndex, facet.rowIndex);\n });\n }\n\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number) {\n const xWidth = 1 / cols; // x轴方向的每个分面的偏移\n const yWidth = 1 / rows; // y轴方向的每个分面的偏移\n\n const start = {\n x: xWidth * xIndex,\n y: yWidth * yIndex,\n };\n\n const end = {\n x: start.x + xWidth,\n y: start.y + (yWidth * 2) / 3, // 预留1/3的空隙,方便添加连接线\n };\n return {\n start,\n end,\n };\n }\n\n private forceColIndex(facets: TreeData[]) {\n const leafs: TreeData[] = [];\n let index = 0;\n facets.forEach((facet) => {\n if (this.isLeaf(facet)) {\n leafs.push(facet);\n // @ts-ignore 允许调整\n facet.columnIndex = index;\n index++;\n }\n });\n\n leafs.forEach((facet) => {\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n });\n const maxLevel = this.cfg.fields.length;\n for (let i = maxLevel - 1; i >= 0; i--) {\n const levelFacets = this.getFacetsByLevel(facets, i);\n // var yIndex = maxLevel - i;\n for (const facet of levelFacets) {\n if (!this.isLeaf(facet)) {\n facet.originColIndex = facet.columnIndex;\n // @ts-ignore\n facet.columnIndex = this.getRegionIndex(facet.children);\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n }\n }\n }\n }\n\n // get facet use level\n private getFacetsByLevel(facets: TreeData[], level: number) {\n const rst: TreeData[] = [];\n facets.forEach((facet) => {\n if (facet.rowIndex === level) {\n rst.push(facet);\n }\n });\n return rst;\n }\n\n // if the facet has children , make it's column index in the middle of it's children\n private getRegionIndex(children: TreeData[]) {\n const first = children[0];\n const last = children[children.length - 1];\n return (last.columnIndex - first.columnIndex) / 2 + first.columnIndex;\n }\n\n // is a leaf without children\n private isLeaf(facet: TreeData) {\n return !facet.children || !facet.children.length;\n }\n\n private getRows() {\n return this.cfg.fields.length + 1;\n }\n\n // get child\n private getChildFacets(data: Datum[], level: number, arr: TreeData[]) {\n // [ 'grade', 'class' ]\n const fields = this.cfg.fields;\n const length = fields.length;\n if (length < level) {\n return;\n }\n const rst = [];\n // get fist level except root node\n const field = fields[level - 1];\n // get field value\n const values = this.getFieldValues(data, field);\n values.forEach((value, index) => {\n const conditions = [{ field, value, values } as Condition];\n const subData = data.filter(this.getFacetDataFilter(conditions));\n if (subData.length) {\n const facet: TreeData = {\n type: this.cfg.type,\n data: subData,\n region: null,\n columnValue: value,\n rowValue: '',\n columnField: field,\n rowField: '',\n columnIndex: index,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: level,\n children: this.getChildFacets(subData, level + 1, arr),\n };\n rst.push(facet);\n arr.push(facet);\n }\n });\n return rst;\n }\n\n public render() {\n super.render();\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n private afterChartRender = () => {\n if (this.facets && this.cfg.line) {\n this.container.clear();\n this.drawLines(this.facets);\n }\n };\n\n private renderTitle() {\n each(this.facets, (facet: TreeData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n private drawLines(facets: TreeData[]) {\n facets.forEach((facet) => {\n if (!this.isLeaf(facet)) {\n const children = facet.children;\n this.addFacetLines(facet, children);\n }\n });\n }\n\n // add lines with it's children\n private addFacetLines(facet: TreeData, children: TreeData[]) {\n const view = facet.view;\n const region = view.coordinateBBox;\n // top, right, bottom, left\n const start = {\n x: region.x + region.width / 2,\n y: region.y + region.height,\n };\n\n children.forEach((subFacet) => {\n const subRegion = subFacet.view.coordinateBBox;\n const end = {\n x: subRegion.bl.x + (subRegion.tr.x - subRegion.bl.x) / 2,\n y: subRegion.tr.y,\n };\n\n const middle1 = {\n x: start.x,\n y: start.y + (end.y - start.y) / 2,\n };\n const middle2 = {\n x: end.x,\n y: middle1.y,\n };\n this.drawLine([start, middle1, middle2, end]);\n });\n }\n\n private getPath(points) {\n const path = [];\n const smooth = this.cfg.line.smooth;\n if (smooth) {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['C', points[1].x, points[1].y, points[2].x, points[2].y, points[3].x, points[3].y]);\n } else {\n points.forEach((point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['L', point.x, point.y]);\n }\n });\n }\n\n return path;\n }\n\n // draw line width points\n private drawLine(points) {\n const path = this.getPath(points);\n const line = this.cfg.line.style;\n this.container.addShape('path', {\n attrs: assign(\n {\n // @ts-ignore\n path,\n },\n line\n ),\n });\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.originColIndex !== 0 && facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n}\n","import { reduce, isNumber } from '@antv/util';\n\n/**\n * 获得中位数\n * @param array\n */\nexport function getMedian(array: number[]) {\n const arr = [...array];\n // 先排序\n arr.sort((a: number, b: number) => {\n return a - b;\n });\n\n const len = arr.length;\n\n // median\n // 0\n if (len === 0) {\n return 0;\n }\n\n // 奇数\n if (len % 2 === 1) {\n return arr[(len - 1) / 2];\n }\n\n // 偶数\n return (arr[len / 2] + arr[len / 2 - 1]) / 2;\n}\n\n/**\n * 获得平均值\n * @param array\n */\nexport function getMean(array: number[]) {\n const sum = reduce(\n array,\n (r: number, num: number) => {\n return (r += isNaN(num) || !isNumber(num) ? 0 : num);\n },\n 0\n );\n\n return array.length === 0 ? 0 : sum / array.length;\n}\n","import { getMedian, getMean } from './stat';\nimport { Scale } from '../dependents';\n\n/**\n * parse the value position\n * @param val\n * @param scale\n */\nexport function getNormalizedValue(val: number | string, scale: Scale) {\n if (!scale) {\n return null;\n }\n let scaled: number;\n\n switch (val) {\n case 'start':\n return 0;\n case 'center':\n return 0.5;\n case 'end':\n return 1;\n case 'median': {\n scaled = scale.isCategory ? getMedian(scale.values.map((_, idx: number) => idx)) : getMedian(scale.values);\n break;\n }\n case 'mean': {\n scaled = scale.isCategory ? (scale.values.length - 1) / 2 : getMean(scale.values);\n break;\n }\n case 'min':\n scaled = scale.isCategory ? 0 : scale[val];\n break;\n case 'max':\n scaled = scale.isCategory ? scale.values.length - 1 : scale[val];\n break;\n default:\n scaled = val as number;\n break;\n }\n\n return scale.scale(scaled);\n}\n","import {\n contains,\n deepMix,\n each,\n get,\n isArray,\n isFunction,\n isNil,\n isString,\n keys,\n upperFirst,\n find,\n includes,\n} from '@antv/util';\nimport { Annotation as AnnotationComponent, IElement, IGroup } from '../../dependents';\nimport {\n AnnotationBaseOption as BaseOption,\n AnnotationPosition as Position,\n ArcOption,\n ComponentOption,\n ShapeAnnotationOption,\n Data,\n DataMarkerOption,\n DataRegionOption,\n Datum,\n HtmlAnnotationOption,\n ImageOption,\n LineOption,\n Point,\n RegionFilterOption,\n RegionOption,\n RegionPositionBaseOption,\n TextOption,\n} from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\nimport { COMPONENT_TYPE, DIRECTION, GEOMETRY_LIFE_CIRCLE, LAYER, VIEW_LIFE_CIRCLE } from '../../constant';\n\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element';\nimport { getAngleByPoint, getDistanceToCenter } from '../../util/coordinate';\nimport { omit } from '../../util/helper';\nimport { getNormalizedValue } from '../../util/annotation';\nimport View from '../view';\nimport { Controller } from './base';\nimport { Scale } from '@antv/attr';\n\n/** 需要在图形绘制完成后才渲染的辅助组件类型列表 */\nconst ANNOTATIONS_AFTER_RENDER = ['regionFilter', 'shape'];\n\n/**\n * Annotation controller, 主要作用:\n * 1. 创建 Annotation: line、text、arc ...\n * 2. 生命周期: init、layout、render、clear、destroy\n */\nexport default class Annotation extends Controller {\n private foregroundContainer: IGroup;\n private backgroundContainer: IGroup;\n\n /* 组件更新的 cache,组件配置 object : 组件 */\n private cache = new Map();\n\n constructor(view: View) {\n super(view);\n\n this.foregroundContainer = this.view.getLayer(LAYER.FORE).addGroup();\n this.backgroundContainer = this.view.getLayer(LAYER.BG).addGroup();\n\n this.option = [];\n }\n\n public get name(): string {\n return 'annotation';\n }\n\n public init() { }\n\n /**\n * 因为 annotation 需要依赖坐标系信息,所以 render 阶段为空方法,实际的创建逻辑都在 layout 中\n */\n public layout() {\n this.update();\n }\n\n // 因为 Annotation 不参与布局,但是渲染的位置依赖于坐标系,所以可以将绘制阶段延迟到 layout() 进行\n public render() { }\n\n /**\n * 更新\n */\n public update() {\n // 1. 先处理需要在图形渲染之后的辅助组件 需要在 Geometry 完成之后,拿到图形信息\n this.onAfterRender(() => {\n const updated = new Map();\n // 先看是否有 regionFilter/shape 要更新\n each(this.option, (option: BaseOption) => {\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n const co = this.updateOrCreate(option);\n // 存储已经处理过的\n if (co) {\n updated.set(this.getCacheKey(option), co);\n }\n }\n });\n\n // 处理完成之后,更新 cache\n // 处理完成之后,销毁删除的\n this.cache = this.syncCache(updated);\n });\n\n // 2. 处理非 regionFilter\n const updateCache = new Map();\n each(this.option, (option: BaseOption) => {\n if (!includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n const co = this.updateOrCreate(option);\n // 存储已经处理过的\n if (co) {\n updateCache.set(this.getCacheKey(option), co);\n }\n }\n });\n this.cache = this.syncCache(updateCache);\n }\n\n /**\n * 清空\n * @param includeOption 是否清空 option 配置项\n */\n public clear(includeOption = false) {\n super.clear();\n\n this.clearComponents();\n this.foregroundContainer.clear();\n this.backgroundContainer.clear();\n\n // clear all option\n if (includeOption) {\n this.option = [];\n }\n }\n\n public destroy() {\n this.clear(true);\n\n this.foregroundContainer.remove(true);\n this.backgroundContainer.remove(true);\n }\n\n /**\n * 复写基类的方法\n */\n public getComponents(): ComponentOption[] {\n const co = [];\n\n this.cache.forEach((value: ComponentOption) => {\n co.push(value);\n });\n\n return co;\n }\n\n /**\n * 清除当前的组件\n */\n private clearComponents() {\n this.getComponents().forEach((co) => {\n co.component.destroy();\n });\n\n this.cache.clear();\n }\n\n /**\n * region filter 比较特殊的渲染时机\n * @param doWhat\n */\n private onAfterRender(doWhat: () => void) {\n let done = false;\n if (this.view.getOptions().animate) {\n this.view.geometries.forEach((g: Geometry) => {\n // 如果 geometry 开启,则监听\n if (g.animateOption) {\n g.once(GEOMETRY_LIFE_CIRCLE.AFTER_DRAW_ANIMATE, () => {\n doWhat();\n });\n done = true;\n }\n });\n }\n\n if (!done) {\n this.view.getRootView().once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n doWhat();\n });\n }\n }\n\n private createAnnotation(option: BaseOption) {\n const { type } = option;\n\n const Ctor = AnnotationComponent[upperFirst(type)];\n if (Ctor) {\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n // 不创建\n if (!cfg) {\n return null;\n }\n const annotation = new Ctor(cfg);\n\n return {\n component: annotation,\n layer: this.isTop(cfg) ? LAYER.FORE : LAYER.BG,\n direction: DIRECTION.NONE,\n type: COMPONENT_TYPE.ANNOTATION,\n extra: option,\n };\n }\n }\n\n // APIs for creating annotation component\n public annotation(option: any) {\n this.option.push(option);\n }\n\n /**\n * 创建 Arc\n * @param option\n * @returns AnnotationController\n */\n public arc(option: ArcOption) {\n this.annotation({\n type: 'arc',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 image\n * @param option\n * @returns AnnotationController\n */\n public image(option: ImageOption) {\n this.annotation({\n type: 'image',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Line\n * @param option\n * @returns AnnotationController\n */\n public line(option: LineOption) {\n this.annotation({\n type: 'line',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Region\n * @param option\n * @returns AnnotationController\n */\n public region(option: RegionOption) {\n this.annotation({\n type: 'region',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Text\n * @param option\n * @returns AnnotationController\n */\n public text(option: TextOption) {\n this.annotation({\n type: 'text',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataMarker\n * @param option\n * @returns AnnotationController\n */\n public dataMarker(option: DataMarkerOption) {\n this.annotation({\n type: 'dataMarker',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataRegion\n * @param option\n * @returns AnnotationController\n */\n public dataRegion(option: DataRegionOption) {\n this.annotation({\n type: 'dataRegion',\n ...option,\n });\n }\n\n /**\n * 创建 RegionFilter\n * @param option\n * @returns AnnotationController\n */\n public regionFilter(option: RegionFilterOption) {\n this.annotation({\n type: 'regionFilter',\n ...option,\n });\n }\n\n /**\n * 创建 ShapeAnnotation\n * @param option\n */\n public shape(option: ShapeAnnotationOption) {\n this.annotation({\n type: 'shape',\n ...option,\n });\n }\n\n /**\n * 创建 HtmlAnnotation\n * @param option\n */\n public html(option: HtmlAnnotationOption) {\n this.annotation({\n type: 'html',\n ...option,\n });\n }\n // end API\n\n /**\n * parse the point position to [x, y]\n * @param p Position\n * @returns { x, y }\n */\n private parsePosition(\n p:\n | [string | number, string | number]\n | Datum\n | ((xScale: Scale, yScale: Scale) => [string | number, string | number] | number | Datum)\n ): Point {\n const xScale = this.view.getXScale();\n // 转成 object\n const yScales = this.view.getScalesByDim('y');\n\n const position: Position = isFunction(p) ? p.call(null, xScale, yScales) : p;\n\n let x = 0;\n let y = 0;\n\n // 入参是 [24, 24] 这类时\n if (isArray(position)) {\n const [xPos, yPos] = position;\n // 如果数据格式是 ['50%', '50%'] 的格式\n // fix: 原始数据中可能会包含 'xxx5%xxx' 这样的数据,需要判断下 https://github.com/antvis/f2/issues/590\n // @ts-ignore\n if (isString(xPos) && xPos.indexOf('%') !== -1 && !isNaN(xPos.slice(0, -1))) {\n return this.parsePercentPosition(position as [string, string]);\n }\n\n x = getNormalizedValue(xPos, xScale);\n y = getNormalizedValue(yPos, Object.values(yScales)[0]);\n } else if (!isNil(position)) {\n // 入参是 object 结构,数据点\n for (const key of keys(position)) {\n const value = position[key];\n if (key === xScale.field) {\n x = getNormalizedValue(value, xScale);\n }\n if (yScales[key]) {\n y = getNormalizedValue(value, yScales[key]);\n }\n }\n }\n\n if (isNaN(x) || isNaN(y)) {\n return null;\n }\n\n return this.view.getCoordinate().convert({ x, y });\n }\n\n /**\n * parse all the points between start and end\n * @param start\n * @param end\n * @return Point[]\n */\n private getRegionPoints(start: Position | Data, end: Position | Data): Point[] {\n const xScale = this.view.getXScale();\n const yScales = this.view.getScalesByDim('y');\n const yScale = Object.values(yScales)[0];\n const xField = xScale.field;\n const viewData = this.view.getData();\n const startXValue = isArray(start) ? start[0] : start[xField];\n const endXValue = isArray(end) ? end[0] : end[xField];\n const arr = [];\n\n let startIndex;\n each(viewData, (item, idx) => {\n if (item[xField] === startXValue) {\n startIndex = idx;\n }\n if (idx >= startIndex) {\n const point = this.parsePosition([item[xField], item[yScale.field]]);\n if (point) {\n arr.push(point);\n }\n }\n if (item[xField] === endXValue) {\n return false;\n }\n });\n\n return arr;\n }\n\n /**\n * parse percent position\n * @param position\n */\n private parsePercentPosition(position: [string, string]): Point {\n const xPercent = parseFloat(position[0]) / 100;\n const yPercent = parseFloat(position[1]) / 100;\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n const x = coordinate.getWidth() * xPercent + topLeft.x;\n const y = coordinate.getHeight() * yPercent + topLeft.y;\n return { x, y };\n }\n\n /**\n * get coordinate bbox\n */\n private getCoordinateBBox() {\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n\n return {\n x: topLeft.x,\n y: topLeft.y,\n minX: topLeft.x,\n minY: topLeft.y,\n maxX: topLeft.x + width,\n maxY: topLeft.y + height,\n width,\n height,\n };\n }\n\n /**\n * get annotation component config by different type\n * @param type\n * @param option 用户的配置\n * @param theme\n */\n private getAnnotationCfg(type: string, option: any, theme: object): object | null {\n const coordinate = this.view.getCoordinate();\n const canvas = this.view.getCanvas();\n let o = {};\n\n if (isNil(option)) {\n return null;\n }\n const { start, end, position } = option;\n const sp = this.parsePosition(start);\n const ep = this.parsePosition(end);\n const textPoint = this.parsePosition(position);\n if (['arc', 'image', 'line', 'region', 'regionFilter'].includes(type) && (!sp || !ep)) {\n return null;\n } else if (['text', 'dataMarker', 'html'].includes(type) && !textPoint) {\n return null;\n }\n\n if (type === 'arc') {\n const { start, end, ...rest } = option as ArcOption;\n const startAngle = getAngleByPoint(coordinate, sp);\n let endAngle = getAngleByPoint(coordinate, ep);\n if (startAngle > endAngle) {\n endAngle = Math.PI * 2 + endAngle;\n }\n\n o = {\n ...rest,\n center: coordinate.getCenter(),\n radius: getDistanceToCenter(coordinate, sp),\n startAngle,\n endAngle,\n };\n } else if (type === 'image') {\n const { start, end, ...rest } = option as ImageOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\n src: option.src,\n };\n } else if (type === 'line') {\n const { start, end, ...rest } = option as LineOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\n text: get(option, 'text', null),\n };\n } else if (type === 'region') {\n const { start, end, ...rest } = option as RegionPositionBaseOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\n };\n } else if (type === 'text') {\n const filteredData = this.view.getData();\n const { position, content, ...rest } = option as TextOption;\n let textContent = content;\n if (isFunction(content)) {\n textContent = content(filteredData);\n }\n o = {\n ...textPoint,\n ...rest,\n content: textContent,\n };\n } else if (type === 'dataMarker') {\n const { position, point, line, text, autoAdjust, direction, ...rest } = option as DataMarkerOption;\n o = {\n ...rest,\n ...textPoint,\n coordinateBBox: this.getCoordinateBBox(),\n point,\n line,\n text,\n autoAdjust,\n direction,\n };\n } else if (type === 'dataRegion') {\n const { start, end, region, text, lineLength, ...rest } = option as DataRegionOption;\n o = {\n ...rest,\n points: this.getRegionPoints(start, end),\n region,\n text,\n lineLength,\n };\n } else if (type === 'regionFilter') {\n const { start, end, apply, color, ...rest } = option as RegionFilterOption;\n const geometries: Geometry[] = this.view.geometries;\n const shapes = [];\n const addShapes = (item?: IElement) => {\n if (!item) {\n return;\n }\n if (item.isGroup()) {\n (item as IGroup).getChildren().forEach((child) => addShapes(child));\n } else {\n shapes.push(item);\n }\n };\n each(geometries, (geom: Geometry) => {\n if (apply) {\n if (contains(apply, geom.type)) {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n } else {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n });\n o = {\n ...rest,\n color,\n shapes,\n start: sp,\n end: ep,\n };\n } else if (type === 'shape') {\n const { render, ...restOptions } = option as ShapeAnnotationOption;\n const wrappedRender = (container: IGroup) => {\n if (isFunction(option.render)) {\n return render(container, this.view, { parsePosition: this.parsePosition.bind(this) });\n }\n };\n o = {\n ...restOptions,\n render: wrappedRender,\n };\n } else if (type === 'html') {\n const { html, position, ...restOptions } = option as HtmlAnnotationOption;\n const wrappedHtml = (container: HTMLElement) => {\n if (isFunction(html)) {\n return html(container, this.view);\n }\n return html;\n };\n o = {\n ...restOptions,\n ...textPoint,\n // html 组件需要指定 parent\n parent: canvas.get('el').parentNode,\n html: wrappedHtml,\n };\n }\n // 合并主题,用户配置优先级高于默认主题\n const cfg = deepMix({}, theme, {\n ...o,\n top: option.top,\n style: option.style,\n offsetX: option.offsetX,\n offsetY: option.offsetY,\n });\n if (type !== 'html') {\n // html 类型不使用 G container\n cfg.container = this.getComponentContainer(cfg);\n }\n cfg.animate = this.view.getOptions().animate && cfg.animate && get(option, 'animate', cfg.animate); // 如果 view 关闭动画,则不执行\n cfg.animateOption = deepMix({}, DEFAULT_ANIMATE_CFG, cfg.animateOption, option.animateOption);\n\n return cfg;\n }\n\n /**\n * is annotation render on top\n * @param option\n * @return whethe on top\n */\n private isTop(option: any): boolean {\n return get(option, 'top', true);\n }\n\n /**\n * get the container by option.top\n * default is on top\n * @param option\n * @returns the container\n */\n private getComponentContainer(option: any) {\n return this.isTop(option) ? this.foregroundContainer : this.backgroundContainer;\n }\n\n private getAnnotationTheme(type: string) {\n return get(this.view.getTheme(), ['components', 'annotation', type], {});\n }\n\n /**\n * 创建或者更新 annotation\n * @param option\n */\n private updateOrCreate(option: BaseOption) {\n // 拿到缓存的内容\n let co = this.cache.get(this.getCacheKey(option));\n\n // 存在则更新,不存在在创建\n if (co) {\n const { type } = option;\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n\n // 忽略掉一些配置\n if (cfg) {\n omit(cfg, ['container']);\n }\n co.component.update({ ...(cfg || {}), visible: !!cfg });\n // 对于 regionFilter/shape,因为生命周期的原因,需要额外 render\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n co.component.render();\n }\n } else {\n // 不存在,创建\n co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // Note:regionFilter/shape 特殊处理,regionFilter/shape 需要取到 Geometry 中的 Shape,需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n co.component.render();\n }\n }\n }\n return co;\n }\n\n /**\n * 更新缓存,以及销毁组件\n * @param updated 更新或者创建的组件\n */\n private syncCache(updated: Map) {\n const newCache = new Map(this.cache); // clone 一份\n\n // 将 update 更新到 cache\n updated.forEach((co: ComponentOption, key: BaseOption) => {\n newCache.set(key, co);\n });\n\n // 另外和 options 进行对比,删除\n newCache.forEach((co: ComponentOption, key: BaseOption) => {\n // option 中已经找不到,那么就是删除的\n if (\n !find(this.option, (option: BaseOption) => {\n return key === this.getCacheKey(option);\n })\n ) {\n co.component.destroy();\n newCache.delete(key);\n }\n });\n\n return newCache;\n }\n\n /**\n * 获得缓存组件的 key\n * @param option\n */\n private getCacheKey(option: BaseOption) {\n // 如果存在 id,则使用 id string,否则直接使用 option 引用作为 key\n return option;\n // 后续扩展 id 用\n // const id = get(option, 'id');\n // return id ? id : option;\n }\n}\n","import { deepMix, get, map } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale, Tick } from '../dependents';\n\n/**\n * @ignore\n * get the grid theme by type, will mix the common cfg of axis\n * @param theme\n * @param direction\n * @returns theme object\n */\nexport function getGridThemeCfg(theme: object, direction: DIRECTION | 'common'): object {\n const axisTheme = deepMix(\n {},\n get(theme, ['components', 'axis', 'common']),\n get(theme, ['components', 'axis', direction])\n );\n return get(axisTheme, ['grid'], {});\n}\n\n/**\n * @ignore\n * get axis grid items\n * @param coordinate\n * @param scale\n * @param dim\n * @return items\n */\nexport function getLineGridItems(coordinate: Coordinate, scale: Scale, dim: string, alignTick?: boolean) {\n const items = [];\n const ticks = scale.getTicks();\n if (coordinate.isPolar) {\n // 补全 ticks\n ticks.push({\n value: 1,\n text: '',\n tickValue: '',\n });\n }\n ticks.reduce((preTick: Tick, currentTick: Tick, currentIndex) => {\n const currentValue = currentTick.value;\n if (alignTick) {\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: currentValue } : { x: currentValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: currentValue } : { x: currentValue, y: 1 }),\n ],\n });\n } else {\n if (currentIndex) {\n const preValue = preTick.value;\n const middleValue = (preValue + currentValue) / 2;\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: middleValue } : { x: middleValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: middleValue } : { x: middleValue, y: 1 }),\n ],\n });\n }\n }\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * get\n * @param coordinate\n * @param xScale\n * @param yScale\n * @param dim\n * @returns items\n */\nexport function getCircleGridItems(\n coordinate: Coordinate,\n xScale: Scale,\n yScale: Scale,\n alignTick: boolean,\n dim: string\n) {\n const count = xScale.values.length;\n const items = [];\n const ticks = yScale.getTicks();\n\n ticks.reduce((preTick: Tick, currentTick: Tick) => {\n const preValue = preTick ? preTick.value : currentTick.value; // 只有一项数据时取当前值\n const currentValue = currentTick.value;\n const middleValue = (preValue + currentValue) / 2;\n if (dim === 'x') {\n // 如果是 x 轴作为半径轴,那么只需要取圆弧收尾两个即可\n items.push({\n points: [\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 0,\n }),\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 1,\n }),\n ],\n });\n } else {\n items.push({\n points: map(Array(count + 1), (__: any, idx: number) => {\n return coordinate.convert({\n x: idx / count,\n y: alignTick ? currentValue : middleValue,\n });\n }),\n });\n }\n\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * show grid or not\n * @param axisTheme\n * @param axisOption\n */\nexport function showGrid(axisTheme: any, axisOption: any): boolean {\n const userGrid = get(axisOption, 'grid');\n if (userGrid === null) {\n return false;\n }\n\n const themeGrid = get(axisTheme, 'grid');\n\n return !(userGrid === undefined && themeGrid === null);\n}\n","import { deepMix, each, get, isUndefined } from '@antv/util';\nimport { DIRECTION, COMPONENT_TYPE, LAYER } from '../../constant';\nimport { CircleAxis, CircleGrid, IGroup, LineAxis, LineGrid, Scale } from '../../dependents';\nimport { AxisCfg, AxisOption, ComponentOption } from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\n\nimport {\n getAxisDirection,\n getAxisFactorByRegion,\n getAxisRegion,\n getAxisThemeCfg,\n getAxisTitleOptions,\n getAxisTitleText,\n getCircleAxisCenterRadius,\n isVertical,\n} from '../../util/axis';\nimport { getAxisOption } from '../../util/axis';\nimport { getCircleGridItems, getGridThemeCfg, getLineGridItems, showGrid } from '../../util/grid';\nimport { omit } from '../../util/helper';\nimport View from '../view';\nimport { Controller } from './base';\n\ntype Option = Record | boolean;\n\ntype Cache = Map;\n\n// update 组件的时候,忽略的数据更新\nconst OMIT_CFG = ['container'];\n\n// 坐标轴默认动画配置\nconst AXIS_DEFAULT_ANIMATE_CFG = {\n ...DEFAULT_ANIMATE_CFG,\n appear: null,\n};\n\n/**\n * @ignore\n * G2 Axis controller, will:\n * - create component\n * - axis\n * - grid\n * - life circle\n */\nexport default class Axis extends Controller