plotboilerplate 1.12.10 → 1.13.0

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.
Files changed (73) hide show
  1. package/README.md +4 -1
  2. package/changelog.md +13 -0
  3. package/dist/index.esm.js +220 -26
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.esm.min.js +1 -1
  6. package/dist/index.esm.min.js.map +1 -1
  7. package/dist/plotboilerplate.browser.min.js +1 -1
  8. package/dist/plotboilerplate.browser.min.js.map +1 -1
  9. package/dist/plotboilerplate.js +234 -25
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/PBText.d.ts +116 -0
  13. package/src/cjs/PBText.js +66 -0
  14. package/src/cjs/PBText.js.map +1 -0
  15. package/src/cjs/PlotBoilerplate.d.ts +2 -1
  16. package/src/cjs/PlotBoilerplate.js +27 -1
  17. package/src/cjs/PlotBoilerplate.js.map +1 -1
  18. package/src/cjs/draw.d.ts +30 -2
  19. package/src/cjs/draw.js +51 -6
  20. package/src/cjs/draw.js.map +1 -1
  21. package/src/cjs/drawgl.d.ts +29 -2
  22. package/src/cjs/drawgl.js +21 -4
  23. package/src/cjs/drawgl.js.map +1 -1
  24. package/src/cjs/drawutilssvg.d.ts +25 -7
  25. package/src/cjs/drawutilssvg.js +62 -14
  26. package/src/cjs/drawutilssvg.js.map +1 -1
  27. package/src/cjs/entry.js +1 -0
  28. package/src/cjs/index.d.ts +1 -0
  29. package/src/cjs/index.js +1 -0
  30. package/src/cjs/index.js.map +1 -1
  31. package/src/cjs/interfaces/DrawLib.d.ts +27 -6
  32. package/src/cjs/interfaces/DrawLib.js +3 -0
  33. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  34. package/src/cjs/interfaces/core.d.ts +9 -1
  35. package/src/cjs/interfaces/core.js +1 -0
  36. package/src/cjs/interfaces/core.js.map +1 -1
  37. package/src/esm/PBText.d.ts +116 -0
  38. package/src/esm/PBText.js +61 -0
  39. package/src/esm/PBText.js.map +1 -0
  40. package/src/esm/PlotBoilerplate.d.ts +2 -1
  41. package/src/esm/PlotBoilerplate.js +27 -1
  42. package/src/esm/PlotBoilerplate.js.map +1 -1
  43. package/src/esm/draw.d.ts +30 -2
  44. package/src/esm/draw.js +51 -6
  45. package/src/esm/draw.js.map +1 -1
  46. package/src/esm/drawgl.d.ts +29 -2
  47. package/src/esm/drawgl.js +21 -4
  48. package/src/esm/drawgl.js.map +1 -1
  49. package/src/esm/drawutilssvg.d.ts +25 -7
  50. package/src/esm/drawutilssvg.js +62 -14
  51. package/src/esm/drawutilssvg.js.map +1 -1
  52. package/src/esm/entry.js +1 -0
  53. package/src/esm/index.d.ts +1 -0
  54. package/src/esm/index.js +1 -0
  55. package/src/esm/index.js.map +1 -1
  56. package/src/esm/interfaces/DrawLib.d.ts +27 -6
  57. package/src/esm/interfaces/DrawLib.js +3 -0
  58. package/src/esm/interfaces/DrawLib.js.map +1 -1
  59. package/src/esm/interfaces/core.d.ts +9 -1
  60. package/src/esm/interfaces/core.js +1 -0
  61. package/src/esm/interfaces/core.js.map +1 -1
  62. package/src/ts/PBText.ts +147 -0
  63. package/src/ts/PlotBoilerplate.ts +24 -1
  64. package/src/ts/draw.ts +71 -8
  65. package/src/ts/drawgl.ts +48 -8
  66. package/src/ts/drawutilssvg.ts +94 -17
  67. package/src/ts/index.ts +1 -0
  68. package/src/ts/interfaces/DrawLib.ts +30 -4
  69. package/src/ts/interfaces/core.ts +9 -0
  70. package/src/ts/utils/algorithms/clearPolygonDuplicateVertices.ts~ +0 -5
  71. package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts~ +0 -45
  72. package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts~ +0 -113
  73. package/src/ts/utils/algorithms/sutherlandHodgman.ts~ +0 -88
@@ -1 +1 @@
1
- {"version":3,"file":"drawutilssvg.js","sourceRoot":"","sources":["../ts/drawutilssvg.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BI;;;AAEJ,+CAA8C;AAC9C,uDAAsD;AAEtD,mCAAkC;AAGlC;;;;;;;;GAQG;AACH;IAkGE;;;;;;;;;;;;;QAaI;IACJ,sBACE,OAAmB,EACnB,MAAgB,EAChB,KAAe,EACf,UAAuB,EACvB,UAAmB,EACnB,UAAsB,EACtB,WAAqB,EACrB,KAAmB,EACnB,WAAyB;QAEzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,oBAAoB,GAAG,EAA0B,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAgB,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAgB,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;IAEO,mCAAY,GAApB,UAAqB,UAAsB;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAoB,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEzC,2DAA2D;QAC3D,oCAAoC;QACpC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,eAAe;YAChC,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,cAAc;YAC9B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO;SACjB,CAAC;QACF,oGAAoG;QACpG,IAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;YAClB,IAAM,SAAS,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,IAAM,YAAY,GAA6B,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,YAAY,EAAE;gBAChB,KAAK,CAAC,IAAI,CAAC,MAAI,SAAS,gCAA2B,YAAY,CAAC,KAAK,wBAAmB,YAAY,CAAC,SAAS,SAAM,CAAC,CAAC;aACvH;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,mDAAiD,CAAC,yBAAsB,CAAC,CAAC;aACxF;SACF;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;OAUG;IACH,yCAAkB,GAAlB,UAAmB,IAAyB;QAC1C,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAC,KAAa,EAAE,GAAW;YACtC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;OAUG;IACK,kCAAW,GAAnB,UAAoB,GAAQ,EAAE,QAAgB;QAC5C,IAAI,IAAI,GAAe,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE;YAClE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACK,oCAAa,GAArB,UAAsB,QAAgB;QACpC,OAAO,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;OAWG;IACK,+BAAQ,GAAhB,UAAiB,QAAgB;QAC/B,yCAAyC;QACzC,2CAA2C;QAE3C,4CAA4C;QAC5C,IAAI,IAAI,GAA2B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,EAAE;YACT,yEAAyE;YACzE,yBAAyB;YACzB,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;SACpE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,oCAAa,GAArB,UAAsB,IAAgB,EAAE,SAAiB,EAAE,KAAqB,EAAE,SAAyB;QACzG,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAK,SAAS,SAAI,IAAI,CAAC,YAAc,CAAC,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAG,SAAS,IAAI,CAAC,CAAE,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,KAAO,CAAC,CAAC,CAAC,2CAA2C;SACtF;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,6CAA6C;YAC7C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,8BAAO,GAAP,UAAQ,UAAuB;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,SAAO,IAAI,CAAC,UAAU,CAAC,KAAK,SAAI,IAAI,CAAC,UAAU,CAAC,MAAQ,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAG,IAAI,CAAC,UAAU,CAAC,KAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAG,IAAI,CAAC,UAAU,CAAC,MAAQ,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,mCAAY,GAAZ,UAAa,UAAmB;QAC9B,IAAI,IAAI,GAAiB,IAAI,YAAY,CACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,cAAc;QACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,uCAAgB,GAAhB,UAAiB,aAAmC;QAClD,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;IAC5C,CAAC;IAED;;;;;;;;;QASI;IACJ,mCAAY,GAAZ,UAAa,GAAoB;QAC/B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED;;;;;;;;;QASI;IACJ,0CAAmB,GAAnB,UAAoB,SAA6B;QAC/C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;;;;QASI;IACJ,qCAAc,GAAd,UAAe,UAAkB;QAC/B,qDAAqD;QACrD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3D,8CAA8C;YAC9C,sDAAsD;YACtD,IAAI,KAAK,GAAe,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAe,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;QASI;IACJ,mCAAY,GAAZ,UAAa,UAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,oGAAoG;YACpG,kBAAkB;YAClB,iDAAiD;YACjD,qGAAqG;YACrG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACzD;QACD,IAAI,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAEO,yBAAE,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACO,yBAAE,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,2BAAI,GAAJ,UAAK,EAAU,EAAE,EAAU,EAAE,KAAa,EAAE,SAAkB;QAC5D,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,4BAAK,GAAL,UAAM,EAAU,EAAE,EAAU,EAAE,KAAa,EAAE,SAAkB;QAC7D,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,GAAW,CAAC,CAAC,CAAC,2BAA2B;QACpD,IAAI,QAAQ,GAAkB,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvG,IAAM,CAAC,GAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,+DAA+D;YAC/D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;QAYI;IACJ,4BAAK,GAAL,UAAM,KAAuB,EAAE,QAAgB,EAAE,IAAY;QAA7D,iBA0BC;QAzBC,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhD,wEAAwE;QACxE,IAAM,YAAY,GAAG,UAAC,KAAuB;YAC3C,IAAI,KAAK,CAAC,YAAY,EAAE;gBACtB,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;gBAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAG,KAAK,CAAC,YAAY,GAAG,KAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAG,KAAK,CAAC,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;gBACrE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB;gBACzD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,eAAa,KAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAI,KAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAW,MAAM,SAAI,MAAM,MAAG,CAAC,CAAC;aACvH;QACH,CAAC,CAAC;QACF,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAA,KAAK;YAClC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,CAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,CAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB;QAC3D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,kCAAW,GAAX,UACE,UAAkB,EAClB,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,KAAa,EACb,SAAkB;QAElB,IAAI,UAAU,YAAY,mCAAgB,EAAE;YAC1C,OAAO,IAAI,CAAC,WAAW,CACrB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,eAAe,EAC1B,KAAK,EACL,SAAS,CACV,CAAC;SACH;QACD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,aAAa;QACb,IAAM,CAAC,GAA2B;YAChC,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACrB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,sCAAe,GAAf,UAAgB,IAAmB,EAAE,KAAa,EAAE,SAAkB;QACpE,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,aAAa;QACb,IAAM,CAAC,GAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,kBAAkB;QAClB,IAAI,QAAgB,CAAC;QACrB,IAAI,iBAAyB,CAAC;QAC9B,IAAI,eAAuB,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACvC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,IAAI,CACJ,GAAG,EACH,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAC1B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAC1B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,CAAC;SACH;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,6BAAM,GAAN,UAAO,UAAkB,EAAE,QAAgB;QACzC,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,iCAAU,GAAV,UAAW,UAAkB,EAAE,QAAgB;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACH,0BAAG,GAAH,UAAI,CAAS,EAAE,KAAa;QAC1B,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;OASG;IACH,4BAAK,GAAL,UAAM,CAAS,EAAE,KAAa;QAC5B,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,MAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,6BAAM,GAAN,UAAO,MAAc,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACtE,yCAAyC;QACzC,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC,CAAC,KAAK;QAEzD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,gCAAS,GAAT,UAAU,MAAc,EAAE,MAAc,EAAE,UAAkB,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAkB;QAC/G,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,OAAO,GAAkB,2BAAY,CAAC,iBAAiB,CAAC,cAAc,CAC1E,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK;QAC5B,UAAU,EACV,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,8BAAO,GAAP,UAAQ,MAAc,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa,EAAE,SAAkB,EAAE,QAAiB;QAC5G,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,QAAQ,GAAG,GAAG,CAAC;SAChB;QACD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;QACrD,0FAA0F;QAC1F,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,YAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,SAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAG,CAAC,CAAC;QAElH,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,6BAAM,GAAN,UAAO,MAAgB,EAAE,IAAY,EAAE,KAAa,EAAE,SAAkB;QACtE,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;QAQI;IACJ,2BAAI,GAAJ,UAAK,QAAkB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACvF,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAG,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAG,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAG,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,2BAAI,GAAJ,UAAK,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QAC7F,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB,EAAE,CAAC;QAE5B,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9D,IAAI,IAAI,GAAW,MAAM,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACjF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7D,IAAI,IAAI,GAAW,KAAK,GAAG,CAAC,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACnF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,6BAAM,GAAN,UAAO,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QAC/F,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACjF,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;gBACnF,mBAAmB;gBACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE9D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/D;SACF;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,oCAAa,GAAb,UAAc,MAAc,EAAE,IAAY,EAAE,KAAa;QACvD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB;YACvB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,GAAG;SACJ,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,mCAAY,GAAZ,UAAa,MAAc,EAAE,IAAY,EAAE,KAAa;QACtD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAG,IAAM,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAG,IAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,mCAAY,GAAZ,UAAa,MAAc,EAAE,MAAc,EAAE,KAAa;QACxD,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;QAErB,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,MAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,gCAAS,GAAT,UAAU,MAAgB,EAAE,MAAc,EAAE,KAAa;QACvD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB;YACvB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;SAC3B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;OAUG;IACH,8BAAO,GAAP,UAAQ,OAAgB,EAAE,KAAa,EAAE,SAAkB;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,+BAAQ,GAAR,UAAS,QAAuB,EAAE,MAAe,EAAE,KAAa,EAAE,SAAkB;QAClF,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,aAAa;QACb,IAAM,CAAC,GAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,MAAM;YAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,2BAAI,GAAJ,UAAK,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,OAA4B;QACnE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,IAAM,KAAK,GAAW,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QAE/C,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,4BAAK,GAAL,UAAM,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,QAAgB;QACxD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,iFAAiF;QACjF,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,eAAa,IAAI,CAAC,MAAM,CAAC,CAAC,SAAI,IAAI,CAAC,MAAM,CAAC,CAAC,kBAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,MAAG,CAAC,CAAC;QACtH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,2BAAI,GAAJ,UAAK,QAAuB,EAAE,KAAc,EAAE,SAAkB,EAAE,OAA+B;QAC/F,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,uDAAuD;QACvD,IAAM,CAAC,GAAkB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrG,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;QAUI;IACJ,4BAAK,GAAL,UAAM,KAAa;QACjB,sEAAsE;QACtE,qDAAqD;QACrD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;QACD,uEAAuE;QACvE,2DAA2D;QAC3D,mDAAmD;QACnD,2DAA2D;QAC3D,oEAAoE;QACpE,qDAAqD;QACrD,IAAI;QACJ,8BAA8B;QAE9B,sDAAsD;QACtD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,iFAAiF;QACjF,2FAA2F;QAC3F,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAG,IAAI,CAAC,UAAU,CAAC,KAAO,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAG,IAAI,CAAC,UAAU,CAAC,MAAQ,CAAC,CAAC;QAEzD,8CAA8C;QAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzE,6BAA6B;QAC7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,0CAAmB,GAA3B;QACE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC1D;IACH,CAAC;IAED;;;;;;;OAOG;IACI,sBAAS,GAAhB;QACE,OAAO,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;OAOG;IACI,yBAAY,GAAnB,UAAoB,IAAmB;QACrC,IAAM,IAAI,GAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACI,8BAAiB,GAAxB,UAAyB,IAAmB,EAAE,MAAgB,EAAE,KAAe;QAC7E,4BAA4B;QAC5B,IAAM,IAAI,GAAG,UAAC,KAAa;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,IAAM,IAAI,GAAG,UAAC,KAAa;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,mBAAmB;QACnB,IAAM,GAAG,GAAG,UAAC,KAAa;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAM,GAAG,GAAG,UAAC,KAAa;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAM,GAAG,GAAG,UAAC,KAAa;YACxB,OAAO,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC;QACF,IAAM,GAAG,GAAG,UAAC,KAAa;YACxB,OAAO,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC;QACF,mBAAmB;QACnB,IAAM,EAAE,GAAG,UAAC,KAAa;YACvB,OAAO,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;QACF,IAAM,EAAE,GAAG,UAAC,KAAa;YACvB,OAAO,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,IAAI,SAAS,GAAa,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QAC7C,oBAAoB;QACpB,IAAI,IAAI,GAAG,UAAC,KAAa;YACvB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACtB,IAAM,GAAG,GAAoB,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,QAAQ,GAAG,EAAE;gBACX,KAAK,GAAG,CAAC;gBACT,kBAAkB;gBAClB,KAAK,GAAG,CAAC;gBACT,iBAAiB;gBACjB,KAAK,GAAG;oBACN,qDAAqD;oBACrD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,kBAAkB;gBAClB,KAAK,GAAG,CAAC;gBACT,iBAAiB;gBACjB,KAAK,GAAG;oBACN,qDAAqD;oBACrD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBAER,KAAK,GAAG;oBACN,0BAA0B;oBAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,0BAA0B;oBAC1B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,wBAAwB;oBACxB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,wBAAwB;oBACxB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,+BAA+B;oBAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,+BAA+B;oBAC/B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,0CAA0C;oBAC1C,kCAAkC;oBAClC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,0CAA0C;oBAC1C,kCAAkC;oBAClC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,2EAA2E;oBAC3E,4BAA4B;oBAC5B,+BAA+B;oBAC/B,uCAAuC;oBACvC,kEAAkE;oBAClE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,sDAAsD;oBACtD,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;wBAClE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,2EAA2E;oBAC3E,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,gCAAgC;oBAChC,8BAA8B;oBAC9B,8BAA8B;oBAC9B,CAAC,EAAE,CAAC;oBACJ,MAAM;gBACR,iFAAiF;gBACjF;oBACE,CAAC,EAAE,CAAC;aACP;SACF,CAAC,YAAY;IAChB,CAAC,EAAC,wBAAwB;IAn0CnB,qBAAQ,GAAG;QAChB,wDAAwD;QACxD,iDAAiD;QACjD,sEAAsE;QACtE,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA+zCf,mBAAC;CAAA,AAr0CD,IAq0CC;AAr0CY,oCAAY"}
1
+ {"version":3,"file":"drawutilssvg.js","sourceRoot":"","sources":["../ts/drawutilssvg.ts"],"names":[],"mappings":"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"}
package/src/cjs/entry.js CHANGED
@@ -18,6 +18,7 @@ globalThis.VEllipse = require("./VEllipse.js").VEllipse;
18
18
  globalThis.Circle = require("./Circle.js").Circle;
19
19
  globalThis.CircleSector = require("./CircleSector.js").CircleSector;
20
20
  globalThis.PBImage = require("./PBImage.js").PBImage;
21
+ globalThis.PBText = require("./PBText.js").PBText;
21
22
  globalThis.MouseHandler = require("./MouseHandler.js").MouseHandler;
22
23
  globalThis.KeyHandler = require("./KeyHandler.js").KeyHandler;
23
24
  globalThis.drawutils = require("./draw.js").drawutils;
@@ -13,6 +13,7 @@ export * from "./KeyHandler";
13
13
  export * from "./Line";
14
14
  export * from "./MouseHandler";
15
15
  export * from "./PBImage";
16
+ export * from "./PBText";
16
17
  export * from "./PlotBoilerplate";
17
18
  export * from "./Polygon";
18
19
  export * from "./SVGBuilder";
package/src/cjs/index.js CHANGED
@@ -25,6 +25,7 @@ __exportStar(require("./KeyHandler"), exports);
25
25
  __exportStar(require("./Line"), exports);
26
26
  __exportStar(require("./MouseHandler"), exports);
27
27
  __exportStar(require("./PBImage"), exports);
28
+ __exportStar(require("./PBText"), exports);
28
29
  __exportStar(require("./PlotBoilerplate"), exports);
29
30
  __exportStar(require("./Polygon"), exports);
30
31
  __exportStar(require("./SVGBuilder"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,qDAAmC;AACnC,yCAAuB;AACvB,2CAAyB;AACzB,iDAA+B;AAC/B,8CAA4B;AAC5B,yCAAuB;AACvB,+CAA6B;AAC7B,+CAA6B;AAC7B,yCAAuB;AACvB,iDAA+B;AAC/B,4CAA0B;AAC1B,oDAAkC;AAClC,4CAA0B;AAC1B,+CAA6B;AAC7B,6CAA2B;AAC3B,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,+CAA6B;AAC7B,oDAAkC;AAClC,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,qDAAmC;AACnC,yCAAuB;AACvB,2CAAyB;AACzB,iDAA+B;AAC/B,8CAA4B;AAC5B,yCAAuB;AACvB,+CAA6B;AAC7B,+CAA6B;AAC7B,yCAAuB;AACvB,iDAA+B;AAC/B,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC;AAClC,4CAA0B;AAC1B,+CAA6B;AAC7B,6CAA2B;AAC3B,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,+CAA6B;AAC7B,oDAAkC;AAClC,8CAA4B"}
@@ -12,6 +12,9 @@
12
12
  * @modified 2021-03-30 Added the `endDrawCycle` function to `DrawLib`.
13
13
  * @modified 2021-05-31 Added the `drawLib.setConfiguration` function.
14
14
  * @modified 2021-05-31 Splitted the large interfaces.ts file into this one and others.
15
+ * @modified 2021-11-12 Added `text()` params fontSize, fontFamily, rotation, textAlign.
16
+ * @modified 2021-11-16 Added `text()` params fontWeight and fontStyle.
17
+ * @modified 2021-11-19 Added the `color` param to the `label(...)` function.
15
18
  **/
16
19
  import { Polygon } from "../Polygon";
17
20
  import { Vertex } from "../Vertex";
@@ -19,6 +22,18 @@ import { SVGPathParams, UID, XYCoords } from "./core";
19
22
  export interface DrawLibConfiguration {
20
23
  blendMode?: 'source-over' | 'source-in' | 'source-out' | 'source-atop' | 'destination-over' | 'destination-in' | 'destination-out' | 'destination-atop' | 'lighter' | 'copy' | 'xor' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | null;
21
24
  }
25
+ export declare type FontWeight = "normal" | "bold" | "bolder" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
26
+ export declare type FontStyle = "normal" | "italic" | "oblique";
27
+ export interface FontOptions {
28
+ color?: string;
29
+ fontFamily?: string;
30
+ fontSize?: number;
31
+ fontStyle?: FontStyle;
32
+ fontWeight?: FontWeight;
33
+ lineHeight?: number;
34
+ textAlign?: CanvasRenderingContext2D["textAlign"];
35
+ rotation?: number;
36
+ }
22
37
  /**
23
38
  * An interface all drawing libraries must implement to be used with PlotBoilerplate.
24
39
  *
@@ -389,20 +404,25 @@ export interface DrawLib<R> {
389
404
  */
390
405
  polyline: (vertices: Array<Vertex>, isOpen: boolean, color: string, lineWidth?: number) => R;
391
406
  /**
392
- * Draw a text label at the given relative position.
407
+ * Draw a text at the given relative position.
393
408
  *
394
409
  * @method text
395
410
  * @param {string} text - The text to draw.
396
411
  * @param {number} x - The x-position to draw the text at.
397
412
  * @param {number} y - The y-position to draw the text at.
398
- * @param {number=} rotation - The (optional) rotation in radians.
413
+ * @param {string=} options.color - The Color to use.
414
+ * @param {string=} options.fontFamily - The font family to use.
415
+ * @param {number=} options.fontSize - The font size (in pixels) to use.
416
+ * @param {FontStyle=} options.fontStyle - The font style to use.
417
+ * @param {FontWeight=} options.fontWeight - The font weight to use.
418
+ * @param {number=} options.lineHeight - The line height (in pixels) to use.
419
+ * @param {number=} options.rotation - The (optional) rotation in radians.
420
+ * @param {string=} options.textAlign - The text align to use. According to the specifiactions (https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign) valid values are `"left" || "right" || "center" || "start" || "end"`.
399
421
  * @return {void}
400
422
  * @instance
401
423
  * @memberof drawutils
402
424
  */
403
- text: (text: string, x: number, y: number, options?: {
404
- color?: string;
405
- }) => R;
425
+ text: (text: string, x: number, y: number, options?: FontOptions) => R;
406
426
  /**
407
427
  * Draw a non-scaling text label at the given absolute position.
408
428
  *
@@ -411,11 +431,12 @@ export interface DrawLib<R> {
411
431
  * @param {number} x - The x-position to draw the text at.
412
432
  * @param {number} y - The y-position to draw the text at.
413
433
  * @param {number=} rotation - The (aoptional) rotation in radians.
434
+ * @param {string="black"} color - The color to use (default is black).
414
435
  * @return {void}
415
436
  * @instance
416
437
  * @memberof drawutils
417
438
  */
418
- label: (text: string, x: number, y: number, rotation: number) => R;
439
+ label: (text: string, x: number, y: number, rotation?: number, color?: string) => R;
419
440
  /**
420
441
  * Draw an SVG-like path given by the specified path data.
421
442
  *
@@ -13,6 +13,9 @@
13
13
  * @modified 2021-03-30 Added the `endDrawCycle` function to `DrawLib`.
14
14
  * @modified 2021-05-31 Added the `drawLib.setConfiguration` function.
15
15
  * @modified 2021-05-31 Splitted the large interfaces.ts file into this one and others.
16
+ * @modified 2021-11-12 Added `text()` params fontSize, fontFamily, rotation, textAlign.
17
+ * @modified 2021-11-16 Added `text()` params fontWeight and fontStyle.
18
+ * @modified 2021-11-19 Added the `color` param to the `label(...)` function.
16
19
  **/
17
20
  Object.defineProperty(exports, "__esModule", { value: true });
18
21
  //# sourceMappingURL=DrawLib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawLib.js","sourceRoot":"","sources":["../../ts/interfaces/DrawLib.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;IAcI"}
1
+ {"version":3,"file":"DrawLib.js","sourceRoot":"","sources":["../../ts/interfaces/DrawLib.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;IAiBI"}
@@ -13,6 +13,7 @@
13
13
  * @modified 2021-05-31 Added the `drawLib.setConfiguration` function.
14
14
  * @modified 2021-05-31 Splitted the large interfaces.ts file into this one and others.
15
15
  * @modified 2021-06-21 Added `IBounds.getCenter()`.
16
+ * @modified 2021-11-16 Added `text` options to the `DrawConfig`.
16
17
  **/
17
18
  import { Vertex } from "../Vertex";
18
19
  import { Vector } from "../Vector";
@@ -27,6 +28,7 @@ import { BezierPath } from "../BezierPath";
27
28
  import { Line } from "../Line";
28
29
  import { PlotBoilerplate } from "../PlotBoilerplate";
29
30
  import { DrawLib } from "./DrawLib";
31
+ import { PBText } from "../PBText";
30
32
  /**
31
33
  * @classdesc Coordinates (x,y) on the plane.
32
34
  *
@@ -61,7 +63,7 @@ export interface IBounds {
61
63
  /**
62
64
  * The types that can be drawn and thus added to the draw queue.
63
65
  */
64
- export declare type Drawable = Vertex | Vector | Triangle | Circle | CircleSector | PBImage | VEllipse | VEllipseSector | Polygon | BezierPath | Line;
66
+ export declare type Drawable = Vertex | Vector | Triangle | Circle | CircleSector | PBImage | PBText | VEllipse | VEllipseSector | Polygon | BezierPath | Line;
65
67
  /**
66
68
  * A unique identifier (UID) to tell drawables apart in a performant manner.
67
69
  */
@@ -149,6 +151,12 @@ export interface DrawConfig {
149
151
  line: DrawSettings;
150
152
  vector: DrawSettings;
151
153
  image: DrawSettings;
154
+ text: {
155
+ color: string;
156
+ lineWidth: number;
157
+ fill?: boolean;
158
+ anchor?: boolean;
159
+ };
152
160
  }
153
161
  /** This is a fix for the problem, that the constructor's "name" attribute is not
154
162
  * visible in ES6:
@@ -14,6 +14,7 @@
14
14
  * @modified 2021-05-31 Added the `drawLib.setConfiguration` function.
15
15
  * @modified 2021-05-31 Splitted the large interfaces.ts file into this one and others.
16
16
  * @modified 2021-06-21 Added `IBounds.getCenter()`.
17
+ * @modified 2021-11-16 Added `text` options to the `DrawConfig`.
17
18
  **/
18
19
  Object.defineProperty(exports, "__esModule", { value: true });
19
20
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;IAeI"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;IAgBI"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @author Ikaros Kappler
3
+ * @date 2021-11-16
4
+ * @version 1.0.0
5
+ **/
6
+ import { Vertex } from "./Vertex";
7
+ import { FontOptions, FontStyle, FontWeight, SVGSerializable, UID } from "./interfaces";
8
+ /**
9
+ * @classdesc A simple text element: position, fontSize, fontFamily, color, textAlign, lineHeight and rotation.
10
+ *
11
+ * @requires FontOptions
12
+ * @requires FontSize
13
+ * @requires FontStyle
14
+ * @requires FontWeight
15
+ * @requires Vertex
16
+ * @requires SVGSerializale
17
+ * @requires UID
18
+ * @requires UIDGenerator
19
+ **/
20
+ export declare class PBText implements SVGSerializable, FontOptions {
21
+ /**
22
+ * Required to generate proper CSS classes and other class related IDs.
23
+ **/
24
+ readonly className: string;
25
+ /**
26
+ * The UID of this drawable object.
27
+ *
28
+ * @member {UID}
29
+ * @memberof PBText
30
+ * @instance
31
+ * @readonly
32
+ */
33
+ readonly uid: UID;
34
+ /**
35
+ * @member {string}
36
+ * @memberof PBText
37
+ * @instance
38
+ */
39
+ text: string;
40
+ /**
41
+ * @member {Vertex}
42
+ * @memberof PBText
43
+ * @instance
44
+ */
45
+ anchor: Vertex;
46
+ /**
47
+ * @member {number}
48
+ * @memberof PBText
49
+ * @instance
50
+ */
51
+ fontSize: number | undefined;
52
+ /**
53
+ * @member {number}
54
+ * @memberof PBText
55
+ * @instance
56
+ */
57
+ lineHeight: number | undefined;
58
+ /**
59
+ * @member {FontWeight}
60
+ * @memberof PBText
61
+ * @instance
62
+ */
63
+ fontWeight: FontWeight | undefined;
64
+ /**
65
+ * @member {FontStyle}
66
+ * @memberof PBText
67
+ * @instance
68
+ */
69
+ fontStyle: FontStyle | undefined;
70
+ /**
71
+ * @member {CanvasRenderingContext2D["textAlign"]}
72
+ * @memberof PBText
73
+ * @instance
74
+ */
75
+ textAlign: CanvasRenderingContext2D["textAlign"] | undefined;
76
+ /**
77
+ * @member {number}
78
+ * @memberof PBText
79
+ * @instance
80
+ */
81
+ rotation: number | undefined;
82
+ /**
83
+ * @member {number}
84
+ * @memberof PBText
85
+ * @instance
86
+ */
87
+ fontFamily: string | undefined;
88
+ /**
89
+ * @member {number}
90
+ * @memberof PBText
91
+ * @instance
92
+ */
93
+ color: string | undefined;
94
+ /**
95
+ * Create a new circle with given center point and radius.
96
+ *
97
+ * @constructor
98
+ * @name Circle
99
+ * @param {Vertex} center - The center point of the circle.
100
+ * @param {number} radius - The radius of the circle.
101
+ */
102
+ constructor(text: string, anchor?: Vertex, options?: FontOptions);
103
+ /**
104
+ * Create an SVG representation of this circle.
105
+ *
106
+ * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
107
+ * @method toSVGString
108
+ * @param {object=} options - An optional set of options, like 'className'.
109
+ * @return {string} A string representing the SVG code for this vertex.
110
+ * @instance
111
+ * @memberof Circle
112
+ */
113
+ toSVGString(options: {
114
+ className?: string;
115
+ }): string;
116
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @author Ikaros Kappler
3
+ * @date 2021-11-16
4
+ * @version 1.0.0
5
+ **/
6
+ import { UIDGenerator } from "./UIDGenerator";
7
+ import { Vertex } from "./Vertex";
8
+ /**
9
+ * @classdesc A simple text element: position, fontSize, fontFamily, color, textAlign, lineHeight and rotation.
10
+ *
11
+ * @requires FontOptions
12
+ * @requires FontSize
13
+ * @requires FontStyle
14
+ * @requires FontWeight
15
+ * @requires Vertex
16
+ * @requires SVGSerializale
17
+ * @requires UID
18
+ * @requires UIDGenerator
19
+ **/
20
+ export class PBText {
21
+ /**
22
+ * Create a new circle with given center point and radius.
23
+ *
24
+ * @constructor
25
+ * @name Circle
26
+ * @param {Vertex} center - The center point of the circle.
27
+ * @param {number} radius - The radius of the circle.
28
+ */
29
+ constructor(text, anchor, options) {
30
+ /**
31
+ * Required to generate proper CSS classes and other class related IDs.
32
+ **/
33
+ this.className = "PBText";
34
+ this.uid = UIDGenerator.next();
35
+ this.text = text;
36
+ this.anchor = anchor !== null && anchor !== void 0 ? anchor : new Vertex();
37
+ this.color = options.color;
38
+ this.fontFamily = options.fontFamily;
39
+ this.fontSize = options.fontSize;
40
+ this.fontStyle = options.fontStyle;
41
+ this.fontWeight = options.fontWeight;
42
+ this.lineHeight = options.lineHeight;
43
+ this.textAlign = options.textAlign;
44
+ this.rotation = options.rotation;
45
+ }
46
+ /**
47
+ * Create an SVG representation of this circle.
48
+ *
49
+ * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
50
+ * @method toSVGString
51
+ * @param {object=} options - An optional set of options, like 'className'.
52
+ * @return {string} A string representing the SVG code for this vertex.
53
+ * @instance
54
+ * @memberof Circle
55
+ */
56
+ toSVGString(options) {
57
+ console.warn("[PBText.toSVGString()] This function is not implemented as it defines a deprecated method. Use the 'drawutilssvg.text()' method instead.");
58
+ return "";
59
+ }
60
+ } // END class
61
+ //# sourceMappingURL=PBText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PBText.js","sourceRoot":"","sources":["../ts/PBText.ts"],"names":[],"mappings":"AAAA;;;;IAII;AAEJ,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;;;;;IAWI;AACJ,MAAM,OAAO,MAAM;IAsFjB;;;;;;;OAOG;IACH,YAAY,IAAY,EAAE,MAAe,EAAE,OAAqB;QA7FhE;;YAEI;QACK,cAAS,GAAW,QAAQ,CAAC;QA2FpC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,OAA+B;QACzC,OAAO,CAAC,IAAI,CACV,0IAA0I,CAC3I,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC,YAAY"}
@@ -73,7 +73,8 @@
73
73
  * @modified 2021-03-03 Added the `VEllipseSector` drawable.
74
74
  * @modified 2021-03-29 Clearing `currentClassName` and `currentId` after drawing each drawable.
75
75
  * @modified 2021-04-25 Extending `remove` to accept arrays of drawables.
76
- * @version 1.14.0
76
+ * @modified 2021-11-16 Adding the `PBText` drawable.
77
+ * @version 1.15.0
77
78
  *
78
79
  * @file PlotBoilerplate
79
80
  * @fileoverview The main class.
@@ -73,7 +73,8 @@
73
73
  * @modified 2021-03-03 Added the `VEllipseSector` drawable.
74
74
  * @modified 2021-03-29 Clearing `currentClassName` and `currentId` after drawing each drawable.
75
75
  * @modified 2021-04-25 Extending `remove` to accept arrays of drawables.
76
- * @version 1.14.0
76
+ * @modified 2021-11-16 Adding the `PBText` drawable.
77
+ * @version 1.15.0
77
78
  *
78
79
  * @file PlotBoilerplate
79
80
  * @fileoverview The main class.
@@ -100,6 +101,7 @@ import { VEllipseSector } from "./VEllipseSector";
100
101
  import { Vector } from "./Vector";
101
102
  import { Vertex } from "./Vertex";
102
103
  import { VertexAttr } from "./VertexAttr";
104
+ import { PBText } from "./PBText";
103
105
  /**
104
106
  * @classdesc The main class of the PlotBoilerplate.
105
107
  *
@@ -338,6 +340,12 @@ export class PlotBoilerplate {
338
340
  image: {
339
341
  color: "#a8a8a8",
340
342
  lineWidth: 1
343
+ },
344
+ text: {
345
+ color: "rgba(192,0,128,0.5)",
346
+ lineWidth: 1,
347
+ fill: true,
348
+ anchor: true
341
349
  }
342
350
  }; // END drawConfig
343
351
  // +---------------------------------------------------------------------------------
@@ -645,6 +653,11 @@ export class PlotBoilerplate {
645
653
  });
646
654
  drawable.lowerRight.attr.selectable = false;
647
655
  }
656
+ else if (drawable instanceof PBText) {
657
+ this.vertices.push(drawable.anchor);
658
+ this.drawables.push(drawable);
659
+ drawable.anchor.attr.selectable = false;
660
+ }
648
661
  else {
649
662
  throw "Cannot add drawable of unrecognized type: " + typeof drawable + ".";
650
663
  }
@@ -743,6 +756,9 @@ export class PlotBoilerplate {
743
756
  this.removeVertex(drawable.upperLeft, false);
744
757
  this.removeVertex(drawable.lowerRight, false);
745
758
  }
759
+ else if (drawable instanceof PBText) {
760
+ this.removeVertex(drawable.anchor, false);
761
+ }
746
762
  } // END removeWithVertices
747
763
  if (redraw) {
748
764
  this.redraw();
@@ -1068,6 +1084,16 @@ export class PlotBoilerplate {
1068
1084
  d.lowerRight.attr.renderTime = renderTime;
1069
1085
  }
1070
1086
  }
1087
+ else if (d instanceof PBText) {
1088
+ fill.setCurrentId(d.uid);
1089
+ fill.text(d.text, d.anchor.x, d.anchor.y, d);
1090
+ if (this.drawConfig.text.anchor) {
1091
+ draw.setCurrentId(`${d.uid}_a0`);
1092
+ draw.setCurrentClassName(`${d.className}-anchor`);
1093
+ (this.drawConfig.text.fill ? fill : draw).point(d.anchor, this.drawConfig.text.color);
1094
+ }
1095
+ d.anchor.attr.renderTime = renderTime;
1096
+ }
1071
1097
  else {
1072
1098
  console.error("Cannot draw object. Unknown class.");
1073
1099
  }