@antv/layout 0.3.21 → 0.3.22-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/force2/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcH,gCAA+B;AAC/B,mCAAyJ;AACzJ,2CAA0C;AAO1C,IAAM,cAAc,GAAG,UACrB,KAAoC,EACpC,QAAiB;IAEjB,IAAI,IAAI,CAAC;IACT,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,GAAG,UAAC,CAAM;YACZ,OAAO,QAAQ,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC;KACH;SAAM,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,EAAE;QAC1B,IAAI,GAAG,UAAC,CAAM;YACZ,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;KACH;SAAM;QACL,IAAI,GAAG,KAAK,CAAC;KACd;IACD,OAAO,IAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;GAEG;AACH;IAAkC,gCAAI;IAoHpC,sBAAY,OAA6B;QAAzC,YACE,iBAAO,SAkBR;QAnID,iBAAiB;QACV,kBAAY,GAAW,IAAI,CAAC;QAEnC,kBAAkB;QACX,mBAAa,GAAY,KAAK,CAAC;QAEtC,aAAa;QACN,kBAAY,GAA+C,GAAG,CAAC;QAEtE,WAAW;QACJ,kBAAY,GAA+C,IAAI,CAAC;QAEvE,WAAW;QACJ,qBAAe,GAAW,KAAK,CAAC;QAEvC,WAAW;QACJ,aAAO,GAAW,GAAG,CAAC;QAE7B,WAAW;QACJ,cAAQ,GAAW,GAAG,CAAC;QAE9B,2BAA2B;QACpB,iBAAW,GAAW,GAAG,CAAC;QAEjC,YAAY;QACL,cAAQ,GAAW,IAAI,CAAC;QAE/B,cAAc;QACP,YAAM,GAAW,CAAC,CAAC;QAW1B,WAAW;QACJ,kBAAY,GAA8E,GAAG,CAAC;QAKrG,WAAW;QACJ,aAAO,GAAW,CAAC,CAAC;QAc3B,gBAAgB;QACT,yBAAmB,GAAsC,EAAE,CAAC;QAEnE,aAAa;QACN,oBAAc,GAAY,IAAI,CAAC;QAQtC,0FAA0F;QACnF,2BAAqB,GAA2B,MAAM,CAAC;QAE9D,kBAAkB;QACX,UAAI,GAAwB,cAAQ,CAAC,CAAC;QAKtC,WAAK,GAAmB,EAAE,CAAC;QAE3B,WAAK,GAAkB,EAAE,CAAC;QAE1B,WAAK,GAAW,GAAG,CAAC;QAEpB,YAAM,GAAW,GAAG,CAAC;QAErB,aAAO,GAAY,EAAE,CAAC;QAEtB,gBAAU,GAAa,EAAE,CAAC;QAuB/B,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,cAAc;QACd,KAAI,CAAC,kBAAkB,GAAG;YACxB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,2BAA2B;YAC3B,MAAM,EAAE,UAAC,CAAM;gBACb,OAAO;oBACL,CAAC,EAAE,KAAI,CAAC,KAAK,GAAG,CAAC;oBACjB,CAAC,EAAE,KAAI,CAAC,MAAM,GAAG,CAAC;iBACnB,CAAC;YACJ,CAAC;SACF,CAAC;QACM,IAAA,OAAO,GAAK,OAAO,QAAZ,CAAa;QAC5B,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;IAC1B,CAAC;IAEM,4CAAqB,GAA5B;QACQ,IAAA,KAA4G,IAAI,EAA9G,WAAW,iBAAA,EAAE,UAAU,gBAAA,EAAE,aAAa,mBAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAA,EAAuB,wBAAwB,yBAAS,CAAC;QAEvH,IAAM,sBAAsB,GAAG,UAAC,IAAU;YACxC,OAAA,OAAO,wBAAwB,KAAK,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAA1G,CAA0G,CAAC;QAE7G,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,eAAoB,CAAC;QACzB,gBAAgB;QAChB,IAAI,WAAW,EAAE;YACf,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAClD,IAAM,mBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,CAAC,EAAnB,CAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/F,kBAAkB,GAAG;gBACnB,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,UAAC,IAAI,EAAE,KAAK,EAAE,KAAK;oBACvB,mCAAmC;oBAC7B,IAAA,KAA2C,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAvE,iBAAiB,uBAAA,EAAE,iBAAiB,uBAAmC,CAAC;oBAChF,8BAA8B;oBAC9B,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,OAAK,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAA,IAAI,CAAA,mBAAiB,aAAjB,mBAAiB,uBAAjB,mBAAiB,CAAE,MAAM,MAAK,CAAC,EAAE;wBAC9F,OAAO,CAAC,CAAC;qBACV;oBACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,UAAC,IAAI,EAAE,KAAK,EAAE,KAAK;;oBACjB,IAAA,MAAM,GAAK,CAAA,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,EAAE,CAAA,OAA5B,CAA6B;oBAC3C,gBAAgB;oBAChB,IAAI,CAAC,MAAM,EAAE;wBACX,OAAO;4BACL,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,GAAG;yBACP,CAAC;qBACH;oBACD,IAAI,UAAU,CAAC;oBACf,IAAI,MAAM,KAAK,CAAC,EAAE;wBAChB,UAAU;wBACV,gCAAgC;wBACxB,IAAA,KAA2B,CAAA,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA,kBAAnC,EAAtB,iBAAiB,mBAAG,EAAE,KAAA,CAAoC;wBAClE,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;4BAClC,iCAAiC;4BACjC,UAAU,GAAG,SAAS,CAAC;yBACxB;6BAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvC,8BAA8B;4BAC9B,UAAU,GAAG,IAAA,yBAAkB,EAAC,iBAAiB,CAAC,CAAC;yBACpD;qBACF;yBAAM;wBACL,UAAU,GAAG,SAAS,CAAC;qBACxB;oBACD,OAAO;wBACL,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAW;wBAC1B,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAW;qBAC3B,CAAC;gBACJ,CAAC;aACF,CAAC;SACH;QAED,cAAc;QACd,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,eAAe;gBAAE,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClE,IAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CACT,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAC7B,CAAC;YACF,IAAM,gBAAc,GAAgD,EAAE,CAAC;YACvE,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;gBACvB,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,CAAC,KAAK,OAAO,EAA/B,CAA+B,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBAC9G,8BAA8B;gBAC9B,gBAAc,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAkB,EAAC,aAAa,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,kBAAkB,GAAG;gBACnB,MAAM,EAAE,UAAC,IAAI,IAAK,OAAA,sBAAsB,CAAC,IAAI,CAAC,EAA5B,CAA4B;gBAC9C,IAAI,EAAE,UAAC,IAAI,IAAK,OAAA,sBAAsB,CAAC,IAAI,CAAC,EAA5B,CAA4B;gBAC5C,MAAM,EAAE,UAAC,IAAI,IAAK,OAAA,sBAAsB,CAAC,IAAI,CAAC,EAA5B,CAA4B;gBAC9C,MAAM,EAAE,UAAC,IAAI,EAAE,KAAK,EAAE,KAAK;oBACzB,8BAA8B;oBAC9B,IAAM,UAAU,GAAG,gBAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvD,OAAO;wBACL,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAW;wBAC1B,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAW;qBAC3B,CAAC;gBACJ,CAAC;aACF,CAAC;SACH;QAED,IAAI,CAAC,kBAAkB,yBAClB,IAAI,CAAC,kBAAkB,GACvB,kBAAkB,CACtB,CAAC;QAEI,IAAA,KAA2B,IAAI,CAAC,kBAAkB,EAAhD,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAA4B,CAAC;QACzD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;QAClF,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU;YAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;QAC1F,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU;YAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;IAC5F,CAAC;IAEM,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,oCAAa,GAApB;QACE,OAAO;YACL,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,8BAAO,GAAd;QACE,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACJ,IAAA,KAAK,GAA0B,IAAI,MAA9B,EAAE,KAAK,GAAmB,IAAI,MAAvB,EAAE,YAAY,GAAK,IAAI,aAAT,CAAU;QAE5C,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;SAChC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;SAClC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACjD;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,cAAM,KAAK,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;YACpC,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,IAAA,mBAAY,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,UAAC,CAAC;gBACf,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,IAAA,eAAQ,EAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;gBACzC,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;YACxE,CAAC,CAAC;SACH;QAGD,qBAAqB;QACrB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,YAAY,CAAC;QACjB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAM,aAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,iBAAoC,CAAC;YACzC,IAAI,IAAA,eAAQ,EAAC,aAAW,CAAC,EAAE;gBACzB,iBAAe,GAAG,cAAM,OAAA,aAAqB,EAArB,CAAqB,CAAC;aAC/C;iBAAM,IAAI,IAAA,iBAAU,EAAC,aAAW,CAAC,EAAE;gBAClC,iBAAe,GAAG,aAAkC,CAAC;aACtD;iBAAM;gBACL,iBAAe,GAAG,cAAM,OAAA,CAAC,EAAD,CAAC,CAAC;aAC3B;YACD,IAAI,CAAC,QAAQ,EAAE;gBACb,YAAY,GAAG,UAAC,CAAQ;oBACtB,IAAI,CAAC,CAAC,IAAI,EAAE;wBACV,IAAI,IAAA,cAAO,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;yBAC5D;wBAAC,IAAI,IAAA,eAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;yBACnE;wBACD,OAAQ,CAAC,CAAC,IAAe,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;qBAChD;oBACD,OAAO,EAAE,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC;aACH;iBAAM,IAAI,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE;gBAC5B,YAAY,GAAG,UAAC,CAAQ;oBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC;aACH;iBAAM;gBACL,YAAY,GAAG,UAAC,CAAQ,IAAK,OAAC,QAAmB,GAAG,iBAAe,CAAC,CAAC,CAAC,EAAzC,CAAyC,CAAC;aACxE;SACF;QACD,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAE7B,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAEzD,IAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,IAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3D,IAAI,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5D,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,yBACX,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI,KACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAC/B,MAAM,EAAE;wBACN,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,SAAS,EAAE,MAAM,CAAC,GAAG;wBACrB,MAAM,EAAE,MAAM,CAAC,GAAG;wBAClB,OAAO,EAAE,MAAM,CAAC,EAAE;wBAClB,OAAO,EAAE,MAAM,CAAC,GAAG;wBACnB,KAAK,EAAE;4BACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;4BACxB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;yBACtC;qBACF,MAEJ,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAG7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,UAAC,IAAI;YAClB,IAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,IAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;gBAC9B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,uBAElC,IAAI,KACP,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,KAEpB,UAAU,EACV,UAAU,CACX,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;iBACpH,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,cAAQ,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAEM,0BAAG,GAAV;QACE,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,YAAY,GAA0D,IAAI,aAA9D,EAAE,KAAK,GAAmD,IAAI,MAAvD,EAAE,aAAa,GAAoC,IAAI,cAAxC,EAAE,WAAW,GAAuB,IAAI,YAA3B,EAAE,OAAO,GAAc,IAAI,QAAlB,EAAE,OAAO,GAAK,IAAI,QAAT,CAAU;QAEnF,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;YACjB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAM,OAAO,GAAG,YAAY,CAAC;QAC7B,IAAM,OAAO,GAAG,CAAC,OAAO,CAAC;QACzB,IAAI,aAAa,IAAI,OAAO,EAAE;YAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;gBACjF,QAAQ,GAAG,CAAC,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;aAC9B;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,OAAO,MAAM,KAAK,WAAW;gBAAE,OAAO;YAC1C,IAAI,MAAI,GAAG,CAAC,CAAC;YACb,sDAAsD;YACtD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,IAAI,CAAC,UAAU,CAAC,MAAI,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAI,EAAE,CAAC;gBACP,IAAI,MAAI,IAAI,OAAO,IAAI,IAAI,CAAC,eAAe,GAAG,WAAW,EAAE;oBACzD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzC;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC;IAEO,iCAAU,GAAlB,UAAmB,IAAY,EAAE,QAAkB;;QACjD,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,KAAK,GAA8B,IAAI,MAAlC,EAAE,KAAK,GAAuB,IAAI,MAA3B,EAAE,OAAO,GAAc,IAAI,QAAlB,EAAE,OAAO,GAAK,IAAI,QAAT,CAAU;QAChD,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YAAE,OAAO;QAC3B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,KAAK;YAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,gDAAgD;QACpF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5C,MAAA,IAAI,CAAC,IAAI,oDAAI,CAAC;QAEd,sBAAsB;QACtB,IAAI,OAAO,EAAE;YACX,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO,CAAC,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IAEO,qCAAc,GAAtB,UAAuB,QAAkB;QACjC,IAAA,KAAqB,IAAI,EAAvB,KAAK,WAAA,EAAE,OAAO,aAAS,CAAC;QAChC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,IAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACzB,IAAA,KAAa,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAvC,EAAR,IAAI,mBAAG,CAAC,KAAA,CAAwC;YACxD,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB;QAClD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,eAAe;IACR,mCAAY,GAAnB,UAAoB,QAAkB;QACpC,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,KAAK,GAAuC,IAAI,MAA3C,EAAE,OAAO,GAA8B,IAAI,QAAlC,EAAE,MAAM,GAAsB,IAAI,OAA1B,EAAE,eAAe,GAAK,IAAI,gBAAT,CAAU;QACzD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAoB,CAAC;QAC3C,IAAA,uBAAU,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED,YAAY;IACL,oCAAa,GAApB,UAAqB,QAAkB;QACrC,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,KAAK,GAAqC,IAAI,MAAzC,EAAE,OAAO,GAA4B,IAAI,QAAhC,EAAE,UAAU,GAAgB,IAAI,WAApB,EAAE,SAAS,GAAK,IAAI,UAAT,CAAU;QACvD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAoB,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;gBAAE,OAAO;YACvC,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACvC,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;gBAClB,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAC5B,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;aAC7B;YACD,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YACvD,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YAC/B,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YAC/B,aAAa;YACP,IAAA,KAA6C,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAA7D,oBAAkB,EAAlB,YAAY,mBAAG,GAAG,KAAA,EAAE,oBAAkB,EAAlB,YAAY,mBAAG,GAAG,KAAuB,CAAC;YACtE,IAAM,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;YACtC,IAAM,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC;YAClC,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YAC1D,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YAC1D,oBAAoB;YACpB,IAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,IAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,IAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC9C,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAClD,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC9C,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACb,iCAAU,GAAjB,UAAkB,QAAkB;;QAClC,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,KAAK,GAA0G,IAAI,MAA9G,EAAE,KAAwG,IAAI,MAAlG,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,OAAO,GAAqF,IAAI,QAAzF,EAAE,KAAK,GAA8E,IAAI,MAAlF,EAAE,MAAM,GAAsE,IAAI,OAA1E,EAAE,MAAM,GAA8D,IAAI,OAAlE,EAAW,cAAc,GAAqC,IAAI,QAAzC,EAAE,UAAU,GAAyB,IAAI,WAA7B,EAAE,kBAAkB,GAAK,IAAI,mBAAT,CAAU;QAC5H,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACnC,IAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,IAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAA,KAAa,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAA3B,EAAR,IAAI,mBAAG,CAAC,KAAA,CAA4B;YAC5C,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,cAAc,CAAC;YAEvB,IAAA,KAAgD,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAA7D,QAAQ,QAAA,EAAO,SAAS,SAAA,EAAO,MAAM,SAAwB,CAAC;YAC1E,IAAM,WAAW,GAAG,MAAA,IAAI,CAAC,SAAS,qDAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE;gBACR,IAAA,OAAO,GAAuB,WAAW,GAAlC,EAAE,OAAO,GAAc,WAAW,GAAzB,EAAE,QAAQ,GAAI,WAAW,GAAf,CAAgB;gBACjD,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;gBACxB,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;gBACxB,OAAO,GAAG,QAAQ,CAAC;aACpB;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aAC3B;YAED,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;gBACvC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;aAC5C;YAED,IAAI,kBAAkB,EAAE;gBACd,IAAA,IAAI,GAA2C,kBAAkB,KAA7D,EAAE,MAAM,GAAmC,kBAAkB,OAArD,EAAE,MAAM,GAA2B,kBAAkB,OAA7C,EAAU,YAAY,GAAK,kBAAkB,OAAvB,CAAwB;gBACpE,IAAA,KAA6C,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAA9H,OAAO,OAAA,EAAK,OAAO,OAAA,EAAE,cAAc,oBAA2F,CAAC;gBAC1I,IAAI,CAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,eAAQ,EAAC,OAAO,CAAC;oBAAE,SAAS;gBACvD,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBACrC,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBACrC,IAAI,cAAc,EAAE;oBAClB,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACrC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;iBAC1C;gBAED,KAAK;gBACL,IAAI,MAAM,KAAK,CAAC,EAAE;oBAChB,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,cAAc;wBAAE,SAAS;oBAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACrC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACzC,SAAS;iBACV;gBAED,qBAAqB;gBACrB,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;oBACrC,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,YAAY;wBAAE,SAAS;oBAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBACnC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBACvC,SAAS;iBACV;gBAED,aAAa;gBACb,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc;oBAAE,SAAS;gBAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACrC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;aAC1C;SACF;IACH,CAAC;IAED,uBAAuB;IACvB,6CAA6C;IAC7C,gDAAgD;IAChD,mFAAmF;IACnF,iCAAiC;IACjC,yCAAyC;IACzC,iCAAiC;IACjC,gDAAgD;IAChD,0CAA0C;IAC1C,4DAA4D;IAC5D,QAAQ;IACR,KAAK;IAEE,qCAAc,GAArB,UACE,QAAkB,EAClB,QAAkB,EAClB,YAAoB;QAEpB,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,KAAK,GAAwB,IAAI,MAA5B,EAAE,OAAO,GAAe,IAAI,QAAnB,EAAE,QAAQ,GAAK,IAAI,SAAT,CAAU;QAC1C,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YAAE,OAAO;QAC3B,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC;YAC9E,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC;YACtF,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,IAAI,OAAO,GAAG,QAAQ,EAAE;gBACtB,IAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;gBAClC,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;aAClB;YACD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACrB,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qCAAc,GAArB,UACE,QAAkB,EAClB,YAAoB;QAEpB,IAAM,IAAI,GAAG,IAAI,CAAC;QACV,IAAA,KAAK,GAAqC,IAAI,MAAzC,EAAE,qBAAqB,GAAc,IAAI,sBAAlB,EAAE,OAAO,GAAK,IAAI,QAAT,CAAU;QACvD,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,OAAO;SACR;QACD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,qBAAqB,KAAK,KAAK;YAAE,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,CAAC;aACjE,IAAI,qBAAqB,KAAK,KAAK;YAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAE1E,KAAK,CAAC,OAAO,CAAC,UAAC,IAAS,EAAE,CAAC;YACzB,IAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAC1C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBACjB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACtB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACtB,OAAO;aACR;YACD,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;YAC7C,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;YACjD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAChB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAChB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACtB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAEtB,IAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;YACnE,QAAQ,qBAAqB,EAAE;gBAC7B,KAAK,KAAK;oBACR,IAAI,IAAI,CAAC,eAAe,GAAG,iBAAiB;wBAAE,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;oBACvF,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,IAAI,CAAC,eAAe,GAAG,iBAAiB;wBAAE,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;oBACvF,MAAM;gBACR;oBACE,GAAG,GAAG,GAAG,GAAG,iBAAiB,CAAC;oBAC9B,MAAM;aACT;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,KAAK,MAAM;YAAE,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5G,CAAC;IAEM,2BAAI,GAAX;QACE,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACtD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzC;IACH,CAAC;IAEM,8BAAO,GAAd;QACE,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,8BAAO,GAAd;QACE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,yCAAkB,GAA1B;QACQ,IAAA,KAAuD,IAAI,EAAzD,aAAa,mBAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAS,CAAC;QAClE,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YAAE,OAAO;QAC3B,2BAA2B;QAC3B,IAAM,eAAe,GAA8B,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,IAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;YACvC,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAA,sCAA+B,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;aACrH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;IACH,mBAAC;AAAD,CAAC,AAprBD,CAAkC,WAAI,GAorBrC;AAprBY,oCAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/force2/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/layout",
3
- "version": "0.3.21",
3
+ "version": "0.3.22-beta.1",
4
4
  "description": "graph layout algorithm",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -13,17 +13,25 @@ import {
13
13
  GForceLayoutOptions,
14
14
  Degree,
15
15
  NodeMap,
16
- CentripetalOptions
17
- } from "../types";
18
- import { Base } from "../base";
19
- import { isNumber, isFunction, isArray, getDegreeMap, isObject, getEdgeTerminal, getAvgNodePosition, getCoreNodeAndRelativeLeafNodes } from "../../util";
20
- import { forceNBody } from "./ForceNBody";
16
+ CentripetalOptions,
17
+ } from '../types';
18
+ import { Base } from '../base';
19
+ import {
20
+ isNumber,
21
+ isFunction,
22
+ isArray,
23
+ getDegreeMap,
24
+ isObject,
25
+ getEdgeTerminal,
26
+ getAvgNodePosition,
27
+ getCoreNodeAndRelativeLeafNodes,
28
+ } from '../../util';
29
+ import { forceNBody } from './ForceNBody';
21
30
 
22
31
  type INode = OutNode & {
23
32
  size: number | PointTuple;
24
33
  };
25
34
 
26
-
27
35
  const proccessToFunc = (
28
36
  value: number | Function | undefined,
29
37
  defaultV?: number
@@ -60,7 +68,10 @@ export class Force2Layout extends Base {
60
68
  public edgeStrength: number | ((d?: any) => number) | undefined = 200;
61
69
 
62
70
  /** 斥力系数 */
63
- public nodeStrength: number | ((d?: any) => number) | undefined = 1000;
71
+ public nodeStrength:
72
+ | number
73
+ | ((d?: any, edges?: any[]) => number)
74
+ | undefined = 1000;
64
75
 
65
76
  /** 库伦系数 */
66
77
  public coulombDisScale: number = 0.005;
@@ -87,13 +98,19 @@ export class Force2Layout extends Base {
87
98
  public getCenter: ((d?: any, degree?: number) => number[]) | undefined;
88
99
 
89
100
  /** 计算画布上下两侧对节点吸引力大小 */
90
- public defSideCoe?: (node: Node) => number;
101
+ public defSideCoe?: (node: Node, edges: Edge[]) => number;
91
102
 
92
103
  /** 理想边长 */
93
- public linkDistance: number | ((edge?: any, source?: any, target?: any) => number) | undefined = 200;
104
+ public linkDistance:
105
+ | number
106
+ | ((edge?: any, source?: any, target?: any) => number)
107
+ | undefined = 200;
94
108
 
95
109
  /** 理想边长,兼容 graphin-force */
96
- public defSpringLen: number | ((edge?: any, source?: any, target?: any) => number) | undefined;
110
+ public defSpringLen:
111
+ | number
112
+ | ((edge?: any, source?: any, target?: any) => number)
113
+ | undefined;
97
114
 
98
115
  /** 重力大小 */
99
116
  public gravity: number = 0;
@@ -126,7 +143,7 @@ export class Force2Layout extends Base {
126
143
  public distanceThresholdMode: 'mean' | 'max' | 'min' = 'mean';
127
144
 
128
145
  /** 每次迭代结束的回调函数 */
129
- public tick: (() => void) | null = () => { };
146
+ public tick: (() => void) | null = () => {};
130
147
 
131
148
  /** 是否允许每次迭代结束调用回调函数 */
132
149
  public enableTick: boolean;
@@ -151,7 +168,12 @@ export class Force2Layout extends Base {
151
168
  public animate: Boolean;
152
169
 
153
170
  /** 监控信息,不配置则不计算 */
154
- public monitor: (params: { energy: number, nodes: INode[], edge: Edge[], iterations: number }) => void;
171
+ public monitor: (params: {
172
+ energy: number;
173
+ nodes: INode[];
174
+ edge: Edge[];
175
+ iterations: number;
176
+ }) => void;
155
177
 
156
178
  /** 存储节点度数 */
157
179
  private degreesMap: { [id: string]: Degree };
@@ -184,24 +206,38 @@ export class Force2Layout extends Base {
184
206
  }
185
207
 
186
208
  public getCentripetalOptions() {
187
- const { leafCluster, clustering, nodeClusterBy, nodes, nodeMap, clusterNodeStrength: propsClusterNodeStrength } = this;
209
+ const {
210
+ leafCluster,
211
+ clustering,
212
+ nodeClusterBy,
213
+ nodes,
214
+ nodeMap,
215
+ clusterNodeStrength: propsClusterNodeStrength,
216
+ } = this;
188
217
 
189
218
  const getClusterNodeStrength = (node: Node) =>
190
- typeof propsClusterNodeStrength === 'function' ? propsClusterNodeStrength(node) : propsClusterNodeStrength;
219
+ typeof propsClusterNodeStrength === 'function'
220
+ ? propsClusterNodeStrength(node)
221
+ : propsClusterNodeStrength;
191
222
 
192
223
  let centripetalOptions = {};
193
224
  let sameTypeLeafMap: any;
194
225
  // 如果传入了需要叶子节点聚类
195
226
  if (leafCluster) {
196
227
  sameTypeLeafMap = this.getSameTypeLeafMap() || {};
197
- const relativeNodesType = Array.from(new Set(nodes?.map((node) => node[nodeClusterBy]))) || [];
228
+ const relativeNodesType =
229
+ Array.from(new Set(nodes?.map((node) => node[nodeClusterBy]))) || [];
198
230
  centripetalOptions = {
199
231
  single: 100,
200
232
  leaf: (node, nodes, edges) => {
201
233
  // 找出与它关联的边的起点或终点出发的所有一度节点中同类型的叶子节点
202
- const { relativeLeafNodes, sameTypeLeafNodes } = sameTypeLeafMap[node.id] || {};
234
+ const { relativeLeafNodes, sameTypeLeafNodes } =
235
+ sameTypeLeafMap[node.id] || {};
203
236
  // 如果都是同一类型或者每种类型只有1个,则施加默认向心力
204
- if (sameTypeLeafNodes?.length === relativeLeafNodes?.length || relativeNodesType?.length === 1) {
237
+ if (
238
+ sameTypeLeafNodes?.length === relativeLeafNodes?.length ||
239
+ relativeNodesType?.length === 1
240
+ ) {
205
241
  return 1;
206
242
  }
207
243
  return getClusterNodeStrength(node);
@@ -242,14 +278,18 @@ export class Force2Layout extends Base {
242
278
  // 如果传入了全局节点聚类
243
279
  if (clustering) {
244
280
  if (!sameTypeLeafMap) sameTypeLeafMap = this.getSameTypeLeafMap();
245
- const clusters: string[] = Array.from(new Set(nodes.map((node, i) => {
246
- return node[nodeClusterBy];
247
- }))).filter(
248
- (item) => item !== undefined,
249
- );
281
+ const clusters: string[] = Array.from(
282
+ new Set(
283
+ nodes.map((node, i) => {
284
+ return node[nodeClusterBy];
285
+ })
286
+ )
287
+ ).filter((item) => item !== undefined);
250
288
  const centerNodeInfo: { [key: string]: { x: number; y: number } } = {};
251
289
  clusters.forEach((cluster) => {
252
- const sameTypeNodes = nodes.filter((item) => item[nodeClusterBy] === cluster).map((node) => nodeMap[node.id]);
290
+ const sameTypeNodes = nodes
291
+ .filter((item) => item[nodeClusterBy] === cluster)
292
+ .map((node) => nodeMap[node.id]);
253
293
  // 找出同类型节点平均位置节点的距离最近的节点作为中心节点
254
294
  centerNodeInfo[cluster] = getAvgNodePosition(sameTypeNodes);
255
295
  });
@@ -274,9 +314,12 @@ export class Force2Layout extends Base {
274
314
  };
275
315
 
276
316
  const { leaf, single, others } = this.centripetalOptions;
277
- if (leaf && typeof leaf !== 'function') this.centripetalOptions.leaf = () => leaf;
278
- if (single && typeof single !== 'function') this.centripetalOptions.single = () => single;
279
- if (others && typeof others !== 'function') this.centripetalOptions.others = () => others;
317
+ if (leaf && typeof leaf !== 'function')
318
+ this.centripetalOptions.leaf = () => leaf;
319
+ if (single && typeof single !== 'function')
320
+ this.centripetalOptions.single = () => single;
321
+ if (others && typeof others !== 'function')
322
+ this.centripetalOptions.others = () => others;
280
323
  }
281
324
 
282
325
  public updateCfg(cfg: any) {
@@ -296,6 +339,7 @@ export class Force2Layout extends Base {
296
339
  * 执行布局
297
340
  */
298
341
  public execute() {
342
+ console.log('here111');
299
343
  const self = this;
300
344
  self.stop();
301
345
  const { nodes, edges, defSpringLen } = self;
@@ -307,10 +351,10 @@ export class Force2Layout extends Base {
307
351
  return;
308
352
  }
309
353
 
310
- if (!self.width && typeof window !== "undefined") {
354
+ if (!self.width && typeof window !== 'undefined') {
311
355
  self.width = window.innerWidth;
312
356
  }
313
- if (!self.height && typeof window !== "undefined") {
357
+ if (!self.height && typeof window !== 'undefined') {
314
358
  self.height = window.innerHeight;
315
359
  }
316
360
  if (!self.center) {
@@ -332,11 +376,10 @@ export class Force2Layout extends Base {
332
376
  let massWeight = 1;
333
377
  if (isNumber(d.mass)) massWeight = d.mass;
334
378
  const degree = self.degreesMap[d.id].all;
335
- return (!degree || degree < 5) ? massWeight : degree * 5 * massWeight;
379
+ return !degree || degree < 5 ? massWeight : degree * 5 * massWeight;
336
380
  };
337
381
  }
338
382
 
339
-
340
383
  // node size function
341
384
  const nodeSize = self.nodeSize;
342
385
  let nodeSizeFunc;
@@ -355,7 +398,8 @@ export class Force2Layout extends Base {
355
398
  if (d.size) {
356
399
  if (isArray(d.size)) {
357
400
  return Math.max(d.size[0], d.size[1]) + nodeSpacingFunc(d);
358
- } if (isObject(d.size)) {
401
+ }
402
+ if (isObject(d.size)) {
359
403
  return Math.max(d.size.width, d.size.height) + nodeSpacingFunc(d);
360
404
  }
361
405
  return (d.size as number) + nodeSpacingFunc(d);
@@ -395,17 +439,16 @@ export class Force2Layout extends Base {
395
439
  sDegree: degree.out,
396
440
  force: {
397
441
  mass: self.getMass(node),
398
- nodeStrength: self.nodeStrength(node)
399
- }
400
- }
401
- }
442
+ nodeStrength: self.nodeStrength(node, edges),
443
+ },
444
+ },
445
+ },
402
446
  };
403
447
  nodeIdxMap[node.id] = i;
404
448
  });
405
449
  self.nodeMap = nodeMap;
406
450
  self.nodeIdxMap = nodeIdxMap;
407
451
 
408
-
409
452
  self.edgeInfos = [];
410
453
  edges?.forEach((edge) => {
411
454
  const sourceNode = nodeMap[edge.source];
@@ -415,29 +458,39 @@ export class Force2Layout extends Base {
415
458
  } else {
416
459
  self.edgeInfos.push({
417
460
  edgeStrength: self.edgeStrength(edge),
418
- linkDistance: defSpringLen ? defSpringLen(
419
- {
420
- ...edge,
421
- source: sourceNode,
422
- target: targetNode
423
- },
424
- sourceNode,
425
- targetNode
426
- ) : self.linkDistance(edge, sourceNode, targetNode) || 1 + ((nodeSize(sourceNode) + nodeSize(sourceNode)) || 0) / 2
461
+ linkDistance: defSpringLen
462
+ ? defSpringLen(
463
+ {
464
+ ...edge,
465
+ source: sourceNode,
466
+ target: targetNode,
467
+ },
468
+ sourceNode,
469
+ targetNode
470
+ )
471
+ : self.linkDistance(edge, sourceNode, targetNode) ||
472
+ 1 + (nodeSize(sourceNode) + nodeSize(sourceNode) || 0) / 2,
427
473
  });
428
474
  }
429
475
  });
430
476
 
431
477
  this.getCentripetalOptions();
432
478
 
433
- self.onLayoutEnd = self.onLayoutEnd || (() => { });
479
+ self.onLayoutEnd = self.onLayoutEnd || (() => {});
434
480
 
435
481
  self.run();
436
482
  }
437
483
 
438
484
  public run() {
439
485
  const self = this;
440
- const { maxIteration, nodes, workerEnabled, minMovement, animate, nodeMap } = self;
486
+ const {
487
+ maxIteration,
488
+ nodes,
489
+ workerEnabled,
490
+ minMovement,
491
+ animate,
492
+ nodeMap,
493
+ } = self;
441
494
 
442
495
  if (!nodes) return;
443
496
 
@@ -451,13 +504,17 @@ export class Force2Layout extends Base {
451
504
  const silence = !animate;
452
505
  if (workerEnabled || silence) {
453
506
  let usedIter = 0;
454
- for (let i = 0; (self.judgingDistance > minMovement || i < 1) && i < maxIter; i++) {
507
+ for (
508
+ let i = 0;
509
+ (self.judgingDistance > minMovement || i < 1) && i < maxIter;
510
+ i++
511
+ ) {
455
512
  usedIter = i;
456
513
  self.runOneStep(i, velArray);
457
514
  }
458
515
  self.onLayoutEnd(Object.values(nodeMap));
459
516
  } else {
460
- if (typeof window === "undefined") return;
517
+ if (typeof window === 'undefined') return;
461
518
  let iter = 0;
462
519
  // interval for render the result after each iteration
463
520
  this.timeInterval = window.setInterval(() => {
@@ -480,6 +537,7 @@ export class Force2Layout extends Base {
480
537
  self.calRepulsive(accArray);
481
538
  if (edges) self.calAttractive(accArray);
482
539
  self.calGravity(accArray);
540
+ self.attractToSide(accArray);
483
541
  const stepInterval = self.interval; // Math.max(0.02, self.interval - iter * 0.002);
484
542
  self.updateVelocity(accArray, velArray, stepInterval);
485
543
  self.updatePosition(velArray, stepInterval);
@@ -513,7 +571,13 @@ export class Force2Layout extends Base {
513
571
  const self = this;
514
572
  const { nodes, nodeMap, factor, coulombDisScale } = self;
515
573
  const nodeSize = self.nodeSize as Function;
516
- forceNBody(nodes, nodeMap, factor, coulombDisScale * coulombDisScale, accArray);
574
+ forceNBody(
575
+ nodes,
576
+ nodeMap,
577
+ factor,
578
+ coulombDisScale * coulombDisScale,
579
+ accArray
580
+ );
517
581
  }
518
582
 
519
583
  // hooks law
@@ -559,7 +623,17 @@ export class Force2Layout extends Base {
559
623
  // attract to center
560
624
  public calGravity(accArray: number[]) {
561
625
  const self = this;
562
- const { nodes, edges = [], nodeMap, width, height, center, gravity: defaultGravity, degreesMap, centripetalOptions } = self;
626
+ const {
627
+ nodes,
628
+ edges = [],
629
+ nodeMap,
630
+ width,
631
+ height,
632
+ center,
633
+ gravity: defaultGravity,
634
+ degreesMap,
635
+ centripetalOptions,
636
+ } = self;
563
637
  if (!nodes) return;
564
638
  const nodeLength = nodes.length;
565
639
  for (let i = 0; i < nodeLength; i++) {
@@ -583,13 +657,26 @@ export class Force2Layout extends Base {
583
657
  }
584
658
 
585
659
  if (gravity) {
586
- accArray[idx] -= gravity * vecX / mass;
587
- accArray[idx + 1] -= gravity * vecY / mass;
660
+ accArray[idx] -= (gravity * vecX) / mass;
661
+ accArray[idx + 1] -= (gravity * vecY) / mass;
588
662
  }
589
663
 
590
664
  if (centripetalOptions) {
591
- const { leaf, single, others, center: centriCenter } = centripetalOptions;
592
- const { x: centriX, y: centriY, centerStrength } = centriCenter?.(node, nodes, edges, width, height) || { x: 0, y: 0, centerStrength: 0 };
665
+ const {
666
+ leaf,
667
+ single,
668
+ others,
669
+ center: centriCenter,
670
+ } = centripetalOptions;
671
+ const {
672
+ x: centriX,
673
+ y: centriY,
674
+ centerStrength,
675
+ } = centriCenter?.(node, nodes, edges, width, height) || {
676
+ x: 0,
677
+ y: 0,
678
+ centerStrength: 0,
679
+ };
593
680
  if (!isNumber(centriX) || !isNumber(centriY)) continue;
594
681
  const vx = (node.x - centriX) / mass;
595
682
  const vy = (node.y - centriY) / mass;
@@ -626,17 +713,26 @@ export class Force2Layout extends Base {
626
713
  }
627
714
 
628
715
  // TODO: 待 graphin 修改正确
629
- // public attractToSide(accArray: number[]) {
630
- // const { defSideCoe, height, nodes } = this;
631
- // if (!defSideCoe || typeof defSideCoe !== 'function' || !nodes?.length) return;
632
- // nodes.forEach((node, i) => {
633
- // const sideCoe = defSideCoe!(node);
634
- // if (sideCoe === 0) return;
635
- // const targetY = sideCoe > 0 ? 0 : height;
636
- // const strength = Math.abs(sideCoe);
637
- // accArray[2 * i + 1] -= strength * (targetY - node.y);
638
- // });
639
- // };
716
+ public attractToSide(accArray: number[]) {
717
+ const { defSideCoe, height, nodes, edges } = this;
718
+ if (!defSideCoe || typeof defSideCoe !== 'function' || !nodes?.length)
719
+ return;
720
+ const relatedEdges: { [nodeId: string]: Edge[] } = {};
721
+ edges.forEach((edge) => {
722
+ const { source, target } = edge;
723
+ relatedEdges[source.id] = relatedEdges[source.id] || [];
724
+ relatedEdges[source.id].push(edge);
725
+ relatedEdges[target.id] = relatedEdges[target.id] || [];
726
+ relatedEdges[target.id].push(edge);
727
+ });
728
+ nodes.forEach((node, i) => {
729
+ const sideCoe = defSideCoe!(node, relatedEdges[node.id] || []);
730
+ if (sideCoe === 0) return;
731
+ const targetY = sideCoe > 0 ? 0 : height;
732
+ const strength = Math.abs(sideCoe);
733
+ accArray[2 * i + 1] -= strength * (targetY - node.y);
734
+ });
735
+ }
640
736
 
641
737
  public updateVelocity(
642
738
  accArray: number[],
@@ -647,8 +743,11 @@ export class Force2Layout extends Base {
647
743
  const { nodes, damping, maxSpeed } = self;
648
744
  if (!nodes?.length) return;
649
745
  nodes.forEach((_, i) => {
650
- let vx = (velArray[2 * i] + accArray[2 * i] * stepInterval) * damping || 0.01;
651
- let vy = (velArray[2 * i + 1] + accArray[2 * i + 1] * stepInterval) * damping || 0.01;
746
+ let vx =
747
+ (velArray[2 * i] + accArray[2 * i] * stepInterval) * damping || 0.01;
748
+ let vy =
749
+ (velArray[2 * i + 1] + accArray[2 * i + 1] * stepInterval) * damping ||
750
+ 0.01;
652
751
  const vLength = Math.sqrt(vx * vx + vy * vy);
653
752
  if (vLength > maxSpeed) {
654
753
  const param2 = maxSpeed / vLength;
@@ -660,10 +759,7 @@ export class Force2Layout extends Base {
660
759
  });
661
760
  }
662
761
 
663
- public updatePosition(
664
- velArray: number[],
665
- stepInterval: number,
666
- ) {
762
+ public updatePosition(velArray: number[], stepInterval: number) {
667
763
  const self = this;
668
764
  const { nodes, distanceThresholdMode, nodeMap } = self;
669
765
  if (!nodes?.length) {
@@ -693,21 +789,24 @@ export class Force2Layout extends Base {
693
789
  const distanceMagnitude = Math.sqrt(distX * distX + distY * distY);
694
790
  switch (distanceThresholdMode) {
695
791
  case 'max':
696
- if (self.judgingDistance < distanceMagnitude) self.judgingDistance = distanceMagnitude;
792
+ if (self.judgingDistance < distanceMagnitude)
793
+ self.judgingDistance = distanceMagnitude;
697
794
  break;
698
795
  case 'min':
699
- if (self.judgingDistance > distanceMagnitude) self.judgingDistance = distanceMagnitude;
796
+ if (self.judgingDistance > distanceMagnitude)
797
+ self.judgingDistance = distanceMagnitude;
700
798
  break;
701
799
  default:
702
800
  sum = sum + distanceMagnitude;
703
801
  break;
704
802
  }
705
803
  });
706
- if (!distanceThresholdMode || distanceThresholdMode === 'mean') self.judgingDistance = sum / nodes.length;
804
+ if (!distanceThresholdMode || distanceThresholdMode === 'mean')
805
+ self.judgingDistance = sum / nodes.length;
707
806
  }
708
807
 
709
808
  public stop() {
710
- if (this.timeInterval && typeof window !== "undefined") {
809
+ if (this.timeInterval && typeof window !== 'undefined') {
711
810
  window.clearInterval(this.timeInterval);
712
811
  }
713
812
  }
@@ -722,7 +821,7 @@ export class Force2Layout extends Base {
722
821
  }
723
822
 
724
823
  public getType() {
725
- return "force2";
824
+ return 'force2';
726
825
  }
727
826
 
728
827
  private getSameTypeLeafMap() {
@@ -733,7 +832,14 @@ export class Force2Layout extends Base {
733
832
  nodes.forEach((node, i) => {
734
833
  const degree = degreesMap[node.id].all;
735
834
  if (degree === 1) {
736
- sameTypeLeafMap[node.id] = getCoreNodeAndRelativeLeafNodes('leaf', node, edges, nodeClusterBy, degreesMap, nodeMap);
835
+ sameTypeLeafMap[node.id] = getCoreNodeAndRelativeLeafNodes(
836
+ 'leaf',
837
+ node,
838
+ edges,
839
+ nodeClusterBy,
840
+ degreesMap,
841
+ nodeMap
842
+ );
737
843
  }
738
844
  });
739
845
  return sameTypeLeafMap;