pogi 2.11.1 → 3.0.0-beta4

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 (82) hide show
  1. package/.env +5 -0
  2. package/.vscode/launch.json +47 -15
  3. package/jest.config.js +23 -0
  4. package/lib/bin/generateInterface.js +3 -3
  5. package/lib/bin/generateInterface.js.map +1 -1
  6. package/lib/connectionOptions.d.ts +7 -0
  7. package/lib/index.d.ts +1 -1
  8. package/lib/pgConverters.d.ts +9 -10
  9. package/lib/pgConverters.js +44 -39
  10. package/lib/pgConverters.js.map +1 -1
  11. package/lib/pgConverters.test.d.ts +1 -0
  12. package/lib/pgConverters.test.js +13 -0
  13. package/lib/pgConverters.test.js.map +1 -0
  14. package/lib/pgDb.d.ts +22 -31
  15. package/lib/pgDb.js +71 -74
  16. package/lib/pgDb.js.map +1 -1
  17. package/lib/pgDb.test.d.ts +1 -0
  18. package/lib/pgDb.test.js +1132 -0
  19. package/lib/pgDb.test.js.map +1 -0
  20. package/lib/pgDbInterface.d.ts +22 -0
  21. package/lib/pgDbInterface.js +11 -0
  22. package/lib/pgDbInterface.js.map +1 -0
  23. package/lib/pgDbOperators.d.ts +3 -3
  24. package/lib/pgDbOperators.js +4 -7
  25. package/lib/pgDbOperators.js.map +1 -1
  26. package/lib/pgDbOperators.test.d.ts +1 -0
  27. package/lib/pgDbOperators.test.js +313 -0
  28. package/lib/pgDbOperators.test.js.map +1 -0
  29. package/lib/pgSchema.d.ts +2 -3
  30. package/lib/pgSchema.js.map +1 -1
  31. package/lib/pgSchemaInterface.d.ts +0 -0
  32. package/lib/pgSchemaInterface.js +2 -0
  33. package/lib/pgSchemaInterface.js.map +1 -0
  34. package/lib/pgTable.d.ts +13 -38
  35. package/lib/pgTable.js +54 -54
  36. package/lib/pgTable.js.map +1 -1
  37. package/lib/pgTableInterface.d.ts +28 -0
  38. package/lib/pgTableInterface.js +4 -0
  39. package/lib/pgTableInterface.js.map +1 -0
  40. package/lib/pgUtils.d.ts +16 -6
  41. package/lib/pgUtils.js +163 -31
  42. package/lib/pgUtils.js.map +1 -1
  43. package/lib/queryAble.d.ts +15 -64
  44. package/lib/queryAble.js +46 -45
  45. package/lib/queryAble.js.map +1 -1
  46. package/lib/queryAbleInterface.d.ts +55 -0
  47. package/lib/queryAbleInterface.js +7 -0
  48. package/lib/queryAbleInterface.js.map +1 -0
  49. package/lib/queryWhere.d.ts +2 -2
  50. package/lib/queryWhere.js +19 -23
  51. package/lib/queryWhere.js.map +1 -1
  52. package/lib/test/pgDbOperatorSpec.d.ts +1 -0
  53. package/lib/test/pgDbOperatorSpec.js +326 -0
  54. package/lib/test/pgDbOperatorSpec.js.map +1 -0
  55. package/lib/test/pgDbSpec.d.ts +1 -0
  56. package/lib/test/pgDbSpec.js +1139 -0
  57. package/lib/test/pgDbSpec.js.map +1 -0
  58. package/lib/test/pgServiceRestartTest.d.ts +1 -0
  59. package/lib/test/pgServiceRestartTest.js +1532 -0
  60. package/lib/test/pgServiceRestartTest.js.map +1 -0
  61. package/package.json +21 -14
  62. package/{src/tsconfig.json → tsconfig.json} +11 -11
  63. package/spec/resources/init.sql +0 -122
  64. package/spec/resources/throw_exception.sql +0 -5
  65. package/spec/resources/tricky.sql +0 -13
  66. package/spec/run.js +0 -5
  67. package/spec/support/jasmine.json +0 -9
  68. package/src/bin/generateInterface.ts +0 -54
  69. package/src/connectionOptions.ts +0 -42
  70. package/src/index.ts +0 -6
  71. package/src/pgConverters.ts +0 -55
  72. package/src/pgDb.ts +0 -839
  73. package/src/pgDbLogger.ts +0 -13
  74. package/src/pgDbOperators.ts +0 -62
  75. package/src/pgSchema.ts +0 -15
  76. package/src/pgTable.ts +0 -401
  77. package/src/pgUtils.ts +0 -176
  78. package/src/queryAble.ts +0 -422
  79. package/src/queryWhere.ts +0 -326
  80. package/src/test/pgDbOperatorSpec.ts +0 -492
  81. package/src/test/pgDbSpec.ts +0 -1339
  82. package/src/test/pgServiceRestartTest.ts +0 -1500
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pgServiceRestartTest.js","sourceRoot":"","sources":["../../src/test/pgServiceRestartTest.ts"],"names":[],"mappings":";;;AAAA,kCAA6C;AAC7C,+BAA+B;AAC/B,iCAAiC;AAIjC,IAAI,IAAI,GAAQ,KAAK;KAChB,KAAK,CAAC,0CAA0C,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE;IAClB,QAAQ,EAAE,kEAAkE;IAC5E,IAAI,EAAE,QAAQ;CACjB,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACnB,QAAQ,EAAE,mEAAmE;IAC7E,IAAI,EAAE,QAAQ;CACjB,CAAC;KACD,MAAM,CAAC,YAAY,EAAE;IAClB,QAAQ,EAAE,gCAAgC;IAC1C,IAAI,EAAE,SAAS;CAClB,CAAC;KACD,IAAI,CAAC;AAEV,SAAe,UAAU,CAAC,OAAe,EAAE,OAA6B;;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;gBAC9G,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAED,SAAe,WAAW,CAAC,EAAU;;QACjC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;CAAA;AAED,SAAS,UAAU,CAAC,EAAU;IAC1B,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,OAAO,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE;QAC5B,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;KACzB;AACL,CAAC;AAED,SAAe,WAAW;;QACtB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;CAAA;AAED,SAAe,UAAU;;QACrB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,SAAe,eAAe,CAAC,EAAQ;;QACnC,MAAM,EAAE,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAErD,MAAM,EAAE,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC3D,MAAM,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACpE,CAAC;CAAA;AAED,SAAe,cAAc,CAAC,EAAQ;;QAClC,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAE9E,MAAM,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACzE,MAAM,EAAE,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QACjF,MAAM,EAAE,CAAC,GAAG,CAAC,0GAA0G,CAAC,CAAC;IAC7H,CAAC;CAAA;AAED,SAAe,qBAAqB,CAAC,EAAQ;;QACzC,IAAI,oBAAoB,GAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,OAAO,CAAC,IAAI,CAAC;YACf,WAAW,CAAC,IAAI,CAAC;YACjB,CAAC,GAAS,EAAE;gBACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBAClD,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;iBACjE;YACL,CAAC,CAAA,CAAC,EAAE;SACP,CAAC,CAAC;QACH,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC7D;QACD,KAAK,IAAI,IAAI,IAAI,oBAAoB,EAAE;YACnC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACvC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAED,SAAe,eAAe,CAAC,EAAQ;;QACnC,IAAI,aAAa,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACpE,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,OAAO,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SAC1C;QACD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,MAAM,EAAE,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YACjF,EAAE,gBAAgB,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACxD;QAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QACrE,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,EAAE,gBAAgB,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAED,SAAe,sBAAsB,CAAC,EAAQ;;QAC1C,IAAI,MAAc,CAAC;QACnB,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,MAAM,IAAI,SAAS,EAAE;YACrB,OAAO,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SACnD;QACD,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;CAAA;AAED,SAAe,eAAe,CAAC,EAAQ;;QACnC,IAAI;YACA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,IAAI,KAAK,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,KAAK,GAAG,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAC;aAC5C;YACD,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;SAChB;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;CAAA;AAQD,SAAe,eAAe,CAAC,EAAQ,EAAE,IAAoB;;QACzD,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,WAAW,GAAU,IAAI,CAAC;QAC9B,IAAI;YACA,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAc,EAAE,EAAE;gBACjC,EAAE,WAAW,CAAC;gBACd,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;oBACxB,WAAW,GAAG,IAAI,KAAK,CAAC,wBAAwB,WAAW,SAAS,CAAC,CAAC;iBACzE;YACL,CAAC,CAAC,CAAC;SACN;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,EAAE;gBACd,WAAW,GAAG,GAAG,CAAC;aACrB;SACJ;QAED,MAAM,UAAU,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClC,WAAW,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CAAA;AAED,IAAI,cAAc,GAAW,CAAC,CAAC;AAC/B,IAAI,aAAa,GAAuC,EAAE,CAAC;AAE3D,SAAe,OAAO,CAAC,YAAoB,EAAE,IAAoB;;QAC7D,EAAE,cAAc,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;QACpG,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,YAAY,oBAAoB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;QAEpG,MAAM,UAAU,EAAE,CAAC;QACnB,IAAI,EAAE,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC;YACxB,QAAQ;YACR,MAAM,EAAE;gBACJ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;aACvB;SACJ,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE;YACP,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3D;QAED,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;QACpG,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,YAAY,mBAAmB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SACjF;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,YAAY,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SAChF;QACD,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;IACxG,CAAC;CAAA;AAED,IAAI,kBAAkB,GAAqB;IACvC;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,+CAA+C;QACrD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;oBAC7E,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,iDAAiD;QACvD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,MAAM,EAAE,CAAC,GAAG,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,IAAI;oBACA,MAAM,EAAE,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;wBACjF,UAAU,CAAC,EAAE,CAAC,CAAC;wBACf,EAAE,CAAC,CAAC;wBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;4BACb,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;yBAC7B;oBACL,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjB;gBAAC,OAAO,CAAC,EAAE;oBACR,EAAE,YAAY,CAAC;iBAClB;YACL,CAAC,CAAA,CAAA;YACD,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,8DAA8D;QACpE,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1I,MAAM,EAAE,CAAC,GAAG,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC;YAE3E,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,IAAI;oBACA,MAAM,EAAE,CAAC,yBAAyB,CAAC,0CAA0C,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC5F,UAAU,CAAC,EAAE,CAAC,CAAC;wBACf,EAAE,CAAC,CAAC;wBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;4BACb,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;yBAC7B;oBACL,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjB;gBAAC,OAAO,CAAC,EAAE;oBACR,EAAE,YAAY,CAAC;iBAClB;YACL,CAAC,CAAA,CAAA;YACD,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,2CAA2C;QACjD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,6CAA6C;QACnD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,MAAM,EAAE,CAAC,GAAG,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;YAEnE,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YAErE,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvB,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,EAAE,CAAC,CAAC;oBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;wBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;oBAC7B,EAAE,YAAY,CAAC;oBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,IAAI;gBACA,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,0DAA0D;QAChE,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1I,MAAM,EAAE,CAAC,GAAG,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC;YAE3E,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;YAChF,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvB,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,EAAE,CAAC,CAAC;oBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;wBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;oBAC7B,EAAE,YAAY,CAAC;oBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,IAAI;gBACA,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;YAC1B,MAAM,WAAW,EAAE,CAAC;QACxB,CAAC,CAAA;KACJ;CACJ,CAAC;AAEF,IAAI,oCAAoC,GAAqB;IACzD;QACI,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACzC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACzC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACzC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACzC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,+BAA+B;QACrC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,+BAA+B;QACrC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACxC,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;CACJ,CAAC;AAEF,IAAI,oCAAoC,GAAqB;IACzD;QACI,IAAI,EAAE,4CAA4C;QAClD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI;gBACA,MAAM,GAAG,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,4CAA4C;QAClD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI;gBACA,MAAM,GAAG,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,4CAA4C;QAClD,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI;gBACA,MAAM,GAAG,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,sEAAsE;QAC5E,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,MAAM,EAAE,CAAC,GAAG,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;YAEnE,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,IAAI;oBACA,MAAM,GAAG,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;wBAClF,UAAU,CAAC,EAAE,CAAC,CAAC;wBACf,EAAE,CAAC,CAAC;wBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;4BACb,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;yBAC7B;oBACL,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjB;gBAAC,OAAO,CAAC,EAAE;oBACR,EAAE,YAAY,CAAC;iBAClB;YACL,CAAC,CAAA,CAAA;YACD,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,mFAAmF;QACzF,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1I,MAAM,EAAE,CAAC,GAAG,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC;YAE3E,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,IAAI;oBACA,MAAM,GAAG,CAAC,yBAAyB,CAAC,0CAA0C,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC7F,UAAU,CAAC,EAAE,CAAC,CAAC;wBACf,EAAE,CAAC,CAAC;wBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;4BACb,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;yBAC7B;oBACL,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjB;gBAAC,OAAO,CAAC,EAAE;oBACR,EAAE,YAAY,CAAC;iBAClB;YACL,CAAC,CAAA,CAAA;YACD,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IAED;QACI,IAAI,EAAE,wCAAwC;QAC9C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC;YACX,IAAI;gBACA,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAClE,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,IAAI;gBACA,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACvC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;wBAC7B,EAAE,YAAY,CAAC;wBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,wCAAwC;QAC9C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC;YACX,IAAI;gBACA,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAClE,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,IAAI;gBACA,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACvC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;wBAC7B,EAAE,YAAY,CAAC;wBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,wCAAwC;QAC9C,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,IAAI,MAAM,CAAC;YACX,IAAI;gBACA,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAClE,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,IAAI;gBACA,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACvC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;wBAC7B,EAAE,YAAY,CAAC;wBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,kEAAkE;QACxE,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,MAAM,EAAE,CAAC,GAAG,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;YAEnE,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YAEtE,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvB,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,EAAE,CAAC,CAAC;oBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;wBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;oBAC7B,EAAE,YAAY,CAAC;oBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,IAAI;gBACA,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,+EAA+E;QACrF,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1I,MAAM,EAAE,CAAC,GAAG,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC;YAE3E,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvB,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,EAAE,CAAC,CAAC;oBACJ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;wBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;oBAC7B,EAAE,YAAY,CAAC;oBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,GAAG,GAAS,EAAE;gBACjB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC,CAAA,CAAA;YACD,IAAI;gBACA,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;YAC1B,MAAM,WAAW,EAAE,CAAC;QACxB,CAAC,CAAA;KACJ;CACJ,CAAC;AAEF,IAAI,oBAAoB,GAAqB;IACzC;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBACnC,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAElB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC9D,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAElB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/F,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAElB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC;YACX,IAAI;gBACA,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAClE,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,IAAI;gBACA,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACvC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;wBAC7B,EAAE,YAAY,CAAC;wBACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;CACJ,CAAC;AAEF,IAAI,gBAAgB,GAAqB;IACrC;QACI,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,IAAI;QAChB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACjB,EAAE,YAAY,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;CACJ,CAAA;AAED,IAAI,WAAW,GAAqB;IAChC;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACR,EAAE,YAAY,CAAC;aAClB;YACD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,MAAc,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,MAAc,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAChD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,MAAc,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YACjD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAChC,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACvC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;aACX;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;aACX;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;aACX;YACD,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;IACD;QACI,IAAI,EAAE,qDAAqD;QAC3D,EAAE,EAAE,CAAO,EAAQ,EAAE,MAAgC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,GAAG,CAAC,KAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,GAAG,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAA;KACJ;CACJ,CAAC;AAEF,SAAe,UAAU;;QACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAEpC,IAAI,mBAAmB,GAAG,IAAI,CAAC;QAC/B,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI;YACA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,IAAI,EAAE,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACR,mBAAmB,GAAG,KAAK,CAAC;aAC/B;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI;gBACA,IAAI,EAAE,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACR,oBAAoB,GAAG,mBAAmB,CAAC;aAC9C;YACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI;gBACA,IAAI,EAAE,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACR,mBAAmB,GAAG,KAAK,CAAC;aAC/B;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;YAC9C,cAAc,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,CAAC,cAAc,EAAE;YACjB,IAAI,oBAAoB,IAAI,mBAAmB,EAAE;gBAC7C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;aAC9C;iBAAM;gBACH,IAAI,CAAC,mBAAmB,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;iBAC7C;gBACD,IAAI,CAAC,oBAAoB,EAAE;oBACvB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;iBAC9C;aACJ;SACJ;QACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;CAAA;AAED,SAAe,QAAQ;;QACnB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE3B,IAAI,QAAQ,GAAG;YACX,GAAG,kBAAkB;YACrB,GAAG,oCAAoC;YACvC,GAAG,oCAAoC;YACvC,GAAG,oBAAoB;YACvB,GAAG,WAAW;YACd,GAAG,gBAAgB;SACtB,CAAC;QACF,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI;YACA,IAAI,cAAc,EAAE;gBAChB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;aACtE;YACD,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;gBACvB,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACxC;YAED,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;gBACpC,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aACjC;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;CAAA;AAED,CAAC,GAAS,EAAE;IACR,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;KACV;IAED,IAAI,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,UAAU,EAAE,CAAC;KACtB;SAAM;QACH,MAAM,QAAQ,EAAE,CAAC;KACpB;AACL,CAAC,CAAA,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "pogi",
3
- "version": "2.11.1",
3
+ "version": "3.0.0-beta4",
4
4
  "description": "An easy PostgreSQL query handler on top of pg.js",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "scripts": {
8
- "build": "tsc -p src/tsconfig.json",
8
+ "build": "tsc -p ./tsconfig.json",
9
9
  "test": "node spec/run.js",
10
10
  "test_debug": "node --inspect-brk=9229 spec/run.js",
11
11
  "semantic-release": "semantic-release pre && npm publish && semantic-release post",
@@ -30,20 +30,27 @@
30
30
  "lodash": "^4.17.20",
31
31
  "minimatch": "^3.0.4",
32
32
  "moment": "^2.29.1",
33
- "pg": "^8.5.1",
34
- "pg-query-stream": "^4",
33
+ "pg": "^8.7.1",
34
+ "pg-query-stream": "^4.2.1",
35
35
  "through": "~2.3.8",
36
- "tslib": "^2"
36
+ "tslib": "^2.3.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@types/jasmine": "^3.6",
40
- "@types/node": "^14",
41
- "@types/yargs": "^17.0.2",
42
- "jasmine": "^3.6.4",
43
- "semantic-release": "^17.3.7",
44
- "shelljs": "^0.8.4",
45
- "typescript": "^4",
46
- "yargs": "^16.2.0"
39
+ "@types/jasmine": "^3.10.3",
40
+ "@types/jest": "^27.4.0",
41
+ "@types/lodash": "^4.14.178",
42
+ "@types/node": "^17.0.12",
43
+ "@types/pg": "^8.6.4",
44
+ "@types/through": "^0.0.30",
45
+ "@types/yargs": "^17.0.8",
46
+ "dotenv": "^14.3.2",
47
+ "jasmine": "^4.0.2",
48
+ "jest": "^27.4.7",
49
+ "semantic-release": "^19.0.2",
50
+ "shelljs": "^0.8.5",
51
+ "ts-jest": "^27.1.3",
52
+ "typescript": "^4.5.5",
53
+ "yargs": "^17.3.1"
47
54
  },
48
55
  "author": "Laszlo Radics<laszlo.radics@labcup.net>, Geza Radics<radicsge@protonmail.com>",
49
56
  "license": "MIT",
@@ -62,4 +69,4 @@
62
69
  "path": "./node_modules/semantic-release/src/lib/plugin-noop.js"
63
70
  }
64
71
  }
65
- }
72
+ }
@@ -9,25 +9,25 @@
9
9
  "forceConsistentCasingInFileNames": true,
10
10
  "suppressImplicitAnyIndexErrors": true,
11
11
  "importHelpers": true,
12
- "rootDir": "./",
13
- "outDir": "../lib",
12
+ "strict": true,
13
+ "rootDir": "./src",
14
+ "outDir": "./lib",
14
15
  "types": [
15
- "node"
16
+ "node",
17
+ "jest"
16
18
  ],
17
19
  "lib": [
18
20
  "es2015",
19
21
  "es2016",
20
22
  "es2017"
21
23
  ],
22
- "typeRoots": [
23
- "../node_modules/@types"
24
- ]
25
24
  },
26
25
  "files": [
27
- "index.ts",
28
- "test/pgDbOperatorSpec.ts",
29
- "test/pgDbSpec.ts",
30
- "test/pgServiceRestartTest.ts",
31
- "bin/generateInterface.ts"
26
+ "src/index.ts",
27
+ "src/bin/generateInterface.ts"
28
+ ],
29
+ "include": [
30
+ "src/*.test.ts",
31
+ "src/index.d.ts"
32
32
  ]
33
33
  }
@@ -1,122 +0,0 @@
1
- SET search_path TO __SCHEMA__;
2
- DROP FUNCTION IF EXISTS list_gold_users();
3
- DROP FUNCTION IF EXISTS increment();
4
-
5
- -- drop tables
6
- DROP VIEW IF EXISTS "users_view";
7
- DROP TABLE IF EXISTS "users";
8
- DROP TABLE IF EXISTS "groups";
9
- DROP TABLE IF EXISTS "types";
10
- -- drop sequences
11
- DROP SEQUENCE IF EXISTS "users_id_seq";
12
- -- drop types
13
- DROP TYPE IF EXISTS __SCHEMA__."membershipType";
14
- DROP TYPE IF EXISTS __SCHEMA__."categoryType";
15
- DROP TYPE IF EXISTS __SCHEMA__."permissionForResourceType";
16
- DROP TYPE IF EXISTS __SCHEMA__."permissionType";
17
-
18
- DROP FUNCTION IF EXISTS update_tsv();
19
-
20
-
21
- CREATE TYPE __SCHEMA__."membershipType" AS ENUM ('bronze', 'silver', 'gold');
22
- CREATE TYPE __SCHEMA__."categoryType" AS ENUM ('sport', 'food', 'tech', 'music');
23
- CREATE TYPE __SCHEMA__."permissionType" AS ENUM ('read', 'write', 'admin');
24
- CREATE TYPE __SCHEMA__."permissionForResourceType" AS (
25
- "permission" "permissionType",
26
- "resource" "text"
27
- );
28
-
29
- CREATE TABLE IF NOT EXISTS "groups" (
30
- "id" SERIAL PRIMARY KEY,
31
- "name" varchar UNIQUE NOT NULL
32
- );
33
-
34
- CREATE SEQUENCE "users_id_seq";
35
- CREATE TABLE IF NOT EXISTS "users" (
36
- "id" varchar PRIMARY KEY NOT NULL DEFAULT ('us' || nextval('users_id_seq')::text || (LPAD(floor(random()*100)::text, 2, '0'))),
37
- "name" varchar UNIQUE NOT NULL,
38
- "aCategory" varchar,
39
-
40
- "textList" text[],
41
- "jsonbList" jsonb[],
42
- "numberList" integer[], -- int4
43
- "bigNumberList" bigInt[], -- int8
44
- "timestamptzList" timestamptz[],
45
-
46
- "membership" "membershipType",
47
- "favourites" "categoryType"[],
48
-
49
- "jsonList" jsonb,
50
- "jsonObject" jsonb,
51
- "mainGroup" integer REFERENCES groups(id),
52
- "permission" "permissionForResourceType",
53
- "permissionList" "permissionForResourceType"[],
54
-
55
- "tsv" tsvector,
56
- "updated" timestamp with time zone,
57
- "created" timestamp,
58
- "createdtz" timestamptz
59
- );
60
-
61
- CREATE TABLE IF NOT EXISTS "types" (
62
- "text" varchar,
63
- "int" integer,
64
- "bigInt" bigInt,
65
- "real" real,
66
- "double" float8,
67
- "bool" boolean,
68
- "json" json,
69
- "jsonB" jsonb,
70
- "timestamptz" timestamptz,
71
-
72
- "arrayText" varchar[],
73
- "arrayInt" integer[],
74
- "arrayBigInt" bigInt[],
75
- "arrayReal" real[],
76
- "arrayDouble" float8[],
77
- "arrayBool" boolean[],
78
- "arrayJson" json[],
79
- "arrayJsonB" jsonb[],
80
- "arrayTimestamptz" timestamptz[]
81
- );
82
-
83
-
84
- CREATE OR REPLACE FUNCTION update_updated_column() RETURNS TRIGGER AS $$
85
- BEGIN
86
- NEW.updated = now();
87
- RETURN NEW;
88
- END;
89
- $$ language 'plpgsql';
90
-
91
- CREATE TRIGGER "update_users_updated" BEFORE INSERT ON "users" FOR EACH ROW EXECUTE PROCEDURE __SCHEMA__.update_updated_column();
92
-
93
- CREATE OR REPLACE FUNCTION list_gold_users()
94
- RETURNS SETOF varchar AS $$
95
- SELECT name FROM __SCHEMA__.users WHERE membership = 'gold';
96
- $$ LANGUAGE SQL;
97
-
98
- CREATE OR REPLACE FUNCTION increment(i INT)
99
- RETURNS INT AS $$
100
- BEGIN
101
- RETURN i + 1;
102
- END;
103
- $$ LANGUAGE plpgsql;
104
-
105
- CREATE FUNCTION update_tsv() RETURNS trigger AS $$
106
- begin
107
- new.tsv :=
108
- setweight(to_tsvector('pg_catalog.english', coalesce(new.name,'')), 'A') ||
109
- setweight(to_tsvector('pg_catalog.english', coalesce(new."aCategory",'')), 'B') ||
110
- setweight(to_tsvector('pg_catalog.english', coalesce(new."jsonList"::text,'')), 'C');
111
- return new;
112
- end
113
- $$ LANGUAGE plpgsql;
114
-
115
- CREATE TRIGGER update_tsv BEFORE INSERT OR UPDATE ON __SCHEMA__."users" FOR EACH ROW EXECUTE PROCEDURE update_tsv();
116
-
117
- CREATE OR REPLACE FUNCTION LOWER(text[]) RETURNS text[] LANGUAGE SQL IMMUTABLE AS
118
- $$
119
- SELECT array_agg(LOWER(value)) FROM unnest($1) value;
120
- $$;
121
-
122
- CREATE OR REPLACE VIEW users_view AS SELECT * FROM users;
@@ -1,5 +0,0 @@
1
- DO $$
2
- BEGIN
3
- RAISE division_by_zero;
4
- END;
5
- $$;
@@ -1,13 +0,0 @@
1
- --insert into "groups" (name) values ('joe');
2
- select * from __SCHEMA__."groups" where name like 'joe --''"/*-- '; ; ; -- select * from "groups" where name like 'joe';
3
- select * from __SCHEMA__."groups" where name like $$joe2'"-- ;
4
- -- not a comment ;
5
- $$;
6
-
7
- -- unbalanced quote '" $$
8
-
9
- /*
10
- multi line comment '" $$
11
- */
12
-
13
- select * from __SCHEMA__."groups" where name like 'joe--';
package/spec/run.js DELETED
@@ -1,5 +0,0 @@
1
- var Jasmine = require('jasmine');
2
-
3
- var jasmine = new Jasmine();
4
- jasmine.loadConfigFile('spec/support/jasmine.json');
5
- jasmine.execute();
@@ -1,9 +0,0 @@
1
- {
2
- "spec_dir": "lib/test",
3
- "spec_files": [
4
- "**/pgDbOperatorSpec.js",
5
- "**/pgDbSpec.js"
6
- ],
7
- "stopSpecOnExpectationFailure": false,
8
- "random": false
9
- }
@@ -1,54 +0,0 @@
1
- import {PgDb} from "../pgDb";
2
- import {PgSchema} from "../pgSchema";
3
- import {PgTable} from "../pgTable";
4
-
5
- (async function () {
6
- try {
7
- let pgdb = await PgDb.connect({
8
- logger: {
9
- log: () => {
10
- }, error: console.error
11
- }
12
- }); //using PGUSER, PGPASSWORD + PGDATABASE env variables
13
-
14
- console.log('import {PgDb, PgSchema, PgTable} from "pogi";\n');
15
- console.log('export interface PgDbType extends PgDb {');
16
-
17
- for (let schemaName in pgdb.schemas) {
18
- if (!(pgdb[schemaName] instanceof PgSchema)) {
19
- throw Error('Already existing property: ' + schemaName + '!');
20
- }
21
- console.log(` '${schemaName}': PgSchema_${schemaName};`); //need to add a PgSchema_ prefix in order to handle schemas starting with number
22
- }
23
-
24
- console.log(` 'schemas': {`);
25
- for (let schemaName in pgdb.schemas) {
26
- console.log(` '${schemaName}': PgSchema_${schemaName};`);
27
- }
28
- console.log(' }');
29
- console.log('}');
30
-
31
- for (let schemaName in pgdb.schemas) {
32
- console.log(`export interface PgSchema_${schemaName} extends PgSchema {`);
33
- for (let tableName in pgdb.schemas[schemaName].tables) {
34
- if (!(pgdb[schemaName][tableName] instanceof PgTable)) {
35
- throw Error('Already existing property: ' + tableName + ' on schema:' + schemaName + '!');
36
- }
37
- console.log(` '${tableName}': PgTable<any>;`);
38
- }
39
- console.log(` tables: {`);
40
- for (let tableName in pgdb.schemas[schemaName].tables) {
41
- console.log(` '${tableName}': PgTable<any>;`);
42
- }
43
- console.log(' }');
44
-
45
- console.log('}');
46
- }
47
-
48
-
49
- pgdb.close();
50
- } catch (e) {
51
- console.error(e);
52
- }
53
- return Promise.resolve();
54
- })();
@@ -1,42 +0,0 @@
1
- import {PgDbLogger} from './pgDbLogger';
2
-
3
- /**
4
- * @property connectionString e.g.: "postgres://user@localhost/database"
5
- * @property user can be specified through PGHOST env variable
6
- * @property user can be specified through PGUSER env variable (defaults USER env var)
7
- * @property database can be specified through PGDATABASE env variable (defaults USER env var)
8
- * @property password can be specified through PGPASSWORD env variable
9
- * @property port can be specified through PGPORT env variable
10
- * @property idleTimeoutMillis how long a client is allowed to remain idle before being closed
11
- * @property skipUndefined if there is a undefined value in the condition, what should pogi do. Default is 'none', meaning raise error if a value is undefined.
12
- * @property logSQLDetailsOnError - log sql and params in case of sql error (this might contain sensitive information)
13
- */
14
- export interface ConnectionOptions {
15
- host?: string; //host can be specified through PGHOST env variable (defaults USER env var)
16
- user?: string; //user can be specified through PGUSER env variable (defaults USER env var)
17
- database?: string; // can be specified through PGDATABASE env variable (defaults USER env var)
18
- password?: string; // can be specified through PGPASSWORD env variable
19
- port?: number; // can be specified through PGPORT env variable
20
- poolSize?: number;
21
-
22
- //number of rows to return at a time from a prepared statement's portal. 0 will return all rows at once
23
- rows?: number;
24
-
25
- min?: number; //set min pool size
26
- max?: number; //set pool max size
27
-
28
- binary?: boolean;
29
- poolIdleTimeout?: number;
30
- reapIntervalMillis?: number;
31
- poolLog?: boolean;
32
- client_encoding?: string;
33
- ssl?: boolean | any; //| TlsOptions;
34
- application_name?: string; //default:process.env.PGAPPNAME - name displayed in the pg_stat_activity view and included in CSV log entries
35
- fallback_application_name?: string;
36
- parseInputDatesAsUTC?: boolean;
37
- connectionString?: string;
38
- idleTimeoutMillis?: number; // how long a client is allowed to remain idle before being closed
39
-
40
- logger?: PgDbLogger;
41
- skipUndefined?: 'all' | 'select' | 'none'; // if there is a undefined value in the condition, what should pogi do. Default is 'none', meaning raise error if a value is undefined.
42
- }
package/src/index.ts DELETED
@@ -1,6 +0,0 @@
1
- export { PgDb } from './pgDb';
2
- export { ConnectionOptions } from './connectionOptions';
3
- export { PgDbLogger } from './pgDbLogger';
4
- export { PgTable } from './pgTable';
5
- export { PgSchema } from './pgSchema';
6
- export { QueryOptions } from './queryAble';
@@ -1,55 +0,0 @@
1
- import * as moment from 'moment';
2
-
3
- //--- add parsing for array types --------------------------------
4
- export let arraySplit = (str) => {
5
- if (str == "{}") return [];
6
- str = str.substring(1, str.length - 1); //cut off {}
7
- let e = /(?:("(?:[^"\\]|\\.)*")|([^,"]*))(?:,|$)/g; //has to be mutable because of exec
8
- let valList = [];
9
- let parsingResult;
10
- do {
11
- parsingResult = e.exec(str);
12
- let valStr = (parsingResult[2] == 'NULL') ? null :
13
- (parsingResult[1] == null ? parsingResult[2] : unescapeString(parsingResult[1])); // for string parsing, escape \
14
- valList.push(valStr);
15
- } while (e.lastIndex < str.length);
16
- return valList;
17
- };
18
- export let numWithValidation = val => {
19
- if (val === 'NULL') {
20
- return null;
21
- }
22
- let v = +val;
23
- if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
24
- throw Error("Number can't be represented in javascript precisely: " + val);
25
- }
26
- return v;
27
- };
28
- export let numberOrNull = val => {
29
- if (val === 'NULL') {
30
- return null;
31
- }
32
- return +val;
33
- };
34
- export let boolOrNull = val => {
35
- if (val === 'NULL') {
36
- return null;
37
- }
38
- return val == 't';
39
- }
40
-
41
- export let arraySplitToBool = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(boolOrNull);
42
- export let arraySplitToNum = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(numberOrNull);
43
- export let arraySplitToNumWithValidation = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(numWithValidation);
44
- export let stringArrayToNumWithValidation = val => val.map(numWithValidation);
45
- export let arraySplitToDate = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(d => d == 'NULL' ? null : moment(d.substring(1, d.length - 1)).toDate());
46
- export let arraySplitToJson = (str) => {
47
- let vals = arraySplit(str);
48
- return vals.map(s => typeof s === 'string' ? JSON.parse(s) : s);
49
- };
50
-
51
- function unescapeString(s) {
52
- return s.slice(1, s.length - 1) // cut the first and the last "
53
- .replace(/\\"/g, '"') // \" -> "
54
- .replace(/\\\\/g, '\\') // \\ -> \
55
- }